Skip to content

docs(secondmate-provisioning): clarify concise registry ownership#649

Merged
kunchenguid merged 3 commits into
mainfrom
fm/fm-secondmate-registry-concise-t6
Jul 16, 2026
Merged

docs(secondmate-provisioning): clarify concise registry ownership#649
kunchenguid merged 3 commits into
mainfrom
fm/fm-secondmate-registry-concise-t6

Conversation

@kunchenguid

Copy link
Copy Markdown
Owner

Intent

Implement the captain-ordered concise secondmate routing-table contract as one small Firstmate PR after the overlapping bootstrap and nudge PR lands. Preserve the parser-compatible single-line identity, home, project-list, scope, and added-date registry fields. Keep each data/secondmates.md entry to a one-sentence charter summary, explicit natural-language scope, and only genuinely domain-specific hard rules. Make the seeded home's data/charter.md the sole owner of boilerplate idle-by-default behavior, normal delegation lifecycle, and standard escalation contracts, with the registry pointing through the existing home field rather than adding a new pointer field. Do not rewrite captain-private data/secondmates.md, do not duplicate boilerplate into another tracked owner, and do not expand AGENTS.md unless its trigger became incorrect. Add focused regression coverage so future guidance cannot regress to multiline summaries or repeated boilerplate and so the charter pointer remains explicit. Let no-mistakes v1.39.0 own custody recovery and synchronization onto current main; do not reset, cherry-pick, merge, or hand-copy commits.

What Changed

  • Tightened the secondmate registry guidance so data/secondmates.md entries stay parser-compatible and concise, with one-sentence charter summaries, explicit natural-language scope, and domain-specific hard rules only.
  • Clarified that seeded home data/charter.md owns standard idle, delegation lifecycle, and escalation boilerplate, with docs pointing through the existing home field instead of adding another pointer.
  • Added focused instruction-owner regression coverage to catch multiline registry summaries, repeated boilerplate, and missing charter pointer guidance.

Risk Assessment

✅ Low: The updated change is well-bounded to guidance plus static regression coverage, preserves the parser-compatible registry fields and explicit charter pointer, and addresses the prior coverage gap without introducing new source-verifiable risks.

Testing

The pre-run full baseline was already green; I then reran the focused instruction-owner, brief, and secondmate lifecycle tests, plus a manual end-to-end secondmate scaffold/seed/validate flow that produced reviewer-visible evidence of the concise registry contract. All checks passed.

Evidence: Secondmate registry contract E2E evidence
Manual end-to-end secondmate seed evidence
Active home: /var/folders/5x/4nqprlbx0518k3ybcb1sz6gr0000gn/T//fm-secondmate-contract-e2e.1SIVZA/main-home
Requested secondmate home: /var/folders/5x/4nqprlbx0518k3ybcb1sz6gr0000gn/T//fm-secondmate-contract-e2e.1SIVZA/onboarding-home
scaffolded: /var/folders/5x/4nqprlbx0518k3ybcb1sz6gr0000gn/T//fm-secondmate-contract-e2e.1SIVZA/main-home/data/onboarding/brief.md (secondmate charter)
home=/private/var/folders/5x/4nqprlbx0518k3ybcb1sz6gr0000gn/T/fm-secondmate-contract-e2e.1SIVZA/onboarding-home

Registry entry written to main data/secondmates.md:
- onboarding - Customer onboarding guidance. (home: /private/var/folders/5x/4nqprlbx0518k3ybcb1sz6gr0000gn/T/fm-secondmate-contract-e2e.1SIVZA/onboarding-home; scope: customer onboarding routing and escalations; projects: alpha; added 2026-07-16)

Registry line count for onboarding id:
1

Registry line intentionally omits standard charter boilerplate phrases:
no boilerplate phrases found in registry line

Seeded charter owner exists at home/data/charter.md and contains lifecycle boilerplate:
Act only on tasks the main firstmate routes to you.
When you have no assigned or in-flight work after that reconciliation, go idle and wait silently for the main firstmate to route you a task.

Parser-compatible field check:
identity/home/scope/projects/added fields present on one line

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

🔧 **Review** - 1 issue found → auto-fixed ✅
  • 🚨 tests/fm-instruction-owners.test.sh:117 - Intent requires: "Add focused regression coverage so future guidance cannot regress to multiline summaries or repeated boilerplate." The added test only extracts the ## Routing table section and checks boilerplate phrases there, but the boilerplate this PR removed was in ## Charter and seed, so reintroducing it in that section would still pass. Expand the regression check to cover the section where the removed boilerplate lived, or otherwise scan the relevant guidance owner for repeated boilerplate.

🔧 Fix: Expand secondmate registry boilerplate coverage
✅ Re-checked - no issues remain.

✅ **Test** - passed

✅ No issues found.

  • command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; for t in tests/*.test.sh; do echo "== $t =="; bash "$t" || rc=1; done; exit "$rc"
  • Baseline already passed before this run: command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; for t in tests/*.test.sh; do echo "== $t =="; bash "$t" || rc=1; done; exit "$rc"
  • bash tests/fm-instruction-owners.test.sh
  • bash tests/fm-brief.test.sh
  • bash tests/fm-secondmate-lifecycle-e2e.test.sh
  • Manual evidence flow: scaffolded onboarding with bin/fm-brief.sh --secondmate alpha, seeded it with bin/fm-home-seed.sh onboarding <home> alpha, ran bin/fm-home-seed.sh validate, and recorded the resulting registry and charter evidence.
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

@kunchenguid
kunchenguid merged commit 508a6b7 into main Jul 16, 2026
5 checks passed
@kunchenguid
kunchenguid deleted the fm/fm-secondmate-registry-concise-t6 branch July 16, 2026 19:08
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