@hegemonart/get-design-done 1.27.0 → 1.27.5
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +69 -0
- package/SKILL.md +1 -0
- package/agents/design-reflector.md +52 -0
- package/hooks/budget-enforcer.ts +249 -5
- package/package.json +2 -2
- package/reference/bandit-integration.md +163 -0
- package/reference/peer-protocols.md +1 -1
- package/reference/registry.json +7 -0
- package/scripts/install.cjs +100 -1
- package/scripts/lib/bandit-arbitrage.cjs +423 -0
- package/scripts/lib/bandit-router/integration.cjs +309 -0
- package/scripts/lib/peer-cli/spawn-cmd.cjs +2 -2
- package/scripts/lib/session-runner/index.ts +381 -28
- package/skills/bandit-status/SKILL.md +129 -0
- package/skills/peers/SKILL.md +27 -8
package/skills/peers/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ tools: Read, Bash
|
|
|
9
9
|
|
|
10
10
|
## Role
|
|
11
11
|
|
|
12
|
-
You are a deterministic discovery skill. You do not spawn agents and do not delegate to peers. You read `scripts/lib/install/runtimes.cjs`, `scripts/lib/peer-cli/registry.cjs`, `.design/config.json`, and (optionally) `.design/
|
|
12
|
+
You are a deterministic discovery skill. You do not spawn agents and do not delegate to peers. You read `scripts/lib/install/runtimes.cjs`, `scripts/lib/peer-cli/registry.cjs`, `.design/config.json`, and (optionally) `.design/telemetry/posterior.json` (the canonical path declared by `scripts/lib/bandit-router.cjs`'s `DEFAULT_POSTERIOR_PATH`), then emit a single Markdown table summarizing peer-CLI status.
|
|
13
13
|
|
|
14
14
|
## Invocation Contract
|
|
15
15
|
|
|
@@ -44,11 +44,29 @@ For each peer, run `which <peerBinary>` (POSIX) or `where <peerBinary>` (Windows
|
|
|
44
44
|
|
|
45
45
|
Read `.design/config.json`. The path is `peer_cli.enabled_peers` — an array of peer-IDs. Default: `[]` (empty, opt-in required). If the file or path is missing, treat as empty.
|
|
46
46
|
|
|
47
|
-
### 5. (Optional) Read posterior
|
|
47
|
+
### 5. (Optional) Read posterior reward-delta
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
Phase 27.5 (v1.27.5) wired the bandit posterior into production. Once 27.5-02 (budget-enforcer consultation) + 27.5-03 (session-runner outcome recording) have fired across enough spawns, the posterior at `.design/telemetry/posterior.json` (the canonical path declared by `bandit-router.cjs`'s `DEFAULT_POSTERIOR_PATH`) carries per-`(agent, bin, delegate, tier)` arms with measured reward.
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
For each peer-id in {gemini, codex, cursor, copilot, qwen}:
|
|
52
|
+
|
|
53
|
+
1. Read `.design/telemetry/posterior.json`. If missing or malformed → render "(no data yet)".
|
|
54
|
+
2. Filter the `arms` array into `peerArms` where `delegate === <peer-id>` and `localArms` where `delegate === 'none'` OR `delegate === undefined` (the Phase 23.5 legacy slice is treated as the local-call slice).
|
|
55
|
+
3. If `peerArms` is empty OR `localArms` is empty → "(no data yet)".
|
|
56
|
+
4. Compute pooled posterior means:
|
|
57
|
+
- `peerMean = sum(arm.alpha across peerArms) / (sum(arm.alpha across peerArms) + sum(arm.beta across peerArms))`
|
|
58
|
+
- `localMean = sum(arm.alpha across localArms) / (sum(arm.alpha across localArms) + sum(arm.beta across localArms))`
|
|
59
|
+
5. Compute `delta_pct = (peerMean - localMean) / localMean`.
|
|
60
|
+
6. Require minimum sample evidence: `sum(arm.count)` for `peerArms` AND for `localArms` must each be `>= 3`. Else "(no data yet)".
|
|
61
|
+
7. Render delta as:
|
|
62
|
+
- `+X% reward` when `delta_pct > 0.01`
|
|
63
|
+
- `-X% reward` when `delta_pct < -0.01`
|
|
64
|
+
- `~equal` when `abs(delta_pct) < 0.01`
|
|
65
|
+
Where X = `Math.round(abs(delta_pct) * 100)`.
|
|
66
|
+
|
|
67
|
+
The reward signal is the Phase 23.5 two-stage lexicographic (correctness first, cost as tiebreaker — see `scripts/lib/bandit-router.cjs` `computeReward()`). Cost-only deltas live in `scripts/lib/cost-arbitrage.cjs` (Phase 26-06) and are surfaced via the design-reflector.
|
|
68
|
+
|
|
69
|
+
If the posterior file does not exist (e.g., fresh install with no spawns yet, or `adaptive_mode` is `static`/`hedge`), surface "(no data yet)" for every peer.
|
|
52
70
|
|
|
53
71
|
### 6. Render the table
|
|
54
72
|
|
|
@@ -59,8 +77,8 @@ Emit the table in this exact shape:
|
|
|
59
77
|
|
|
60
78
|
| Peer | Installed | Allowlisted | Claimed roles | Posterior delta vs local |
|
|
61
79
|
|---------|-----------|-------------|--------------------------|--------------------------|
|
|
62
|
-
| codex | ✓ | ✓ | execute | -12%
|
|
63
|
-
| gemini | ✓ | ✓ | research, exploration | -8%
|
|
80
|
+
| codex | ✓ | ✓ | execute | -12% reward |
|
|
81
|
+
| gemini | ✓ | ✓ | research, exploration | -8% reward |
|
|
64
82
|
| cursor | ✗ | ✗ | debug, plan | (not installed) |
|
|
65
83
|
| copilot | ✓ | ✗ | review, research | (opt-in disabled) |
|
|
66
84
|
| qwen | ✓ | ✓ | write | (no data yet) |
|
|
@@ -73,8 +91,9 @@ Emit the table in this exact shape:
|
|
|
73
91
|
Rules for the third column ("Posterior delta vs local"):
|
|
74
92
|
- If `Installed = ✗` → `(not installed)`.
|
|
75
93
|
- Else if `Allowlisted = ✗` → `(opt-in disabled)`.
|
|
76
|
-
- Else if posterior
|
|
77
|
-
- Else
|
|
94
|
+
- Else if `.design/telemetry/posterior.json` is missing → `(no data yet)`.
|
|
95
|
+
- Else if either peer-side or local-side has fewer than 3 pulls → `(no data yet)`.
|
|
96
|
+
- Else compute the reward-delta per Step 5 and render `+X% reward`, `-X% reward`, or `~equal`.
|
|
78
97
|
|
|
79
98
|
### 7. Done
|
|
80
99
|
|