Skip to content

feat(rules): general rules from multi-peer use; sync reports rule and setting drift - #22

Merged
J-T-McC merged 3 commits into
mainfrom
feat/general-rules
Oct 31, 2026
Merged

J-T-McC merged 3 commits into
mainfrom
feat/general-rules

Conversation

@J-T-McC

@J-T-McC J-T-McC commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Third of three PRs from feedback on running 9 peers with one coordinator. This one holds the rules that apply under either runtime, plus a sync drift check broad enough to bring them, and the earlier Orca changes, to existing projects.

Rules (each in its canonical home, with at most one line pointing to it elsewhere)

  • workflow/communication.md § Relaying the Owner:
    • Pass the Owner's words on verbatim, with any interpretation added separately.
    • When a check needs the Owner's hands (a device, an account), the role writes exact steps and collects logs itself.
  • workflow/handoffs.md:
    • An approval covers a commit, not a branch: anything pushed after approval gets a delta review before release or merge.
    • Recording the Owner (microphone, camera, screen) joins the autonomy floor. Devices are faked by default, and switching an emulator to the host microphone counts as recording.
    • Roles clean up what they start (containers, volumes, worktrees, test data, tokens) and list it in their report.
  • Orchestrator: a report that asks for a go is answered first, in the same turn.
  • Principal engineer:
    • Risk-gated work (access control, migrating existing data, renaming a public interface) starts with a risk discovery, verified against the code and decided by the Owner, before any task is built. templates/discovery.md gains a Risk section.
    • Changes whose effect is statistical get a measurement task.
  • Product manager: items from an audit or a list are in scope only with evidence they are real problems today; anything left out gets a written reason.
  • Reviewer: deep reviews follow a security → breakage → cost order and probe base vs. head with real requests where possible. Pushes after approval get a delta review.
  • Senior developer:
    • Never poll CI; wait with one blocking background command.
    • Check the environment (credentials, service health) cheaply before changing code.
    • Fake devices by default.
    • The fast-path guardrail now also stops at changes to who can access what.
  • Seeds:
    • standards/review.md gains § Review order.
    • standards/testing.md gains § Behaviour changes (a before/after run on real cases, success checked against the real outcome, its cost, and what got worse).

Sync drift

bin/seed-drift replaces the by-hand heading comparison in /dev-team:sync. It lists:

  • seed sections missing from a project's standards (ignoring (active) and letter case);
  • seed rules missing from the dev-team section, matched by the rule's bold label so changed values such as Autonomy: autonomous don't count, and with guest mode read from CLAUDE.local.md;
  • Orca Runtime-line settings that were renamed or added, such as Peer clear threshold, which is now Peer size limit.

It compares names only, so project customizations never show up as drift.

Stacked PRs (when gh stack is installed)

seeds/standards/coding.md § Stacked PRs applies when gh extension list shows github/gh-stack:

  • Work that depends on an unmerged PR builds on it as a stacked PR (gh stack checkout, add, then submit --auto, which opens drafts) instead of waiting for the merge.
  • Each PR is reviewed on its own diff; the branch below it is its base.
  • A stack merges together, bottom up, once every PR in it is reviewed and green. A green lower PR never merges alone, so main stays shippable.
  • The owner syncs by default. Use gh stack sync only on a stack whose branches are all yours: it rebases and force-pushes every branch in the stack. On a shared stack, bring only your own branch up to date by merging the branch below. The orchestrator may name a stack keeper (merge commits only, no force-push) while many hands share stacks. Who syncs is decided by what's in flight and changes as stacks change.

Pointers in the senior-developer and principal-engineer skills and in workflow/board.md (a stacked row's next names its stack). Bootstrap tells the Owner whether the section is active. seed-drift offers the new section to existing projects.

The board's sample data now includes a stack: APP-207 ships as #409 (reviewed and green, "merges with #420, not alone") under #420 (still building). The README screenshots are regenerated. The board now keeps rows that share a ticket together, placed by their most urgent row with the lower PR first. Before, sorting by state alone split a stack across the table. tests/board.sh checks both.

Not included

  • Merge modes for a slow CI queue: merge policy belongs to each project.
  • One sub-ticket per PR: under the ticket rules, only the orchestrator and product manager write tickets. (The stacked-PR half of that item is above.)

Testing

  • tests/seed-drift.sh has 13 checks: a fresh seed copy is up to date, missing sections and rules are reported, renamed suffixes and changed values are not, and the Orca, guest-mode and no-section cases behave.
  • CI runs it with the existing tests on Linux and macOS.
  • claude plugin validate . shows the same warnings as main.

🤖 Generated with Claude Code

J-T-McC and others added 3 commits October 30, 2026 22:25
… setting drift

- communication.md: Owner's words verbatim; the Owner as the hands (exact steps)
- handoffs.md: approval covers a commit; mic/camera/screen on the floor; clean up what you start
- roles: reports answered first; risk discovery before risk-gated work; audit items need evidence; delta review after post-approval pushes; security-first review order; never poll CI; cheapest environment check first
- seeds: review order, behaviour-change measurement; discovery template Risk section
- bin/seed-drift: sync's drift check now covers dev-team rules and the Orca Runtime line, with tests

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…efault

- coding.md seed § Stacked PRs: build on unmerged work, review each PR on its own diff, merge the stack together bottom up; owner syncs its own branch (gh stack sync only on a stack it owns), with an optional stack keeper named by the orchestrator as work changes
- pointers in senior-developer, principal-engineer, board, and bootstrap

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… stay together

Sample APP-207 ships as #409 (ready, merges with #420) under #420 (building). The board keeps a ticket's rows adjacent, placed by their most urgent row, lower PR first; README screenshots regenerated, render checks added.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@J-T-McC
J-T-McC merged commit ac28dc8 into main Oct 31, 2026
2 checks passed
@J-T-McC
J-T-McC deleted the feat/general-rules branch October 31, 2026 05:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant