axstack 0.20.29 → 0.20.31
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/README.md +6 -4
- package/bin/axstack.js +1 -0
- package/docs/installation.md +20 -9
- package/docs/workflows.md +42 -17
- package/package.json +1 -1
- package/profiles/presets/claude-only.json +81 -45
- package/profiles/presets/codex-only.json +78 -42
- package/profiles/presets/mixed.json +83 -47
- package/skills/axstack/references/autopilot.md +108 -0
- package/skills/axstack/references/candidate-publication.md +9 -0
- package/skills/axstack/references/contracts.md +5 -1
- package/skills/axstack/references/diligence.md +23 -0
- package/skills/axstack/references/lifecycle.md +2 -2
- package/skills/axstack/references/orca-runtime.md +25 -6
- package/skills/axstack/references/role-roster.md +37 -0
- package/skills/axstack/references/routing.md +19 -31
- package/skills/axstack/references/run-record.md +2 -0
- package/skills/axstack/scripts/resolve-models.js +46 -0
- package/skills/axstack-align/SKILL.md +8 -4
- package/skills/axstack-audit/SKILL.md +15 -2
- package/skills/axstack-implement/SKILL.md +30 -11
- package/skills/axstack-improve/SKILL.md +5 -0
- package/skills/axstack-relay/SKILL.md +9 -2
- package/skills/axstack-research/SKILL.md +14 -2
- package/skills/axstack-review/SKILL.md +29 -13
- package/skills/axstack-spec/SKILL.md +8 -1
- package/skills/axstack-tickets/SKILL.md +9 -3
- package/skills/axstack-watch/SKILL.md +27 -13
- package/skills/axstack-watch/references/watch-runtime.md +11 -4
- package/src/installer.js +8 -0
- package/src/roles.js +39 -11
package/README.md
CHANGED
|
@@ -100,15 +100,17 @@ upgrades, conflicts, and uninstalling.
|
|
|
100
100
|
- Agents keep accepted decisions and evidence for resume. Missing authority,
|
|
101
101
|
unavailable models, and serious risks surface as holds. The human merges by default.
|
|
102
102
|
|
|
103
|
-
Choose one explicit preset (
|
|
103
|
+
Choose one explicit preset (32 roles each): [mixed](profiles/presets/mixed.json)
|
|
104
104
|
(recommended), [codex-only](profiles/presets/codex-only.json), or
|
|
105
105
|
[claude-only](profiles/presets/claude-only.json). Mixed supports cross-provider
|
|
106
106
|
implementation review; single-provider presets have workflow limits and are
|
|
107
|
-
not automatic fallbacks when a model is unavailable. See
|
|
107
|
+
not automatic cross-class or cross-provider fallbacks when a model is unavailable. See
|
|
108
108
|
[workflow and routing details](docs/workflows.md).
|
|
109
109
|
|
|
110
|
-
In `mixed` and `claude-only`,
|
|
111
|
-
optional monitor use Claude Sonnet
|
|
110
|
+
In `mixed` and `claude-only`, auditing, requirements/code/web research,
|
|
111
|
+
execution exploration, and the optional monitor use the Claude Sonnet class at high effort.
|
|
112
|
+
Auditing, code research, and execution exploration have independent Sol high
|
|
113
|
+
pair seats in `mixed` and `codex-only`; `claude-only` records them as absent.
|
|
112
114
|
|
|
113
115
|
## Optional PR automation
|
|
114
116
|
|
package/bin/axstack.js
CHANGED
|
@@ -337,6 +337,7 @@ async function main() {
|
|
|
337
337
|
if (summary.updated.length) console.log(`updated: ${summary.updated.join(', ')}`);
|
|
338
338
|
if (summary.addedRoleIds?.length) console.log(`added role IDs: ${summary.addedRoleIds.join(', ')}`);
|
|
339
339
|
if (summary.removedRoleIds?.length) console.log(`removed role IDs: ${summary.removedRoleIds.join(', ')}`);
|
|
340
|
+
if (summary.changedRoleModels?.length) console.log(`changed role models: ${summary.changedRoleModels.join(', ')}`);
|
|
340
341
|
if (summary.removed.length) console.log(`removed: ${summary.removed.join(', ')}`);
|
|
341
342
|
if (summary.unchanged.length) console.log(`unchanged: ${summary.unchanged.join(', ')}`);
|
|
342
343
|
}
|
package/docs/installation.md
CHANGED
|
@@ -71,7 +71,7 @@ profiles/presets/codex-only.json
|
|
|
71
71
|
profiles/presets/claude-only.json
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
Each has exactly `{ "version": 1, "roles": [...] }` with the same
|
|
74
|
+
Each has exactly `{ "version": 1, "roles": [...] }` with the same 32 stable
|
|
75
75
|
role IDs. Installation writes `<skills-dir>/axstack/roles.json` as
|
|
76
76
|
`{ "version": 1, "preset": "<selected preset>", "roles": [...] }` and records
|
|
77
77
|
its ownership hash like every other installed skill asset. There is no second
|
|
@@ -172,13 +172,19 @@ to rewrite them.
|
|
|
172
172
|
## Role behavior after installation
|
|
173
173
|
|
|
174
174
|
The runtime reads `roles.json` from the installed shared root `skills/axstack/`.
|
|
175
|
-
A new run records the selected preset plus all
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
`
|
|
175
|
+
A new run records the selected preset plus all 32 role rows. Class rows resolve
|
|
176
|
+
at run start; each role snapshot records class, exact ID, source, and time.
|
|
177
|
+
An active run and resume reuse that snapshot after a later preset install unless
|
|
178
|
+
the user explicitly changes it and accepts the resulting evidence invalidation.
|
|
179
|
+
|
|
180
|
+
The `mixed` and `claude-only` presets assign `axstack-auditor`,
|
|
181
|
+
`axstack-research-requirements`, `axstack-research-code`, `axstack-research-web`,
|
|
182
|
+
`axstack-explore-execution`, and `axstack-monitor` to the Claude Sonnet class at high effort.
|
|
181
183
|
The `codex-only` assignments for these roles are unchanged.
|
|
184
|
+
The three `-sol` pair seats for auditor, research-code, and explore-execution
|
|
185
|
+
use Sol high in `mixed` and `codex-only`; `claude-only` records intentional
|
|
186
|
+
absences. The paired seats run independently on one brief and the driver
|
|
187
|
+
reconciles their findings.
|
|
182
188
|
|
|
183
189
|
The mixed checker and `axstack-research-web-google` have provider
|
|
184
190
|
`antigravity`; mixed `axstack-research-x` has provider `grok`. All three use
|
|
@@ -193,8 +199,13 @@ receipts. For an arena-grade Align question, round 1 needs Opus; round 2, if
|
|
|
193
199
|
invoked, needs escalation Fable and Astra; a required seat that is unavailable holds that
|
|
194
200
|
round. The current chat drives on whatever
|
|
195
201
|
model runs it; no preset carries a driver role. Every other missing, invalid, unsupported, or unavailable role value holds only
|
|
196
|
-
the affected work.
|
|
197
|
-
|
|
202
|
+
the affected work. Codex class resolution reads the explicit catalog path via
|
|
203
|
+
`skills/axstack/scripts/resolve-models.js`; a missing or malformed catalog
|
|
204
|
+
holds. Claude launches an alias once per class, reads the exact ID from the
|
|
205
|
+
first assistant transcript turn, then reuses it. Only explicit model rejection
|
|
206
|
+
before that turn permits a recorded Codex retry within the same class, provider,
|
|
207
|
+
and effort. Claude rejection, timeout, quota, and auth failures hold; no
|
|
208
|
+
subscription inference or quota routing applies.
|
|
198
209
|
|
|
199
210
|
`modeId` and similar permission fields remain conservative declared intent.
|
|
200
211
|
They do not prove the effective Orca launcher mode, sandboxing, or permission
|
package/docs/workflows.md
CHANGED
|
@@ -48,28 +48,39 @@ only affected work.
|
|
|
48
48
|
|
|
49
49
|
Installation requires one explicit canonical preset. The three bundle files
|
|
50
50
|
under `profiles/presets/` each contain exactly
|
|
51
|
-
`{ "version": 1, "roles": [...] }` and the same
|
|
51
|
+
`{ "version": 1, "roles": [...] }` and the same 32 stable IDs.
|
|
52
52
|
|
|
53
53
|
The current chat drives on whatever model runs it; no preset carries a driver
|
|
54
54
|
role.
|
|
55
55
|
|
|
56
56
|
| Preset | Author | Ordered peer reviewers | Astra / Opus advisers | Auditor |
|
|
57
57
|
| --- | --- | --- | --- | --- |
|
|
58
|
-
| `mixed` | Sol high | Sol high; Opus medium | Astra high / Opus xhigh |
|
|
59
|
-
| `codex-only` | Sol high | Sol high; Luna xhigh | Astra high / unavailable | Luna xhigh |
|
|
60
|
-
| `claude-only` | Opus medium | Opus medium; Sonnet high | unavailable / Opus xhigh | Sonnet high |
|
|
61
|
-
|
|
62
|
-
In `mixed` and `claude-only`, `axstack-research-requirements`,
|
|
63
|
-
`axstack-research-web`,
|
|
64
|
-
`codex-only` keeps its Codex
|
|
58
|
+
| `mixed` | Sol high | Sol high; Opus medium | Astra high / Opus xhigh | Sonnet high + Sol high |
|
|
59
|
+
| `codex-only` | Sol high | Sol high; Luna xhigh | Astra high / unavailable | Luna xhigh + Sol high |
|
|
60
|
+
| `claude-only` | Opus medium | Opus medium; Sonnet high | unavailable / Opus xhigh | Sonnet high (Sol absent) |
|
|
61
|
+
|
|
62
|
+
In `mixed` and `claude-only`, `axstack-auditor`, `axstack-research-requirements`,
|
|
63
|
+
`axstack-research-code`, `axstack-research-web`, `axstack-explore-execution`,
|
|
64
|
+
and `axstack-monitor` use the Claude Sonnet class at high effort. `codex-only` keeps its Codex
|
|
65
|
+
assignments for those roles. Mixed web-google and X retain their source-specific
|
|
66
|
+
Antigravity and Grok routes.
|
|
67
|
+
The new `-sol` auditor, research-code, and explore-execution seats use Sol high
|
|
68
|
+
in `mixed` and `codex-only`; `claude-only` records each as intentionally absent.
|
|
69
|
+
Dispatch the base and Sol seats independently on the same brief, then reconcile
|
|
70
|
+
their findings per claim without averaging.
|
|
65
71
|
|
|
66
72
|
The installed `<skills-dir>/axstack/roles.json` adds the selected preset name:
|
|
67
73
|
`{ "version": 1, "preset": "<name>", "roles": [...] }`. The runtime reads it
|
|
68
74
|
from the installed shared root `skills/axstack/` and records the whole table for
|
|
69
|
-
a new run.
|
|
75
|
+
a new run. Per role it records class, exact ID, source, and time. Codex classes
|
|
76
|
+
resolve from a passed catalog path using `skills/axstack/scripts/resolve-models.js`;
|
|
77
|
+
missing or malformed catalogs hold. Claude's first class launch passes the alias,
|
|
78
|
+
then the first assistant transcript turn supplies the exact ID for later launches.
|
|
79
|
+
Unknown Claude IDs hold provenance-dependent work. Active runs and resume reuse
|
|
80
|
+
their snapshot after later installation changes.
|
|
70
81
|
|
|
71
82
|
Peer roles keep the stable IDs `axstack-reviewer-primary` and
|
|
72
|
-
`axstack-reviewer-secondary`; their provider/
|
|
83
|
+
`axstack-reviewer-secondary`; their provider/class mappings come only from the
|
|
73
84
|
selected preset.
|
|
74
85
|
|
|
75
86
|
The unavailable adviser in each single-provider preset stays explicitly
|
|
@@ -82,7 +93,10 @@ launchable; the run record snapshots the model the TUI reports. Missing or unava
|
|
|
82
93
|
work. Model, effort, and permission values express requested intent until real
|
|
83
94
|
Orca receipts establish the effective session. Stored `modeId` is not permission
|
|
84
95
|
parity or a sandbox. No route is inferred from subscription, quota, harness,
|
|
85
|
-
provider defaults, or installed tools
|
|
96
|
+
provider defaults, or installed tools. Only explicit model rejection before the
|
|
97
|
+
first turn permits a recorded Codex retry with `--retry-of` to the next eligible
|
|
98
|
+
model in the same class, provider, and effort. Claude rejection, timeout, quota,
|
|
99
|
+
and auth failures hold.
|
|
86
100
|
|
|
87
101
|
## Orca runtime boundary
|
|
88
102
|
|
|
@@ -195,11 +209,15 @@ keeps the current owner and a resumable record.
|
|
|
195
209
|
|
|
196
210
|
Serious security, downtime, data-loss, and major-design risks are raised in a
|
|
197
211
|
prompt immediately and hold dependent dangerous work. This is not a runtime
|
|
198
|
-
gate. An applicable `Notification policy` may use `axstack-relay` for
|
|
199
|
-
|
|
200
|
-
safe recovery
|
|
201
|
-
|
|
202
|
-
|
|
212
|
+
gate. An applicable `Notification policy` may use `axstack-relay` only for a
|
|
213
|
+
user-decision hold (including spec or npm approval and a genuine blocker after
|
|
214
|
+
bounded safe recovery), a serious-risk hold immediately, or at most two merge-ready/merged milestones per run.
|
|
215
|
+
Routine questions stay in Orca. Progress, CI pending, and completion always stay
|
|
216
|
+
in Orca.
|
|
217
|
+
Only the bounded categories—user-decision holds (including spec approval),
|
|
218
|
+
serious-risk holds, and at most two merge-ready/merged milestones per run—may
|
|
219
|
+
be relayed under the recorded Notification policy. The relay normally delivers
|
|
220
|
+
one-way through native `hermes send`: it checks CLI lookup and the configured target,
|
|
203
221
|
binds the recipient, deduplicates on the run record, and records the returned
|
|
204
222
|
`message_id`. PR-manager notifications point the user to GitHub or a durable
|
|
205
223
|
user-owned conversation; Telegram delivery, replies, and silence grant no action
|
|
@@ -210,9 +228,16 @@ read-only observer for standalone watches and never sends.
|
|
|
210
228
|
|
|
211
229
|
## Chat-run PR watch
|
|
212
230
|
|
|
231
|
+
For authorized engineering delivery, [Autopilot](../skills/axstack/references/autopilot.md)
|
|
232
|
+
continues from Align through the eligible phase sequence in the same chat.
|
|
233
|
+
The human approves substantial specs, every merge including release PRs, and
|
|
234
|
+
the npm stage. An open hold pauses the run. Implement arms maintain-mode watch
|
|
235
|
+
at its first published PR; release and install run only under recorded per-run
|
|
236
|
+
authority, and Close-out follows their verified receipts.
|
|
237
|
+
|
|
213
238
|
Use `axstack-watch` chat-run mode to watch every PR raised by this chat's Run, including later verified publications and PRs the driver explicitly adopts. A harness-native monitoring or scheduled wake resumes the driver chat every 10 minutes by default; only when the harness has no such capability does the existing Orca `*/10` observer act as fallback. Record the chosen mechanism in the run record. Each wake runs the own-PR maintenance loop: address feedback, rebase on base movement, rerun required CI, and check the forge-counted human approval. Delegated work still runs through Orca; there is no daemon or polling model between wakes. Independent PRs can repair in parallel with one writer per PR; stack ancestor changes invalidate child evidence. An incomplete scan leaves readiness `UNKNOWN`.
|
|
214
239
|
|
|
215
|
-
The watch lasts until all member PRs merge or close, you cancel it, or its wake expires. Stop and verify the chosen wake; an Orca fallback also needs automation disable/readback and workspace retirement. Worker settlement and run archive are separate driver steps. Run-created implementation candidates are published and read back before independent authored review. Adopted own-PR maintenance candidates receive independent exact-local-SHA review before driver publication and remote readback. The human merges. Source and installed instructions do not prove scheduled observation, driver wake, or live activation; those require native receipts.
|
|
240
|
+
The watch lasts until all member PRs merge or close and the run's release step is settled or not applicable, you cancel it, or its wake expires. Stop and verify the chosen wake; an Orca fallback also needs automation disable/readback and workspace retirement. Worker settlement and run archive are separate driver steps. Run-created implementation candidates are published and read back before independent authored review. Adopted own-PR maintenance candidates receive independent exact-local-SHA review before driver publication and remote readback. The human merges. Source and installed instructions do not prove scheduled observation, driver wake, or live activation; those require native receipts.
|
|
216
241
|
|
|
217
242
|
## Optional native peer-review automation
|
|
218
243
|
|
package/package.json
CHANGED
|
@@ -14,82 +14,100 @@
|
|
|
14
14
|
"id": "axstack-advisor-opus",
|
|
15
15
|
"name": "Axstack Opus adviser",
|
|
16
16
|
"provider": "claude",
|
|
17
|
-
"model": "claude-opus-5-5",
|
|
18
17
|
"modeId": "bypassPermissions",
|
|
19
18
|
"thinkingOptionId": "xhigh",
|
|
20
|
-
"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."
|
|
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.",
|
|
20
|
+
"modelClass": "opus"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"id": "axstack-owner",
|
|
24
24
|
"name": "Axstack PR owner",
|
|
25
25
|
"provider": "claude",
|
|
26
|
-
"model": "claude-opus-5-5",
|
|
27
26
|
"modeId": "bypassPermissions",
|
|
28
27
|
"thinkingOptionId": "medium",
|
|
29
|
-
"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."
|
|
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.",
|
|
29
|
+
"modelClass": "opus"
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
"id": "axstack-author",
|
|
33
33
|
"name": "Axstack author",
|
|
34
34
|
"provider": "claude",
|
|
35
|
-
"model": "claude-opus-5-5",
|
|
36
35
|
"modeId": "bypassPermissions",
|
|
37
36
|
"thinkingOptionId": "medium",
|
|
38
|
-
"notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate.
|
|
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.",
|
|
38
|
+
"modelClass": "opus"
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
"id": "axstack-reviewer-primary",
|
|
42
42
|
"name": "Axstack reviewer (primary)",
|
|
43
43
|
"provider": "claude",
|
|
44
|
-
"model": "claude-opus-5-5",
|
|
45
44
|
"modeId": "bypassPermissions",
|
|
46
45
|
"thinkingOptionId": "medium",
|
|
47
|
-
"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."
|
|
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.",
|
|
47
|
+
"modelClass": "opus"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"id": "axstack-reviewer-secondary",
|
|
51
51
|
"name": "Axstack reviewer (secondary)",
|
|
52
52
|
"provider": "claude",
|
|
53
|
-
"model": "claude-sonnet-5-5",
|
|
54
53
|
"modeId": "bypassPermissions",
|
|
55
54
|
"thinkingOptionId": "high",
|
|
56
|
-
"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."
|
|
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.",
|
|
56
|
+
"modelClass": "sonnet"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "axstack-diligence",
|
|
60
|
+
"name": "Axstack diligence checker",
|
|
61
|
+
"provider": "claude",
|
|
62
|
+
"modeId": "bypassPermissions",
|
|
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.",
|
|
65
|
+
"modelClass": "sonnet"
|
|
57
66
|
},
|
|
58
67
|
{
|
|
59
68
|
"id": "axstack-checker",
|
|
60
69
|
"name": "Axstack tracker checker",
|
|
61
70
|
"provider": "claude",
|
|
62
|
-
"model": "claude-sonnet-5-5",
|
|
63
71
|
"modeId": "bypassPermissions",
|
|
64
72
|
"thinkingOptionId": "high",
|
|
65
|
-
"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. 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.",
|
|
74
|
+
"modelClass": "sonnet"
|
|
66
75
|
},
|
|
67
76
|
{
|
|
68
77
|
"id": "axstack-research-requirements",
|
|
69
78
|
"name": "Axstack research requirements",
|
|
70
79
|
"provider": "claude",
|
|
71
|
-
"model": "claude-sonnet-5-5",
|
|
72
80
|
"modeId": "bypassPermissions",
|
|
73
81
|
"thinkingOptionId": "high",
|
|
74
|
-
"notes": "Sonnet high research requirements analyst: scopes bounded questions and acceptance for a research task.
|
|
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.",
|
|
83
|
+
"modelClass": "sonnet"
|
|
75
84
|
},
|
|
76
85
|
{
|
|
77
86
|
"id": "axstack-research-code",
|
|
78
87
|
"name": "Axstack research code",
|
|
79
88
|
"provider": "claude",
|
|
80
|
-
"model": "claude-opus-5-5",
|
|
81
89
|
"modeId": "bypassPermissions",
|
|
82
|
-
"thinkingOptionId": "
|
|
83
|
-
"notes": "
|
|
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.",
|
|
92
|
+
"modelClass": "sonnet"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "axstack-research-code-sol",
|
|
96
|
+
"name": "Axstack research code Sol (unavailable)",
|
|
97
|
+
"provider": "claude",
|
|
98
|
+
"model": null,
|
|
99
|
+
"modeId": "bypassPermissions",
|
|
100
|
+
"thinkingOptionId": "high",
|
|
101
|
+
"notes": "Intentional single-provider absence: Sol pair seat axstack-research-code-sol is unavailable in claude-only. The explicit null records the absent pair without substitution; the Sonnet seat proceeds alone."
|
|
84
102
|
},
|
|
85
103
|
{
|
|
86
104
|
"id": "axstack-research-web",
|
|
87
105
|
"name": "Axstack research web",
|
|
88
106
|
"provider": "claude",
|
|
89
|
-
"model": "claude-sonnet-5-5",
|
|
90
107
|
"modeId": "bypassPermissions",
|
|
91
108
|
"thinkingOptionId": "high",
|
|
92
|
-
"notes": "Sonnet high research web reader: gathers primary-source facts efficiently.
|
|
109
|
+
"notes": "Sonnet high research web reader: gathers primary-source facts efficiently. Claude alias resolves at first launch; a Claude rejection holds.",
|
|
110
|
+
"modelClass": "sonnet"
|
|
93
111
|
},
|
|
94
112
|
{
|
|
95
113
|
"id": "axstack-research-web-google",
|
|
@@ -113,100 +131,118 @@
|
|
|
113
131
|
"id": "axstack-explainer",
|
|
114
132
|
"name": "Axstack explainer",
|
|
115
133
|
"provider": "claude",
|
|
116
|
-
"model": "claude-sonnet-5-5",
|
|
117
134
|
"modeId": "bypassPermissions",
|
|
118
135
|
"thinkingOptionId": "high",
|
|
119
|
-
"notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable.
|
|
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.",
|
|
137
|
+
"modelClass": "sonnet"
|
|
120
138
|
},
|
|
121
139
|
{
|
|
122
140
|
"id": "axstack-explainer-review",
|
|
123
141
|
"name": "Axstack explainer reviewer",
|
|
124
142
|
"provider": "claude",
|
|
125
|
-
"model": "claude-sonnet-5-5",
|
|
126
143
|
"modeId": "bypassPermissions",
|
|
127
144
|
"thinkingOptionId": "high",
|
|
128
|
-
"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.
|
|
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.",
|
|
146
|
+
"modelClass": "sonnet"
|
|
129
147
|
},
|
|
130
148
|
{
|
|
131
149
|
"id": "axstack-ui-verifier",
|
|
132
150
|
"name": "Axstack UI verifier",
|
|
133
151
|
"provider": "claude",
|
|
134
|
-
"model": "claude-sonnet-5-5",
|
|
135
152
|
"modeId": "bypassPermissions",
|
|
136
153
|
"thinkingOptionId": "high",
|
|
137
|
-
"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.
|
|
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.",
|
|
155
|
+
"modelClass": "sonnet"
|
|
138
156
|
},
|
|
139
157
|
{
|
|
140
158
|
"id": "axstack-explore-codebase",
|
|
141
159
|
"name": "Axstack codebase explorer",
|
|
142
160
|
"provider": "claude",
|
|
143
|
-
"model": "claude-sonnet-5-5",
|
|
144
161
|
"modeId": "bypassPermissions",
|
|
145
162
|
"thinkingOptionId": "high",
|
|
146
|
-
"notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context.
|
|
163
|
+
"notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Claude alias resolves at first launch; a Claude rejection holds.",
|
|
164
|
+
"modelClass": "sonnet"
|
|
147
165
|
},
|
|
148
166
|
{
|
|
149
167
|
"id": "axstack-explore-execution",
|
|
150
168
|
"name": "Axstack execution explorer",
|
|
151
169
|
"provider": "claude",
|
|
152
|
-
"model": "claude-sonnet-5-5",
|
|
153
170
|
"modeId": "bypassPermissions",
|
|
154
171
|
"thinkingOptionId": "high",
|
|
155
|
-
"notes": "
|
|
172
|
+
"notes": "Sonnet high execution explorer: runs bounded checks of runtime behavior where authorized. Claude alias resolves at first launch; a Claude rejection holds.",
|
|
173
|
+
"modelClass": "sonnet"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "axstack-explore-execution-sol",
|
|
177
|
+
"name": "Axstack execution explorer Sol (unavailable)",
|
|
178
|
+
"provider": "claude",
|
|
179
|
+
"model": null,
|
|
180
|
+
"modeId": "bypassPermissions",
|
|
181
|
+
"thinkingOptionId": "high",
|
|
182
|
+
"notes": "Intentional single-provider absence: Sol pair seat axstack-explore-execution-sol is unavailable in claude-only. The explicit null records the absent pair without substitution; the Sonnet seat proceeds alone."
|
|
156
183
|
},
|
|
157
184
|
{
|
|
158
185
|
"id": "axstack-monitor",
|
|
159
186
|
"name": "Axstack monitor",
|
|
160
187
|
"provider": "claude",
|
|
161
|
-
"model": "claude-sonnet-5-5",
|
|
162
188
|
"modeId": "bypassPermissions",
|
|
163
189
|
"thinkingOptionId": "high",
|
|
164
|
-
"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."
|
|
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.",
|
|
191
|
+
"modelClass": "sonnet"
|
|
165
192
|
},
|
|
166
193
|
{
|
|
167
194
|
"id": "axstack-auditor",
|
|
168
195
|
"name": "Axstack auditor",
|
|
169
196
|
"provider": "claude",
|
|
170
|
-
"model": "claude-sonnet-5-5",
|
|
171
197
|
"modeId": "bypassPermissions",
|
|
172
198
|
"thinkingOptionId": "high",
|
|
173
|
-
"notes": "
|
|
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.",
|
|
200
|
+
"modelClass": "sonnet"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"id": "axstack-auditor-sol",
|
|
204
|
+
"name": "Axstack auditor Sol (unavailable)",
|
|
205
|
+
"provider": "claude",
|
|
206
|
+
"model": null,
|
|
207
|
+
"modeId": "bypassPermissions",
|
|
208
|
+
"thinkingOptionId": "high",
|
|
209
|
+
"notes": "Intentional single-provider absence: Sol pair seat axstack-auditor-sol is unavailable in claude-only. The explicit null records the absent pair without substitution; the Sonnet seat proceeds alone."
|
|
174
210
|
},
|
|
175
211
|
{
|
|
176
212
|
"id": "axstack-debug-investigator-1",
|
|
177
213
|
"name": "Axstack debug investigator 1",
|
|
178
214
|
"provider": "claude",
|
|
179
|
-
"model": "claude-opus-5-5",
|
|
180
215
|
"modeId": "bypassPermissions",
|
|
181
216
|
"thinkingOptionId": "medium",
|
|
182
|
-
"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
|
|
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.",
|
|
218
|
+
"modelClass": "opus"
|
|
183
219
|
},
|
|
184
220
|
{
|
|
185
221
|
"id": "axstack-debug-investigator-2",
|
|
186
222
|
"name": "Axstack debug investigator 2",
|
|
187
223
|
"provider": "claude",
|
|
188
|
-
"model": "claude-sonnet-5-5",
|
|
189
224
|
"modeId": "bypassPermissions",
|
|
190
225
|
"thinkingOptionId": "high",
|
|
191
|
-
"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
|
|
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.",
|
|
227
|
+
"modelClass": "sonnet"
|
|
192
228
|
},
|
|
193
229
|
{
|
|
194
230
|
"id": "axstack-debug-investigator-3",
|
|
195
231
|
"name": "Axstack debug investigator 3",
|
|
196
232
|
"provider": "claude",
|
|
197
|
-
"model": "claude-opus-5-5",
|
|
198
233
|
"modeId": "bypassPermissions",
|
|
199
234
|
"thinkingOptionId": "medium",
|
|
200
|
-
"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
|
|
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.",
|
|
236
|
+
"modelClass": "opus"
|
|
201
237
|
},
|
|
202
238
|
{
|
|
203
239
|
"id": "axstack-debug-investigator-4",
|
|
204
240
|
"name": "Axstack debug investigator 4",
|
|
205
241
|
"provider": "claude",
|
|
206
|
-
"model": "claude-sonnet-5-5",
|
|
207
242
|
"modeId": "bypassPermissions",
|
|
208
243
|
"thinkingOptionId": "high",
|
|
209
|
-
"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
|
|
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.",
|
|
245
|
+
"modelClass": "sonnet"
|
|
210
246
|
},
|
|
211
247
|
{
|
|
212
248
|
"id": "axstack-arena-judge-astra",
|
|
@@ -221,19 +257,19 @@
|
|
|
221
257
|
"id": "axstack-escalation-fable",
|
|
222
258
|
"name": "Axstack escalation Fable",
|
|
223
259
|
"provider": "claude",
|
|
224
|
-
"model": "claude-fable-5-1",
|
|
225
260
|
"modeId": "bypassPermissions",
|
|
226
261
|
"thinkingOptionId": "xhigh",
|
|
227
|
-
"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."
|
|
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.",
|
|
263
|
+
"modelClass": "fable"
|
|
228
264
|
},
|
|
229
265
|
{
|
|
230
266
|
"id": "axstack-arena-judge-opus",
|
|
231
267
|
"name": "Axstack arena judge Opus",
|
|
232
268
|
"provider": "claude",
|
|
233
|
-
"model": "claude-opus-5-5",
|
|
234
269
|
"modeId": "bypassPermissions",
|
|
235
270
|
"thinkingOptionId": "xhigh",
|
|
236
|
-
"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."
|
|
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.",
|
|
272
|
+
"modelClass": "opus"
|
|
237
273
|
},
|
|
238
274
|
{
|
|
239
275
|
"id": "axstack-arena-candidate-grok",
|