axstack 0.9.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.
- package/LICENSE +21 -0
- package/README.md +132 -0
- package/bin/axstack.js +396 -0
- package/docs/installation.md +239 -0
- package/docs/workflows.md +220 -0
- package/package.json +40 -0
- package/profiles/presets/claude-only.json +194 -0
- package/profiles/presets/codex-only.json +194 -0
- package/profiles/presets/mixed.json +194 -0
- package/skills/axstack/SKILL.md +81 -0
- package/skills/axstack/references/automations.md +368 -0
- package/skills/axstack/references/candidate-publication.md +45 -0
- package/skills/axstack/references/contracts.md +102 -0
- package/skills/axstack/references/lifecycle.md +137 -0
- package/skills/axstack/references/orca-runtime.md +109 -0
- package/skills/axstack/references/pr-shape.md +39 -0
- package/skills/axstack/references/routing.md +129 -0
- package/skills/axstack/references/run-record.md +109 -0
- package/skills/axstack-align/SKILL.md +121 -0
- package/skills/axstack-audit/SKILL.md +137 -0
- package/skills/axstack-audit/references/record.md +28 -0
- package/skills/axstack-debug/SKILL.md +157 -0
- package/skills/axstack-debug/references/packet.md +80 -0
- package/skills/axstack-explain/SKILL.md +66 -0
- package/skills/axstack-explain/references/visual-qa.md +15 -0
- package/skills/axstack-implement/SKILL.md +164 -0
- package/skills/axstack-improve/SKILL.md +69 -0
- package/skills/axstack-relay/SKILL.md +102 -0
- package/skills/axstack-research/SKILL.md +57 -0
- package/skills/axstack-research/references/checklist.md +25 -0
- package/skills/axstack-review/SKILL.md +343 -0
- package/skills/axstack-spec/SKILL.md +67 -0
- package/skills/axstack-tickets/SKILL.md +86 -0
- package/skills/axstack-watch/SKILL.md +160 -0
- package/skills/axstack-watch/references/repair-publication.md +69 -0
- package/skills/axstack-watch/references/watch-runtime.md +60 -0
- package/src/capabilities.js +138 -0
- package/src/claude-settings.js +230 -0
- package/src/installer.js +980 -0
- package/src/instructions.js +100 -0
- package/src/locations.js +43 -0
- package/src/manifest.js +251 -0
- package/src/posixpath.js +108 -0
- package/src/roles.js +142 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"roles": [
|
|
4
|
+
{
|
|
5
|
+
"id": "axstack-advisor-astra",
|
|
6
|
+
"name": "Axstack Astra adviser (unavailable)",
|
|
7
|
+
"provider": "claude",
|
|
8
|
+
"model": null,
|
|
9
|
+
"modeId": "bypassPermissions",
|
|
10
|
+
"thinkingOptionId": "high",
|
|
11
|
+
"notes": "Required independent Astra adviser for Align, Spec, and unresolved consequential decisions; unavailable in claude-only. The explicit null holds Align and Spec without provider substitution."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"id": "axstack-advisor-fable",
|
|
15
|
+
"name": "Axstack Fable adviser",
|
|
16
|
+
"provider": "claude",
|
|
17
|
+
"model": "claude-fable-5-1",
|
|
18
|
+
"modeId": "bypassPermissions",
|
|
19
|
+
"thinkingOptionId": "high",
|
|
20
|
+
"notes": "Independent Fable adviser for Align, Spec, and unresolved consequential decisions. Receives the same bounded evidence and question as Astra; reuse only unchanged receipts."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "axstack-owner",
|
|
24
|
+
"name": "Axstack PR owner",
|
|
25
|
+
"provider": "claude",
|
|
26
|
+
"model": "claude-opus-5",
|
|
27
|
+
"modeId": "bypassPermissions",
|
|
28
|
+
"thinkingOptionId": "high",
|
|
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."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "axstack-author",
|
|
33
|
+
"name": "Axstack author",
|
|
34
|
+
"provider": "claude",
|
|
35
|
+
"model": "claude-opus-5",
|
|
36
|
+
"modeId": "bypassPermissions",
|
|
37
|
+
"thinkingOptionId": "medium",
|
|
38
|
+
"notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate. Validate configured availability at launch; hold affected work without fallback."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "axstack-reviewer-primary",
|
|
42
|
+
"name": "Axstack reviewer (primary)",
|
|
43
|
+
"provider": "claude",
|
|
44
|
+
"model": "claude-opus-5",
|
|
45
|
+
"modeId": "bypassPermissions",
|
|
46
|
+
"thinkingOptionId": "medium",
|
|
47
|
+
"notes": "Primary reviewer in the ordered claude-only peer pair: Opus medium followed by Sonnet xhigh. Never author or owner; review exact SHA and base across all six angles and acceptance. Peer first pass stays isolated."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "axstack-reviewer-secondary",
|
|
51
|
+
"name": "Axstack reviewer (secondary)",
|
|
52
|
+
"provider": "claude",
|
|
53
|
+
"model": "claude-sonnet-5",
|
|
54
|
+
"modeId": "bypassPermissions",
|
|
55
|
+
"thinkingOptionId": "xhigh",
|
|
56
|
+
"notes": "Secondary reviewer in the ordered claude-only peer pair: Opus medium followed by Sonnet xhigh. 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."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "axstack-checker",
|
|
60
|
+
"name": "Axstack Linear checker",
|
|
61
|
+
"provider": "claude",
|
|
62
|
+
"model": "claude-sonnet-5",
|
|
63
|
+
"modeId": "bypassPermissions",
|
|
64
|
+
"thinkingOptionId": "low",
|
|
65
|
+
"notes": "Report-only Linear discrepancy checker. Never mutates Linear; 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."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "axstack-research-requirements",
|
|
69
|
+
"name": "Axstack research requirements",
|
|
70
|
+
"provider": "claude",
|
|
71
|
+
"model": "claude-opus-5",
|
|
72
|
+
"modeId": "bypassPermissions",
|
|
73
|
+
"thinkingOptionId": "medium",
|
|
74
|
+
"notes": "Research requirements analyst: scopes bounded questions and acceptance for a research task. Validate configured availability at launch; hold affected work without fallback."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "axstack-research-code",
|
|
78
|
+
"name": "Axstack research code",
|
|
79
|
+
"provider": "claude",
|
|
80
|
+
"model": "claude-opus-5",
|
|
81
|
+
"modeId": "bypassPermissions",
|
|
82
|
+
"thinkingOptionId": "medium",
|
|
83
|
+
"notes": "Research code investigator: verifies behavior against inspected code and executable evidence. Validate configured availability at launch; hold affected work without fallback."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "axstack-research-web",
|
|
87
|
+
"name": "Axstack research web",
|
|
88
|
+
"provider": "claude",
|
|
89
|
+
"model": "claude-sonnet-5",
|
|
90
|
+
"modeId": "bypassPermissions",
|
|
91
|
+
"thinkingOptionId": "low",
|
|
92
|
+
"notes": "Research web reader: gathers primary-source facts efficiently. Validate configured availability at launch; hold affected work without fallback."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "axstack-explainer",
|
|
96
|
+
"name": "Axstack explainer",
|
|
97
|
+
"provider": "claude",
|
|
98
|
+
"model": "claude-sonnet-5",
|
|
99
|
+
"modeId": "bypassPermissions",
|
|
100
|
+
"thinkingOptionId": "xhigh",
|
|
101
|
+
"notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable. Validate configured availability at launch; hold affected work without fallback."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "axstack-explainer-review",
|
|
105
|
+
"name": "Axstack explainer reviewer",
|
|
106
|
+
"provider": "claude",
|
|
107
|
+
"model": "claude-sonnet-5",
|
|
108
|
+
"modeId": "bypassPermissions",
|
|
109
|
+
"thinkingOptionId": "high",
|
|
110
|
+
"notes": "Independent visual explanation reviewer: checks the exact artifact for source fidelity and rendered behavior where warranted. Any artifact change invalidates its review. Validate configured availability at launch; hold affected work without fallback."
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "axstack-explore-codebase",
|
|
114
|
+
"name": "Axstack codebase explorer",
|
|
115
|
+
"provider": "claude",
|
|
116
|
+
"model": "claude-sonnet-5",
|
|
117
|
+
"modeId": "bypassPermissions",
|
|
118
|
+
"thinkingOptionId": "xhigh",
|
|
119
|
+
"notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Validate configured availability at launch; hold affected work without fallback."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "axstack-explore-execution",
|
|
123
|
+
"name": "Axstack execution explorer",
|
|
124
|
+
"provider": "claude",
|
|
125
|
+
"model": "claude-sonnet-5",
|
|
126
|
+
"modeId": "bypassPermissions",
|
|
127
|
+
"thinkingOptionId": "low",
|
|
128
|
+
"notes": "Execution explorer: runs bounded checks of runtime behavior where authorized. Validate configured availability at launch; hold affected work without fallback."
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "axstack-monitor",
|
|
132
|
+
"name": "Axstack monitor",
|
|
133
|
+
"provider": "claude",
|
|
134
|
+
"model": "claude-sonnet-5",
|
|
135
|
+
"modeId": "bypassPermissions",
|
|
136
|
+
"thinkingOptionId": "low",
|
|
137
|
+
"notes": "Optional independent read-only PR observer, not the driver: the five-minute driver is the automation session itself. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, never authors, reviews, or replies. Healthy snapshots stay quiet. Hold was lifted by user decision on 2026-09-16."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"id": "axstack-watchdog",
|
|
141
|
+
"name": "Axstack watchdog",
|
|
142
|
+
"provider": "claude",
|
|
143
|
+
"model": "claude-sonnet-5",
|
|
144
|
+
"modeId": "bypassPermissions",
|
|
145
|
+
"thinkingOptionId": "low",
|
|
146
|
+
"notes": "Hourly independent read-only automation health checker: compares the recorded driver model with the expected one, checks run history, precheck errors, duplicate handling, and relay receipts, and passes findings to the gate under the automation-health criterion. Never mutates GitHub and never authors, reviews, or replies; its only gate-authorized automation-health send is recorded in watchdog.json."
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "axstack-auditor",
|
|
150
|
+
"name": "Axstack auditor",
|
|
151
|
+
"provider": "claude",
|
|
152
|
+
"model": "claude-sonnet-5",
|
|
153
|
+
"modeId": "bypassPermissions",
|
|
154
|
+
"thinkingOptionId": "xhigh",
|
|
155
|
+
"notes": "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."
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "axstack-debug-investigator-1",
|
|
159
|
+
"name": "Axstack debug investigator 1",
|
|
160
|
+
"provider": "claude",
|
|
161
|
+
"model": "claude-opus-5",
|
|
162
|
+
"modeId": "bypassPermissions",
|
|
163
|
+
"thinkingOptionId": "medium",
|
|
164
|
+
"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 claude-opus-5 at medium effort because it has fewer model families."
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"id": "axstack-debug-investigator-2",
|
|
168
|
+
"name": "Axstack debug investigator 2",
|
|
169
|
+
"provider": "claude",
|
|
170
|
+
"model": "claude-sonnet-5",
|
|
171
|
+
"modeId": "bypassPermissions",
|
|
172
|
+
"thinkingOptionId": "xhigh",
|
|
173
|
+
"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 claude-sonnet-5 at xhigh effort because it has fewer model families; independence comes from brief isolation."
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "axstack-debug-investigator-3",
|
|
177
|
+
"name": "Axstack debug investigator 3",
|
|
178
|
+
"provider": "claude",
|
|
179
|
+
"model": "claude-opus-5",
|
|
180
|
+
"modeId": "bypassPermissions",
|
|
181
|
+
"thinkingOptionId": "high",
|
|
182
|
+
"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 claude-opus-5 at high effort because it has fewer model families."
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"id": "axstack-debug-investigator-4",
|
|
186
|
+
"name": "Axstack debug investigator 4",
|
|
187
|
+
"provider": "claude",
|
|
188
|
+
"model": "claude-sonnet-5",
|
|
189
|
+
"modeId": "bypassPermissions",
|
|
190
|
+
"thinkingOptionId": "xhigh",
|
|
191
|
+
"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 claude-sonnet-5 at xhigh effort because it has fewer model families; independence comes from brief isolation."
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"roles": [
|
|
4
|
+
{
|
|
5
|
+
"id": "axstack-advisor-astra",
|
|
6
|
+
"name": "Axstack Astra adviser",
|
|
7
|
+
"provider": "codex",
|
|
8
|
+
"model": "gpt-6-astra",
|
|
9
|
+
"modeId": "full-access",
|
|
10
|
+
"thinkingOptionId": "high",
|
|
11
|
+
"notes": "Independent Astra adviser for Align, Spec, and unresolved consequential decisions. Receives the same bounded evidence and question as Fable; reuse only unchanged receipts."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"id": "axstack-advisor-fable",
|
|
15
|
+
"name": "Axstack Fable adviser (unavailable)",
|
|
16
|
+
"provider": "codex",
|
|
17
|
+
"model": null,
|
|
18
|
+
"modeId": "full-access",
|
|
19
|
+
"thinkingOptionId": "high",
|
|
20
|
+
"notes": "Required independent Fable adviser for Align, Spec, and unresolved consequential decisions; unavailable in codex-only. The explicit null holds Align and Spec without provider substitution."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "axstack-owner",
|
|
24
|
+
"name": "Axstack PR owner",
|
|
25
|
+
"provider": "codex",
|
|
26
|
+
"model": "gpt-5.6-sol",
|
|
27
|
+
"modeId": "full-access",
|
|
28
|
+
"thinkingOptionId": "high",
|
|
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."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "axstack-author",
|
|
33
|
+
"name": "Axstack author",
|
|
34
|
+
"provider": "codex",
|
|
35
|
+
"model": "gpt-5.6-sol",
|
|
36
|
+
"modeId": "full-access",
|
|
37
|
+
"thinkingOptionId": "medium",
|
|
38
|
+
"notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate. Validate configured availability at launch; hold affected work without fallback."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "axstack-reviewer-primary",
|
|
42
|
+
"name": "Axstack reviewer (primary)",
|
|
43
|
+
"provider": "codex",
|
|
44
|
+
"model": "gpt-5.6-sol",
|
|
45
|
+
"modeId": "full-access",
|
|
46
|
+
"thinkingOptionId": "medium",
|
|
47
|
+
"notes": "Primary reviewer in the ordered codex-only peer pair: Sol medium followed by Terra xhigh. Never author or owner; review exact SHA and base across all six angles and acceptance. Peer first pass stays isolated."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "axstack-reviewer-secondary",
|
|
51
|
+
"name": "Axstack reviewer (secondary)",
|
|
52
|
+
"provider": "codex",
|
|
53
|
+
"model": "gpt-5.6-terra",
|
|
54
|
+
"modeId": "full-access",
|
|
55
|
+
"thinkingOptionId": "xhigh",
|
|
56
|
+
"notes": "Secondary reviewer in the ordered codex-only peer pair: Sol medium followed by Terra xhigh. 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."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "axstack-checker",
|
|
60
|
+
"name": "Axstack Linear checker",
|
|
61
|
+
"provider": "codex",
|
|
62
|
+
"model": "gpt-5.6-luna",
|
|
63
|
+
"modeId": "full-access",
|
|
64
|
+
"thinkingOptionId": "low",
|
|
65
|
+
"notes": "Report-only Linear discrepancy checker. Never mutates Linear; 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."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "axstack-research-requirements",
|
|
69
|
+
"name": "Axstack research requirements",
|
|
70
|
+
"provider": "codex",
|
|
71
|
+
"model": "gpt-6-astra",
|
|
72
|
+
"modeId": "full-access",
|
|
73
|
+
"thinkingOptionId": "medium",
|
|
74
|
+
"notes": "Research requirements analyst: scopes bounded questions and acceptance for a research task. Validate configured availability at launch; hold affected work without fallback."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "axstack-research-code",
|
|
78
|
+
"name": "Axstack research code",
|
|
79
|
+
"provider": "codex",
|
|
80
|
+
"model": "gpt-5.6-sol",
|
|
81
|
+
"modeId": "full-access",
|
|
82
|
+
"thinkingOptionId": "medium",
|
|
83
|
+
"notes": "Research code investigator: verifies behavior against inspected code and executable evidence. Validate configured availability at launch; hold affected work without fallback."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "axstack-research-web",
|
|
87
|
+
"name": "Axstack research web",
|
|
88
|
+
"provider": "codex",
|
|
89
|
+
"model": "gpt-5.6-terra",
|
|
90
|
+
"modeId": "full-access",
|
|
91
|
+
"thinkingOptionId": "low",
|
|
92
|
+
"notes": "Research web reader: gathers primary-source facts efficiently. Validate configured availability at launch; hold affected work without fallback."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "axstack-explainer",
|
|
96
|
+
"name": "Axstack explainer",
|
|
97
|
+
"provider": "codex",
|
|
98
|
+
"model": "gpt-5.6-sol",
|
|
99
|
+
"modeId": "full-access",
|
|
100
|
+
"thinkingOptionId": "high",
|
|
101
|
+
"notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable. Validate configured availability at launch; hold affected work without fallback."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "axstack-explainer-review",
|
|
105
|
+
"name": "Axstack explainer reviewer",
|
|
106
|
+
"provider": "codex",
|
|
107
|
+
"model": "gpt-5.6-luna",
|
|
108
|
+
"modeId": "full-access",
|
|
109
|
+
"thinkingOptionId": "max",
|
|
110
|
+
"notes": "Independent visual explanation reviewer: checks the exact artifact for source fidelity and rendered behavior where warranted. Any artifact change invalidates its review. Validate configured availability at launch; hold affected work without fallback."
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "axstack-explore-codebase",
|
|
114
|
+
"name": "Axstack codebase explorer",
|
|
115
|
+
"provider": "codex",
|
|
116
|
+
"model": "gpt-5.6-terra",
|
|
117
|
+
"modeId": "full-access",
|
|
118
|
+
"thinkingOptionId": "xhigh",
|
|
119
|
+
"notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Validate configured availability at launch; hold affected work without fallback."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "axstack-explore-execution",
|
|
123
|
+
"name": "Axstack execution explorer",
|
|
124
|
+
"provider": "codex",
|
|
125
|
+
"model": "gpt-5.6-terra",
|
|
126
|
+
"modeId": "full-access",
|
|
127
|
+
"thinkingOptionId": "low",
|
|
128
|
+
"notes": "Execution explorer: runs bounded checks of runtime behavior where authorized. Validate configured availability at launch; hold affected work without fallback."
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "axstack-monitor",
|
|
132
|
+
"name": "Axstack monitor",
|
|
133
|
+
"provider": "codex",
|
|
134
|
+
"model": "gpt-5.6-terra",
|
|
135
|
+
"modeId": "full-access",
|
|
136
|
+
"thinkingOptionId": "low",
|
|
137
|
+
"notes": "Optional independent read-only PR observer, not the driver: the five-minute driver is the automation session itself. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, never authors, reviews, or replies. Healthy snapshots stay quiet. Hold was lifted by user decision on 2026-09-16."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"id": "axstack-watchdog",
|
|
141
|
+
"name": "Axstack watchdog",
|
|
142
|
+
"provider": "codex",
|
|
143
|
+
"model": "gpt-5.6-terra",
|
|
144
|
+
"modeId": "full-access",
|
|
145
|
+
"thinkingOptionId": "low",
|
|
146
|
+
"notes": "Hourly independent read-only automation health checker: compares the recorded driver model with the expected one, checks run history, precheck errors, duplicate handling, and relay receipts, and passes findings to the gate under the automation-health criterion. Never mutates GitHub and never authors, reviews, or replies; its only gate-authorized automation-health send is recorded in watchdog.json."
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "axstack-auditor",
|
|
150
|
+
"name": "Axstack auditor",
|
|
151
|
+
"provider": "codex",
|
|
152
|
+
"model": "gpt-5.6-luna",
|
|
153
|
+
"modeId": "full-access",
|
|
154
|
+
"thinkingOptionId": "max",
|
|
155
|
+
"notes": "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."
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "axstack-debug-investigator-1",
|
|
159
|
+
"name": "Axstack debug investigator 1",
|
|
160
|
+
"provider": "codex",
|
|
161
|
+
"model": "gpt-5.6-sol",
|
|
162
|
+
"modeId": "full-access",
|
|
163
|
+
"thinkingOptionId": "medium",
|
|
164
|
+
"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 gpt-5.6-sol at medium effort because it has fewer model families."
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"id": "axstack-debug-investigator-2",
|
|
168
|
+
"name": "Axstack debug investigator 2",
|
|
169
|
+
"provider": "codex",
|
|
170
|
+
"model": "gpt-5.6-terra",
|
|
171
|
+
"modeId": "full-access",
|
|
172
|
+
"thinkingOptionId": "low",
|
|
173
|
+
"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 gpt-5.6-terra at low effort because it has fewer model families."
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "axstack-debug-investigator-3",
|
|
177
|
+
"name": "Axstack debug investigator 3",
|
|
178
|
+
"provider": "codex",
|
|
179
|
+
"model": "gpt-5.6-sol",
|
|
180
|
+
"modeId": "full-access",
|
|
181
|
+
"thinkingOptionId": "high",
|
|
182
|
+
"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 gpt-5.6-sol at high effort because it has fewer model families."
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"id": "axstack-debug-investigator-4",
|
|
186
|
+
"name": "Axstack debug investigator 4",
|
|
187
|
+
"provider": "codex",
|
|
188
|
+
"model": "gpt-5.6-terra",
|
|
189
|
+
"modeId": "full-access",
|
|
190
|
+
"thinkingOptionId": "xhigh",
|
|
191
|
+
"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 gpt-5.6-terra at xhigh effort because it has fewer model families."
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"roles": [
|
|
4
|
+
{
|
|
5
|
+
"id": "axstack-advisor-astra",
|
|
6
|
+
"name": "Axstack Astra adviser",
|
|
7
|
+
"provider": "codex",
|
|
8
|
+
"model": "gpt-6-astra",
|
|
9
|
+
"modeId": "full-access",
|
|
10
|
+
"thinkingOptionId": "high",
|
|
11
|
+
"notes": "Independent Astra adviser for Align, Spec, and unresolved consequential decisions. Receives the same bounded evidence and question as Fable; reuse only unchanged receipts."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"id": "axstack-advisor-fable",
|
|
15
|
+
"name": "Axstack Fable adviser",
|
|
16
|
+
"provider": "claude",
|
|
17
|
+
"model": "claude-fable-5-1",
|
|
18
|
+
"modeId": "bypassPermissions",
|
|
19
|
+
"thinkingOptionId": "high",
|
|
20
|
+
"notes": "Independent Fable adviser for Align, Spec, and unresolved consequential decisions. Receives the same bounded evidence and question as Astra; reuse only unchanged receipts."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "axstack-owner",
|
|
24
|
+
"name": "Axstack PR owner",
|
|
25
|
+
"provider": "claude",
|
|
26
|
+
"model": "claude-opus-5",
|
|
27
|
+
"modeId": "bypassPermissions",
|
|
28
|
+
"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."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "axstack-author",
|
|
33
|
+
"name": "Axstack author",
|
|
34
|
+
"provider": "codex",
|
|
35
|
+
"model": "gpt-5.6-sol",
|
|
36
|
+
"modeId": "full-access",
|
|
37
|
+
"thinkingOptionId": "medium",
|
|
38
|
+
"notes": "Ordinary implementation and repairs. Uses strict red-green-refactor and remains the exclusive writer for a candidate. Validate configured availability at launch; hold affected work without fallback."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "axstack-reviewer-primary",
|
|
42
|
+
"name": "Axstack reviewer (primary)",
|
|
43
|
+
"provider": "codex",
|
|
44
|
+
"model": "gpt-5.6-sol",
|
|
45
|
+
"modeId": "full-access",
|
|
46
|
+
"thinkingOptionId": "medium",
|
|
47
|
+
"notes": "Primary reviewer in the ordered mixed peer pair: Sol medium followed by Opus medium. 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."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "axstack-reviewer-secondary",
|
|
51
|
+
"name": "Axstack reviewer (secondary)",
|
|
52
|
+
"provider": "claude",
|
|
53
|
+
"model": "claude-opus-5",
|
|
54
|
+
"modeId": "bypassPermissions",
|
|
55
|
+
"thinkingOptionId": "medium",
|
|
56
|
+
"notes": "Secondary reviewer in the ordered mixed peer pair: Sol medium 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."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "axstack-checker",
|
|
60
|
+
"name": "Axstack Linear checker",
|
|
61
|
+
"provider": "codex",
|
|
62
|
+
"model": null,
|
|
63
|
+
"modeId": "full-access",
|
|
64
|
+
"thinkingOptionId": "low",
|
|
65
|
+
"notes": "Report-only Linear discrepancy checker. Never mutates Linear; 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."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "axstack-research-requirements",
|
|
69
|
+
"name": "Axstack research requirements",
|
|
70
|
+
"provider": "claude",
|
|
71
|
+
"model": "claude-opus-5",
|
|
72
|
+
"modeId": "bypassPermissions",
|
|
73
|
+
"thinkingOptionId": "medium",
|
|
74
|
+
"notes": "Research requirements analyst: scopes bounded questions and acceptance for a research task. Validate configured availability at launch; hold affected work without fallback."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "axstack-research-code",
|
|
78
|
+
"name": "Axstack research code",
|
|
79
|
+
"provider": "codex",
|
|
80
|
+
"model": "gpt-5.6-sol",
|
|
81
|
+
"modeId": "full-access",
|
|
82
|
+
"thinkingOptionId": "medium",
|
|
83
|
+
"notes": "Research code investigator: verifies behavior against inspected code and executable evidence. Validate configured availability at launch; hold affected work without fallback."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "axstack-research-web",
|
|
87
|
+
"name": "Axstack research web",
|
|
88
|
+
"provider": "claude",
|
|
89
|
+
"model": "claude-opus-5",
|
|
90
|
+
"modeId": "bypassPermissions",
|
|
91
|
+
"thinkingOptionId": "low",
|
|
92
|
+
"notes": "Research web reader: gathers primary-source facts efficiently. Validate configured availability at launch; hold affected work without fallback."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "axstack-explainer",
|
|
96
|
+
"name": "Axstack explainer",
|
|
97
|
+
"provider": "claude",
|
|
98
|
+
"model": "claude-sonnet-5",
|
|
99
|
+
"modeId": "bypassPermissions",
|
|
100
|
+
"thinkingOptionId": "xhigh",
|
|
101
|
+
"notes": "Complex visual explanation author: traces systems, changes, and implementation gaps in requested artifacts and verifies rendered behavior where applicable. Validate configured availability at launch; hold affected work without fallback."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "axstack-explainer-review",
|
|
105
|
+
"name": "Axstack explainer reviewer",
|
|
106
|
+
"provider": "codex",
|
|
107
|
+
"model": "gpt-5.6-luna",
|
|
108
|
+
"modeId": "full-access",
|
|
109
|
+
"thinkingOptionId": "max",
|
|
110
|
+
"notes": "Independent visual explanation reviewer: checks the exact artifact for source fidelity and rendered behavior where warranted. Any artifact change invalidates its review. Validate configured availability at launch; hold affected work without fallback."
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "axstack-explore-codebase",
|
|
114
|
+
"name": "Axstack codebase explorer",
|
|
115
|
+
"provider": "claude",
|
|
116
|
+
"model": "claude-sonnet-5",
|
|
117
|
+
"modeId": "bypassPermissions",
|
|
118
|
+
"thinkingOptionId": "xhigh",
|
|
119
|
+
"notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Validate configured availability at launch; hold affected work without fallback."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "axstack-explore-execution",
|
|
123
|
+
"name": "Axstack execution explorer",
|
|
124
|
+
"provider": "codex",
|
|
125
|
+
"model": "gpt-5.6-terra",
|
|
126
|
+
"modeId": "full-access",
|
|
127
|
+
"thinkingOptionId": "low",
|
|
128
|
+
"notes": "Execution explorer: runs bounded checks of runtime behavior where authorized. Validate configured availability at launch; hold affected work without fallback."
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "axstack-monitor",
|
|
132
|
+
"name": "Axstack monitor",
|
|
133
|
+
"provider": "claude",
|
|
134
|
+
"model": "claude-opus-5",
|
|
135
|
+
"modeId": "bypassPermissions",
|
|
136
|
+
"thinkingOptionId": "medium",
|
|
137
|
+
"notes": "Optional independent read-only PR observer, not the driver: the five-minute driver is the automation session itself. Reads GitHub, feedback, and checks, persists event IDs, and wakes the owner only for a new actionable event. Never sends, never authors, reviews, or replies. Healthy snapshots stay quiet. Hold was lifted by user decision on 2026-09-16."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"id": "axstack-watchdog",
|
|
141
|
+
"name": "Axstack watchdog",
|
|
142
|
+
"provider": "claude",
|
|
143
|
+
"model": "claude-opus-5",
|
|
144
|
+
"modeId": "bypassPermissions",
|
|
145
|
+
"thinkingOptionId": "medium",
|
|
146
|
+
"notes": "Hourly independent read-only automation health checker: compares the recorded driver model with the expected one, checks run history, precheck errors, duplicate handling, and relay receipts, and passes findings to the gate under the automation-health criterion. Never mutates GitHub and never authors, reviews, or replies; its only gate-authorized automation-health send is recorded in watchdog.json."
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "axstack-auditor",
|
|
150
|
+
"name": "Axstack auditor",
|
|
151
|
+
"provider": "codex",
|
|
152
|
+
"model": "gpt-5.6-luna",
|
|
153
|
+
"modeId": "full-access",
|
|
154
|
+
"thinkingOptionId": "max",
|
|
155
|
+
"notes": "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."
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "axstack-debug-investigator-1",
|
|
159
|
+
"name": "Axstack debug investigator 1",
|
|
160
|
+
"provider": "claude",
|
|
161
|
+
"model": "claude-opus-5",
|
|
162
|
+
"modeId": "bypassPermissions",
|
|
163
|
+
"thinkingOptionId": "medium",
|
|
164
|
+
"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."
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"id": "axstack-debug-investigator-2",
|
|
168
|
+
"name": "Axstack debug investigator 2",
|
|
169
|
+
"provider": "codex",
|
|
170
|
+
"model": "gpt-5.6-sol",
|
|
171
|
+
"modeId": "full-access",
|
|
172
|
+
"thinkingOptionId": "medium",
|
|
173
|
+
"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."
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "axstack-debug-investigator-3",
|
|
177
|
+
"name": "Axstack debug investigator 3",
|
|
178
|
+
"provider": "claude",
|
|
179
|
+
"model": "claude-sonnet-5",
|
|
180
|
+
"modeId": "bypassPermissions",
|
|
181
|
+
"thinkingOptionId": "xhigh",
|
|
182
|
+
"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."
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"id": "axstack-debug-investigator-4",
|
|
186
|
+
"name": "Axstack debug investigator 4",
|
|
187
|
+
"provider": "codex",
|
|
188
|
+
"model": "gpt-5.6-terra",
|
|
189
|
+
"modeId": "full-access",
|
|
190
|
+
"thinkingOptionId": "low",
|
|
191
|
+
"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."
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
}
|