axstack 0.20.31 → 0.22.0

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 (50) hide show
  1. package/README.md +25 -23
  2. package/bin/axstack.js +17 -5
  3. package/docs/installation.md +104 -51
  4. package/docs/workflows.md +176 -131
  5. package/package.json +3 -3
  6. package/profiles/presets/claude-only.json +23 -23
  7. package/profiles/presets/codex-only.json +10 -10
  8. package/profiles/presets/mixed.json +24 -24
  9. package/skills/axstack/references/automations.md +136 -137
  10. package/skills/axstack/references/autopilot.md +30 -17
  11. package/skills/axstack/references/candidate-publication.md +13 -8
  12. package/skills/axstack/references/contracts.md +13 -12
  13. package/skills/axstack/references/design-lens.md +3 -3
  14. package/skills/axstack/references/diligence.md +3 -1
  15. package/skills/axstack/references/evidence-archive.md +38 -33
  16. package/skills/axstack/references/lifecycle.md +64 -50
  17. package/skills/axstack/references/review-manager-prompt.md +13 -11
  18. package/skills/axstack/references/role-roster.md +12 -2
  19. package/skills/axstack/references/routing.md +33 -25
  20. package/skills/axstack/references/run-record.md +35 -16
  21. package/skills/axstack/references/t3-runtime.md +237 -0
  22. package/skills/axstack/references/test-audit-weekly.md +62 -0
  23. package/skills/axstack/references/test-value.md +120 -0
  24. package/skills/axstack/references/ui-verification.md +5 -1
  25. package/skills/axstack/references/workspace-hygiene.md +102 -156
  26. package/skills/axstack/scripts/pr-digest.js +120 -0
  27. package/skills/axstack/scripts/resolve-models.js +102 -38
  28. package/skills/axstack-align/SKILL.md +19 -56
  29. package/skills/axstack-audit/SKILL.md +12 -3
  30. package/skills/axstack-audit/references/record.md +1 -1
  31. package/skills/axstack-brainstorm/SKILL.md +24 -0
  32. package/skills/axstack-brainstorm/references/arena.md +56 -0
  33. package/skills/axstack-cleanup/SKILL.md +69 -87
  34. package/skills/axstack-debug/SKILL.md +1 -1
  35. package/skills/axstack-explain/SKILL.md +1 -1
  36. package/skills/axstack-explain/references/visual-qa.md +2 -0
  37. package/skills/axstack-implement/SKILL.md +56 -20
  38. package/skills/axstack-improve/SKILL.md +24 -4
  39. package/skills/axstack-relay/SKILL.md +8 -6
  40. package/skills/axstack-research/SKILL.md +11 -4
  41. package/skills/axstack-review/SKILL.md +34 -30
  42. package/skills/axstack-spec/SKILL.md +18 -13
  43. package/skills/axstack-tickets/SKILL.md +7 -8
  44. package/skills/axstack-watch/SKILL.md +97 -27
  45. package/skills/axstack-watch/references/watch-runtime.md +51 -66
  46. package/src/capabilities.js +33 -69
  47. package/src/installer.js +1 -1
  48. package/src/instructions.js +9 -4
  49. package/skills/axstack/references/orca-runtime.md +0 -202
  50. package/skills/axstack/scripts/trust-path.js +0 -123
@@ -16,7 +16,7 @@
16
16
  "provider": "claude",
17
17
  "modeId": "bypassPermissions",
18
18
  "thinkingOptionId": "xhigh",
19
- "notes": "Independent Opus adviser for Align, Spec, and debug L1; authors the Claude arena candidate. Same bounded evidence and question as Astra; reuse only unchanged receipts. Claude alias resolves at first launch; a Claude rejection holds.",
19
+ "notes": "Independent Opus adviser for Align, Spec, and debug L1; authors the Claude arena candidate. Same bounded evidence and question as Astra; reuse only unchanged receipts. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
20
20
  "modelClass": "opus"
21
21
  },
22
22
  {
@@ -25,7 +25,7 @@
25
25
  "provider": "claude",
26
26
  "modeId": "bypassPermissions",
27
27
  "thinkingOptionId": "medium",
28
- "notes": "Persistent PR owner: one owner per PR, accountable for candidate, fixes, verification evidence, and monitoring. May delegate coding but never edits a worker-owned candidate concurrently. Launches eligible independent reviewers. Claude alias resolves at first launch; a Claude rejection holds.",
28
+ "notes": "Persistent PR owner: one owner per PR, accountable for candidate, fixes, verification evidence, and monitoring. May delegate coding but never edits a worker-owned candidate concurrently. Launches eligible independent reviewers. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
29
29
  "modelClass": "opus"
30
30
  },
31
31
  {
@@ -34,7 +34,7 @@
34
34
  "provider": "claude",
35
35
  "modeId": "bypassPermissions",
36
36
  "thinkingOptionId": "medium",
37
- "notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate. Claude alias resolves at first launch; a Claude rejection holds.",
37
+ "notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
38
38
  "modelClass": "opus"
39
39
  },
40
40
  {
@@ -43,7 +43,7 @@
43
43
  "provider": "claude",
44
44
  "modeId": "bypassPermissions",
45
45
  "thinkingOptionId": "medium",
46
- "notes": "Primary reviewer in the ordered claude-only peer pair: Opus medium followed by Sonnet high. Never author or owner; review exact SHA and base across all six angles and acceptance. Peer first pass stays isolated. Claude alias resolves at first launch; a Claude rejection holds.",
46
+ "notes": "Primary reviewer in the ordered claude-only peer pair: Opus medium followed by Sonnet high. Never author or owner; review exact SHA and base across all six angles and acceptance. Peer first pass stays isolated. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
47
47
  "modelClass": "opus"
48
48
  },
49
49
  {
@@ -52,7 +52,7 @@
52
52
  "provider": "claude",
53
53
  "modeId": "bypassPermissions",
54
54
  "thinkingOptionId": "high",
55
- "notes": "Secondary reviewer in the ordered claude-only peer pair: Opus medium followed by Sonnet high. Eligible authored reviewer for an Opus-authored candidate. Never author or owner; review exact SHA and base across all six angles and acceptance. Peer first pass stays isolated. Claude alias resolves at first launch; a Claude rejection holds.",
55
+ "notes": "Secondary reviewer in the ordered claude-only peer pair: Opus medium followed by Sonnet high. Eligible authored reviewer for an Opus-authored candidate. Never author or owner; review exact SHA and base across all six angles and acceptance. Peer first pass stays isolated. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
56
56
  "modelClass": "sonnet"
57
57
  },
58
58
  {
@@ -61,7 +61,7 @@
61
61
  "provider": "claude",
62
62
  "modeId": "bypassPermissions",
63
63
  "thinkingOptionId": "high",
64
- "notes": "Read-only diligence for exact-revision PRs and bounded research, spec, ticket, receipt, and release claims. Returns PASS or FINDINGS with evidence; never authors or edits. Claude alias resolves at first launch; a Claude rejection holds.",
64
+ "notes": "Read-only diligence for exact-revision PRs and bounded research, spec, ticket, receipt, and release claims. Returns PASS or FINDINGS with evidence; never authors or edits. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
65
65
  "modelClass": "sonnet"
66
66
  },
67
67
  {
@@ -70,7 +70,7 @@
70
70
  "provider": "claude",
71
71
  "modeId": "bypassPermissions",
72
72
  "thinkingOptionId": "high",
73
- "notes": "Report-only discrepancy checker for the selected external tracker (Linear or GitHub Issues). Never mutates the tracker; the driver independently verifies evidence before applying updates. A null model means explicit user selection is required before dispatch and must never launch a provider default. Claude alias resolves at first launch; a Claude rejection holds.",
73
+ "notes": "Report-only discrepancy checker for the selected external tracker (Linear or GitHub Issues). Never mutates the tracker; the driver independently verifies evidence before applying updates. An intentionally absent role stays absent; configured null-model bindings resolve from saved T3 capabilities. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
74
74
  "modelClass": "sonnet"
75
75
  },
76
76
  {
@@ -79,7 +79,7 @@
79
79
  "provider": "claude",
80
80
  "modeId": "bypassPermissions",
81
81
  "thinkingOptionId": "high",
82
- "notes": "Sonnet high research requirements analyst: scopes bounded questions and acceptance for a research task. Claude alias resolves at first launch; a Claude rejection holds.",
82
+ "notes": "Sonnet high research requirements analyst: scopes bounded questions and acceptance for a research task. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
83
83
  "modelClass": "sonnet"
84
84
  },
85
85
  {
@@ -88,7 +88,7 @@
88
88
  "provider": "claude",
89
89
  "modeId": "bypassPermissions",
90
90
  "thinkingOptionId": "high",
91
- "notes": "Sonnet high research code investigator: verifies behavior against inspected code and executable evidence. Claude alias resolves at first launch; a Claude rejection holds.",
91
+ "notes": "Sonnet high research code investigator: verifies behavior against inspected code and executable evidence. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
92
92
  "modelClass": "sonnet"
93
93
  },
94
94
  {
@@ -106,7 +106,7 @@
106
106
  "provider": "claude",
107
107
  "modeId": "bypassPermissions",
108
108
  "thinkingOptionId": "high",
109
- "notes": "Sonnet high research web reader: gathers primary-source facts efficiently. Claude alias resolves at first launch; a Claude rejection holds.",
109
+ "notes": "Sonnet high research web reader: gathers primary-source facts efficiently. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
110
110
  "modelClass": "sonnet"
111
111
  },
112
112
  {
@@ -133,7 +133,7 @@
133
133
  "provider": "claude",
134
134
  "modeId": "bypassPermissions",
135
135
  "thinkingOptionId": "high",
136
- "notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable. Claude alias resolves at first launch; a Claude rejection holds.",
136
+ "notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
137
137
  "modelClass": "sonnet"
138
138
  },
139
139
  {
@@ -142,7 +142,7 @@
142
142
  "provider": "claude",
143
143
  "modeId": "bypassPermissions",
144
144
  "thinkingOptionId": "high",
145
- "notes": "Independent visual explanation reviewer: checks the exact artifact for text and source fidelity. The rendered pass belongs to axstack-ui-verifier. Any artifact change invalidates its review. Claude alias resolves at first launch; a Claude rejection holds.",
145
+ "notes": "Independent visual explanation reviewer: checks the exact artifact for text and source fidelity. The rendered pass belongs to axstack-ui-verifier. Any artifact change invalidates its review. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
146
146
  "modelClass": "sonnet"
147
147
  },
148
148
  {
@@ -151,7 +151,7 @@
151
151
  "provider": "claude",
152
152
  "modeId": "bypassPermissions",
153
153
  "thinkingOptionId": "high",
154
- "notes": "Read-only UI verifier: runs Playwright or the browser against the given build, URL, or artifact; captures screenshots, interactions, accessibility, desktop/mobile, and reduced-motion evidence in the dispatch evidence folder; returns a verdict with evidence paths. Never edits source. Claude alias resolves at first launch; a Claude rejection holds.",
154
+ "notes": "Read-only UI verifier: uses T3 preview_* tools against the given build, URL, or artifact; captures screenshots, interactions, accessibility, desktop/mobile, and reduced-motion evidence in the dispatch evidence folder; returns a verdict with evidence paths. Never edits source. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
155
155
  "modelClass": "sonnet"
156
156
  },
157
157
  {
@@ -160,7 +160,7 @@
160
160
  "provider": "claude",
161
161
  "modeId": "bypassPermissions",
162
162
  "thinkingOptionId": "high",
163
- "notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Claude alias resolves at first launch; a Claude rejection holds.",
163
+ "notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
164
164
  "modelClass": "sonnet"
165
165
  },
166
166
  {
@@ -169,7 +169,7 @@
169
169
  "provider": "claude",
170
170
  "modeId": "bypassPermissions",
171
171
  "thinkingOptionId": "high",
172
- "notes": "Sonnet high execution explorer: runs bounded checks of runtime behavior where authorized. Claude alias resolves at first launch; a Claude rejection holds.",
172
+ "notes": "Sonnet high execution explorer: runs bounded checks of runtime behavior where authorized. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
173
173
  "modelClass": "sonnet"
174
174
  },
175
175
  {
@@ -187,7 +187,7 @@
187
187
  "provider": "claude",
188
188
  "modeId": "bypassPermissions",
189
189
  "thinkingOptionId": "high",
190
- "notes": "Optional Sonnet high independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet. Chat-run mode: one same-host native read-only observer per Run; fresh finite passes report precise deltas internally to the original Run/driver and may disable/read back only their own automation at verified stop. No repair, dispatch, public notification, or replacement coordinator. Effective scheduled model/effort and wake require live proof. Claude alias resolves at first launch; a Claude rejection holds.",
190
+ "notes": "Optional Sonnet high independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet. Chat-run mode: one same-host native read-only observer per Run; fresh finite passes report precise deltas internally to the original Run/driver and may disable/read back only their own automation at verified stop. No repair, dispatch, public notification, or replacement coordinator. Effective scheduled model/effort and wake require live proof. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
191
191
  "modelClass": "sonnet"
192
192
  },
193
193
  {
@@ -196,7 +196,7 @@
196
196
  "provider": "claude",
197
197
  "modeId": "bypassPermissions",
198
198
  "thinkingOptionId": "high",
199
- "notes": "Sonnet high read-only end-of-run and checkpoint auditor. Collects scope and outcome evidence with counts and denominators and reports PASS, FAIL, or UNKNOWN without inventing numbers. Never edits, merges, activates, or audits itself. Claude alias resolves at first launch; a Claude rejection holds.",
199
+ "notes": "Sonnet high read-only end-of-run and checkpoint auditor. Collects scope and outcome evidence with counts and denominators and reports PASS, FAIL, or UNKNOWN without inventing numbers. Never edits, merges, activates, or audits itself. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
200
200
  "modelClass": "sonnet"
201
201
  },
202
202
  {
@@ -214,7 +214,7 @@
214
214
  "provider": "claude",
215
215
  "modeId": "bypassPermissions",
216
216
  "thinkingOptionId": "medium",
217
- "notes": "Debug investigator seat 1. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. This preset repeats the Opus class at medium effort because it has fewer model families. Claude alias resolves at first launch; a Claude rejection holds.",
217
+ "notes": "Debug investigator seat 1. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. This preset repeats the Opus class at medium effort because it has fewer model families. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
218
218
  "modelClass": "opus"
219
219
  },
220
220
  {
@@ -223,7 +223,7 @@
223
223
  "provider": "claude",
224
224
  "modeId": "bypassPermissions",
225
225
  "thinkingOptionId": "high",
226
- "notes": "Debug investigator seat 2. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. This preset repeats the Sonnet class at high effort because it has fewer model families; independence comes from brief isolation. Claude alias resolves at first launch; a Claude rejection holds.",
226
+ "notes": "Debug investigator seat 2. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. This preset repeats the Sonnet class at high effort because it has fewer model families; independence comes from brief isolation. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
227
227
  "modelClass": "sonnet"
228
228
  },
229
229
  {
@@ -232,7 +232,7 @@
232
232
  "provider": "claude",
233
233
  "modeId": "bypassPermissions",
234
234
  "thinkingOptionId": "medium",
235
- "notes": "Debug investigator seat 3. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. This preset repeats the Opus class at medium effort because it has fewer model families. Claude alias resolves at first launch; a Claude rejection holds.",
235
+ "notes": "Debug investigator seat 3. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. This preset repeats the Opus class at medium effort because it has fewer model families. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
236
236
  "modelClass": "opus"
237
237
  },
238
238
  {
@@ -241,7 +241,7 @@
241
241
  "provider": "claude",
242
242
  "modeId": "bypassPermissions",
243
243
  "thinkingOptionId": "high",
244
- "notes": "Debug investigator seat 4. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. This preset repeats the Sonnet class at high effort because it has fewer model families; independence comes from brief isolation. Claude alias resolves at first launch; a Claude rejection holds.",
244
+ "notes": "Debug investigator seat 4. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. This preset repeats the Sonnet class at high effort because it has fewer model families; independence comes from brief isolation. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
245
245
  "modelClass": "sonnet"
246
246
  },
247
247
  {
@@ -259,7 +259,7 @@
259
259
  "provider": "claude",
260
260
  "modeId": "bypassPermissions",
261
261
  "thinkingOptionId": "xhigh",
262
- "notes": "Fable escalation seat for arena round 2, high-stakes plain AGREE, or the bounded escalation trigger. Fresh session per use; never reuses adviser or candidate context. Read-only round 2 judge: scores every candidate by label; never authors a candidate. Claude alias resolves at first launch; a Claude rejection holds.",
262
+ "notes": "Fable escalation seat for arena round 2, high-stakes plain AGREE, or the bounded escalation trigger. Fresh session per use; never reuses adviser or candidate context. Read-only round 2 judge: scores every candidate by label; never authors a candidate. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
263
263
  "modelClass": "fable"
264
264
  },
265
265
  {
@@ -268,7 +268,7 @@
268
268
  "provider": "claude",
269
269
  "modeId": "bypassPermissions",
270
270
  "thinkingOptionId": "xhigh",
271
- "notes": "Read-only round 1 arena judge. Receives the rubric and every candidate by label, scores each criterion, and recommends a base with rationale. Never authors a candidate, never cross-reads another judge, never mutates; the driver compares its verdict without averaging. Claude alias resolves at first launch; a Claude rejection holds.",
271
+ "notes": "Read-only round 1 arena judge. Receives the rubric and every candidate by label, scores each criterion, and recommends a base with rationale. Never authors a candidate, never cross-reads another judge, never mutates; the driver compares its verdict without averaging. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
272
272
  "modelClass": "opus"
273
273
  },
274
274
  {
@@ -34,7 +34,7 @@
34
34
  "provider": "codex",
35
35
  "modeId": "full-access",
36
36
  "thinkingOptionId": "high",
37
- "notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
37
+ "notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
38
38
  "modelClass": "sol"
39
39
  },
40
40
  {
@@ -70,7 +70,7 @@
70
70
  "provider": "codex",
71
71
  "modeId": "full-access",
72
72
  "thinkingOptionId": "low",
73
- "notes": "Report-only discrepancy checker for the selected external tracker (Linear or GitHub Issues). Never mutates the tracker; the driver independently verifies evidence before applying updates. A null model means explicit user selection is required before dispatch and must never launch a provider default.",
73
+ "notes": "Report-only discrepancy checker for the selected external tracker (Linear or GitHub Issues). Never mutates the tracker; the driver independently verifies evidence before applying updates. An intentionally absent role stays absent; configured null-model bindings resolve from saved T3 capabilities.",
74
74
  "modelClass": "luna"
75
75
  },
76
76
  {
@@ -79,7 +79,7 @@
79
79
  "provider": "codex",
80
80
  "modeId": "full-access",
81
81
  "thinkingOptionId": "medium",
82
- "notes": "Research requirements analyst: scopes bounded questions and acceptance for a research task. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
82
+ "notes": "Research requirements analyst: scopes bounded questions and acceptance for a research task. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
83
83
  "modelClass": "astra"
84
84
  },
85
85
  {
@@ -88,7 +88,7 @@
88
88
  "provider": "codex",
89
89
  "modeId": "full-access",
90
90
  "thinkingOptionId": "high",
91
- "notes": "Research code investigator: verifies behavior against inspected code and executable evidence. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
91
+ "notes": "Research code investigator: verifies behavior against inspected code and executable evidence. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
92
92
  "modelClass": "sol"
93
93
  },
94
94
  {
@@ -106,7 +106,7 @@
106
106
  "provider": "codex",
107
107
  "modeId": "full-access",
108
108
  "thinkingOptionId": "low",
109
- "notes": "Research web reader: gathers primary-source facts efficiently. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
109
+ "notes": "Research web reader: gathers primary-source facts efficiently. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
110
110
  "modelClass": "sol"
111
111
  },
112
112
  {
@@ -133,7 +133,7 @@
133
133
  "provider": "codex",
134
134
  "modeId": "full-access",
135
135
  "thinkingOptionId": "high",
136
- "notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
136
+ "notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
137
137
  "modelClass": "sol"
138
138
  },
139
139
  {
@@ -142,7 +142,7 @@
142
142
  "provider": "codex",
143
143
  "modeId": "full-access",
144
144
  "thinkingOptionId": "xhigh",
145
- "notes": "Independent visual explanation reviewer: checks the exact artifact for text and source fidelity. The rendered pass belongs to axstack-ui-verifier. Any artifact change invalidates its review. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
145
+ "notes": "Independent visual explanation reviewer: checks the exact artifact for text and source fidelity. The rendered pass belongs to axstack-ui-verifier. Any artifact change invalidates its review. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
146
146
  "modelClass": "luna"
147
147
  },
148
148
  {
@@ -151,7 +151,7 @@
151
151
  "provider": "codex",
152
152
  "modeId": "full-access",
153
153
  "thinkingOptionId": "medium",
154
- "notes": "Read-only UI verifier: runs Playwright or the browser against the given build, URL, or artifact; captures screenshots, interactions, accessibility, desktop/mobile, and reduced-motion evidence in the dispatch evidence folder; returns a verdict with evidence paths. Never edits source. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
154
+ "notes": "Read-only UI verifier: uses T3 preview_* tools against the given build, URL, or artifact; captures screenshots, interactions, accessibility, desktop/mobile, and reduced-motion evidence in the dispatch evidence folder; returns a verdict with evidence paths. Never edits source. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
155
155
  "modelClass": "sol"
156
156
  },
157
157
  {
@@ -160,7 +160,7 @@
160
160
  "provider": "codex",
161
161
  "modeId": "full-access",
162
162
  "thinkingOptionId": "high",
163
- "notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
163
+ "notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
164
164
  "modelClass": "sol"
165
165
  },
166
166
  {
@@ -169,7 +169,7 @@
169
169
  "provider": "codex",
170
170
  "modeId": "full-access",
171
171
  "thinkingOptionId": "high",
172
- "notes": "Execution explorer: runs bounded checks of runtime behavior where authorized. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
172
+ "notes": "Execution explorer: runs bounded checks of runtime behavior where authorized. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
173
173
  "modelClass": "sol"
174
174
  },
175
175
  {
@@ -16,7 +16,7 @@
16
16
  "provider": "claude",
17
17
  "modeId": "bypassPermissions",
18
18
  "thinkingOptionId": "xhigh",
19
- "notes": "Independent Opus adviser for Align, Spec, and debug L1; authors the Claude arena candidate. Same bounded evidence and question as Astra; reuse only unchanged receipts. Claude alias resolves at first launch; a Claude rejection holds.",
19
+ "notes": "Independent Opus adviser for Align, Spec, and debug L1; authors the Claude arena candidate. Same bounded evidence and question as Astra; reuse only unchanged receipts. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
20
20
  "modelClass": "opus"
21
21
  },
22
22
  {
@@ -25,7 +25,7 @@
25
25
  "provider": "claude",
26
26
  "modeId": "bypassPermissions",
27
27
  "thinkingOptionId": "medium",
28
- "notes": "Persistent PR owner: one owner per PR, accountable for candidate, fixes, verification evidence, and monitoring. May delegate coding but never edits a worker-owned candidate concurrently. Launches eligible independent reviewers. Claude alias resolves at first launch; a Claude rejection holds.",
28
+ "notes": "Persistent PR owner: one owner per PR, accountable for candidate, fixes, verification evidence, and monitoring. May delegate coding but never edits a worker-owned candidate concurrently. Launches eligible independent reviewers. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
29
29
  "modelClass": "opus"
30
30
  },
31
31
  {
@@ -34,7 +34,7 @@
34
34
  "provider": "codex",
35
35
  "modeId": "full-access",
36
36
  "thinkingOptionId": "high",
37
- "notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
37
+ "notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
38
38
  "modelClass": "sol"
39
39
  },
40
40
  {
@@ -52,7 +52,7 @@
52
52
  "provider": "claude",
53
53
  "modeId": "bypassPermissions",
54
54
  "thinkingOptionId": "medium",
55
- "notes": "Secondary reviewer in the ordered mixed peer pair: Sol high followed by Opus medium. Eligible authored reviewer for a Sol-authored candidate. Never author or owner; review exact SHA and base across all six angles and acceptance. Peer first pass stays isolated. Claude alias resolves at first launch; a Claude rejection holds.",
55
+ "notes": "Secondary reviewer in the ordered mixed peer pair: Sol high followed by Opus medium. Eligible authored reviewer for a Sol-authored candidate. Never author or owner; review exact SHA and base across all six angles and acceptance. Peer first pass stays isolated. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
56
56
  "modelClass": "opus"
57
57
  },
58
58
  {
@@ -61,7 +61,7 @@
61
61
  "provider": "claude",
62
62
  "modeId": "bypassPermissions",
63
63
  "thinkingOptionId": "high",
64
- "notes": "Read-only diligence for exact-revision PRs and bounded research, spec, ticket, receipt, and release claims. Returns PASS or FINDINGS with evidence; never authors or edits. Claude alias resolves at first launch; a Claude rejection holds.",
64
+ "notes": "Read-only diligence for exact-revision PRs and bounded research, spec, ticket, receipt, and release claims. Returns PASS or FINDINGS with evidence; never authors or edits. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
65
65
  "modelClass": "sonnet"
66
66
  },
67
67
  {
@@ -71,7 +71,7 @@
71
71
  "model": null,
72
72
  "modeId": "full-access",
73
73
  "thinkingOptionId": "low",
74
- "notes": "Report-only discrepancy checker for the selected external tracker (Linear or GitHub Issues). Never mutates the tracker; the driver independently verifies evidence before applying updates. Cheap report-only seat on Gemini Flash; launch by agent id antigravity."
74
+ "notes": "Report-only discrepancy checker for the selected external tracker (Linear or GitHub Issues). Never mutates the tracker; the driver independently verifies evidence before applying updates. Cheap report-only seat on Gemini Flash; dispatch through the T3 Antigravity ACP provider."
75
75
  },
76
76
  {
77
77
  "id": "axstack-research-requirements",
@@ -79,7 +79,7 @@
79
79
  "provider": "claude",
80
80
  "modeId": "bypassPermissions",
81
81
  "thinkingOptionId": "high",
82
- "notes": "Sonnet high research requirements analyst: scopes bounded questions and acceptance for a research task. Claude alias resolves at first launch; a Claude rejection holds.",
82
+ "notes": "Sonnet high research requirements analyst: scopes bounded questions and acceptance for a research task. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
83
83
  "modelClass": "sonnet"
84
84
  },
85
85
  {
@@ -88,7 +88,7 @@
88
88
  "provider": "claude",
89
89
  "modeId": "bypassPermissions",
90
90
  "thinkingOptionId": "high",
91
- "notes": "Sonnet high research code investigator: verifies behavior against inspected code and executable evidence. Claude alias resolves at first launch; a Claude rejection holds.",
91
+ "notes": "Sonnet high research code investigator: verifies behavior against inspected code and executable evidence. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
92
92
  "modelClass": "sonnet"
93
93
  },
94
94
  {
@@ -106,7 +106,7 @@
106
106
  "provider": "claude",
107
107
  "modeId": "bypassPermissions",
108
108
  "thinkingOptionId": "high",
109
- "notes": "Sonnet high research web reader: gathers primary-source facts efficiently. Claude alias resolves at first launch; a Claude rejection holds.",
109
+ "notes": "Sonnet high research web reader: gathers primary-source facts efficiently. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
110
110
  "modelClass": "sonnet"
111
111
  },
112
112
  {
@@ -116,7 +116,7 @@
116
116
  "model": null,
117
117
  "modeId": "full-access",
118
118
  "thinkingOptionId": "high",
119
- "notes": "Google-Search-grounded web research branch on Gemini via the Antigravity CLI; launch by agent id antigravity; model selected by the TUI default (Gemini 3.8 Flash High observed 2026-09-19; ids from agy models: gemini-3.8-flash-{low,medium,high}, gemini-3.1-pro-{low,high}); cites URL + access date per claim and re-opens sources because the CLI's search citation format is undocumented; report-only."
119
+ "notes": "Google-Search-grounded web research branch on Gemini via the T3 Antigravity ACP provider; resolve the model from saved T3 capabilities; cites URL + access date per claim and re-opens sources because the provider's search citation format is undocumented; report-only."
120
120
  },
121
121
  {
122
122
  "id": "axstack-research-x",
@@ -125,7 +125,7 @@
125
125
  "model": null,
126
126
  "modeId": "full-access",
127
127
  "thinkingOptionId": "high",
128
- "notes": "X/Twitter-only research branch: Grok can read X; use for questions where posts, threads, announcements, or sentiment on X are answer-changing evidence. Cites post URLs and dates; never the sole source for a verified claim; report-only, no writes. Launch by agent id grok; model selected by the Grok TUI default."
128
+ "notes": "X/Twitter-only research branch: Grok can read X; use for questions where posts, threads, announcements, or sentiment on X are answer-changing evidence. Cites post URLs and dates; never the sole source for a verified claim; report-only, no writes. Use the T3 Grok provider and resolve the model from saved capabilities."
129
129
  },
130
130
  {
131
131
  "id": "axstack-explainer",
@@ -133,7 +133,7 @@
133
133
  "provider": "claude",
134
134
  "modeId": "bypassPermissions",
135
135
  "thinkingOptionId": "high",
136
- "notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable. Claude alias resolves at first launch; a Claude rejection holds.",
136
+ "notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
137
137
  "modelClass": "sonnet"
138
138
  },
139
139
  {
@@ -142,7 +142,7 @@
142
142
  "provider": "codex",
143
143
  "modeId": "full-access",
144
144
  "thinkingOptionId": "xhigh",
145
- "notes": "Independent visual explanation reviewer: checks the exact artifact for text and source fidelity. The rendered pass belongs to axstack-ui-verifier. Any artifact change invalidates its review. Resolve the class at run start; hold unavailable models except explicit pre-turn Codex rejection within class.",
145
+ "notes": "Independent visual explanation reviewer: checks the exact artifact for text and source fidelity. The rendered pass belongs to axstack-ui-verifier. Any artifact change invalidates its review. Resolve the class from saved T3 capabilities at run start; rejection and unavailable settings hold without substitution.",
146
146
  "modelClass": "luna"
147
147
  },
148
148
  {
@@ -151,7 +151,7 @@
151
151
  "provider": "claude",
152
152
  "modeId": "bypassPermissions",
153
153
  "thinkingOptionId": "high",
154
- "notes": "Read-only UI verifier: runs Playwright or the browser against the given build, URL, or artifact; captures screenshots, interactions, accessibility, desktop/mobile, and reduced-motion evidence in the dispatch evidence folder; returns a verdict with evidence paths. Never edits source. Claude alias resolves at first launch; a Claude rejection holds.",
154
+ "notes": "Read-only UI verifier: uses T3 preview_* tools against the given build, URL, or artifact; captures screenshots, interactions, accessibility, desktop/mobile, and reduced-motion evidence in the dispatch evidence folder; returns a verdict with evidence paths. Never edits source. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
155
155
  "modelClass": "sonnet"
156
156
  },
157
157
  {
@@ -160,7 +160,7 @@
160
160
  "provider": "claude",
161
161
  "modeId": "bypassPermissions",
162
162
  "thinkingOptionId": "high",
163
- "notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Claude alias resolves at first launch; a Claude rejection holds.",
163
+ "notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
164
164
  "modelClass": "sonnet"
165
165
  },
166
166
  {
@@ -169,7 +169,7 @@
169
169
  "provider": "claude",
170
170
  "modeId": "bypassPermissions",
171
171
  "thinkingOptionId": "high",
172
- "notes": "Sonnet high execution explorer: runs bounded checks of runtime behavior where authorized. Claude alias resolves at first launch; a Claude rejection holds.",
172
+ "notes": "Sonnet high execution explorer: runs bounded checks of runtime behavior where authorized. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
173
173
  "modelClass": "sonnet"
174
174
  },
175
175
  {
@@ -187,7 +187,7 @@
187
187
  "provider": "claude",
188
188
  "modeId": "bypassPermissions",
189
189
  "thinkingOptionId": "high",
190
- "notes": "Optional Sonnet high independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet. Chat-run mode: one same-host native read-only observer per Run; fresh finite passes report precise deltas internally to the original Run/driver and may disable/read back only their own automation at verified stop. No repair, dispatch, public notification, or replacement coordinator. Effective scheduled model/effort and wake require live proof. Claude alias resolves at first launch; a Claude rejection holds.",
190
+ "notes": "Optional Sonnet high independent read-only observer for a standalone PR watch. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, authors, reviews, replies, or acts as either reusable PR manager. Healthy snapshots stay quiet. Chat-run mode: one same-host native read-only observer per Run; fresh finite passes report precise deltas internally to the original Run/driver and may disable/read back only their own automation at verified stop. No repair, dispatch, public notification, or replacement coordinator. Effective scheduled model/effort and wake require live proof. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
191
191
  "modelClass": "sonnet"
192
192
  },
193
193
  {
@@ -196,7 +196,7 @@
196
196
  "provider": "claude",
197
197
  "modeId": "bypassPermissions",
198
198
  "thinkingOptionId": "high",
199
- "notes": "Sonnet high read-only end-of-run and checkpoint auditor. Collects scope and outcome evidence with counts and denominators and reports PASS, FAIL, or UNKNOWN without inventing numbers. Never edits, merges, activates, or audits itself. Claude alias resolves at first launch; a Claude rejection holds.",
199
+ "notes": "Sonnet high read-only end-of-run and checkpoint auditor. Collects scope and outcome evidence with counts and denominators and reports PASS, FAIL, or UNKNOWN without inventing numbers. Never edits, merges, activates, or audits itself. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
200
200
  "modelClass": "sonnet"
201
201
  },
202
202
  {
@@ -214,7 +214,7 @@
214
214
  "provider": "claude",
215
215
  "modeId": "bypassPermissions",
216
216
  "thinkingOptionId": "medium",
217
- "notes": "Debug investigator seat 1. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. Claude alias resolves at first launch; a Claude rejection holds.",
217
+ "notes": "Debug investigator seat 1. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
218
218
  "modelClass": "opus"
219
219
  },
220
220
  {
@@ -232,7 +232,7 @@
232
232
  "provider": "claude",
233
233
  "modeId": "bypassPermissions",
234
234
  "thinkingOptionId": "high",
235
- "notes": "Debug investigator seat 3. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. Claude alias resolves at first launch; a Claude rejection holds.",
235
+ "notes": "Debug investigator seat 3. Dispatched only by axstack-debug at L1 with the shared evidence packet and one distinct brief; never reads another investigator's output. Works in its own disposable worktree at the pinned revision plus the recorded dirty patch; may instrument there for probes; never commits, pushes, publishes, or creates children. Returns one receipt per brief. Independence comes from brief isolation, not model diversity. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
236
236
  "modelClass": "sonnet"
237
237
  },
238
238
  {
@@ -259,7 +259,7 @@
259
259
  "provider": "claude",
260
260
  "modeId": "bypassPermissions",
261
261
  "thinkingOptionId": "xhigh",
262
- "notes": "Fable escalation seat for arena round 2, high-stakes plain AGREE, or the bounded escalation trigger. Fresh session per use; never reuses adviser or candidate context. Read-only round 2 judge: scores every candidate by label; never authors a candidate. Claude alias resolves at first launch; a Claude rejection holds.",
262
+ "notes": "Fable escalation seat for arena round 2, high-stakes plain AGREE, or the bounded escalation trigger. Fresh session per use; never reuses adviser or candidate context. Read-only round 2 judge: scores every candidate by label; never authors a candidate. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
263
263
  "modelClass": "fable"
264
264
  },
265
265
  {
@@ -268,7 +268,7 @@
268
268
  "provider": "claude",
269
269
  "modeId": "bypassPermissions",
270
270
  "thinkingOptionId": "xhigh",
271
- "notes": "Read-only round 1 arena judge. Receives the rubric and every candidate by label, scores each criterion, and recommends a base with rationale. Never authors a candidate, never cross-reads another judge, never mutates; the driver compares its verdict without averaging. Claude alias resolves at first launch; a Claude rejection holds.",
271
+ "notes": "Read-only round 1 arena judge. Receives the rubric and every candidate by label, scores each criterion, and recommends a base with rationale. Never authors a candidate, never cross-reads another judge, never mutates; the driver compares its verdict without averaging. T3 resolves Claude classes from saved capabilities; a Claude rejection holds.",
272
272
  "modelClass": "opus"
273
273
  },
274
274
  {
@@ -278,7 +278,7 @@
278
278
  "model": null,
279
279
  "modeId": "full-access",
280
280
  "thinkingOptionId": "high",
281
- "notes": "Independent Grok Rung 2 design candidate. Launch by agent id grok; model selected by the TUI default. Receives the same brief without cross-reading; returns design, rationale, and rejected alternatives."
281
+ "notes": "Independent Grok Rung 2 design candidate. Use the T3 Grok provider and resolve the model from saved capabilities. Receives the same brief without cross-reading; returns design, rationale, and rejected alternatives."
282
282
  },
283
283
  {
284
284
  "id": "axstack-arena-candidate-antigravity",
@@ -287,7 +287,7 @@
287
287
  "model": null,
288
288
  "modeId": "full-access",
289
289
  "thinkingOptionId": "high",
290
- "notes": "Independent Antigravity Rung 2 design candidate. Launch by agent id antigravity; model selected by the TUI default. Receives the same brief without cross-reading; returns design, rationale, and rejected alternatives."
290
+ "notes": "Independent Antigravity Rung 2 design candidate. Use the T3 Antigravity ACP provider and resolve the model from saved capabilities. Receives the same brief without cross-reading; returns design, rationale, and rejected alternatives."
291
291
  }
292
292
  ]
293
293
  }