Skip to content

P2 (decision): Carry Only the Fleet Bootstrap Verbatim, and Reach Everything Else From the Hub #1321

Description

@ptr727

Part of #1311. Priority: after the P0 and P1 work.

An option was selected on 2026-09-08. It is not the one this body proposes.

The decision, its measurements, and what is still unmeasured are recorded in
#1321 (comment). Read that
comment before acting on the text below.

The title and the proposal below describe the original option, which retires the carried skills
tree. The selection keeps that tree carried and retires four documents instead, so acting on
this body rather than on the comment implements a rejected option. The maintainer's own note on
this issue asks that the selection not be read as law, and it stays open to revisiting.

Why

The skills tree is carried as a verbatim tree and many GOVERNANCE.md and AGENTS.md sections are carried verbatim, so every wording change in the hub is a fleet-wide change. Every carrier's first review re-discovers the same defects in a repository that cannot fix them (#1138, #1139). The fidelity model cannot express a value that legitimately varies per repo nor detect one that is uniformly wrong (#1141, #1118). A carrier holds sentences that are false in the carrier (#1184). AGENTS.md "Fleet Bootstrap" already tells an agent to fetch the hub and read the rules there, and scripts/ is already reach-not-carry. The prose is the last thing still carried, and it is the thing that churns.

The decision

Reduce the carried baseline to: CLAUDE.md, AGENTS.md holding the Fleet Bootstrap section verbatim and a repo-specific remainder, the config files the tooling needs (.editorconfig, .gitattributes, lint configs, workflow stubs), and .github/copilot-instructions.md since the Copilot bot reads it directly. Everything else, GOVERNANCE.md, CODESTYLE.md, WORKFLOW.md, AUDIT.md, and the skills tree, is reached from a hub checkout the bootstrap already requires, and the skills reach Claude Code through the installer that already exists.

What this costs: a Codex or opencode session in a downstream repo loses the skills it read from .agents/skills/ by walking up, and gets them from the hub checkout instead, which the bootstrap already makes it fetch. A downstream repo's contributor without a hub checkout reads a pointer instead of the rule. A resync stops refreshing prose, so the resync becomes small and mechanical.

What it buys: a wording change in the hub is one pull request in one repository, the whole-unit pass runs once where the fix can land, the fidelity model stops having to express prose variance, and the "first review happens downstream" pump closes.

Scope, once decided

  • Amend spec/files.json and spec/section-model.md to the reduced baseline.
  • Amend RESYNC.md and STANDUP.md so a resync removes carried prose from a repo that holds it, with the audit reporting it as a retired file rather than drift.
  • Amend the Fleet Bootstrap so the pointer names where each removed document is read.
  • Run the resync across the fleet as its own campaign after the hub change promotes.

Rules that bind this task

  • The Fleet Bootstrap stays byte-locked and is the one thing every repository reads identically.
  • No prose rule is deleted. It moves from carried to reached.
  • The decision is recorded in TODO.md "Reducing the Carried Surface Further" or its successor before the first edit.

Acceptance

  • The maintainer has decided, and the decision and its reasons are recorded.
  • If accepted: a downstream repo after resync carries no GOVERNANCE.md, CODESTYLE.md, WORKFLOW.md, AUDIT.md, or skills tree, and its audit reports clean.

Relates #1138, #1139, #1141, #1118, #1184, #1146, #1140, #1145.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agentsAgents instructionsdocumentationImprovements or additions to documentation

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions