@etiquekit/etq 1.0.12 → 1.0.14
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.
- package/AGENTS.md +19 -26
- package/LICENSE +2 -3
- package/NOTICE +6 -4
- package/QuickStart.md +35 -47
- package/README.md +54 -54
- package/bin/etiquette +1 -5
- package/bin/etiquette-core +1 -5
- package/docs/ARCHITECTURE.md +5 -5
- package/docs/CODEX_CLIENT_COMPATIBILITY.md +1 -1
- package/docs/CONCEPTS.md +7 -23
- package/docs/CONCEPT_STATUS.md +66 -0
- package/docs/CORE_PROFILE.md +3 -5
- package/docs/LANE_PROVISIONING.md +7 -2
- package/docs/README.md +4 -4
- package/docs/RELEASE_SURFACE_AUDIT.md +8 -7
- package/docs/SEAT_DISCIPLINE.md +55 -91
- package/docs/SEAT_PROVISIONING.md +19 -22
- package/docs/TEAM_HANDOFF.md +21 -21
- package/docs/WORKTREE_QOL.md +7 -6
- package/docs/contracts/ledger-entry/README.md +11 -11
- package/docs/contracts/ledger-entry/ledger-entry.v0.2.md +3 -3
- package/docs/contracts/ledger-entry/ledger-entry.v0.md +8 -8
- package/package.json +9 -9
- package/packages/control/src/authority/lease.ts +261 -0
- package/packages/control/src/authority/node-delegation.ts +257 -0
- package/packages/control/src/authority/rig-conductor.ts +632 -0
- package/packages/control/src/cli/argv.ts +155 -0
- package/packages/control/src/cli/commands/console.ts +200 -0
- package/packages/control/src/cli/commands/dispatch-core.ts +89 -0
- package/packages/control/src/cli/commands/dispatch.ts +279 -0
- package/packages/control/src/cli/commands/harness.ts +89 -0
- package/packages/control/src/cli/commands/hook.ts +50 -0
- package/packages/control/src/cli/commands/ledger.ts +91 -0
- package/packages/control/src/cli/commands/local-workflow.ts +4690 -0
- package/packages/control/src/cli/commands/memory.ts +445 -0
- package/packages/control/src/cli/commands/release.ts +108 -0
- package/packages/control/src/cli/commands/rubric.ts +103 -0
- package/packages/control/src/cli/commands/seat.ts +179 -0
- package/packages/control/src/cli/commands/session.ts +127 -0
- package/packages/control/src/cli/commands/supervision.ts +246 -0
- package/packages/control/src/cli/commands/sync.ts +119 -0
- package/packages/control/src/cli/commands/workflow.ts +86 -0
- package/packages/control/src/cli/commands/workspace.ts +50 -0
- package/packages/control/src/cli/core-usage.ts +34 -0
- package/packages/control/src/cli/prompt.ts +67 -0
- package/packages/control/src/cli/supervision-deps.ts +44 -0
- package/packages/control/src/cli/usage.ts +241 -0
- package/packages/control/src/cli.ts +207 -0
- package/packages/control/src/core-cli.ts +50 -0
- package/packages/control/src/dispatch/decision.ts +202 -0
- package/packages/control/src/dispatch/projection.ts +293 -0
- package/packages/control/src/dispatch/record.ts +153 -0
- package/packages/control/src/engagement/project.ts +170 -0
- package/packages/control/src/fs.ts +19 -0
- package/packages/control/src/harness/pruning.ts +406 -0
- package/packages/control/src/hooks/dispatcher.ts +117 -0
- package/packages/control/src/hooks/outbox.ts +86 -0
- package/packages/control/src/hooks/sanitize.ts +6 -0
- package/packages/control/src/hooks/types.ts +34 -0
- package/packages/control/src/index.ts +384 -0
- package/packages/control/src/ledger/entry.ts +303 -0
- package/packages/control/src/ledger/indexer.ts +542 -0
- package/packages/control/src/memory/context.ts +149 -0
- package/packages/control/src/memory/drain-import.ts +207 -0
- package/packages/control/src/memory/indexer.ts +284 -0
- package/packages/control/src/memory/query.ts +75 -0
- package/packages/control/src/memory/sanitize.ts +50 -0
- package/packages/control/src/memory/sharded-drain-import.ts +212 -0
- package/packages/control/src/memory/status.ts +211 -0
- package/packages/control/src/memory/store-lifecycle.ts +509 -0
- package/packages/control/src/memory/store.ts +284 -0
- package/packages/control/src/memory/types.ts +146 -0
- package/packages/control/src/parity/surfaces.ts +748 -0
- package/packages/control/src/project.ts +141 -0
- package/packages/control/src/projection/local-ledger-view.ts +373 -0
- package/packages/control/src/projection/return-enforcement.ts +48 -0
- package/packages/control/src/projection/timeline-preview.ts +539 -0
- package/packages/control/src/projection/timeline.ts +708 -0
- package/packages/control/src/release/readiness.ts +842 -0
- package/packages/control/src/rubric/loader.ts +326 -0
- package/packages/control/src/rubric/promotion.ts +54 -0
- package/packages/control/src/rubric/runner.ts +159 -0
- package/packages/control/src/rubric/types.ts +158 -0
- package/packages/control/src/seat/owner-card.ts +388 -0
- package/packages/control/src/seat/readiness.ts +834 -0
- package/packages/control/src/session/runbook.ts +431 -0
- package/packages/control/src/shared/sanitize.ts +49 -0
- package/packages/control/src/supervision/action-classes.ts +192 -0
- package/packages/control/src/supervision/command-apply.ts +378 -0
- package/packages/control/src/supervision/errors.ts +14 -0
- package/packages/control/src/supervision/event-replay.ts +155 -0
- package/packages/control/src/supervision/events.ts +109 -0
- package/packages/control/src/supervision/index.ts +16 -0
- package/packages/control/src/supervision/manifest.ts +127 -0
- package/packages/control/src/supervision/paths.ts +49 -0
- package/packages/control/src/supervision/projection-adapter.ts +274 -0
- package/packages/control/src/supervision/projection.ts +75 -0
- package/packages/control/src/supervision/rebuild.ts +99 -0
- package/packages/control/src/supervision/session-open.ts +131 -0
- package/packages/control/src/supervision/session-read.ts +99 -0
- package/packages/control/src/supervision/sqlite-impl.ts +71 -0
- package/packages/control/src/supervision/sqlite.ts +121 -0
- package/packages/control/src/supervision/store-rows.ts +371 -0
- package/packages/control/src/supervision/turn-close.ts +154 -0
- package/packages/control/src/supervision/turn-open.ts +284 -0
- package/packages/control/src/sync/event-log-merge-driver.ts +263 -0
- package/packages/control/src/sync/join-plan.ts +375 -0
- package/packages/control/src/sync/outbox.ts +492 -0
- package/packages/control/src/workflow/evaluator.ts +140 -0
- package/packages/control/src/workflow/loader.ts +200 -0
- package/packages/control/src/workflow/types.ts +90 -0
- package/packages/control/src/workspace/authority.ts +499 -0
- package/packages/protocol/src/guards.ts +119 -0
- package/packages/protocol/src/huddle-board.ts +198 -0
- package/packages/protocol/src/huddle.ts +295 -0
- package/packages/protocol/src/incident.ts +251 -0
- package/packages/protocol/src/index.ts +8 -0
- package/packages/protocol/src/interfaces.ts +107 -0
- package/packages/protocol/src/packet-profile.ts +195 -0
- package/packages/protocol/src/state.ts +81 -0
- package/packages/protocol/src/types.ts +434 -0
- package/release/lineage.v0.json +15 -0
- package/scripts/release-candidate-verify.sh +175 -0
- package/scripts/release-checksum.sh +25 -0
- package/scripts/release-pack-canary.sh +97 -0
- package/scripts/release-scan.sh +249 -0
- package/scripts/release-sign.sh +34 -0
- package/templates/etiquette-vanilla-v0/README.md +2 -3
- package/templates/etiquette-vanilla-v0/source/control-seat/README.md +0 -6
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-doctor +0 -5
- package/templates/etiquette-vanilla-v0/validate-vanilla.sh +0 -5
- package/templates/seat-packs-v0/README.md +3 -2
- package/templates/seat-packs-v0/source/claude-code-seat/README.md +3 -29
- package/templates/seat-packs-v0/source/codex-seat/README.md +3 -17
- package/templates/seat-packs-v0/source/gemini-seat/README.md +3 -23
- package/templates/seat-packs-v0/source/ollama-seat/README.md +3 -3
- package/templates/seat-packs-v0/source/openrouter-seat/README.md +3 -3
- package/docs/AGENT_SPAWNING.md +0 -78
- package/docs/INTEGRATION_UI.md +0 -215
- package/docs/OPERATOR_PLAYBOOK.md +0 -77
- package/docs/TAG_ROUTE.md +0 -95
- package/lib/etiquette-core.js +0 -315
- package/lib/etiquette.js +0 -1160
- package/templates/DISPATCH_PREMISES.md +0 -39
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/access-assurance-check +0 -55
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/ACCESS-ASSURANCE.md +0 -39
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/workspace-secure-profile.v0.json +0 -53
- package/templates/hosted-receiver/README.md +0 -41
- package/templates/hosted-receiver/w1-github-webhook-receiver.mjs +0 -129
package/AGENTS.md
CHANGED
|
@@ -1,37 +1,30 @@
|
|
|
1
1
|
# Etiquette Agent Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This repo is the Etiquette source repo. Keep the all-developer onboarding path small.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
"this repo" below refers to Etiquette's source repository, not your project.
|
|
7
|
-
As an agent working in a project governed by Etiquette:
|
|
5
|
+
## Default Rule
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
2. Orient with `etq whereami`; join your assigned seat; read the task
|
|
11
|
-
envelope and the project's `docs/work/runbooks/WORKING_DISCIPLINE.md`.
|
|
12
|
-
3. Respect allowed writes, run the named validation, write the receipt at
|
|
13
|
-
the path `pickup` names, post it, and pass `etq return check` before
|
|
14
|
-
claiming completion.
|
|
15
|
-
|
|
16
|
-
Commands record evidence; they never grant, merge, close, publish, or
|
|
17
|
-
promote.
|
|
18
|
-
|
|
19
|
-
## If you are working on the Etiquette source repo
|
|
20
|
-
|
|
21
|
-
Keep the all-developer onboarding path small. New engineers start with:
|
|
7
|
+
New engineers should start with:
|
|
22
8
|
|
|
23
9
|
1. [README.md](README.md)
|
|
24
10
|
2. [docs/SEAT_PROVISIONING.md](docs/SEAT_PROVISIONING.md)
|
|
25
11
|
3. [templates/etiquette-vanilla-v0/README.md](templates/etiquette-vanilla-v0/README.md)
|
|
26
12
|
|
|
27
|
-
Do not send new seats through internal history, old coordination lanes, or
|
|
28
|
-
|
|
13
|
+
Do not send new seats through internal history, old coordination lanes, or maintainer-only notes.
|
|
14
|
+
|
|
15
|
+
## Ownership
|
|
16
|
+
|
|
17
|
+
This repo owns:
|
|
18
|
+
|
|
19
|
+
- the minimal vanilla seat scaffold;
|
|
20
|
+
- optional runtime seat-pack scaffolds;
|
|
21
|
+
- shared task, readiness, and receipt contracts;
|
|
22
|
+
- vendor-neutral seat rebind guidance for interrupted, resumed, swapped, or
|
|
23
|
+
migrated sessions;
|
|
24
|
+
- validation scripts for release hygiene.
|
|
25
|
+
|
|
26
|
+
This repo does not own product repos, product lane state, secrets, hosted services, or runtime vendor setup.
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
scaffolds; shared task, readiness, and receipt contracts; validation scripts
|
|
32
|
-
for release hygiene. It does not own product repos, product lane state,
|
|
33
|
-
secrets, hosted services, or runtime vendor setup.
|
|
28
|
+
## Editing Rule
|
|
34
29
|
|
|
35
|
-
Release-facing docs must stay role-based and portable. Do not introduce
|
|
36
|
-
person names, local machine paths, historical bus references, or
|
|
37
|
-
project-specific lane IDs into the default onboarding surface.
|
|
30
|
+
Release-facing docs must stay role-based and portable. Do not introduce person names, local machine paths, historical bus references, or project-specific lane IDs into the default onboarding surface.
|
package/LICENSE
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
Apache License
|
|
3
2
|
Version 2.0, January 2004
|
|
4
3
|
http://www.apache.org/licenses/
|
|
@@ -138,8 +137,8 @@
|
|
|
138
137
|
|
|
139
138
|
6. Trademarks. This License does not grant permission to use the trade
|
|
140
139
|
names, trademarks, service marks, or product names of the Licensor,
|
|
141
|
-
except as required for reasonable and customary use in describing
|
|
142
|
-
origin of the Work and reproducing the content of the NOTICE file.
|
|
140
|
+
except as required for reasonable and customary use in describing
|
|
141
|
+
the origin of the Work and reproducing the content of the NOTICE file.
|
|
143
142
|
|
|
144
143
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
145
144
|
agreed to in writing, Licensor provides the Work (and each
|
package/NOTICE
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
Etiquette
|
|
2
|
-
Copyright 2026
|
|
1
|
+
Etiquette
|
|
2
|
+
Copyright (c) 2026 Leepick Inc, US.
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
This product includes software developed by Leepick Inc.
|
|
5
|
+
|
|
6
|
+
Etiquette, Etq, and the Etiquette name are trademarks of Leepick Inc.
|
|
7
|
+
Use of these names does not grant trademark rights.
|
package/QuickStart.md
CHANGED
|
@@ -1,53 +1,51 @@
|
|
|
1
1
|
# Quick Start
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Get from zero to a governed working project in about two minutes.
|
|
4
4
|
|
|
5
|
-
Prereqs:
|
|
5
|
+
Prereqs: Git, Node 18+ (for npm install) or Bun `>=1.3.0`.
|
|
6
6
|
|
|
7
7
|
## 1. Get The CLI
|
|
8
8
|
|
|
9
|
+
The published package:
|
|
10
|
+
|
|
9
11
|
```sh
|
|
10
|
-
npm install -g @etiquekit/etq
|
|
11
|
-
|
|
12
|
+
npm install -g @etiquekit/etq
|
|
13
|
+
# or project-local: npm install @etiquekit/etq && alias etq=./node_modules/.bin/etq
|
|
14
|
+
etq --help
|
|
12
15
|
```
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
anything executes and installs under `~/.etiquette`. Offline or air-gapped:
|
|
16
|
-
download `etiquette-<version>.tgz` plus `SHA256SUMS` and `SHA256SUMS.sig`
|
|
17
|
-
from `https://etiquekit.com/releases/`, verify them (see the README's
|
|
18
|
-
"Verify releases"), then:
|
|
17
|
+
Bootstrap a project and run your first cycle:
|
|
19
18
|
|
|
20
19
|
```sh
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export PATH="$HOME/.etiquette/bin:$PATH"
|
|
20
|
+
cd your-repo
|
|
21
|
+
etq bootstrap local --project . --task-prefix DEMO --ask
|
|
22
|
+
etq doctor --project . # expect: rig_doctor: pass
|
|
23
|
+
# then follow the printed join/pickup commands
|
|
26
24
|
```
|
|
27
25
|
|
|
26
|
+
Private or air-gapped rollout: use [docs/TEAM_HANDOFF.md](docs/TEAM_HANDOFF.md).
|
|
27
|
+
|
|
28
28
|
## 2. Initialize A Project
|
|
29
29
|
|
|
30
30
|
From the project repo:
|
|
31
31
|
|
|
32
|
-
Same core order as the README quickstart; `handoff`/`whereami` are optional
|
|
33
|
-
orientation verbs. `bootstrap local` does not replace `init`.
|
|
34
|
-
|
|
35
32
|
```sh
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
33
|
+
ETQ=${ETQ:-etiquette}
|
|
34
|
+
"$ETQ" setup --target codex --project "$PWD"
|
|
35
|
+
"$ETQ" handoff --project "$PWD" --task-prefix APP
|
|
36
|
+
"$ETQ" bootstrap local --project "$PWD" --task-prefix APP --ask
|
|
37
|
+
"$ETQ" whereami --project "$PWD" --seat impl-seat --task APP-001
|
|
38
|
+
"$ETQ" doctor --project "$PWD"
|
|
39
|
+
"$ETQ" join --project "$PWD" --seat impl-seat
|
|
40
|
+
"$ETQ" pickup --project "$PWD" --seat impl-seat --task APP-001 --allow-current-project --text
|
|
41
|
+
"$ETQ" console board --project "$PWD" --text
|
|
45
42
|
```
|
|
46
43
|
|
|
47
44
|
`bootstrap local` creates repo-local state, seats, task envelopes, pickup docs,
|
|
48
45
|
events, and runbooks. It does not grant, publish, merge, close, or promote.
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
With `--ask`, it asks for the first-run shape, explains that seats are roles and
|
|
47
|
+
runtimes are temporary occupants, confirms the default write boundary, and stays
|
|
48
|
+
non-blocking in CI or scripted runs.
|
|
51
49
|
|
|
52
50
|
## 3. Orient The Live Seat
|
|
53
51
|
|
|
@@ -55,24 +53,21 @@ Run `whereami` whenever a developer or agent resumes, changes directories, or
|
|
|
55
53
|
inherits a worktree:
|
|
56
54
|
|
|
57
55
|
```sh
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
"$ETQ" whereami --project "$PWD" --seat impl-seat --task APP-001
|
|
57
|
+
"$ETQ" pickup --project "$PWD" --seat impl-seat --task APP-001 --allow-current-project --text
|
|
60
58
|
```
|
|
61
59
|
|
|
62
60
|
Runner resume recovers chat context; `whereami` confirms the repo, branch, task
|
|
63
61
|
envelope, and runbook. For branch hygiene, read [docs/WORKTREE_QOL.md](docs/WORKTREE_QOL.md).
|
|
62
|
+
For in-session pickup UX, use the `seat-session-bootstrap` skill.
|
|
64
63
|
|
|
65
64
|
## 4. Check And Record Evidence
|
|
66
65
|
|
|
67
|
-
|
|
68
|
-
(`etq post --role implementation-return --lane <task> --from <seat> --to <seat>`),
|
|
69
|
-
then `etq return check`. Separately, `dispatch check` gates ROUTING before
|
|
70
|
-
work begins — create checkable dispatch examples, then run the generated
|
|
71
|
-
command:
|
|
66
|
+
Create checkable dispatch examples, then run the generated command:
|
|
72
67
|
|
|
73
68
|
```sh
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
"$ETQ" dispatch scaffold --project "$PWD" --task-id APP-001 --seat impl-seat
|
|
70
|
+
"$ETQ" dispatch check --project "$PWD" \
|
|
76
71
|
--mode docs/work/dispatch/APP-001/mode.yaml \
|
|
77
72
|
--task docs/work/dispatch/APP-001/task.yaml \
|
|
78
73
|
--sandbox-receipt docs/work/dispatch/APP-001/receipt.yaml \
|
|
@@ -82,14 +77,7 @@ etq dispatch check --project "$PWD" \
|
|
|
82
77
|
`dispatch record` writes local metadata and receipt refs; it does not merge,
|
|
83
78
|
close, publish, or grant.
|
|
84
79
|
|
|
85
|
-
## 5.
|
|
86
|
-
|
|
87
|
-
Per-runtime integrations are explicit, never automatic: `provision-seat claude-code`,
|
|
88
|
-
`provision-seat codex`, `provision-seat gemini`, `provision-seat ollama`,
|
|
89
|
-
`provision-seat openrouter`.
|
|
90
|
-
|
|
91
|
-
Stop when authority is unclear, validation cannot run, writes exceed the
|
|
92
|
-
envelope, a secret appears, or the session is unbounded.
|
|
80
|
+
## 5. Stop Conditions
|
|
93
81
|
|
|
94
|
-
|
|
95
|
-
|
|
82
|
+
Seat packs: `provision-seat claude-code`, `provision-seat codex`, `provision-seat gemini`, `provision-seat ollama`, `provision-seat openrouter`.
|
|
83
|
+
Stop when authority is unclear, validation cannot run, writes exceed the envelope, a secret appears, or the session is unbounded.
|
package/README.md
CHANGED
|
@@ -1,80 +1,80 @@
|
|
|
1
1
|
# Etiquette
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
When several coding agents (and humans) work the same repository, the hard
|
|
8
|
-
part isn't running them — it's knowing **who did what, on whose authority,
|
|
9
|
-
and what proved it worked**. Etiquette gives each participant a *seat*, each
|
|
10
|
-
unit of work a *task envelope*, each completion a *receipt*, and each merge a
|
|
11
|
-
*promotion gate* — recorded as plain files and git history you can audit.
|
|
12
|
-
|
|
13
|
-
Docs: https://etiquekit.com/docs/ · Agents start at: https://etiquekit.com/llms.txt · Going further (memory journal, supervision, release gates): `etq help advanced`
|
|
3
|
+
Etiquette is a local-first workflow and evidence CLI for teams that use coding
|
|
4
|
+
agents. Each task gets a named seat, bounded write scope, validation contract,
|
|
5
|
+
and receipt. Agents execute and report evidence; your human or Git gate still
|
|
6
|
+
decides what becomes canonical.
|
|
14
7
|
|
|
15
8
|
## Install
|
|
16
9
|
|
|
10
|
+
Prerequisites: Git `>=2.40` and Bun `>=1.3`.
|
|
11
|
+
|
|
17
12
|
```sh
|
|
18
|
-
npm install
|
|
19
|
-
|
|
13
|
+
npm install --global @etiquekit/etq
|
|
14
|
+
etq --version
|
|
20
15
|
```
|
|
21
16
|
|
|
22
|
-
|
|
23
|
-
verifies signatures against a pinned key before executing.
|
|
17
|
+
`etq` and `etiquette` are aliases for the same CLI.
|
|
24
18
|
|
|
25
|
-
##
|
|
19
|
+
## Start A Governed Task
|
|
20
|
+
|
|
21
|
+
Run inside a Git repository:
|
|
26
22
|
|
|
27
23
|
```sh
|
|
28
|
-
etq
|
|
29
|
-
etq doctor --project .
|
|
30
|
-
etq
|
|
31
|
-
|
|
32
|
-
etq
|
|
33
|
-
etq join --seat codex-seat --project . # profile seats: codex/cc/gemini/manager
|
|
34
|
-
etq console board --project . --text # the live task board
|
|
24
|
+
etq bootstrap local --project . --task-prefix APP --ask
|
|
25
|
+
etq doctor --project .
|
|
26
|
+
etq whereami --project . --seat impl-seat --task APP-001
|
|
27
|
+
etq join --project . --seat impl-seat
|
|
28
|
+
etq pickup --project . --seat impl-seat --task APP-001 --allow-current-project --text
|
|
35
29
|
```
|
|
36
30
|
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
The default is one implementation seat and one bounded task. Etiquette asks
|
|
32
|
+
before adding review seats and remains non-interactive in CI. A seat is a
|
|
33
|
+
durable role; Claude Code, Codex, Gemini, or another runtime is its temporary
|
|
34
|
+
occupant.
|
|
39
35
|
|
|
40
|
-
|
|
36
|
+
## Daily Loop
|
|
41
37
|
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
# ... do the work; write the receipt at the path pickup names ...
|
|
45
|
-
etq post --role implementation-return --lane APP-001 \
|
|
46
|
-
--from codex-seat --to manager-seat --project .
|
|
47
|
-
etq return check --task APP-001 --seat codex-seat # the completion gate
|
|
38
|
+
```text
|
|
39
|
+
orient -> pick up bounded work -> implement -> validate -> return a receipt -> promote through the existing gate
|
|
48
40
|
```
|
|
49
41
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
## Concepts in one breath
|
|
42
|
+
Use `whereami`, `status`, `console board`, and `return check` to inspect work.
|
|
43
|
+
Read commands do not initialize directories or rewrite event streams. Explicit
|
|
44
|
+
setup, bootstrap, post, and lifecycle commands own their writes.
|
|
55
45
|
|
|
56
|
-
|
|
57
|
-
| --- | --- |
|
|
58
|
-
| Seat | What durable work role is acting? |
|
|
59
|
-
| Task envelope | What writes, validation, and stop conditions are allowed? |
|
|
60
|
-
| Session | Which bounded run produced the evidence? |
|
|
61
|
-
| Receipt | What proves the work happened? |
|
|
62
|
-
| Promotion gate | Where does candidate work become accepted truth? |
|
|
46
|
+
## Core Records
|
|
63
47
|
|
|
64
|
-
|
|
65
|
-
**
|
|
48
|
+
- **Seat:** durable work identity, independent of model or vendor.
|
|
49
|
+
- **Task envelope:** allowed writes, required validation, and stop conditions.
|
|
50
|
+
- **Receipt:** evidence of what ran and changed; evidence is not authority.
|
|
51
|
+
- **Local ledger:** Git-readable events and packet references.
|
|
52
|
+
- **Promotion gate:** the existing decision that accepts candidate work.
|
|
66
53
|
|
|
67
|
-
|
|
54
|
+
Etiquette is not a hosted executor, transport service, portal, or replacement
|
|
55
|
+
for source-control permissions. Consumers may bind packet profiles and their
|
|
56
|
+
own transport; the package does not silently write a global ledger.
|
|
68
57
|
|
|
69
|
-
|
|
70
|
-
https://etiquekit.com/docs/ before trusting a downloaded key:
|
|
58
|
+
## Author A Draft Without Project State
|
|
71
59
|
|
|
60
|
+
```sh
|
|
61
|
+
etq post --profile ./packet-profile.yaml --draft \
|
|
62
|
+
--out /tmp/review-return.md --kind review-return --work-id APP-001 \
|
|
63
|
+
--author impl-seat --recipient review-seat \
|
|
64
|
+
--summary "Implementation complete." --evidence "Checks passed." \
|
|
65
|
+
--next-step "Review the candidate."
|
|
72
66
|
```
|
|
73
|
-
917fbced1d6a82897ec3441a1d12947803ca4d42a6bc63d3412dee8bf8c3ce31
|
|
74
|
-
```
|
|
75
67
|
|
|
76
|
-
|
|
77
|
-
|
|
68
|
+
Draft mode writes only the requested output. It does not create `.etiquette`,
|
|
69
|
+
emit an event, grant authority, merge, close, or publish.
|
|
70
|
+
|
|
71
|
+
Optional runtime packs: `provision-seat claude-code`, `provision-seat codex`, `provision-seat gemini`, `provision-seat ollama`, `provision-seat openrouter`.
|
|
72
|
+
## Documentation
|
|
73
|
+
|
|
74
|
+
[Quick start](QuickStart.md) | [Concepts](docs/CONCEPTS.md) |
|
|
75
|
+
[Core profile](docs/CORE_PROFILE.md) | [Seats](docs/SEAT_PROVISIONING.md) |
|
|
76
|
+
[Worktrees](docs/WORKTREE_QOL.md)
|
|
78
77
|
|
|
79
78
|
## License
|
|
80
|
-
|
|
79
|
+
|
|
80
|
+
Apache-2.0. See [LICENSE](LICENSE) and [NOTICE](NOTICE).
|
package/bin/etiquette
CHANGED
|
@@ -14,12 +14,8 @@ done
|
|
|
14
14
|
ROOT=$(CDPATH= cd -- "$(dirname -- "$SELF")/.." && pwd)
|
|
15
15
|
|
|
16
16
|
if ! command -v bun >/dev/null 2>&1; then
|
|
17
|
-
echo "etiquette requires bun
|
|
18
|
-
echo "install: curl -fsSL https://bun.sh/install | bash" >&2
|
|
17
|
+
echo "etiquette requires bun on PATH" >&2
|
|
19
18
|
exit 127
|
|
20
19
|
fi
|
|
21
20
|
|
|
22
|
-
if [ -f "$ROOT/lib/etiquette.js" ]; then
|
|
23
|
-
exec bun "$ROOT/lib/etiquette.js" "$@"
|
|
24
|
-
fi
|
|
25
21
|
exec bun "$ROOT/packages/control/src/cli.ts" "$@"
|
package/bin/etiquette-core
CHANGED
|
@@ -14,12 +14,8 @@ done
|
|
|
14
14
|
ROOT=$(CDPATH= cd -- "$(dirname -- "$SELF")/.." && pwd)
|
|
15
15
|
|
|
16
16
|
if ! command -v bun >/dev/null 2>&1; then
|
|
17
|
-
echo "etiquette-core requires bun
|
|
18
|
-
echo "install: curl -fsSL https://bun.sh/install | bash" >&2
|
|
17
|
+
echo "etiquette-core requires bun on PATH" >&2
|
|
19
18
|
exit 127
|
|
20
19
|
fi
|
|
21
20
|
|
|
22
|
-
if [ -f "$ROOT/lib/etiquette-core.js" ]; then
|
|
23
|
-
exec bun "$ROOT/lib/etiquette-core.js" "$@"
|
|
24
|
-
fi
|
|
25
21
|
exec bun "$ROOT/packages/control/src/core-cli.ts" "$@"
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -22,9 +22,9 @@ Execution returns evidence; it never mints authority.
|
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
Execution is a substrate, not an authority layer. In Core it is the local shell,
|
|
25
|
-
worktree, or runner. In Full it may be a
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
worktree, or runner. In Full it may be a runtime cell, EKS/kind sandbox, or
|
|
26
|
+
managed runner. In every profile, execution remains authority-false until the
|
|
27
|
+
promotion gate accepts evidence.
|
|
28
28
|
|
|
29
29
|
## Authority
|
|
30
30
|
|
|
@@ -52,11 +52,11 @@ role occupants or composite gates and fails closed.
|
|
|
52
52
|
|
|
53
53
|
## Consumers
|
|
54
54
|
|
|
55
|
-
Consumers may read, render, route bounded work,
|
|
55
|
+
Consumers may read, render, route bounded work, spawn bounded runners, and return
|
|
56
56
|
receipts. They must not grant, close, merge, rewrite ledgers, or become the bus.
|
|
57
57
|
|
|
58
58
|
Good first consumers are verification-first managed runners, local coding seats,
|
|
59
|
-
context workbenches, dashboards, and MCP readers. Start remote as
|
|
59
|
+
context workbenches, dashboards, and MCP readers. Start remote as witness-only.
|
|
60
60
|
|
|
61
61
|
## Package Boundary
|
|
62
62
|
|
|
@@ -23,7 +23,7 @@ Source: https://developers.openai.com/codex/changelog
|
|
|
23
23
|
| Remote-runtime app-server/exec-server canaries | `0.141.0` required | Block that canary until upgraded. |
|
|
24
24
|
| Plugin-scoped MCP adapter canaries | `0.141.0` required | Block that canary until upgraded. |
|
|
25
25
|
| Hook/action-auth resume canaries | `0.141.0` required | Block that canary until upgraded. |
|
|
26
|
-
| Usage-budget hygiene before long
|
|
26
|
+
| Usage-budget hygiene before long swarms | `0.140.0` minimum for `/usage` | Advisory only. |
|
|
27
27
|
|
|
28
28
|
## Operator Check
|
|
29
29
|
|
package/docs/CONCEPTS.md
CHANGED
|
@@ -38,8 +38,10 @@ autonomous execution.
|
|
|
38
38
|
## Session
|
|
39
39
|
|
|
40
40
|
A session is a bounded run inside one repo. Use one for a bug fix, feature
|
|
41
|
-
slice, review, release canary, or short
|
|
42
|
-
|
|
41
|
+
slice, review, release canary, or short swarm; not for a product, quarter, or
|
|
42
|
+
org.
|
|
43
|
+
|
|
44
|
+
Rebind reattaches a live session to the current ledger, task, branch, and worktree after interruption or runner/vendor change.
|
|
43
45
|
|
|
44
46
|
## Receipt
|
|
45
47
|
|
|
@@ -52,23 +54,6 @@ A ledger is the durable work record for a repo or workspace: decisions,
|
|
|
52
54
|
receipts, state changes, and refs. Raw execution chatter belongs in session
|
|
53
55
|
runbooks and scratch space.
|
|
54
56
|
|
|
55
|
-
### Durable Record vs Query Index
|
|
56
|
-
|
|
57
|
-
Two surfaces share the ledger name. They are different systems:
|
|
58
|
-
|
|
59
|
-
| Surface | Path | When it populates |
|
|
60
|
-
| --- | --- | --- |
|
|
61
|
-
| Durable record | `docs/work/ledger/LEDGER.md` | Automatically, as the workflow appends event lines |
|
|
62
|
-
| Query index | `.etiquette/state/ledger/index.db` | Only when you run `etiquette ledger index` |
|
|
63
|
-
|
|
64
|
-
The durable record is canonical and append-only. The query index is a
|
|
65
|
-
generated, regenerable SQLite cache read by `ledger search` and `ledger show`.
|
|
66
|
-
It ingests typed `schema=ledger-entry.v0*` lines and scanned documents, not
|
|
67
|
-
routine workflow event lines. `ledger_entries: 0` after a full workflow cycle
|
|
68
|
-
means no typed entries exist yet; the durable record is intact. Deleting the
|
|
69
|
-
index loses nothing. See
|
|
70
|
-
`docs/contracts/ledger-entry/ledger-query-cli.v0.1.md`.
|
|
71
|
-
|
|
72
57
|
## Promotion Gate
|
|
73
58
|
|
|
74
59
|
The promotion gate is where candidate work becomes accepted truth.
|
|
@@ -99,8 +84,7 @@ runner only through an explicit lease.
|
|
|
99
84
|
|
|
100
85
|
A child lease must be a strict subset of the parent lease. The subset covers
|
|
101
86
|
shorter or equal TTL, narrower or equal authority scope, subset write paths,
|
|
102
|
-
subset tools, inherited prohibitions, reduced
|
|
103
|
-
depth.
|
|
87
|
+
subset tools, inherited prohibitions, reduced spawn budget, and reduced depth.
|
|
104
88
|
|
|
105
89
|
Children return to their immediate parent. The parent synthesizes one upstream
|
|
106
90
|
receipt and remains accountable for child cleanup. A child or headless node is
|
|
@@ -109,7 +93,7 @@ not a durable seat unless it is separately enrolled and passes readiness.
|
|
|
109
93
|
## Exec
|
|
110
94
|
|
|
111
95
|
Exec is any runtime that does work: a local shell, Codex, Claude Code, Gemini,
|
|
112
|
-
Ollama, a script, a container, or a
|
|
96
|
+
Ollama, a script, a container, or a remote runtime cell.
|
|
113
97
|
|
|
114
98
|
Exec may run, observe, retry safe work, and return evidence. Exec must not
|
|
115
99
|
grant, merge, close, promote, or mutate canonical truth.
|
|
@@ -131,7 +115,7 @@ External tools keep their native jobs: chat is conversation, planning tools are
|
|
|
131
115
|
planning, code hosts are review, observability is incident evidence, and
|
|
132
116
|
identity systems are identity.
|
|
133
117
|
|
|
134
|
-
Etiquette is the accountability
|
|
118
|
+
Etiquette is the accountability spine. External "Done" is not acceptance.
|
|
135
119
|
Authentication is not authorization.
|
|
136
120
|
|
|
137
121
|
## Short Rules
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Concept Status Matrix
|
|
2
|
+
|
|
3
|
+
Etiquette uses a few strong workflow concepts. Some are core behavior today,
|
|
4
|
+
some belong to the optional secure plane, and some are still operating patterns
|
|
5
|
+
that need a concrete consumer before they become default workflow.
|
|
6
|
+
|
|
7
|
+
Use this page when writing portal copy, onboarding material, release notes, or
|
|
8
|
+
manager runbooks. Do not promote a concept beyond the status shown here.
|
|
9
|
+
|
|
10
|
+
## Edition Boundary
|
|
11
|
+
|
|
12
|
+
| Surface | Purpose | Authority Posture |
|
|
13
|
+
| --- | --- | --- |
|
|
14
|
+
| Etiquette Core | Repo-local coordination, task envelopes, receipts, allowed writes, read models, manuals, and canaries. | Transparent by default; authority comes from tracked task/grant records and receipts. |
|
|
15
|
+
| Etiquette Secure | Restricted-seat admission, external assurance claims, revocation, policy state, and optional tightening reactor. | Tightens standing and eligibility; it must not grant workflow authority by itself. |
|
|
16
|
+
| Hosted/portal plane | Setup passes, workspace visibility, onboarding, board/read-model display, and operational observability. | Portal RBAC authorizes portal operations only. Workflow authority stays local and grant-backed. |
|
|
17
|
+
|
|
18
|
+
## Concept Matrix
|
|
19
|
+
|
|
20
|
+
| Concept | Core Status | Secure Status | Portal Surface | Caveat |
|
|
21
|
+
| --- | --- | --- | --- | --- |
|
|
22
|
+
| Ledger | Shipped. Repo-local task records, events, and receipts carry durable workflow truth. | May receive signed or protected replication later. | Board and console render ledger-derived read models. | Git-backed truth is durable and auditable; call it cryptographic only when signing/protected append-only is actually configured. |
|
|
23
|
+
| Receipts | Shipped. Work returns must cite changed files, validation, blockers, and next owner. | May include action authorization stamps and external verifier receipts. | Evidence drawers and manager views point to receipts. | A receipt proves evidence; it does not grant, merge, close, or promote by itself. |
|
|
24
|
+
| Seats and agents | Shipped. A seat is a stable responsibility; an occupant/runtime can change. Owner cards derive accountability, diet, boundaries, review cadence, and failure modes from source contracts plus live readiness. | Secure posture is parked; seats use local readiness and explicit task routing. | Roster and owner cards show lifecycle, readiness, ownership, and posture. | Model cards, owner cards, and roster posture help routing but do not authorize work or transfer ownership. |
|
|
25
|
+
| Task envelopes | Shipped. Tasks declare owner, mode, allowed writes, forbidden writes, validation, stop conditions, and receipt expectations. | Secure admission is parked; task routing remains explicit. | Manager manuals and pickup surfaces show the envelope. | Allowed writes are a cooperative boundary unless paired with OS/container enforcement or audit gates. |
|
|
26
|
+
| Rubrics and validation | Shipped as acceptance criteria and conformance gates. | Can be bound to restricted workflows and verifier receipts. | Manager/operator docs list required validation and stop conditions. | Do not claim every runtime is hard-blocked from returning unless the specific flow enforces that gate. |
|
|
27
|
+
| Authorization | Shipped as grant-backed workflow discipline: authentication seats an actor; authorization gates consequential action. | Secure posture is parked; grant leases, kill-switch state, and action stamps remain the admission-time authority model. | Hosted pass docs and workspace authority contracts describe the boundary. | A verified occupant has standing, not blanket authority. Grants are effective only while standing is current. |
|
|
28
|
+
| Portal / management console | Core read model, docs site, screenshots, and read-only `console serve` are shipped. | Secure portal may manage policy state and revocation signals. | Console and board are read-only by default. | Portal RBAC is not workflow authority. Browser actions remain out of scope in Core. |
|
|
29
|
+
| Distribution and plugins | Core CLI, docs, templates, MCP resources/prompts, and outbox-backed proposal staging are portable. | Secure can ship as an optional add-on. | Codex and Claude Code plugins may launch workflows and portal views. | Plugins are convenience packaging, not authority. MCP proposal tools must not mutate the ledger directly. |
|
|
30
|
+
| Remote execution | Supported as evidence-first design. | Secure runtimes may require admission, revocation, and verifier identity before execution. Org-remote workspaces use session outboxes, sharded drains, candidate imports, and authority promotion gates. | Manager docs should treat remote receipts as evidence. | Start remote as witness, not worker. Remote receipts and drain imports do not authorize promotion. |
|
|
31
|
+
| Managed-agent parity | Parity map exists for agents, environments, sessions, events, tools, MCP, memory, outcomes, and scheduling. | Secure runtime admission is parked. | Docs site and portal docs may expose the map. | Compatibility is not dependency. The runner executes; Etiquette governs and records. |
|
|
32
|
+
| Architecture boundary | Core, runtime, harness, adapter, and reactor roles are documented and import-boundary tested. | Secure adds admission policy without forking doctrine. | Hosted consumes projected views without becoming authority. | New reverse imports are architectural changes, not convenience edits. |
|
|
33
|
+
| Memory | Shipped as cited context, filesystem-shaped candidate stores, SQLite FTS recall, and `memory status` capability reporting. Evidence consolidation/rollup is the memory compaction lifecycle; it is not doctrine marination. | Secure deployments may restrict what crosses org/workspace boundaries. | Docs may surface references, summaries, archive pointers, and shipped/reserved memory status. | Memory proposes; ledger authorizes. Do not claim full semantic/vector memory parity until the adapter ships. Do not rewrite shared truth through background consolidation. |
|
|
34
|
+
| Marination | Operating pattern. Use for doctrine sabbaticals: scheduled fresh-attention review of rules, errata, and proposed revisions. | Can be run under Secure as an advisory process with cited evidence. | Not yet a default portal workflow. | Deltas only. It produces proposals, not silent lane mutations. |
|
|
35
|
+
| Sabbaticals / parking | Partially reflected as `park`, `held`, and deferred dispositions. | Secure deployments may freeze standing or grants while work is parked. | Manager cadence can show parked/held work. | Do not promise automatic stash/cleanup unless the workspace implements that runbook. |
|
|
36
|
+
| Tightening reactor | Not part of default Core. | Optional off-by-default listener that writes only fail-closed signals such as revocation or kill-switch state. | Secure operations may show reactor health. | It may tighten, never loosen. If it stops, local admission still fails or proceeds from last known policy according to the configured gate. |
|
|
37
|
+
|
|
38
|
+
## Primitive Loop
|
|
39
|
+
|
|
40
|
+
Core records, validates, gates, and dispatches. Full remembers, consolidates,
|
|
41
|
+
marinates, and projects. Execution is not the gate: Core execution is the local
|
|
42
|
+
shell/worktree, Full execution is a runtime cell or managed runner, and both
|
|
43
|
+
remain authority-false until the promotion gate accepts evidence.
|
|
44
|
+
|
|
45
|
+
| Layer | Core | Full |
|
|
46
|
+
| --- | --- | --- |
|
|
47
|
+
| Record | identity, seats, task envelopes, session runbooks, ledger, receipts | memory stores, recall capsules, org/workspace projections |
|
|
48
|
+
| Reflect | rubrics, local validation, reconciliation by review | consolidation rollups, marination, drift and failure trend review |
|
|
49
|
+
| Gate | human/Git promotion gate over receipts and grants | same gate, enriched by secure admission and policy checks |
|
|
50
|
+
| Execute | local shell, local worktree, local runner | runtime cells, EKS/kind sandboxes, managed runners |
|
|
51
|
+
| Act | dispatch, receipt return, next-owner routing | hosted portal views, observability, adapter projections |
|
|
52
|
+
|
|
53
|
+
## Writing Rule
|
|
54
|
+
|
|
55
|
+
Use shipped language for shipped behavior, design language for parked behavior,
|
|
56
|
+
and edition language for Secure behavior:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
Core records, validates, gates, and dispatches.
|
|
60
|
+
Full remembers, consolidates, marinates, and projects.
|
|
61
|
+
Secure admits and revokes restricted standing.
|
|
62
|
+
Portals display and coordinate.
|
|
63
|
+
Grants authorize consequential actions.
|
|
64
|
+
Receipts prove what happened.
|
|
65
|
+
Execution returns evidence; it never mints authority.
|
|
66
|
+
```
|
package/docs/CORE_PROFILE.md
CHANGED
|
@@ -16,7 +16,7 @@ Core excludes by default:
|
|
|
16
16
|
|
|
17
17
|
- hosted runtime and EKS provisioning;
|
|
18
18
|
- MCP server;
|
|
19
|
-
-
|
|
19
|
+
- external planning adapter;
|
|
20
20
|
- memory-store lifecycle and drains;
|
|
21
21
|
- agent-plane profiles;
|
|
22
22
|
- console/site;
|
|
@@ -37,8 +37,7 @@ Core records, validates, gates, and dispatches:
|
|
|
37
37
|
|
|
38
38
|
Full remembers, consolidates, marinates, and projects. Memory stores,
|
|
39
39
|
consolidation rollups, marination modules, hosted portals, secure screening,
|
|
40
|
-
|
|
41
|
-
enabled.
|
|
40
|
+
remote runtime cells, and sharded drains belong there unless explicitly enabled.
|
|
42
41
|
|
|
43
42
|
Use:
|
|
44
43
|
|
|
@@ -64,8 +63,7 @@ The Core promotion path is:
|
|
|
64
63
|
5. The ledger records the promoted result.
|
|
65
64
|
|
|
66
65
|
At Core scale, Git is the promotion mechanism. Drains, sharded import, hosted
|
|
67
|
-
planes, and
|
|
68
|
-
explicitly enabled.
|
|
66
|
+
planes, and runtime cells belong to the Full profile unless explicitly enabled.
|
|
69
67
|
|
|
70
68
|
Core commands may advise, check, and record evidence. They do not authorize
|
|
71
69
|
work, attach grants, merge, close lanes, or promote candidates without the
|
|
@@ -16,8 +16,8 @@ lane: APP-001-domain-foundation
|
|
|
16
16
|
task_id: APP-001
|
|
17
17
|
repo: github.com/org/app
|
|
18
18
|
project_ref: .
|
|
19
|
-
current_owner:
|
|
20
|
-
review_owner:
|
|
19
|
+
current_owner: impl-seat
|
|
20
|
+
review_owner: review-seat
|
|
21
21
|
mode: product-implementation | read-only-audit | docs-only
|
|
22
22
|
startup_docs:
|
|
23
23
|
- AGENTS.md
|
|
@@ -90,6 +90,11 @@ etiquette pickup --project . --seat <seat> --task <task> --text
|
|
|
90
90
|
Then read only the startup docs named by the bulletin. Do not scrape old chat
|
|
91
91
|
or a global bus to infer project state.
|
|
92
92
|
|
|
93
|
+
If the seat is resuming, changing role, changing runner/model/vendor, or moving
|
|
94
|
+
between worktrees, perform seat rebind before `join`/`pickup`: verify the live
|
|
95
|
+
project, task, branch, worktree, routing surface, and evidence surface from the
|
|
96
|
+
ledger. Rebind is context proof only; it is not readiness or authority.
|
|
97
|
+
|
|
93
98
|
Inside a session, the agent should confirm:
|
|
94
99
|
|
|
95
100
|
- seat id and operator principal;
|
package/docs/README.md
CHANGED
|
@@ -9,17 +9,17 @@ For private manager-to-developer rollout, use
|
|
|
9
9
|
|
|
10
10
|
References:
|
|
11
11
|
|
|
12
|
+
- [CONCEPT_STATUS.md](CONCEPT_STATUS.md)
|
|
12
13
|
- [CODEX_CLIENT_COMPATIBILITY.md](CODEX_CLIENT_COMPATIBILITY.md)
|
|
13
14
|
- [RELEASE_SURFACE_AUDIT.md](RELEASE_SURFACE_AUDIT.md)
|
|
14
|
-
- [INTEGRATION_UI.md](INTEGRATION_UI.md) — building a UI/consumer over the event log and packets
|
|
15
15
|
|
|
16
16
|
Source checkouts also keep hosted parity, portal, managed-runtime parity, and root kernel notes for
|
|
17
17
|
maintainers. They are not part of the local devkit tarball.
|
|
18
18
|
|
|
19
19
|
Integration profile:
|
|
20
|
-
|
|
21
|
-
review,
|
|
22
|
-
|
|
20
|
+
Conversation systems carry discussion, planning systems track backlog, code review
|
|
21
|
+
systems review changes, incident systems carry evidence, and identity systems
|
|
22
|
+
authenticate users. Etiquette is the accountability spine: chat is not source of
|
|
23
23
|
truth, external Done is not acceptance, and authentication is not authorization.
|
|
24
24
|
|
|
25
25
|
Current release posture: Core is the default local-first product, Exec is
|