diff --git a/CHANGELOG.md b/CHANGELOG.md index 0428abf26..877892450 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ ### Changed - The Capy session start (`bin/gstack-capy-session`, which updates with the checkout) points `GSTACK_PREFERENCES_FILE` at `preferences.yaml` next to the Drive skill's SKILL.md, and the installer writes it into the launch file. `--check` never writes the skill folder, and the frozen Drive bootstrapper is unchanged. - SKILL.md allows exactly one write in the skill folder: `preferences.yaml`, when the owner asks an agent to remember a preference. -- `docs/model-policy.md` gains "Your model preference". `docs/captain.md` links factory.md and says to forward an owner's rule for every Captain, in the same turn, to the thread that keeps the account's shared rules. +- `docs/model-policy.md` gains "Your model preference". `docs/captain.md` links factory.md, says to forward an owner's rule for every Captain, in the same turn, to the thread that keeps the account's shared rules, and says the Captain archives its own child threads by its plan for each, including ones its crew or automations started. ## [1.91.327.0] - 2026-10-30 diff --git a/capy/skill/gstack/factory.md b/capy/skill/gstack/factory.md index 08efddc40..c301d9f72 100644 --- a/capy/skill/gstack/factory.md +++ b/capy/skill/gstack/factory.md @@ -13,5 +13,5 @@ What seven Captain crews on gstack and Capy converged on (2026-10-29). Your crew 9. **Flakes: one rerun, a ledger, a daily fix.** Only the rerun the policy allows, never a harness or infra red; a second red is real, and no test is loosened. [AGENTS.md: Validation discipline; docs/captain.md: The daily flaky pass] 10. **Quiet.** Message on a decision, a blocker, a READY or a finished phase. A broadcast that needs no reply goes in the Captain's notes, not to every lane; never reply just to acknowledge. 11. **Ask once, plainly.** One open ask per decision, on an issue: recommendation first, one line per choice, everyday words, links inline. Never re-send it or re-ask a standing rule. Settle what you can check yourself. -12. **Fresh threads, closed out.** One thread per unit of work (crew threads ask their Captain for new ones); past the context threshold, hand off. Once its PRs are merged, closed or handed off and its report is in, archive it that turn. Size reviews to the diff; read the token counter, don't estimate. [docs/ship-budget.md] +12. **Fresh threads, closed out.** One thread per unit of work (crew threads ask their Captain for new ones); past the context threshold, hand off. Its Captain archives each thread it, its crew or its automations start, by its plan for it. Size reviews to the diff; read the token counter, don't estimate. [docs/ship-budget.md] 13. **The owner's model preference.** `gstack-models resolve --role agent` picks agent models, except cross-family voices and eval subjects. [docs/model-policy.md: Your model preference] diff --git a/docs/captain.md b/docs/captain.md index 96870de2c..9dc3697c5 100644 --- a/docs/captain.md +++ b/docs/captain.md @@ -34,7 +34,10 @@ by a daily pass; nothing is retried into green. - **The controller** (the Captain) runs the crew: starts lanes on disjoint files, keeps the rules file, the digest and the notes, validates READYs, builds and merges trains, calls slots, relays asks to the owner in the three shapes, runs the flaky pass, and decides - everything that needs no access, credentials, spend over cap or a cited approval. + everything that needs no access, credentials, spend over cap or a cited approval. It + archives its own child threads, including ones its crew or its automations started + outside the crew, when its plan for each thread says that thread's work is done; it + knows each thread's next step, so nobody else archives them. - **A lane** (a crew thread) owns named files, builds on its own branch and machine, runs /ship, sends one READY block, stamps on call (merging the base into its pin only as part of that stamp commit, or when the controller names a real-code conflict),