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
Lead Every Choice With a Recommendation and Close Every Session in Order - #1808
Makes two of the maintainer's standing instructions apply to every session, not only to the attended "resume the handoff" procedure:
GOVERNANCE.md "Communicating with the User" gains "Lead every choice with a recommendation and its reason": the recommended option comes first and is marked as such, and every option states its reason. A question with no defensible recommendation says so. An open question's own answer goes in its text, never as an invented option. It reaches every session through the agent-conduct and session-handoff includes.
session-handoff gains "Closing a Session", the order every session writing a handoff ends in, with saving memories last. The memory step follows GOVERNANCE "Durable Knowledge": a lesson is committed or filed, and memory keeps only environment-specific nuance. Every unattended-handoff seat skips it.
The parked-queue bullet now names the interactive-prompt bullet it defers to, not "the bullet above", because the new bullet sits between them.
The local strict review ran two recorded passes. The second pass found three ordering problems in "Closing a Session", which are answered in this PR's first fix commit.
Adds a Communicating with the User rule that every choice put to the
user leads with the recommended option, and every option states its
reason. It reaches every session through the agent-conduct and
session-handoff includes, not just the attended resume. Moves save
memories last into a Closing a Session order that binds every session
writing a handoff.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Answers the strict review: the parked-queue bullet names the
interactive-prompt bullet it defers to, an open question's own answer
goes in its text rather than as an invented option, the attended
procedure closes once through Closing a Session, the queue is answered
before the link records it, lessons are committed per Durable Knowledge
while memory keeps environment nuance and in-flight state, and every
unattended-handoff seat skips the memory step.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Answers the second strict review pass: lessons are committed before
the link that points at them, the link is written before a blocking
prompt can cost the round its handoff, answers are commented onto the
link, and memory keeps environment nuance only, never round state.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟡 Changes recommended
The new “Closing a Session” wording is internally inconsistent about whether memory-saving always occurs, which can confuse the contract the PR is establishing.
Get a fresh assessment by requesting another Copilot review.
This PR updates the fleet’s session and communication contract so that (1) any user-facing choice is presented with an explicit recommendation plus reasons for every option, and (2) sessions that write a handoff follow a consistent close-out order (parked decision queue -> link -> memories last, with unattended runs skipping the memory step).
Changes:
Add a new “Lead every choice with a recommendation and its reason” rule to GOVERNANCE.md "Communicating with the User".
Extend the session-handoff skill with a new “Closing a Session” section and align the “Ask every question as a dialog” step with the new governance rule.
Regenerate distributed skill copies and update plugin source digests to match the .agents/skills/ source.
File
Description
GOVЕРNANCE.md
Adds the new recommendation-first rule to the canonical governance contract.
.agents/skills/session-handoff/SKILL.md
Adds “Closing a Session” and updates wording to apply the new choice-formatting rule.
.agents/skills/agent-conduct/SKILL.md
Pulls the new governance bullet into the agent-conduct include so it applies broadly.
…omment
Answers the strict pass on the closing-order fix: an unattended-handoff
seat skips Closing a Session entirely, and an answer is commented only
onto a written link that names its decision.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…Link
A finished worker's lesson is filed as an issue, since a closed lane's
comment is read by no later session, and a closing session comments
every answer onto the link it wrote, whether or not the link named that
decision by number.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Answers Copilot on #1808: the description's closing order now names the
unattended-handoff exemption the body states.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟡 Changes recommended
The session-handoff step list summarizing dialog prompts omits the requirement to explicitly label the recommended option, which can lead to inconsistent guidance.
Get a fresh assessment by requesting another Copilot review.
Answers the strict pass: an unattended worker files a lesson as a
decision issue, which the picker never takes, so the loop cannot write
rule text unjudged, and files it before the closing or parking comment
that names it. An attended session records a lesson in the governing
doc, as Durable Knowledge actually says.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…for Lessons
Answers Copilot on #1808, the attended dialog step now says the
recommended option is marked as the recommendation, and the strict pass,
a lesson whose governing doc is carried, or whose session changed
nothing, is proposed as an issue instead.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟡 Changes recommended
The .agents/skills/session-handoff/SKILL.md updates need small wording fixes to fully match the new governance requirement (explicitly marking recommendations) and to align “record what was learned” with the governance allowance for committed backlog entries.
Get a fresh assessment by requesting another Copilot review.
Answers the strict pass: a lesson is recorded in the governing doc only
while the round's change is still open, and one learned after that
change merged is proposed as an issue like a carried-doc lesson.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Clarify answer recording only when questions are asked
.agents/skills/session-handoff/SKILL.md:222
Step 3 in "Closing a Session" reads as if answers always exist ("Record each answer"), but the same file later states that when no user is present the session asks nothing. Clarifying that answers are recorded only when a question is actually asked/answered avoids a contradictory reading for unattended sessions.
Answers the strict pass: the attended procedure has merged its work by
the close, so a lesson lands in the governing doc inside the pull
request whose work taught it, and one found only at the close becomes
the next link's first step, a change to that doc, rather than an issue.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Four passes each found a case the restated routing missed, so Closing a
Session step 1 now records lessons per GOVERNANCE.md Durable Knowledge,
which owns where a lesson goes, before the link is written.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
The new unattended “file a lesson” step files a decision issue without requiring explicit options + a recommended choice, which conflicts with the parked-decision contract when the filer knows the likely choices.
Review effort: Lite Findings: None
Previously missed (1)
In code that hasn't changed since last review
Decision issues omit required options and recommendation
.agents/skills/unattended-handoff/SKILL.md:210
High: When filing a "lesson" as a decision issue, require explicit choices and a recommendation. Step 6 currently says to file a decision issue but does not require listing the available options (and the recommended one first with its reason), even though GOVERNANCE.md "Communicating with the User" expects parked decision issues to capture the choices when the filing session knows them.
Answers Copilot's two out-of-thread findings on #1808: the closing step
records answers only where a question was asked and answered, and an
unattended lesson's decision issue carries its choices with the
recommended one first, as any parked decision does.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Answers the strict pass: the lesson issue no longer points at Parking
step 2, whose close-once-answered rule would drop the rule's work item,
and states that it stays open as that work item.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Fixed in e40060a, with its sibling in Parking step 2 in df3775a. Neither step restates the option form now. Both point at the form GOVERNANCE.md "Communicating with the User" sets for any choice put to the maintainer: the recommendation first and marked, every option carrying its reason, and no invented recommendation where none is defensible.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟢 Approval recommended
The changes are consistent across governance and skill distributions, and the updated procedures read coherently without introducing conflicting requirements.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
The new “Closing a Session” instructions claim that commenting answers makes the parked-decision count/list current, but that does not actually update the handoff’s queue section and can leave stale guidance after decisions are answered.
Review effort: Lite Findings: None
Previously missed (1)
In code that hasn't changed since last review
Handoff body can retain stale parked-decision queue
.agents/skills/session-handoff/SKILL.md:221
The new "Closing a Session" guidance claims that simply commenting the answers onto the newly written handoff makes the handoff's parked-decision count and ranked list "current", but a comment that only records answers does not update the body section that carries the count/list. This can leave the handoff body advertising a stale queue after decisions are answered and decision labels are removed in the same close-out.
Answers Copilot's out-of-thread finding on #1808: the comment onto the
link carries the queue's count and list after the answers, since the
body keeps the count it was written with.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Answers the strict pass: Resuming itself now reads the current link's
comments, where parking state and a closing session's answers land, and
the attended step points at it rather than adding the read on its own.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Handoff body can retain stale parked-decision queue (.agents/skills/session-handoff/SKILL.md, Closing a Session step 3)
Fixed in df6d722 and 6a63e14. The comment onto the link now carries the queue's count and list after the answers, since the body keeps the count it was written with. "Resuming" itself now reads the current link's comments, so every resume sees it, not only the attended one.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
The new “Closing a Session” wording in .agents/skills/session-handoff/SKILL.md conflicts with the attended procedure’s earlier “ask questions” step and should be clarified to avoid contradictory instructions.
Review effort: Lite Findings: None
Previously missed (1)
In code that hasn't changed since last review
Clarify that closing prompt questions happen before session closure
.agents/skills/session-handoff/SKILL.md:219
The "Closing a Session" order says the link is written "before any question is put", but in the attended procedure immediately above you ask questions (step 5) before closing the session. To avoid conflicting guidance, scope this line to the parked-decision/closing prompt questions rather than implying no questions may be asked earlier in the session.
Answers Copilot's out-of-thread finding on #1808: the link is written
before the closing questions, not before every question in the session.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Clarify that closing prompt questions happen before session closure (.agents/skills/session-handoff/SKILL.md, Closing a Session step 2)
Fixed in e6f27e5: the link is written before the closing questions are put, not before every question in the session, so it no longer conflicts with the attended procedure asking earlier.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
One newly added inline shell command uses an unquoted angle-bracket placeholder (<n>), which will be interpreted as input redirection if copied into a shell.
The inline command uses an unquoted angle-bracket placeholder (<n>). If someone copies this into a shell, the < will be treated as input redirection and the command will fail. Elsewhere in the repo, shell commands quote angle-bracket placeholders for this reason (for example, STANDUP.md explains this explicitly).
Answers Copilot's out-of-thread finding on #1808: every shell command
in session-handoff and unattended-handoff quotes its placeholder, since
an unquoted angle bracket is a redirection when pasted into a shell.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Fixed in 9c7ee26, with the class swept: every shell command in session-handoff and unattended-handoff now quotes its placeholder, including gh issue view "<n>" --comments and the handoff.py commands.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟡 Changes recommended
A grammar issue in the source unattended-handoff skill text (“until promotion whoever merged it”) should be corrected and then propagated through regenerated distributions.
Get a fresh assessment by requesting another Copilot review.
Answers Copilot on #1808: a fix merged to develop leaves its issue open
until it is promoted, whoever merged it.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟢 Approval recommended
The changes are internally consistent across governance + the authored Skill sources and the corresponding generated distributions, with no detectable style/contract regressions in the updated procedures.
…rship to Main (#1827)
Promotes `develop` to `main`.
## Carried
- #1806: adds the unattended handoff loop and the attended resume
procedure.
- #1807: renames three skills and states which skill wins each shared
trigger.
- #1809: names a pin by its mechanism rather than its value, and audits
for copies.
- #1808: leads every choice with a recommendation and closes every
session in order.
- #1813: bans every version literal in the four instruction documents
and catches abbreviated SHAs, following #1809.
- #1820: refuses a coverage marker indented into a code block, per
#1725.
- #1823: states that the hub commits audit reports and that a downstream
session resyncs itself. This covers the Fleet Bootstrap section, the
host fleet block, `RESYNC.md`, `AUDIT.md`, `check-this-repo`, and
`resync-a-repo`, and settles #1822. The Fleet Bootstrap section is
byte-locked, so every carrier reports drift on it until its next resync.
- #1825: strips a tilde or unclosed fence before reading review
coverage, per #1821.
Closes#1725Closes#1821Closes#1822
🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes two of the maintainer's standing instructions apply to every session, not only to the attended "resume the handoff" procedure:
agent-conductandsession-handoffincludes.session-handoffgains "Closing a Session", the order every session writing a handoff ends in, with saving memories last. The memory step follows GOVERNANCE "Durable Knowledge": a lesson is committed or filed, and memory keeps only environment-specific nuance. Everyunattended-handoffseat skips it.The parked-queue bullet now names the interactive-prompt bullet it defers to, not "the bullet above", because the new bullet sits between them.
Verification
build_dist.py --check,prose_lint.py --diff origin/develop,docker_lint.py(7 linters),spec/validate.py, andtest_build_distpass.🤖 Generated with Claude Code