@etiquekit/etq 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/AGENTS.md +26 -19
  2. package/LICENSE +3 -2
  3. package/NOTICE +4 -6
  4. package/QuickStart.md +50 -39
  5. package/README.md +56 -56
  6. package/bin/etiquette +5 -1
  7. package/bin/etiquette-core +5 -1
  8. package/docs/ARCHITECTURE.md +17 -20
  9. package/docs/CONCEPTS.md +5 -5
  10. package/docs/CORE_PROFILE.md +15 -7
  11. package/docs/LANE_PROVISIONING.md +2 -7
  12. package/docs/README.md +14 -13
  13. package/docs/RELEASE_SURFACE_AUDIT.md +7 -8
  14. package/docs/SEAT_DISCIPLINE.md +91 -55
  15. package/docs/SEAT_PROVISIONING.md +19 -16
  16. package/docs/TEAM_HANDOFF.md +21 -21
  17. package/docs/WORKTREE_QOL.md +0 -7
  18. package/docs/contracts/ledger-entry/README.md +11 -11
  19. package/docs/contracts/ledger-entry/ledger-entry.v0.2.md +2 -2
  20. package/docs/contracts/ledger-entry/ledger-entry.v0.md +8 -8
  21. package/lib/etiquette-core.js +313 -0
  22. package/lib/etiquette.js +1154 -0
  23. package/package.json +11 -10
  24. package/templates/etiquette-vanilla-v0/README.md +3 -2
  25. package/templates/etiquette-vanilla-v0/source/control-seat/README.md +6 -0
  26. package/templates/etiquette-vanilla-v0/source/control-seat/bin/access-assurance-check +55 -0
  27. package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-doctor +5 -0
  28. package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/ACCESS-ASSURANCE.md +39 -0
  29. package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/workspace-secure-profile.v0.json +53 -0
  30. package/templates/etiquette-vanilla-v0/validate-vanilla.sh +5 -0
  31. package/templates/hosted-receiver/README.md +41 -0
  32. package/templates/hosted-receiver/w1-github-webhook-receiver.mjs +129 -0
  33. package/templates/seat-packs-v0/README.md +2 -3
  34. package/templates/seat-packs-v0/source/claude-code-seat/README.md +3 -3
  35. package/templates/seat-packs-v0/source/codex-seat/README.md +3 -3
  36. package/templates/seat-packs-v0/source/gemini-seat/README.md +3 -3
  37. package/templates/seat-packs-v0/source/ollama-seat/README.md +3 -3
  38. package/templates/seat-packs-v0/source/openrouter-seat/README.md +3 -3
  39. package/docs/CONCEPT_STATUS.md +0 -66
  40. package/packages/control/src/authority/lease.ts +0 -261
  41. package/packages/control/src/authority/node-delegation.ts +0 -257
  42. package/packages/control/src/authority/rig-conductor.ts +0 -632
  43. package/packages/control/src/cli/argv.ts +0 -155
  44. package/packages/control/src/cli/commands/console.ts +0 -200
  45. package/packages/control/src/cli/commands/dispatch-core.ts +0 -89
  46. package/packages/control/src/cli/commands/dispatch.ts +0 -279
  47. package/packages/control/src/cli/commands/harness.ts +0 -89
  48. package/packages/control/src/cli/commands/hook.ts +0 -50
  49. package/packages/control/src/cli/commands/ledger.ts +0 -91
  50. package/packages/control/src/cli/commands/local-workflow.ts +0 -4690
  51. package/packages/control/src/cli/commands/memory.ts +0 -445
  52. package/packages/control/src/cli/commands/release.ts +0 -108
  53. package/packages/control/src/cli/commands/rubric.ts +0 -103
  54. package/packages/control/src/cli/commands/seat.ts +0 -179
  55. package/packages/control/src/cli/commands/session.ts +0 -127
  56. package/packages/control/src/cli/commands/supervision.ts +0 -246
  57. package/packages/control/src/cli/commands/sync.ts +0 -119
  58. package/packages/control/src/cli/commands/workflow.ts +0 -86
  59. package/packages/control/src/cli/commands/workspace.ts +0 -50
  60. package/packages/control/src/cli/core-usage.ts +0 -34
  61. package/packages/control/src/cli/prompt.ts +0 -67
  62. package/packages/control/src/cli/supervision-deps.ts +0 -44
  63. package/packages/control/src/cli/usage.ts +0 -241
  64. package/packages/control/src/cli.ts +0 -207
  65. package/packages/control/src/core-cli.ts +0 -50
  66. package/packages/control/src/dispatch/decision.ts +0 -202
  67. package/packages/control/src/dispatch/projection.ts +0 -293
  68. package/packages/control/src/dispatch/record.ts +0 -153
  69. package/packages/control/src/engagement/project.ts +0 -170
  70. package/packages/control/src/fs.ts +0 -19
  71. package/packages/control/src/harness/pruning.ts +0 -406
  72. package/packages/control/src/hooks/dispatcher.ts +0 -117
  73. package/packages/control/src/hooks/outbox.ts +0 -86
  74. package/packages/control/src/hooks/sanitize.ts +0 -6
  75. package/packages/control/src/hooks/types.ts +0 -34
  76. package/packages/control/src/index.ts +0 -384
  77. package/packages/control/src/ledger/entry.ts +0 -303
  78. package/packages/control/src/ledger/indexer.ts +0 -542
  79. package/packages/control/src/memory/context.ts +0 -149
  80. package/packages/control/src/memory/drain-import.ts +0 -207
  81. package/packages/control/src/memory/indexer.ts +0 -284
  82. package/packages/control/src/memory/query.ts +0 -75
  83. package/packages/control/src/memory/sanitize.ts +0 -50
  84. package/packages/control/src/memory/sharded-drain-import.ts +0 -212
  85. package/packages/control/src/memory/status.ts +0 -211
  86. package/packages/control/src/memory/store-lifecycle.ts +0 -509
  87. package/packages/control/src/memory/store.ts +0 -284
  88. package/packages/control/src/memory/types.ts +0 -146
  89. package/packages/control/src/parity/surfaces.ts +0 -748
  90. package/packages/control/src/project.ts +0 -141
  91. package/packages/control/src/projection/local-ledger-view.ts +0 -373
  92. package/packages/control/src/projection/return-enforcement.ts +0 -48
  93. package/packages/control/src/projection/timeline-preview.ts +0 -539
  94. package/packages/control/src/projection/timeline.ts +0 -708
  95. package/packages/control/src/release/readiness.ts +0 -842
  96. package/packages/control/src/rubric/loader.ts +0 -326
  97. package/packages/control/src/rubric/promotion.ts +0 -54
  98. package/packages/control/src/rubric/runner.ts +0 -159
  99. package/packages/control/src/rubric/types.ts +0 -158
  100. package/packages/control/src/seat/owner-card.ts +0 -388
  101. package/packages/control/src/seat/readiness.ts +0 -834
  102. package/packages/control/src/session/runbook.ts +0 -431
  103. package/packages/control/src/shared/sanitize.ts +0 -49
  104. package/packages/control/src/supervision/action-classes.ts +0 -192
  105. package/packages/control/src/supervision/command-apply.ts +0 -378
  106. package/packages/control/src/supervision/errors.ts +0 -14
  107. package/packages/control/src/supervision/event-replay.ts +0 -155
  108. package/packages/control/src/supervision/events.ts +0 -109
  109. package/packages/control/src/supervision/index.ts +0 -16
  110. package/packages/control/src/supervision/manifest.ts +0 -127
  111. package/packages/control/src/supervision/paths.ts +0 -49
  112. package/packages/control/src/supervision/projection-adapter.ts +0 -274
  113. package/packages/control/src/supervision/projection.ts +0 -75
  114. package/packages/control/src/supervision/rebuild.ts +0 -99
  115. package/packages/control/src/supervision/session-open.ts +0 -131
  116. package/packages/control/src/supervision/session-read.ts +0 -99
  117. package/packages/control/src/supervision/sqlite-impl.ts +0 -71
  118. package/packages/control/src/supervision/sqlite.ts +0 -121
  119. package/packages/control/src/supervision/store-rows.ts +0 -371
  120. package/packages/control/src/supervision/turn-close.ts +0 -154
  121. package/packages/control/src/supervision/turn-open.ts +0 -284
  122. package/packages/control/src/sync/event-log-merge-driver.ts +0 -263
  123. package/packages/control/src/sync/join-plan.ts +0 -375
  124. package/packages/control/src/sync/outbox.ts +0 -492
  125. package/packages/control/src/workflow/evaluator.ts +0 -140
  126. package/packages/control/src/workflow/loader.ts +0 -200
  127. package/packages/control/src/workflow/types.ts +0 -90
  128. package/packages/control/src/workspace/authority.ts +0 -499
  129. package/packages/protocol/src/guards.ts +0 -119
  130. package/packages/protocol/src/huddle-board.ts +0 -198
  131. package/packages/protocol/src/huddle.ts +0 -295
  132. package/packages/protocol/src/incident.ts +0 -251
  133. package/packages/protocol/src/index.ts +0 -8
  134. package/packages/protocol/src/interfaces.ts +0 -107
  135. package/packages/protocol/src/packet-profile.ts +0 -195
  136. package/packages/protocol/src/state.ts +0 -81
  137. package/packages/protocol/src/types.ts +0 -434
  138. package/release/lineage.v0.json +0 -15
  139. package/scripts/release-candidate-verify.sh +0 -175
  140. package/scripts/release-checksum.sh +0 -25
  141. package/scripts/release-pack-canary.sh +0 -97
  142. package/scripts/release-scan.sh +0 -249
  143. package/scripts/release-sign.sh +0 -34
@@ -34,7 +34,6 @@ docs_default:
34
34
  - docs/ARCHITECTURE.md
35
35
  - docs/CODEX_CLIENT_COMPATIBILITY.md
36
36
  - docs/CONCEPTS.md
37
- - docs/CONCEPT_STATUS.md
38
37
  - docs/CORE_PROFILE.md
39
38
  - docs/LANE_PROVISIONING.md
40
39
  - docs/SEAT_DISCIPLINE.md
@@ -91,10 +90,10 @@ internal_templates:
91
90
  posture: excluded from new-seat onboarding
92
91
 
93
92
  package_surface:
94
- npm_pack_entries: 183
93
+ npm_pack_entries: 182
95
94
  max_budget: 190
96
95
  posture: local devkit package plus signed user-local installer
97
- distribution_origin: https://etiquekit.com
96
+ distribution_origin: https://etiquette.example.com
98
97
  excludes: workspace package metadata, workspace fixtures, internal, conformance, apps, site, dist, hosted parity docs, portal docs, root kernel manuals
99
98
  ```
100
99
 
@@ -113,7 +112,7 @@ required:
113
112
  ## What Is Not Necessary For All Developers
114
113
 
115
114
  Runtime seat packs, sample-product rehearsals, v3 workflow helper docs, satellite
116
- operator docs, advisory-signal experiments, and internal
115
+ operator docs, supervision phase docs, advisory-signal experiments, and internal
117
116
  templates may remain in the repo for maintainers. The default onboarding path
118
117
  must not require them.
119
118
 
@@ -126,7 +125,7 @@ blocked:
126
125
  - personal absolute paths
127
126
  - local username markers
128
127
  - old repo name
129
- - shop identity markers in the release rollout package
128
+ - shop-persona markers in the release rollout package
130
129
  - prior-run markers in all-developer docs
131
130
  - extra files under docs/
132
131
  - unexpected public template directories
@@ -142,7 +141,7 @@ npm run release:scan
142
141
 
143
142
  ## Package Readiness Check
144
143
 
145
- Use `etiquette release readiness --json` before changing distribution settings. It also binds the canonical package identity, version floor, source-shipping mode, required bins, source ancestry, public distribution repository, and candidate verifier to `release/lineage.v0.json`; the source-of-record and public package home remain separate, explicit lineage fields. `release:candidate` preserves the exact verified tarball and checksum under ignored `dist/` for later signing without rebuilding.
144
+ Use `etiquette release readiness --json` before changing distribution settings. It reports private-package, files allowlist, pack-canary, checksum/signature, shell-installer presence, pinned public-key bootstrap support, Codex compatibility, and wrapper gaps; it cannot publish, flip `private`, update Codex, or create a channel.
146
145
  Codex-backed remote-runtime, plugin-MCP, and hook/action-auth canaries require CLI `0.141.0`+ (`docs/CODEX_CLIENT_COMPATIBILITY.md`). GA additionally runs `etiquette release ga-readiness --channel shell-installer,npm --tag-free-confirmed --json`; it requires a non-prerelease version, final tarball checksums, trusted RSA signature, private-compatible channels, and explicit remote-tag uniqueness confirmation, while still unable to publish, sign, tag, or create a channel. Git source archives must exclude maintainer-only `internal/`, `conformance/`, `site/`, `fixtures/`, `apps/`, local state, and `dist/`.
147
146
 
148
147
  ## Local-Thin Purge (v0.2.1)
@@ -151,6 +150,6 @@ Codex-backed remote-runtime, plugin-MCP, and hook/action-auth canaries require C
151
150
  excluded_cli_commands: [remote, agent-plane, mcp, parity, linear, integration] # guarded stubs explain absence
152
151
  excluded_source_dirs: [agent-plane/, integration/, linear/, mcp/] # parity/ ships (console dependency)
153
152
  excluded_templates: [hosted-receiver/]
154
- removed_from_templates: [etiquette-seat-rebind etiquette-seat-lifecycle etiquette-monitor-pull] # use CLI-native preflight and `etiquette notify poll`
155
- doctrine: local feature parity ships in the devkit; remote/hosted/EKS surfaces ship outside this devkit; zero coordination-bus coupling ships
153
+ removed_from_templates: [codex-seat etiquette-monitor-pull] # use `etiquette notify poll`
154
+ doctrine: local set stays thin and provider-neutral; remote/hosted surfaces are source-only until remote lanes open; zero coordination-bus coupling ships
156
155
  ```
@@ -1,19 +1,79 @@
1
1
  # Seat Discipline
2
2
 
3
3
  Seat discipline keeps agent work useful, attributable, and portable across
4
- runtimes.
4
+ runtimes. Mechanics say what to do; discipline says when to distrust yourself.
5
+ It is organized by moment of need, not by topic.
6
+
7
+ ## On Wake
8
+
9
+ - Orient before acting: `whereami`, then the task envelope, then the runbook.
10
+ - Read tiered: status line first, then the exact entry, then the full
11
+ artifact. Never bulk-load directories for "context" — load the specific
12
+ receipt you were pointed to.
13
+
14
+ ## Before Claiming Anything
15
+
16
+ - Verify at claim time: re-read the source at the moment you assert it,
17
+ never from memory of an earlier read. A cited manifest or spec is read in
18
+ the same act as the claim.
19
+ - Check the live tip, not your notes: logs and board notes lag integrations.
20
+ - When another seat or a human holds the ground truth, ask — do not
21
+ solo-reconstruct their state.
22
+
23
+ ## Before Writing
24
+
25
+ - Read the machine fields, not the title: the envelope's mode and allowed
26
+ writes decide what a task may do; prose is not authority.
27
+ - Search the exact target surface before classifying work as new — most
28
+ "add X" tasks are "finish the X that half-exists."
29
+ - One writer per canonical mutation. Design in parallel; mutate single-file.
30
+
31
+ ## While Working
32
+
33
+ - Technical register on the record: schemas, fields, commands, refs.
34
+ Metaphor and personality stay in chat; the record is for the next reader.
35
+ - No person or vendor names in artifacts. Attribute external material at the
36
+ moment of incorporation, with license.
37
+ - One meaningful update per note, reader-resolvable without tooling. Write
38
+ runbook notes, not raw transcript dumps.
39
+
40
+ ## Before Returning
41
+
42
+ - Receipt first: outcome, changed files, validation command and result,
43
+ blockers, next owner. No raw logs — cite paths to them.
44
+ - Run validation before returning the receipt. A red validation is reported
45
+ red; "done" without proof is a defect, not a return.
46
+ - If your change altered a source shape, refresh its recorded evidence in
47
+ the same commit.
48
+ - Run post-commit hygiene (`git diff --check HEAD~..HEAD`) — pre-commit
49
+ checks miss freshly added files.
50
+
51
+ ## On Review
52
+
53
+ - Verify the shipped artifact, not the branch state you remember.
54
+ - Reviews return evidence, never authority: confirm, counter, or advise.
55
+ A reviewer packet does not mutate the lane it reviews.
56
+ - Accepted review is different from integrated work.
57
+ - Proposals carry their own counter-arguments and open questions — invite
58
+ the pressure test.
59
+
60
+ ## At Authority Edges
61
+
62
+ - Stop when authority is unclear, validation cannot run, writes would exceed
63
+ the envelope, a secret appears, or the session is unbounded.
64
+ - Never claim work was authorized without decision language from the
65
+ authority holder. Enthusiasm is not routing.
66
+ - Risk-tier your own gates: proceed on cheap-and-reversible; insist on a
67
+ real decision for irreversible, authority-changing, or spend actions.
68
+ Gating everything trains the rubber-stamp.
69
+ - Promote only through the policy-resolved gate.
70
+ - Memory proposes. Ledgers authorize. Receipts prove. Audit accounts.
5
71
 
6
- ## Operating Rules
72
+ ## When Blocked
7
73
 
8
- - Read the repo state before forming a plan.
9
- - Use a task envelope before product edits.
10
- - Keep each session bounded.
11
- - Write useful runbook notes, not raw transcript dumps.
12
- - Run validation before returning a receipt.
13
- - Keep receipts compact and cited.
14
- - Treat accepted review as different from integrated work.
15
- - Promote only through the policy-resolved gate.
16
- - Stop when authority, secrets, scope, or validation are unclear.
74
+ - Use the diagnostics verbs before hand-debugging; walk the recovery path
75
+ from the user's seat before declaring a state recoverable.
76
+ - Escalate with a concrete blocker, not a vibe. Quiet is not a finding.
17
77
 
18
78
  ## Identity Split
19
79
 
@@ -27,54 +87,30 @@ repo_substrate: source, ledger, receipts, validation, commits
27
87
 
28
88
  ## Work Boundaries
29
89
 
30
- A seat should know:
31
-
32
- - allowed writes;
33
- - forbidden writes;
34
- - validation commands;
35
- - stop conditions;
36
- - expected receipt;
37
- - next owner.
38
-
39
- If any of those are missing, ask for a sharper task.
40
-
41
- ## Session Hygiene
42
-
43
- Sessions are for bounded work. Restoring a session restores context, not
44
- authority.
45
-
46
- Before a resumed, interrupted, role-swapped, runner-swapped, or cwd-swapped
47
- session picks up work, rebind it to the current ledger and task surface:
48
-
49
- - verify the project, workflow, task, seat, branch, and worktree;
50
- - verify the routing surface and evidence surface;
51
- - stop or ignore stale watchers from the old workflow;
52
- - run readiness only after the rebind is clean.
53
-
54
- Rebind applies to every runtime. It keeps Codex, Claude Code, Gemini,
55
- OpenRouter, local shell, and hosted runners from carrying stale context into the
56
- wrong repo.
57
-
58
- ## Review Discipline
59
-
60
- Review seats should pressure-test hidden authority changes, missing validation,
61
- oversized write sets, stale assumptions, unbounded sessions, evidence that
62
- cannot be reproduced, and claims that should be receipts.
63
-
64
- Reviewers contribute evidence. The routed owner mutates truth.
90
+ A seat should know: allowed writes; forbidden writes; validation commands;
91
+ stop conditions; expected receipt; next owner. If any are missing, ask for a
92
+ sharper task. Sessions are for bounded work; restoring a session restores
93
+ context, not authority.
65
94
 
66
95
  ## Tool Discipline
67
96
 
68
- Use chat for conversation, planning tools for intent, code review tools for
69
- diffs and CI, incident tools for runtime evidence, and identity providers for
70
- authentication.
71
-
72
- Do not let any of them become acceptance.
97
+ Chat is conversation, planning tools are intent, code review tools are diffs
98
+ and CI, incident tools are runtime evidence, identity providers are
99
+ authentication. None of them are acceptance.
73
100
 
74
101
  ## Failure Signals
75
102
 
76
103
  Open a follow-up or stop the run when a seat edits outside allowed writes,
77
- validation repeatedly fails, the runbook grows without a receipt, a task spans
78
- unrelated repos, a runtime claims success without evidence, a projection
79
- disagrees with git, a grant owner is unclear, or an integration tries to close
80
- or promote work.
104
+ validation repeatedly fails, the runbook grows without a receipt, a task
105
+ spans unrelated repos, a runtime claims success without evidence, a
106
+ projection disagrees with git, a grant owner is unclear, or an integration
107
+ tries to close or promote work.
108
+
109
+ ## Growing Local Discipline
110
+
111
+ This document ships the judgment that is true everywhere. Your team's own
112
+ calibration — which seats are strong where, which tools misbehave, which
113
+ routes need a second look — is grown locally: when a correction lands, record
114
+ it as one small note with why and how-to-apply, index it, and re-read it at
115
+ the moment you would otherwise repeat the mistake. Corrections that are never
116
+ recorded are corrections you will pay for twice.
@@ -1,6 +1,6 @@
1
1
  # Seat Provisioning
2
2
 
3
- Start with one project owner. Add review, QA, or runtime-specific seats only when a concrete task needs them. Use [LANE_PROVISIONING.md](LANE_PROVISIONING.md) when a manager needs to route active work, park future work, or give a new agent a complete pickup bulletin.
3
+ Start with one project owner and one review seat. Add runtime-specific seats only when a concrete task needs them. Use [LANE_PROVISIONING.md](LANE_PROVISIONING.md) when a manager needs to route active work, park future work, or give a new agent a complete pickup bulletin.
4
4
 
5
5
  ## Minimal Flow
6
6
 
@@ -8,22 +8,21 @@ Start with one project owner. Add review, QA, or runtime-specific seats only whe
8
8
  2. Initialize the project with `bootstrap local`.
9
9
  3. Read `AGENTS.md`, `BOARD.md`, `SESSION_PICKUP.md`, and `SEAT_OPERATING_MANUAL.md`.
10
10
  4. Run `whereami`, `doctor`, and `status`.
11
- 5. Confirm the lead seat.
12
- 6. After interrupted sessions, cwd/worktree ambiguity, role changes, or vendor swaps, rerun `whereami`, `doctor`, and `notify poll`.
13
- 7. Treat lifecycle/readiness checks as evidence only; they do not authorize work.
14
- 8. Have the lead seat `join` and `pickup` the first generated task.
15
- 9. Add extra sessions only when starter sessions are not enough.
16
- 10. Give each seat its allowed writes and validation.
17
- 11. Record a receipt before asking for promotion.
11
+ 5. Confirm the lead and review seats.
12
+ 6. Use `$etiquette-seat-lifecycle` before pickup after stale context, resume, runner/model/profile swaps, or workflow migration.
13
+ 7. Have the lead seat `join` and `pickup` the first generated task.
14
+ 8. Add extra sessions only when starter sessions are not enough.
15
+ 9. Give each seat its allowed writes and validation.
16
+ 10. Record a receipt before asking for promotion.
18
17
 
19
18
  ```sh
20
19
  etiquette setup --target codex --project "$PWD"
21
- etiquette bootstrap local --project "$PWD" --task-prefix APP
22
- etiquette whereami --project "$PWD" --seat impl-seat --task APP-001
20
+ etiquette bootstrap local --project "$PWD" --profile codex-cc-gemini --task-prefix APP
21
+ etiquette whereami --project "$PWD" --seat codex-seat --task APP-001
23
22
  etiquette doctor --project "$PWD"
24
23
  etiquette status --project "$PWD"
25
- etiquette join --project "$PWD" --seat impl-seat
26
- etiquette pickup --project "$PWD" --seat impl-seat --task APP-001 --text
24
+ etiquette join --project "$PWD" --seat codex-seat
25
+ etiquette pickup --project "$PWD" --seat codex-seat --task APP-001 --text
27
26
  etiquette console board --project "$PWD" --text
28
27
  ```
29
28
 
@@ -34,8 +33,8 @@ Use `control_seat` for local workflow ownership, `execution_seat` for bounded im
34
33
  ## Greenfield Setup
35
34
 
36
35
  ```sh
37
- etiquette bootstrap local --project "$PWD" --task-prefix FOOD \
38
- --lead-seat impl-seat --lead-principal developer-1
36
+ etiquette bootstrap local --project "$PWD" --profile codex-cc-gemini --task-prefix FOOD \
37
+ --lead-seat impl-seat --lead-principal developer-1 --review-seat review-seat --review-principal reviewer-1
39
38
  ```
40
39
 
41
40
  ```sh
@@ -44,7 +43,11 @@ etiquette join --project "$PWD" --seat impl-seat
44
43
  etiquette pickup --project "$PWD" --seat impl-seat --task FOOD-001 --text
45
44
  ```
46
45
 
47
- The starter runbook is enough for normal pickup. Use `session create` only when an extra ad hoc session needs a different scope. The lead seat coordinates and implements. Add a review seat with `--profile lead-review` only when someone will actually pressure-test. Neither gets merge or promotion authority unless policy grants it. Hooks, readiness, rebind, and lifecycle preflight are evidence only; the task envelope and allowed writes remain the active work authority.
46
+ The starter runbook is enough for normal pickup. Use `session create` only when an extra ad hoc session needs a different scope.
47
+
48
+ The lead seat coordinates. The review seat pressure-tests. Neither gets merge or promotion authority unless policy grants it.
49
+
50
+ Hooks, readiness, and lifecycle preflight are evidence only. The task envelope and allowed writes remain the active work authority.
48
51
 
49
52
  ## Child Runners
50
53
 
@@ -74,7 +77,7 @@ For bounded, cursor-based wake checks on any seat, use the portable core command
74
77
  ```sh
75
78
  etiquette seat readiness \
76
79
  --project "$PWD" \
77
- --seat impl-seat \
80
+ --seat codex-seat \
78
81
  --seat-type execution_seat \
79
82
  --execution-surface codex \
80
83
  --capability-source local_validation \
@@ -17,10 +17,10 @@ package. The CLI lives in the developer's user-local install root.
17
17
 
18
18
  The manager provides release version, installer URL or path, release base URL
19
19
  or local release directory, release public key, project repo or greenfield
20
- name, lead seat, and first task prefix. Provide review or QA seats only when
21
- the first assignment needs them.
20
+ name, lead seat, review seat, and first task prefix.
22
21
 
23
- Default starter profile: solo lead `impl-seat`, task prefix `APP`.
22
+ Default starter profile: lead `codex-seat`, review `cc-seat`, bootstrap
23
+ `manager-seat`, task prefix `APP`.
24
24
 
25
25
  ## Install CLI
26
26
 
@@ -100,8 +100,8 @@ git commit -m "chore: baseline empty workspace"
100
100
  ## Bootstrap Local Etiquette
101
101
 
102
102
  ```sh
103
- etiquette handoff --project "$PWD" --task-prefix APP
104
- etiquette bootstrap local --project "$PWD" --task-prefix APP
103
+ etiquette handoff --project "$PWD" --profile codex-cc-gemini --task-prefix APP
104
+ etiquette bootstrap local --project "$PWD" --profile codex-cc-gemini --task-prefix APP
105
105
  etiquette doctor --project "$PWD"
106
106
  etiquette console board --project "$PWD" --text
107
107
  ```
@@ -123,38 +123,38 @@ git commit -m "chore: bootstrap etiquette workspace"
123
123
  Lead seat:
124
124
 
125
125
  ```sh
126
- etiquette whereami --project "$PWD" --seat impl-seat --task APP-001
127
- etiquette join --project "$PWD" --seat impl-seat
128
- etiquette pickup --project "$PWD" --seat impl-seat --task APP-001 --text
126
+ etiquette whereami --project "$PWD" --seat codex-seat --task APP-001
127
+ etiquette join --project "$PWD" --seat codex-seat
128
+ etiquette pickup --project "$PWD" --seat codex-seat --task APP-001 --text
129
129
  ```
130
130
 
131
- Optional review seat after bootstrapping with `--profile lead-review`:
131
+ Review seat:
132
132
 
133
133
  ```sh
134
- etiquette whereami --project "$PWD" --seat review-seat --task APP-002
135
- etiquette join --project "$PWD" --seat review-seat
136
- etiquette pickup --project "$PWD" --seat review-seat --task APP-002 --text
134
+ etiquette whereami --project "$PWD" --seat cc-seat --task APP-002
135
+ etiquette join --project "$PWD" --seat cc-seat
136
+ etiquette pickup --project "$PWD" --seat cc-seat --task APP-002 --text
137
137
  ```
138
138
 
139
- If your runtime has an Etiquette pickup skill installed, it should do the same
140
- read-only sequence as the CLI. The portable form is:
139
+ Inside Codex sessions that have the pickup skill installed:
141
140
 
142
141
  ```sh
143
- etiquette whereami --project "$PWD" --seat impl-seat --task APP-001
144
- etiquette doctor --project "$PWD"
145
- etiquette notify poll --project "$PWD" --seat impl-seat --text
146
- etiquette pickup --project "$PWD" --seat impl-seat --task APP-001 --text
142
+ ~/.codex/skills/etiquette-seat-pickup/scripts/seat-pickup.sh \
143
+ --project "$PWD" \
144
+ --seat codex-seat \
145
+ --task APP-001 \
146
+ --etq "$(command -v etiquette)"
147
147
  ```
148
148
 
149
- These are readers, not authority. Interrupted or swapped seats should rerun the
150
- preflight before pickup; see `docs/WORKTREE_QOL.md`.
149
+ The wrapper prints board, feed, inbox, task envelope, and session runbook. It is
150
+ a convenience reader, not authority.
151
151
 
152
152
  ## Local Wake
153
153
 
154
154
  Seats can refresh their repo-local queue before pickup or review:
155
155
 
156
156
  ```sh
157
- etiquette notify poll --project "$PWD" --seat impl-seat --text
157
+ etiquette notify poll --project "$PWD" --seat codex-seat --text
158
158
  ```
159
159
 
160
160
  The queue is a local pointer cache over `.etiquette/events/local.ndjson`. It is
@@ -43,13 +43,6 @@ current directory, choose the current directory only when it is the intended
43
43
  project worktree for the task. Do not resume a repo-local task inside a global
44
44
  coordination repo or unrelated workspace.
45
45
 
46
- ## Seat Rebind
47
-
48
- After TUI/cmux cutoff, cold restart, role/task change, runner/model/vendor swap,
49
- or directory ambiguity, verify `whereami --json`, `doctor`, `bus status 8`,
50
- branch, and worktree before pickup. Then run lifecycle readiness. Rebind grants
51
- no authority; stale memory is context only.
52
-
53
46
  ## If A Worktree Is Gone
54
47
 
55
48
  Do not reconstruct from chat. Recreate from Git:
@@ -1,7 +1,7 @@
1
1
  # Ledger Entry Contracts
2
2
 
3
- This contract keeps the ledger-query-mode work narrow. It hardens the spine first:
4
- typed ledger entries that later reflex queries can read without guessing.
3
+ This contract keeps the ledger-query-mode work narrow. It hardens the journal first:
4
+ typed ledger entries that later working-loop queries can read without guessing.
5
5
 
6
6
  It does not ship a ledger query engine, sabbatical dossier engine, capsule
7
7
  promotion loop, or remote ledger authority.
@@ -10,7 +10,7 @@ promotion loop, or remote ledger authority.
10
10
 
11
11
  ```text
12
12
  raw local ledger entry
13
- -> typed spine-eligible metadata
13
+ -> typed `spine_eligible` metadata
14
14
  -> optional compact projection
15
15
  -> later sabbatical capsule only after operator promotion
16
16
  ```
@@ -18,12 +18,12 @@ raw local ledger entry
18
18
  ## Core Rule
19
19
 
20
20
  ```text
21
- Reflex routes the present.
21
+ The working loop routes the present.
22
22
  Sabbatical understands the arc.
23
- Capsules compress the arc back into reflex context.
23
+ Capsules compress the arc back into working-loop context.
24
24
  ```
25
25
 
26
- The brain may recommend. The spine may route. Grants authorize. Execution
26
+ The planner may recommend. The journal may route. Grants authorize. Execution
27
27
  mutates. Receipts prove. Audit accounts.
28
28
 
29
29
  ## Contracts
@@ -65,18 +65,18 @@ These names are reserved vocabulary, not V0 machinery:
65
65
  search adapters; SQLite FTS5 is the only V0.1 retrieval accelerator.
66
66
  - `ledger-topic-dossier.v0` — unlock only when an operator asks for a durable
67
67
  long-horizon dossier over a real topic.
68
- - `sabbatical-ledger-query` — reserved as the deliberate brain posture; it
69
- cannot write the reflex spine directly.
70
- - `capsule-to-spine-feedback` — unlock only when reviewed capsules have a human
68
+ - `sabbatical-ledger-query` — reserved as the deliberate planner posture; it
69
+ cannot write the working journal directly.
70
+ - `capsule-to-journal-feedback` — unlock only when reviewed capsules have a human
71
71
  promotion surface.
72
72
 
73
73
  Deferred surfaces must name an operational consumer before implementation.
74
74
 
75
75
  ## Boundary
76
76
 
77
- - The brain cannot write the spine directly. It may produce a capsule or
77
+ - The planner cannot write the journal directly. It may produce a capsule or
78
78
  dossier that an operator later promotes.
79
- - `spine_eligible: true` is explicit; reflex indexes do not infer eligibility
79
+ - `spine_eligible: true` is explicit; working-loop indexes do not infer eligibility
80
80
  from entry type.
81
81
  - Existing ledger lines remain readable as `pre_v0: true` legacy entries.
82
82
  - Ledger entries do not authorize work unless a valid grant path says so.
@@ -9,7 +9,7 @@ does not authorize work, attach grants, close tasks, or replace receipts.
9
9
 
10
10
  ```text
11
11
  The leading timestamp (created_at) is the RECORDING time. It is never
12
- backdated. If work was done off the spine, it is reconciled with a late
12
+ backdated. If work was done off the journal, it is reconciled with a late
13
13
  entry recorded at its true time, pointing at contemporaneous evidence.
14
14
  Synthesizing entries with past recording times is corruption, not repair:
15
15
  one plausible fake timestamp devalues every real one.
@@ -51,7 +51,7 @@ valid_time_end:
51
51
  ## Added Entry Type
52
52
 
53
53
  `entry_type: retroactive_import` — a late reconciliation entry covering work
54
- that was executed without contemporaneous spine entries. Rules, enforced by
54
+ that was executed without contemporaneous journal entries. Rules, enforced by
55
55
  the validator:
56
56
 
57
57
  - requires schema `ledger-entry.v0.2` (rejected on v0/v0.1);
@@ -1,6 +1,6 @@
1
1
  # ledger-entry.v0
2
2
 
3
- `ledger-entry.v0` is the typed local ledger record used by the reflex spine.
3
+ `ledger-entry.v0` is the typed local ledger record used by the working journal.
4
4
  It makes compact ledger lines structurally queryable without promoting the
5
5
  ledger into an authority source.
6
6
 
@@ -58,7 +58,7 @@ legacy:
58
58
  `authority.class: grant` may set it to `true`, and only when the entry carries
59
59
  the durable grant reference required by the local workflow.
60
60
 
61
- `spine_eligible` is explicit. A reflex index must not infer it from
61
+ `spine_eligible` is explicit. A working-loop index must not infer it from
62
62
  `entry_type`. Entries that are useful for current-state routing should set it to
63
63
  `true`; archival, noisy, or unreviewed entries should set it to `false`.
64
64
 
@@ -92,17 +92,17 @@ legacy:
92
92
  spine_eligible: false
93
93
  ```
94
94
 
95
- ## Spine And Brain Boundary
95
+ ## Journal And Planner Boundary
96
96
 
97
97
  ```text
98
- Reflex routes the present.
98
+ The working loop routes the present.
99
99
  Sabbatical understands the arc.
100
- Capsules compress the arc back into reflex context.
100
+ Capsules compress the arc back into working-loop context.
101
101
  ```
102
102
 
103
- The reflex spine reads typed ledger entries. The sabbatical brain may produce a
104
- capsule or dossier, but it cannot write back into the spine directly. Promotion
105
- from capsule to spine requires an explicit operator gate.
103
+ The working journal reads typed ledger entries. The sabbatical planner may produce a
104
+ capsule or dossier, but it cannot write back into the journal directly. Promotion
105
+ from capsule to journal requires an explicit operator gate.
106
106
 
107
107
  ## Authority Boundary
108
108