@etiquekit/etq 0.0.1 → 1.0.4
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 +28 -0
- package/QuickStart.md +86 -0
- package/README.md +77 -9
- package/bin/etiquette +1150 -0
- package/bin/etiquette-core +313 -0
- package/docs/ARCHITECTURE.md +100 -0
- package/docs/CODEX_CLIENT_COMPATIBILITY.md +83 -0
- package/docs/CONCEPTS.md +128 -0
- package/docs/CONCEPT_STATUS.md +67 -0
- package/docs/CORE_PROFILE.md +70 -0
- package/docs/LANE_PROVISIONING.md +157 -0
- package/docs/README.md +29 -0
- package/docs/RELEASE_SURFACE_AUDIT.md +156 -0
- package/docs/SEAT_DISCIPLINE.md +116 -0
- package/docs/SEAT_PROVISIONING.md +100 -0
- package/docs/TEAM_HANDOFF.md +190 -0
- package/docs/WORKTREE_QOL.md +92 -0
- package/docs/contracts/ledger-entry/README.md +83 -0
- package/docs/contracts/ledger-entry/ledger-entry.v0.1.md +116 -0
- package/docs/contracts/ledger-entry/ledger-entry.v0.2.md +90 -0
- package/docs/contracts/ledger-entry/ledger-entry.v0.md +123 -0
- package/docs/contracts/ledger-entry/ledger-query-cli.v0.1.md +64 -0
- package/package.json +42 -11
- package/scripts/install.sh +144 -0
- package/scripts/uninstall.sh +58 -0
- package/templates/etiquette-vanilla-v0/README.md +69 -0
- package/templates/etiquette-vanilla-v0/bin/stamp-vanilla +33 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/.llm-substrate/HANDOFF.md +22 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/README.md +16 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/_lib/http.sh +121 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/_lib/sanitize.sh +191 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/_lib/state.sh +67 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/access-assurance-check +55 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/compact-local-events +71 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/post-tool-use +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/session-end +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/session-start +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/stop +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/user-prompt-submit +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/local-event +53 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/post-receipt +143 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/post-telemetry +112 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-consume-pass +115 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-doctor +20 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-init +86 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-post-readiness +171 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/session-init +132 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/ACCESS-ASSURANCE.md +39 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/workspace-secure-profile.v0.json +53 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/ledger/LEDGER.md +7 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/playbacks/PLAYBACK_TEMPLATE.md +31 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/receipts/.gitkeep +1 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/tasks/CONTROL-001.yaml +13 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/README.md +6 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/bin/kernel-doctor +11 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/contracts/playback.v0.md +37 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/contracts/receipt.v0.md +25 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/contracts/seat-readiness.v0.md +22 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/contracts/task.v0.md +18 -0
- package/templates/etiquette-vanilla-v0/validate-vanilla.sh +43 -0
- package/templates/github-actions/README.md +30 -0
- package/templates/github-actions/w1-webhook-wake-canary.yml +111 -0
- package/templates/hosted-receiver/README.md +41 -0
- package/templates/hosted-receiver/w1-github-webhook-receiver.mjs +129 -0
- package/templates/seat-packs-v0/README.md +72 -0
- package/templates/seat-packs-v0/bin/provision-seat +70 -0
- package/templates/seat-packs-v0/source/claude-code-seat/.llm-substrate/HANDOFF.md +24 -0
- package/templates/seat-packs-v0/source/claude-code-seat/README.md +19 -0
- package/templates/seat-packs-v0/source/claude-code-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/source/codex-seat/.llm-substrate/HANDOFF.md +25 -0
- package/templates/seat-packs-v0/source/codex-seat/README.md +22 -0
- package/templates/seat-packs-v0/source/codex-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/source/gemini-seat/.llm-substrate/HANDOFF.md +23 -0
- package/templates/seat-packs-v0/source/gemini-seat/README.md +19 -0
- package/templates/seat-packs-v0/source/gemini-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/source/ollama-seat/.llm-substrate/HANDOFF.md +24 -0
- package/templates/seat-packs-v0/source/ollama-seat/README.md +19 -0
- package/templates/seat-packs-v0/source/ollama-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/source/openrouter-seat/.llm-substrate/HANDOFF.md +24 -0
- package/templates/seat-packs-v0/source/openrouter-seat/README.md +19 -0
- package/templates/seat-packs-v0/source/openrouter-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/validate-seat-packs.sh +27 -0
- package/bin/etq +0 -4
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -eu
|
|
3
|
+
|
|
4
|
+
ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
|
5
|
+
|
|
6
|
+
usage() {
|
|
7
|
+
echo "usage: sh bin/provision-seat <codex|claude-code|gemini|openrouter|ollama|auto> <target-dir>" >&2
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
if [ "$#" -ne 2 ]; then
|
|
11
|
+
usage
|
|
12
|
+
exit 2
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
seat=$1
|
|
16
|
+
target=$2
|
|
17
|
+
|
|
18
|
+
detect() {
|
|
19
|
+
found=""
|
|
20
|
+
command -v codex >/dev/null 2>&1 && found="$found codex"
|
|
21
|
+
command -v claude >/dev/null 2>&1 && found="$found claude-code"
|
|
22
|
+
command -v gemini >/dev/null 2>&1 && found="$found gemini"
|
|
23
|
+
command -v ollama >/dev/null 2>&1 && found="$found ollama"
|
|
24
|
+
[ -n "${OPENROUTER_API_KEY:-}" ] && found="$found openrouter"
|
|
25
|
+
|
|
26
|
+
count=$(set -- $found; echo "$#")
|
|
27
|
+
if [ "$count" -eq 1 ]; then
|
|
28
|
+
set -- $found
|
|
29
|
+
echo "$1"
|
|
30
|
+
return
|
|
31
|
+
fi
|
|
32
|
+
if [ "$count" -eq 0 ]; then
|
|
33
|
+
echo "auto-detect found no supported runtime; choose explicit seat type" >&2
|
|
34
|
+
exit 2
|
|
35
|
+
fi
|
|
36
|
+
echo "auto-detect found multiple runtimes:$found; choose explicit seat type" >&2
|
|
37
|
+
exit 2
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if [ "$seat" = "auto" ]; then
|
|
41
|
+
seat=$(detect)
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
case "$seat" in
|
|
45
|
+
codex) src="$ROOT/source/codex-seat" ;;
|
|
46
|
+
claude-code) src="$ROOT/source/claude-code-seat" ;;
|
|
47
|
+
gemini) src="$ROOT/source/gemini-seat" ;;
|
|
48
|
+
openrouter) src="$ROOT/source/openrouter-seat" ;;
|
|
49
|
+
ollama) src="$ROOT/source/ollama-seat" ;;
|
|
50
|
+
*) usage; exit 2 ;;
|
|
51
|
+
esac
|
|
52
|
+
|
|
53
|
+
if [ -e "$target" ]; then
|
|
54
|
+
echo "target already exists: $target" >&2
|
|
55
|
+
exit 2
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
cp -R "$src" "$target"
|
|
59
|
+
|
|
60
|
+
if command -v git >/dev/null 2>&1; then
|
|
61
|
+
git -C "$target" init -q
|
|
62
|
+
git -C "$target" add .
|
|
63
|
+
git -C "$target" \
|
|
64
|
+
-c user.name="Etiquette Seat" \
|
|
65
|
+
-c user.email="etiquette-seat@example.invalid" \
|
|
66
|
+
commit -q -m "Initial $seat seat scaffold"
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
echo "provisioned $seat seat at $target"
|
|
70
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Claude Code Seat Handoff
|
|
2
|
+
|
|
3
|
+
You are an Etiquette Claude Code seat.
|
|
4
|
+
|
|
5
|
+
## Startup
|
|
6
|
+
|
|
7
|
+
1. Run `sh bin/seat-doctor`.
|
|
8
|
+
2. Read the target project's head-start surfaces.
|
|
9
|
+
3. Report readiness before claiming work.
|
|
10
|
+
|
|
11
|
+
## Default Capability
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
seat_type: execution_seat | review_seat
|
|
15
|
+
execution_surface: claude_code
|
|
16
|
+
supported_strategies:
|
|
17
|
+
- solo
|
|
18
|
+
- local_adversarial_tango
|
|
19
|
+
- telescope
|
|
20
|
+
blocked_strategies:
|
|
21
|
+
- required_cross_runtime_without_backplane
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Do not clone product repos until assigned.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Claude Code Seat
|
|
2
|
+
|
|
3
|
+
Optional Etiquette seat template for a Claude Code runtime.
|
|
4
|
+
|
|
5
|
+
Use this only after the control seat grants a Claude Code execution or review seat.
|
|
6
|
+
|
|
7
|
+
## Head-Start
|
|
8
|
+
|
|
9
|
+
Before pickup in the target project, read:
|
|
10
|
+
|
|
11
|
+
1. `AGENTS.md`
|
|
12
|
+
2. `docs/work/BOARD.md`
|
|
13
|
+
3. `docs/work/runbooks/SESSION_PICKUP.md`
|
|
14
|
+
4. `docs/work/manuals/SEAT_OPERATING_MANUAL.md`
|
|
15
|
+
5. `docs/work/cookbooks/ADD_A_LANE.md` when routing new work
|
|
16
|
+
|
|
17
|
+
Use `$etiquette-seat-lifecycle` before pickup after stale context, resume,
|
|
18
|
+
runner/model/profile swaps, or workflow migration. Hooks and readiness are
|
|
19
|
+
evidence only; the task envelope is the work authority.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Codex Seat Handoff
|
|
2
|
+
|
|
3
|
+
You are an Etiquette Codex seat.
|
|
4
|
+
|
|
5
|
+
## Startup
|
|
6
|
+
|
|
7
|
+
1. Run `sh bin/seat-doctor`.
|
|
8
|
+
2. Use `etiquette notify poll --seat <id> --after-seq <n>` for cursor-based wake checks.
|
|
9
|
+
3. Read the target project's head-start surfaces.
|
|
10
|
+
4. Report readiness before claiming work.
|
|
11
|
+
|
|
12
|
+
## Default Capability
|
|
13
|
+
|
|
14
|
+
```yaml
|
|
15
|
+
seat_type: execution_seat | review_seat
|
|
16
|
+
execution_surface: codex
|
|
17
|
+
supported_strategies:
|
|
18
|
+
- solo
|
|
19
|
+
- telescope
|
|
20
|
+
- manifold
|
|
21
|
+
blocked_strategies:
|
|
22
|
+
- required_cross_runtime_without_backplane
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Do not clone product repos until assigned.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Codex Seat
|
|
2
|
+
|
|
3
|
+
Optional Etiquette seat template for a Codex runtime.
|
|
4
|
+
|
|
5
|
+
Use this only after the control seat grants a Codex execution or review seat.
|
|
6
|
+
|
|
7
|
+
## Head-Start
|
|
8
|
+
|
|
9
|
+
Before pickup in the target project, read:
|
|
10
|
+
|
|
11
|
+
1. `AGENTS.md`
|
|
12
|
+
2. `docs/work/BOARD.md`
|
|
13
|
+
3. `docs/work/runbooks/SESSION_PICKUP.md`
|
|
14
|
+
4. `docs/work/manuals/SEAT_OPERATING_MANUAL.md`
|
|
15
|
+
5. `docs/work/cookbooks/ADD_A_LANE.md` when routing new work
|
|
16
|
+
|
|
17
|
+
Use `$etiquette-seat-lifecycle` before pickup after stale context, resume,
|
|
18
|
+
runner/model/profile swaps, or workflow migration. Hooks and readiness are
|
|
19
|
+
evidence only; the task envelope is the work authority.
|
|
20
|
+
|
|
21
|
+
For bounded, cursor-based wake checks use the portable core command
|
|
22
|
+
`etiquette notify poll --seat <id> --after-seq <n>` instead of raw `tail -F` monitors.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Gemini Seat Handoff
|
|
2
|
+
|
|
3
|
+
You are an Etiquette Gemini seat.
|
|
4
|
+
|
|
5
|
+
## Startup
|
|
6
|
+
|
|
7
|
+
1. Run `sh bin/seat-doctor`.
|
|
8
|
+
2. Read the target project's head-start surfaces.
|
|
9
|
+
3. Report readiness before claiming work.
|
|
10
|
+
|
|
11
|
+
## Default Capability
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
seat_type: execution_seat | review_seat
|
|
15
|
+
execution_surface: gemini_cli
|
|
16
|
+
supported_strategies:
|
|
17
|
+
- solo
|
|
18
|
+
- telescope
|
|
19
|
+
blocked_strategies:
|
|
20
|
+
- required_parallel_without_adapter
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Do not clone product repos until assigned.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Gemini Seat
|
|
2
|
+
|
|
3
|
+
Optional Etiquette seat template for a Gemini CLI runtime.
|
|
4
|
+
|
|
5
|
+
Use this only after the control seat grants a Gemini execution or review seat.
|
|
6
|
+
|
|
7
|
+
## Head-Start
|
|
8
|
+
|
|
9
|
+
Before pickup in the target project, read:
|
|
10
|
+
|
|
11
|
+
1. `AGENTS.md`
|
|
12
|
+
2. `docs/work/BOARD.md`
|
|
13
|
+
3. `docs/work/runbooks/SESSION_PICKUP.md`
|
|
14
|
+
4. `docs/work/manuals/SEAT_OPERATING_MANUAL.md`
|
|
15
|
+
5. `docs/work/cookbooks/ADD_A_LANE.md` when routing new work
|
|
16
|
+
|
|
17
|
+
Use `$etiquette-seat-lifecycle` before pickup after stale context, resume,
|
|
18
|
+
runner/model/profile swaps, or workflow migration. Hooks and readiness are
|
|
19
|
+
evidence only; the task envelope is the work authority.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Ollama Seat Handoff
|
|
2
|
+
|
|
3
|
+
You are an Etiquette Ollama seat.
|
|
4
|
+
|
|
5
|
+
## Startup
|
|
6
|
+
|
|
7
|
+
1. Run `sh bin/seat-doctor`.
|
|
8
|
+
2. Read the target project's head-start surfaces.
|
|
9
|
+
3. Report readiness before claiming work.
|
|
10
|
+
|
|
11
|
+
## Default Capability
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
seat_type: execution_seat | review_seat
|
|
15
|
+
execution_surface: ollama
|
|
16
|
+
supported_strategies:
|
|
17
|
+
- solo
|
|
18
|
+
- telescope
|
|
19
|
+
blocked_strategies:
|
|
20
|
+
- required_remote_api_without_adapter
|
|
21
|
+
- required_parallel_without_adapter
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Do not clone product repos until assigned.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Ollama Seat
|
|
2
|
+
|
|
3
|
+
Optional Etiquette seat template for a local Ollama runtime.
|
|
4
|
+
|
|
5
|
+
Use this only after the control seat grants an Ollama execution or review seat.
|
|
6
|
+
|
|
7
|
+
## Head-Start
|
|
8
|
+
|
|
9
|
+
Before pickup in the target project, read:
|
|
10
|
+
|
|
11
|
+
1. `AGENTS.md`
|
|
12
|
+
2. `docs/work/BOARD.md`
|
|
13
|
+
3. `docs/work/runbooks/SESSION_PICKUP.md`
|
|
14
|
+
4. `docs/work/manuals/SEAT_OPERATING_MANUAL.md`
|
|
15
|
+
5. `docs/work/cookbooks/ADD_A_LANE.md` when routing new work
|
|
16
|
+
|
|
17
|
+
Use `$etiquette-seat-lifecycle` before pickup after stale context, resume,
|
|
18
|
+
runner/model/profile swaps, or workflow migration. Hooks and readiness are
|
|
19
|
+
evidence only; the task envelope is the work authority.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# OpenRouter Seat Handoff
|
|
2
|
+
|
|
3
|
+
You are an Etiquette OpenRouter seat.
|
|
4
|
+
|
|
5
|
+
## Startup
|
|
6
|
+
|
|
7
|
+
1. Run `sh bin/seat-doctor`.
|
|
8
|
+
2. Read the target project's head-start surfaces.
|
|
9
|
+
3. Report readiness before claiming work.
|
|
10
|
+
|
|
11
|
+
## Default Capability
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
seat_type: execution_seat | review_seat
|
|
15
|
+
execution_surface: openrouter
|
|
16
|
+
supported_strategies:
|
|
17
|
+
- solo
|
|
18
|
+
- telescope
|
|
19
|
+
blocked_strategies:
|
|
20
|
+
- required_local_tool_execution_without_adapter
|
|
21
|
+
- required_parallel_without_adapter
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Do not clone product repos until assigned. Do not embed API keys in receipts.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# OpenRouter Seat
|
|
2
|
+
|
|
3
|
+
Optional Etiquette seat template for an OpenRouter-backed runtime.
|
|
4
|
+
|
|
5
|
+
Use this only after the control seat grants an OpenRouter execution or review seat.
|
|
6
|
+
|
|
7
|
+
## Head-Start
|
|
8
|
+
|
|
9
|
+
Before pickup in the target project, read:
|
|
10
|
+
|
|
11
|
+
1. `AGENTS.md`
|
|
12
|
+
2. `docs/work/BOARD.md`
|
|
13
|
+
3. `docs/work/runbooks/SESSION_PICKUP.md`
|
|
14
|
+
4. `docs/work/manuals/SEAT_OPERATING_MANUAL.md`
|
|
15
|
+
5. `docs/work/cookbooks/ADD_A_LANE.md` when routing new work
|
|
16
|
+
|
|
17
|
+
Use `$etiquette-seat-lifecycle` before pickup after stale context, resume,
|
|
18
|
+
runner/model/profile swaps, or workflow migration. Hooks and readiness are
|
|
19
|
+
evidence only; the task envelope is the work authority.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -eu
|
|
3
|
+
|
|
4
|
+
ROOT=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
5
|
+
|
|
6
|
+
for seat in codex-seat claude-code-seat gemini-seat openrouter-seat ollama-seat; do
|
|
7
|
+
test -d "$ROOT/source/$seat"
|
|
8
|
+
sh "$ROOT/source/$seat/bin/seat-doctor"
|
|
9
|
+
done
|
|
10
|
+
|
|
11
|
+
tmp="${TMPDIR:-/tmp}/etiquette-seat-pack-provision-check-$$"
|
|
12
|
+
sh "$ROOT/bin/provision-seat" codex "$tmp"
|
|
13
|
+
sh "$tmp/bin/seat-doctor"
|
|
14
|
+
|
|
15
|
+
fakebin="${TMPDIR:-/tmp}/etiquette-seat-pack-auto-bin-$$"
|
|
16
|
+
autotmp="${TMPDIR:-/tmp}/etiquette-seat-pack-auto-check-$$"
|
|
17
|
+
mkdir -p "$fakebin"
|
|
18
|
+
if [ -x /usr/bin/true ]; then
|
|
19
|
+
true_cmd=/usr/bin/true
|
|
20
|
+
else
|
|
21
|
+
true_cmd=/bin/true
|
|
22
|
+
fi
|
|
23
|
+
ln -s "$true_cmd" "$fakebin/codex"
|
|
24
|
+
PATH="$fakebin:/bin:/usr/bin" sh "$ROOT/bin/provision-seat" auto "$autotmp"
|
|
25
|
+
sh "$autotmp/bin/seat-doctor"
|
|
26
|
+
|
|
27
|
+
echo "seat-packs: ok"
|
package/bin/etq
DELETED