Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 17 additions & 14 deletions .claude/skills/steward/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,19 @@ description: Math- conventions for driving a pull request to a mergeable state.

This skill summarizes rules that bind this repository and records current lane practice from main#229 (for example main#229 5974405061: "The heads stay frozen while a read is open. I apply AMENDs only after the verdict is posted"). A statement tied to a source below restates that source. A statement marked *(practice)* records lane practice only and adds no rule. On any conflict, the sources win.

It was written against these exact source identities (repository, commit, path, git blob):

| Source | Repository @ commit | Path | Git blob |
|---|---|---|---|
| Agent entry | Math- @ `61a67b5dffb5b0b7abe6f14bc96116c54b60ec0c` | [`AGENTS.md`](https://github.com/d6g8k5htny-coder/Math-/blob/61a67b5dffb5b0b7abe6f14bc96116c54b60ec0c/AGENTS.md) | `ca2f0fa247f7052c702de9b4f8e595226468c622` |
| Owner stop (historical) | Math- @ `61a67b5` | [`OWNER_STOP.md`](https://github.com/d6g8k5htny-coder/Math-/blob/61a67b5dffb5b0b7abe6f14bc96116c54b60ec0c/OWNER_STOP.md) | `234a579b64140068d28bb7081ce3c2fa9d5e5417` |
| Required-check contract | Math- @ `61a67b5` | [`docs/FORMAL_REQUIRED_CHECKS.md`](https://github.com/d6g8k5htny-coder/Math-/blob/61a67b5dffb5b0b7abe6f14bc96116c54b60ec0c/docs/FORMAL_REQUIRED_CHECKS.md) | `d4440638bc58134e4f1c941bad62203cba8eb37f` |
| Agent entry | main @ `9093629769f40db76f1311d8ee920d5a82a38b89` | [`AGENTS.md`](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/AGENTS.md) | `f649d88a8ecd9c6501d3137b5b330985e9c1f701` |
| Current workflow | main @ `9093629` | [`governance/OP-WORKFLOW-20260930.md`](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/governance/OP-WORKFLOW-20260930.md) | `1fdf548377769d3723a43dfb7f441175d930810d` |
| Privacy rule | main @ `9093629` | [`governance/OP-PRIVACY-20260927.md`](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/governance/OP-PRIVACY-20260927.md) | `dd7eca9ff36b19b07338d5ed0a6f1133d2075a81` |
This successor revision was checked on 2026-10-08 against these exact source identities (repository, commit, path, git blob). The identities the first cut was written against stay in the last column as provenance:

| Source | Repository @ commit | Path | Git blob | First cut (historical) |
|---|---|---|---|---|
| Agent entry | Math- @ `a08b2100674b40309052f902548013a0e2f0e1e7` | [`AGENTS.md`](https://github.com/d6g8k5htny-coder/Math-/blob/a08b2100674b40309052f902548013a0e2f0e1e7/AGENTS.md) | `ca2f0fa247f7052c702de9b4f8e595226468c622` | unchanged since Math- @ `61a67b5dffb5b0b7abe6f14bc96116c54b60ec0c` |
| Owner stop (historical) | Math- @ `a08b210` | [`OWNER_STOP.md`](https://github.com/d6g8k5htny-coder/Math-/blob/a08b2100674b40309052f902548013a0e2f0e1e7/OWNER_STOP.md) | `234a579b64140068d28bb7081ce3c2fa9d5e5417` | unchanged since Math- @ `61a67b5` |
| Required-check contract | Math- @ `a08b210` (Math-#401 merge) | [`docs/FORMAL_REQUIRED_CHECKS.md`](https://github.com/d6g8k5htny-coder/Math-/blob/a08b2100674b40309052f902548013a0e2f0e1e7/docs/FORMAL_REQUIRED_CHECKS.md) | `e4b547c5875e0d6b594a42b0a39d9e3b57a8af13` | formerly `d4440638bc58134e4f1c941bad62203cba8eb37f` at Math- @ `61a67b5` (historical); only its "Validation" section changed |
| Agent entry | main @ `8687c6fe1629cc3234649c79234820f7edf058b3` | [`AGENTS.md`](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/AGENTS.md) | `5d94a3757199500d4cc1390a385d9ba1bbf38634` | formerly `f649d88a8ecd9c6501d3137b5b330985e9c1f701` at main @ `9093629769f40db76f1311d8ee920d5a82a38b89` (historical) |
| Current workflow | main @ `8687c6f` | [`governance/OP-WORKFLOW-20260930.md`](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/governance/OP-WORKFLOW-20260930.md) | `1df79b4f398d42bd997c72b92d669306498e2c68` | formerly `1fdf548377769d3723a43dfb7f441175d930810d` at main @ `9093629` (historical) |
| Owner decision, 5 October | main @ `8687c6f` | [`governance/OWNER_DECISION_20261005_CURSOR.md`](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/governance/OWNER_DECISION_20261005_CURSOR.md) | `1f7a20a7a7acf40382a67e7576136eff1e91ee91` | new since the first cut |
| Closure-evidence protocol | main @ `8687c6f` | [`governance/OP-CLOSURE-EVIDENCE-20261006.md`](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/governance/OP-CLOSURE-EVIDENCE-20261006.md) | `b9a792a8e0b4e38efde838528972df0af1c42e11` | new since the first cut |
| Privacy rule | main @ `8687c6f` | [`governance/OP-PRIVACY-20260927.md`](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/governance/OP-PRIVACY-20260927.md) | `dd7eca9ff36b19b07338d5ed0a6f1133d2075a81` | unchanged since main @ `9093629` |
| Owner privacy clarification, 3 October | main#229 comments [5969298848](https://github.com/d6g8k5htny-coder/main/issues/229#issuecomment-5969298848) and [5972541181](https://github.com/d6g8k5htny-coder/main/issues/229#issuecomment-5972541181); main#275 comment [6051694172](https://github.com/d6g8k5htny-coder/main/issues/275#issuecomment-6051694172) | (relays; no file) | n/a | new since the first cut. These are other lanes' relays; none quotes Dylan's own words |

**Check the live versions too.** They are [Math- `AGENTS.md`](../../../AGENTS.md), [`docs/FORMAL_REQUIRED_CHECKS.md`](../../../docs/FORMAL_REQUIRED_CHECKS.md) and `main`'s [`governance/`](https://github.com/d6g8k5htny-coder/main/tree/main/governance). If a source's blob has changed, the current source governs, and this summary needs a successor revision.

Expand All @@ -27,9 +30,9 @@ Cross-lane coordination (claims, ledgers, routing, releases) happens in [main#22
- **One GitHub account carries every lane.** Name the actual performer (provider, agent or session) in every comment and record. The owner-facing attribution for review is "Dylan Roy — delegated AI review", followed immediately by the actual performer, provider, agent and reviewed scope (OP-WORKFLOW-20260930, "Delegated owner review"). Lanes also write "Dylan Roy — delegated AI work" for non-review work *(practice)*.
- **The named integration owner controls branch refresh, readiness changes and the merge** (OP-WORKFLOW-20260930). An author replay is not a nonauthor review (OP-WORKFLOW-20260930), and a self-review does not erase an unresolved AMEND (`docs/FORMAL_REQUIRED_CHECKS.md`). *(practice)* The author does not approve or merge its own PR, and a non-author lane integrates (for example main#229 5974405061: "No merge by this lane").
- **Independence credit.**
- A same-provider read is useful technical work but earns zero organizational-independence credit, and an author replay is not a nonauthor review ([OP-WORKFLOW-20260930](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/governance/OP-WORKFLOW-20260930.md), "Match verification to the change").
- A same-provider read is useful technical work but earns zero organizational-independence credit, and an author replay is not a nonauthor review ([OP-WORKFLOW-20260930](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/governance/OP-WORKFLOW-20260930.md), "Match verification to the change"; formerly cited at main @ `9093629`, blob `1fdf5483`, historical). That section now also says that blind reconstruction, adversarial attack and derived evidence profiles follow the [closure-evidence protocol](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/governance/OP-CLOSURE-EVIDENCE-20261006.md).
- Owner statement recorded by Anthropic Claude session `017Mi3hx…` in main#229 comment 5974405061 (Dylan Roy, 2026-10-03, about 23:01Z): "Grok bots can count as a review". That comment applies it to that session's packets: a Grok Bot agent's read counts as a nonauthor, non-Claude review for integration readiness when it is posted in the target PR thread with an explicit pickup that names the head, a PASS / AMEND / BLOCK verdict, and the scope actually checked. The record names the actual performer as `Grok Bot agent N (Grok Bot support agent; non-Claude, nonauthor lane)`. Same-account organizational-independence credit stays 0. Claude reads of that session's packets still do not count.
- **xAI/Grok (including Cursor) agents work here only as support** for the non-Grok lanes, at those lanes' request ([`AGENTS.md`](../../../AGENTS.md)). No self-assigned repository changes, no takeover of another lane, and no restarted timers or loops ([`AGENTS.md`](../../../AGENTS.md); `main` [`AGENTS.md`](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/AGENTS.md)). The 2026-09-27 stop in [`OWNER_STOP.md`](../../../OWNER_STOP.md) is historical and lifted. Cite only what such agents have published.
- **xAI/Grok (including Cursor) agents work here only as support** for the non-Grok lanes, at those lanes' request ([`AGENTS.md`](../../../AGENTS.md)). No self-assigned repository changes, no takeover of another lane, and no restarted timers or loops ([`AGENTS.md`](../../../AGENTS.md)). `main` [`AGENTS.md`](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/AGENTS.md) (formerly cited at main @ `9093629`, blob `f649d88a`, historical) now says that Cursor agents work on request and arm no permanent windows, timers or loops. The 2026-09-27 stop in [`OWNER_STOP.md`](../../../OWNER_STOP.md) is historical and lifted: it is no longer in effect by the [owner decision of 5 October](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/governance/OWNER_DECISION_20261005_CURSOR.md), and its record stays unchanged. Cite only what such agents have published.
- **Never ask Dylan to re-approve autonomy he has already granted.**

## 2. The PR body is the disposition
Expand Down Expand Up @@ -112,13 +115,13 @@ Immediately before merging, read again:
- ownership claims;
- the required checks for the current head/base pair. On pull requests they run against the tested synthetic merge commit (`docs/FORMAL_REQUIRED_CHECKS.md`), so a base change needs a fresh run. A result from an earlier head or base is not rebound.

Merge with `expected_head_sha` and a merge commit *(practice)*. If the branch is behind, update it with a merge commit under a supported expected-old-ref guard, and do not force past a mismatch. If another refresh already produced the same reviewed tree, compare its actual parents and affected source identities and adopt it rather than publishing a duplicate refresh (OP-WORKFLOW-20260930, "Integrate once the evidence is ready"). Confirm that the packet bytes are unchanged, and merge only on a fresh green run. Unresolved engineering AMENDs survive peer merges. Do not bypass protection or simulate another identity's approval. Record an unexpected merge honestly.
Merge with `expected_head_sha` and a merge commit *(practice)*. If the branch is behind, update it with a merge commit under a supported expected-old-ref guard, and do not force past a mismatch. If another refresh already produced the same reviewed tree, compare its actual parents and affected source identities and adopt it rather than publishing a duplicate refresh (OP-WORKFLOW-20260930, "Integrate once the evidence is ready"). Marking a pull request ready can start an automatic review. Wait for that review to finish and reconcile its findings before merging; an earlier automatic review of the same head does not replace it. If it cannot finish, say so on the pull request and settle the next step there instead of merging past it (same section, at main blob `1df79b4f`; not in the historical blob `1fdf5483`). Confirm that the packet bytes are unchanged, and merge only on a fresh green run. Unresolved engineering AMENDs survive peer merges. Do not bypass protection or simulate another identity's approval. Record an unexpected merge honestly.

## 7. Never in a packet PR

- Edit `STATUS`, `PROOF_INDEX`, `GRAPH`, catalog or register surfaces, or create another status register.
- Flip `lemma_closed`, prize or premise flags. Packet PRs have scientific effect NONE.
- Publish private or personal material. Dylan's name and Gmail address are allowed by the privacy rule; nothing else personal is.
- Publish private or personal material. Dylan's name and Gmail address are allowed by the privacy rule. Dylan's 3 October 2026 owner clarification, already effective, also permits his own email addresses, including private relay addresses, and relevant ordinary biography. An email-bearing commit or attribution alone requires neither a purge nor a publication or merge hold, and it requires no no-reply metadata or history rewrite. Social Security numbers, banking or financial account information, home addresses, credentials and other people's private information remain protected. The clarification is recorded on the board only in other lanes' relays (main#229 [5969298848](https://github.com/d6g8k5htny-coder/main/issues/229#issuecomment-5969298848) and [5972541181](https://github.com/d6g8k5htny-coder/main/issues/229#issuecomment-5972541181); main#275 [6051694172](https://github.com/d6g8k5htny-coder/main/issues/275#issuecomment-6051694172)), none of which quotes his words. The written rule, [OP-PRIVACY-20260927](https://github.com/d6g8k5htny-coder/main/blob/8687c6fe1629cc3234649c79234820f7edf058b3/governance/OP-PRIVACY-20260927.md) (blob `dd7eca9f`, unchanged), still lists his other email addresses; on his email addresses and relevant ordinary biography the later clarification governs, and the rest of the written rule still applies. Do not ask Dylan to approve it again.
- Approve, merge or resolve a thread on another lane's behalf.

## 8. Comments and records
Expand Down
Loading