You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
agent-conduct Surfaces Two Rules That Have No Home Outside It, Against Its Own Claim to Carry Only Includes #1594
.agents/skills/agent-conduct/SKILL.md states twice that every rule it surfaces has its home in a governance file and is carried as a generated include rather than a copy:
The full rules stay in GOVERNANCE.md ("Verification Discipline", "Communicating with the User", "Durable Knowledge and Self-Improvement"), which keeps authority, and each of those three sections is carried here whole, as a generated include that scripts/build_dist.py fills from the section and holds to it
and in the frontmatter:
The GOVERNANCE.md sections this skill surfaces keep the full rules, and the skill carries each of them whole as a generated include rather than as a summary.
Both are false of the file. The ## Before Assuming moment states two hand-authored rules whose text appears nowhere in GOVERNANCE.md, AGENTS.md, CODESTYLE.md, or WORKFLOW.md:
"Ask when the user can cheaply confirm"
"The irreversible step (merging, publishing, releasing, force-pushing, deleting, changing branch protection) stays the maintainer's"
grep -c 'cheaply' and grep -c 'irreversible' each return 0 across all four files. So one of the five moments surfaces rules that exist only inside a skill, which is what AGENTS.md "Where the Rules Live" says must not happen: "A Skill that needs a rule's full text to work in isolation carries it as a generated include from the rule's home rather than as a copy, per the skill-lifecycle Skill, so the text cannot drift undetected."
Either those two rules belong in GOVERNANCE.md "Communicating with the User" and the skill should include them, or they are genuinely skill-local and the two claims above need narrowing to the three sections they actually describe. The second reading is weaker, because the irreversible-step rule is fleet law that binds whether or not a session loaded this skill, and it currently reaches no carrying repository at all except through .github/skills/.
A second, smaller inconsistency in the same file: the frontmatter triggers on "about to report success or completion of any task" while the body's Before Claiming Done says "before reporting success on anything non-trivial". Two thresholds for one moment, and nothing says which binds.
Surfaced by carried-content review passes on feature/blocked-upstream-issue-rule. That change touched the frontmatter and the durable-knowledge moment; neither of these findings is its doing.
Question: Should the two hand-authored rules in agent-conduct's "Before Assuming" ("Ask when the user can cheaply confirm" and "The irreversible step ... stays the maintainer's") move into GOVERNANCE.md, or should the skill's "Why This Exists" claim that its rules live in GOVERNANCE.md be narrowed?
Options, recommended first:
Move both into "Communicating with the User" (recommended): Already included whole in agent-conduct and session-handoff, so no new include region, and "Before Assuming" becomes a pointer; the irreversible-step rule then reaches every carrier through GOVERNANCE.md. Also drop the skill's "non-trivial" qualifier (absent from GOVERNANCE.md) so the section decides the threshold. Edits a carried section, so a resync is owed. No work in flight.
Split: ask-rule to Communicating, irreversible to Write Safety: The closer topical home for the irreversible rule, matching the host block, but agent-conduct does not include Write Safety, so it needs a second include or a pointer. No work in flight.
Narrow the skill's claim, keep the rules skill-local: Smallest edit, but fleet law reaches carriers only as a copy inside a skill, the case AGENTS.md says must not happen. No work in flight.
Evidence: Rules at agent-conduct SKILL.md:72-73, and cheaply and irreversible count 0 in GOVERNANCE.md, AGENTS.md, CODESTYLE.md, WORKFLOW.md. SKILL.md:26: "The full rules stay in GOVERNANCE.md". 6e6a35f (#1807) already narrowed the frontmatter and removed the "any task" trigger. The body's "non-trivial" (SKILL.md:34) is the remaining threshold mismatch.
Maintainer answer (decision triage, 2026-11-01): Option 1: move both rules into GOVERNANCE.md 'Communicating with the User', make agent-conduct 'Before Assuming' a pointer, and drop the skill's 'non-trivial' qualifier. A fleet resync is owed. This is now work for the next burndown round.
Activity
Record a Hub Blocker Where the Work Waits, and Stop Pre-Authorizing t…
Promote develop to main: Record a Hub Blocker Where the Work Waits (#…
ptr727 commentedon Nov 1, 2026
Decision needed (decision triage, 2026-11-01)
Question: Should the two hand-authored rules in agent-conduct's "Before Assuming" ("Ask when the user can cheaply confirm" and "The irreversible step ... stays the maintainer's") move into GOVERNANCE.md, or should the skill's "Why This Exists" claim that its rules live in GOVERNANCE.md be narrowed?
Options, recommended first:
Evidence: Rules at agent-conduct SKILL.md:72-73, and
cheaplyandirreversiblecount 0 in GOVERNANCE.md, AGENTS.md, CODESTYLE.md, WORKFLOW.md. SKILL.md:26: "The full rules stay inGOVERNANCE.md". 6e6a35f (#1807) already narrowed the frontmatter and removed the "any task" trigger. The body's "non-trivial" (SKILL.md:34) is the remaining threshold mismatch.Blocks: none
ptr727 commentedon Nov 1, 2026
Maintainer answer (decision triage, 2026-11-01): Option 1: move both rules into GOVERNANCE.md 'Communicating with the User', make agent-conduct 'Before Assuming' a pointer, and drop the skill's 'non-trivial' qualifier. A fleet resync is owed. This is now work for the next burndown round.