axstack 0.20.9 → 0.20.11

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/docs/workflows.md CHANGED
@@ -50,8 +50,8 @@ role.
50
50
 
51
51
  | Preset | Author | Ordered peer reviewers | Astra / Fable advisers | Auditor |
52
52
  | --- | --- | --- | --- | --- |
53
- | `mixed` | Sol medium | Sol medium; Opus medium | Astra high / Fable high | Luna max |
54
- | `codex-only` | Sol medium | Sol medium; Terra xhigh | Astra high / unavailable | Luna max |
53
+ | `mixed` | Sol medium | Sol medium; Opus medium | Astra high / Fable high | Luna xhigh |
54
+ | `codex-only` | Sol medium | Sol medium; Luna xhigh | Astra high / unavailable | Luna xhigh |
55
55
  | `claude-only` | Opus medium | Opus medium; Sonnet xhigh | unavailable / Fable high | Sonnet xhigh |
56
56
 
57
57
  The installed `<skills-dir>/axstack/roles.json` adds the selected preset name:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axstack",
3
- "version": "0.20.9",
3
+ "version": "0.20.11",
4
4
  "description": "Axstack installer and setup CLI: installs owned chat skills and role data, configures supported harness settings, and checks Orca capabilities.",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -23,7 +23,7 @@
23
23
  "id": "axstack-owner",
24
24
  "name": "Axstack PR owner",
25
25
  "provider": "claude",
26
- "model": "claude-opus-5",
26
+ "model": "claude-opus-5-5",
27
27
  "modeId": "bypassPermissions",
28
28
  "thinkingOptionId": "high",
29
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."
@@ -32,7 +32,7 @@
32
32
  "id": "axstack-author",
33
33
  "name": "Axstack author",
34
34
  "provider": "claude",
35
- "model": "claude-opus-5",
35
+ "model": "claude-opus-5-5",
36
36
  "modeId": "bypassPermissions",
37
37
  "thinkingOptionId": "medium",
38
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."
@@ -41,7 +41,7 @@
41
41
  "id": "axstack-reviewer-primary",
42
42
  "name": "Axstack reviewer (primary)",
43
43
  "provider": "claude",
44
- "model": "claude-opus-5",
44
+ "model": "claude-opus-5-5",
45
45
  "modeId": "bypassPermissions",
46
46
  "thinkingOptionId": "medium",
47
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."
@@ -68,7 +68,7 @@
68
68
  "id": "axstack-research-requirements",
69
69
  "name": "Axstack research requirements",
70
70
  "provider": "claude",
71
- "model": "claude-opus-5",
71
+ "model": "claude-opus-5-5",
72
72
  "modeId": "bypassPermissions",
73
73
  "thinkingOptionId": "medium",
74
74
  "notes": "Research requirements analyst: scopes bounded questions and acceptance for a research task. Validate configured availability at launch; hold affected work without fallback."
@@ -77,7 +77,7 @@
77
77
  "id": "axstack-research-code",
78
78
  "name": "Axstack research code",
79
79
  "provider": "claude",
80
- "model": "claude-opus-5",
80
+ "model": "claude-opus-5-5",
81
81
  "modeId": "bypassPermissions",
82
82
  "thinkingOptionId": "medium",
83
83
  "notes": "Research code investigator: verifies behavior against inspected code and executable evidence. Validate configured availability at launch; hold affected work without fallback."
@@ -167,10 +167,10 @@
167
167
  "id": "axstack-debug-investigator-1",
168
168
  "name": "Axstack debug investigator 1",
169
169
  "provider": "claude",
170
- "model": "claude-opus-5",
170
+ "model": "claude-opus-5-5",
171
171
  "modeId": "bypassPermissions",
172
172
  "thinkingOptionId": "medium",
173
- "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."
173
+ "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-5 at medium effort because it has fewer model families."
174
174
  },
175
175
  {
176
176
  "id": "axstack-debug-investigator-2",
@@ -185,10 +185,10 @@
185
185
  "id": "axstack-debug-investigator-3",
186
186
  "name": "Axstack debug investigator 3",
187
187
  "provider": "claude",
188
- "model": "claude-opus-5",
188
+ "model": "claude-opus-5-5",
189
189
  "modeId": "bypassPermissions",
190
190
  "thinkingOptionId": "high",
191
- "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."
191
+ "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-5 at high effort because it has fewer model families."
192
192
  },
193
193
  {
194
194
  "id": "axstack-debug-investigator-4",
@@ -23,7 +23,7 @@
23
23
  "id": "axstack-owner",
24
24
  "name": "Axstack PR owner",
25
25
  "provider": "codex",
26
- "model": "gpt-5.6-sol",
26
+ "model": "gpt-6-sol",
27
27
  "modeId": "full-access",
28
28
  "thinkingOptionId": "high",
29
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."
@@ -32,7 +32,7 @@
32
32
  "id": "axstack-author",
33
33
  "name": "Axstack author",
34
34
  "provider": "codex",
35
- "model": "gpt-5.6-sol",
35
+ "model": "gpt-6-sol",
36
36
  "modeId": "full-access",
37
37
  "thinkingOptionId": "medium",
38
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."
@@ -41,25 +41,25 @@
41
41
  "id": "axstack-reviewer-primary",
42
42
  "name": "Axstack reviewer (primary)",
43
43
  "provider": "codex",
44
- "model": "gpt-5.6-sol",
44
+ "model": "gpt-6-sol",
45
45
  "modeId": "full-access",
46
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."
47
+ "notes": "Primary reviewer in the ordered codex-only peer pair: Sol medium followed by Luna xhigh. Never author or owner; review exact SHA and base across all six angles and acceptance. Peer first pass stays isolated."
48
48
  },
49
49
  {
50
50
  "id": "axstack-reviewer-secondary",
51
51
  "name": "Axstack reviewer (secondary)",
52
52
  "provider": "codex",
53
- "model": "gpt-5.6-terra",
53
+ "model": "gpt-6-luna",
54
54
  "modeId": "full-access",
55
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."
56
+ "notes": "Secondary reviewer in the ordered codex-only peer pair: Sol medium followed by Luna 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
57
  },
58
58
  {
59
59
  "id": "axstack-checker",
60
60
  "name": "Axstack tracker checker",
61
61
  "provider": "codex",
62
- "model": "gpt-5.6-luna",
62
+ "model": "gpt-6-luna",
63
63
  "modeId": "full-access",
64
64
  "thinkingOptionId": "low",
65
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."
@@ -77,7 +77,7 @@
77
77
  "id": "axstack-research-code",
78
78
  "name": "Axstack research code",
79
79
  "provider": "codex",
80
- "model": "gpt-5.6-sol",
80
+ "model": "gpt-6-sol",
81
81
  "modeId": "full-access",
82
82
  "thinkingOptionId": "medium",
83
83
  "notes": "Research code investigator: verifies behavior against inspected code and executable evidence. Validate configured availability at launch; hold affected work without fallback."
@@ -86,7 +86,7 @@
86
86
  "id": "axstack-research-web",
87
87
  "name": "Axstack research web",
88
88
  "provider": "codex",
89
- "model": "gpt-5.6-terra",
89
+ "model": "gpt-6-sol",
90
90
  "modeId": "full-access",
91
91
  "thinkingOptionId": "low",
92
92
  "notes": "Research web reader: gathers primary-source facts efficiently. Validate configured availability at launch; hold affected work without fallback."
@@ -113,7 +113,7 @@
113
113
  "id": "axstack-explainer",
114
114
  "name": "Axstack explainer",
115
115
  "provider": "codex",
116
- "model": "gpt-5.6-sol",
116
+ "model": "gpt-6-sol",
117
117
  "modeId": "full-access",
118
118
  "thinkingOptionId": "high",
119
119
  "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."
@@ -122,16 +122,16 @@
122
122
  "id": "axstack-explainer-review",
123
123
  "name": "Axstack explainer reviewer",
124
124
  "provider": "codex",
125
- "model": "gpt-5.6-luna",
125
+ "model": "gpt-6-luna",
126
126
  "modeId": "full-access",
127
- "thinkingOptionId": "max",
127
+ "thinkingOptionId": "xhigh",
128
128
  "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."
129
129
  },
130
130
  {
131
131
  "id": "axstack-explore-codebase",
132
132
  "name": "Axstack codebase explorer",
133
133
  "provider": "codex",
134
- "model": "gpt-5.6-terra",
134
+ "model": "gpt-6-sol",
135
135
  "modeId": "full-access",
136
136
  "thinkingOptionId": "xhigh",
137
137
  "notes": "Codebase mapper: explores repository structure and interfaces for research and handoff context. Validate configured availability at launch; hold affected work without fallback."
@@ -140,7 +140,7 @@
140
140
  "id": "axstack-explore-execution",
141
141
  "name": "Axstack execution explorer",
142
142
  "provider": "codex",
143
- "model": "gpt-5.6-terra",
143
+ "model": "gpt-6-sol",
144
144
  "modeId": "full-access",
145
145
  "thinkingOptionId": "low",
146
146
  "notes": "Execution explorer: runs bounded checks of runtime behavior where authorized. Validate configured availability at launch; hold affected work without fallback."
@@ -149,7 +149,7 @@
149
149
  "id": "axstack-monitor",
150
150
  "name": "Axstack monitor",
151
151
  "provider": "codex",
152
- "model": "gpt-5.6-terra",
152
+ "model": "gpt-6-sol",
153
153
  "modeId": "full-access",
154
154
  "thinkingOptionId": "low",
155
155
  "notes": "Optional 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."
@@ -158,46 +158,46 @@
158
158
  "id": "axstack-auditor",
159
159
  "name": "Axstack auditor",
160
160
  "provider": "codex",
161
- "model": "gpt-5.6-luna",
161
+ "model": "gpt-6-luna",
162
162
  "modeId": "full-access",
163
- "thinkingOptionId": "max",
163
+ "thinkingOptionId": "xhigh",
164
164
  "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."
165
165
  },
166
166
  {
167
167
  "id": "axstack-debug-investigator-1",
168
168
  "name": "Axstack debug investigator 1",
169
169
  "provider": "codex",
170
- "model": "gpt-5.6-sol",
170
+ "model": "gpt-6-sol",
171
171
  "modeId": "full-access",
172
172
  "thinkingOptionId": "medium",
173
- "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."
173
+ "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-6-sol at medium effort because it has fewer model families."
174
174
  },
175
175
  {
176
176
  "id": "axstack-debug-investigator-2",
177
177
  "name": "Axstack debug investigator 2",
178
178
  "provider": "codex",
179
- "model": "gpt-5.6-terra",
179
+ "model": "gpt-6-sol",
180
180
  "modeId": "full-access",
181
181
  "thinkingOptionId": "low",
182
- "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."
182
+ "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-6-sol at low effort because it has fewer model families."
183
183
  },
184
184
  {
185
185
  "id": "axstack-debug-investigator-3",
186
186
  "name": "Axstack debug investigator 3",
187
187
  "provider": "codex",
188
- "model": "gpt-5.6-sol",
188
+ "model": "gpt-6-sol",
189
189
  "modeId": "full-access",
190
190
  "thinkingOptionId": "high",
191
- "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."
191
+ "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-6-sol at high effort because it has fewer model families."
192
192
  },
193
193
  {
194
194
  "id": "axstack-debug-investigator-4",
195
195
  "name": "Axstack debug investigator 4",
196
196
  "provider": "codex",
197
- "model": "gpt-5.6-terra",
197
+ "model": "gpt-6-sol",
198
198
  "modeId": "full-access",
199
199
  "thinkingOptionId": "xhigh",
200
- "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."
200
+ "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-6-sol at xhigh effort because it has fewer model families."
201
201
  },
202
202
  {
203
203
  "id": "axstack-arena-judge-astra",
@@ -23,7 +23,7 @@
23
23
  "id": "axstack-owner",
24
24
  "name": "Axstack PR owner",
25
25
  "provider": "claude",
26
- "model": "claude-opus-5",
26
+ "model": "claude-opus-5-5",
27
27
  "modeId": "bypassPermissions",
28
28
  "thinkingOptionId": "medium",
29
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."
@@ -32,7 +32,7 @@
32
32
  "id": "axstack-author",
33
33
  "name": "Axstack author",
34
34
  "provider": "codex",
35
- "model": "gpt-5.6-sol",
35
+ "model": "gpt-6-sol",
36
36
  "modeId": "full-access",
37
37
  "thinkingOptionId": "medium",
38
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."
@@ -41,7 +41,7 @@
41
41
  "id": "axstack-reviewer-primary",
42
42
  "name": "Axstack reviewer (primary)",
43
43
  "provider": "codex",
44
- "model": "gpt-5.6-sol",
44
+ "model": "gpt-6-sol",
45
45
  "modeId": "full-access",
46
46
  "thinkingOptionId": "medium",
47
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."
@@ -50,7 +50,7 @@
50
50
  "id": "axstack-reviewer-secondary",
51
51
  "name": "Axstack reviewer (secondary)",
52
52
  "provider": "claude",
53
- "model": "claude-opus-5",
53
+ "model": "claude-opus-5-5",
54
54
  "modeId": "bypassPermissions",
55
55
  "thinkingOptionId": "medium",
56
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."
@@ -68,7 +68,7 @@
68
68
  "id": "axstack-research-requirements",
69
69
  "name": "Axstack research requirements",
70
70
  "provider": "claude",
71
- "model": "claude-opus-5",
71
+ "model": "claude-opus-5-5",
72
72
  "modeId": "bypassPermissions",
73
73
  "thinkingOptionId": "medium",
74
74
  "notes": "Research requirements analyst: scopes bounded questions and acceptance for a research task. Validate configured availability at launch; hold affected work without fallback."
@@ -77,7 +77,7 @@
77
77
  "id": "axstack-research-code",
78
78
  "name": "Axstack research code",
79
79
  "provider": "codex",
80
- "model": "gpt-5.6-sol",
80
+ "model": "gpt-6-sol",
81
81
  "modeId": "full-access",
82
82
  "thinkingOptionId": "medium",
83
83
  "notes": "Research code investigator: verifies behavior against inspected code and executable evidence. Validate configured availability at launch; hold affected work without fallback."
@@ -86,7 +86,7 @@
86
86
  "id": "axstack-research-web",
87
87
  "name": "Axstack research web",
88
88
  "provider": "claude",
89
- "model": "claude-opus-5",
89
+ "model": "claude-opus-5-5",
90
90
  "modeId": "bypassPermissions",
91
91
  "thinkingOptionId": "low",
92
92
  "notes": "Research web reader: gathers primary-source facts efficiently. Validate configured availability at launch; hold affected work without fallback."
@@ -122,9 +122,9 @@
122
122
  "id": "axstack-explainer-review",
123
123
  "name": "Axstack explainer reviewer",
124
124
  "provider": "codex",
125
- "model": "gpt-5.6-luna",
125
+ "model": "gpt-6-luna",
126
126
  "modeId": "full-access",
127
- "thinkingOptionId": "max",
127
+ "thinkingOptionId": "xhigh",
128
128
  "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."
129
129
  },
130
130
  {
@@ -140,7 +140,7 @@
140
140
  "id": "axstack-explore-execution",
141
141
  "name": "Axstack execution explorer",
142
142
  "provider": "codex",
143
- "model": "gpt-5.6-terra",
143
+ "model": "gpt-6-sol",
144
144
  "modeId": "full-access",
145
145
  "thinkingOptionId": "low",
146
146
  "notes": "Execution explorer: runs bounded checks of runtime behavior where authorized. Validate configured availability at launch; hold affected work without fallback."
@@ -149,7 +149,7 @@
149
149
  "id": "axstack-monitor",
150
150
  "name": "Axstack monitor",
151
151
  "provider": "claude",
152
- "model": "claude-opus-5",
152
+ "model": "claude-opus-5-5",
153
153
  "modeId": "bypassPermissions",
154
154
  "thinkingOptionId": "medium",
155
155
  "notes": "Optional 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."
@@ -158,16 +158,16 @@
158
158
  "id": "axstack-auditor",
159
159
  "name": "Axstack auditor",
160
160
  "provider": "codex",
161
- "model": "gpt-5.6-luna",
161
+ "model": "gpt-6-luna",
162
162
  "modeId": "full-access",
163
- "thinkingOptionId": "max",
163
+ "thinkingOptionId": "xhigh",
164
164
  "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."
165
165
  },
166
166
  {
167
167
  "id": "axstack-debug-investigator-1",
168
168
  "name": "Axstack debug investigator 1",
169
169
  "provider": "claude",
170
- "model": "claude-opus-5",
170
+ "model": "claude-opus-5-5",
171
171
  "modeId": "bypassPermissions",
172
172
  "thinkingOptionId": "medium",
173
173
  "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."
@@ -176,7 +176,7 @@
176
176
  "id": "axstack-debug-investigator-2",
177
177
  "name": "Axstack debug investigator 2",
178
178
  "provider": "codex",
179
- "model": "gpt-5.6-sol",
179
+ "model": "gpt-6-sol",
180
180
  "modeId": "full-access",
181
181
  "thinkingOptionId": "medium",
182
182
  "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."
@@ -194,7 +194,7 @@
194
194
  "id": "axstack-debug-investigator-4",
195
195
  "name": "Axstack debug investigator 4",
196
196
  "provider": "codex",
197
- "model": "gpt-5.6-terra",
197
+ "model": "gpt-6-sol",
198
198
  "modeId": "full-access",
199
199
  "thinkingOptionId": "low",
200
200
  "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."
@@ -238,6 +238,9 @@ or send outcome, not pending CI. Waiting state belongs in GitHub and the compact
238
238
  record, never in an idle model, per-PR timer, or polling loop.
239
239
  Follow the [private evidence archive](evidence-archive.md) when evidence is the
240
240
  only local state to preserve; archive success does not relax any other guard.
241
+ For a completed, forge-merged PR-job, classified reviewer scratch may instead
242
+ follow [axstack-cleanup](../../axstack-cleanup/SKILL.md)'s compact receipt and
243
+ exact-path guards. This does not release active jobs or manager pass workspaces.
241
244
 
242
245
  ## Review and repair authority
243
246
 
@@ -307,6 +310,8 @@ terminals, unknown liveness, `user_takeover`, and ambiguous publication state.
307
310
  Never classify all dirt as evidence. If explicitly classified evidence is the
308
311
  last retention reason, apply and verify the [private evidence archive](evidence-archive.md),
309
312
  update durable continuity, and read it back before native retirement.
313
+ The completed, forge-merged PR-job reviewer scratch exception above uses
314
+ axstack-cleanup; it never changes manager pass preservation or retirement guards.
310
315
 
311
316
  For the manager pass only, verify native run/workspace identity, exclusive
312
317
  automation ownership, no unsettled descendants, and a fresh terminal inventory
@@ -95,8 +95,13 @@ owner. Remove only that exact validated owned path, with no glob or parent-root
95
95
  deletion; never wipe a general cache. Uncertain temporary files are preserved
96
96
  for later reconciliation. Incidental tool-managed caches are not review evidence.
97
97
  Before removing a reviewer worktree, preserve its report and supporting evidence
98
- in the driver's Orca workspace and update the run record's paths. Terminal
99
- release alone is not permission to discard evidence or remove the worktree.
98
+ in the driver's Orca workspace and update the run record's paths. For a settled
99
+ merged run with a confirmed forge merge, the compact durable receipt in
100
+ [axstack-cleanup](../../axstack-cleanup/SKILL.md) satisfies this preservation
101
+ rule only after its classification, readback, and removal guards pass. Preserve
102
+ active or unmerged review evidence and unique evidence whose bytes must survive;
103
+ uncertain ownership or evidence holds. Terminal release alone is not permission
104
+ to discard evidence or remove the worktree.
100
105
 
101
106
  ## Consume, settle, and recover
102
107
 
@@ -34,10 +34,10 @@ Role IDs:
34
34
 
35
35
  | Preset | Author | Reviewer (model/effort) |
36
36
  | --- | --- | --- |
37
- | `mixed` | Codex / Sol (`codex/gpt-5.6-sol`) | `axstack-reviewer-secondary` (`claude/claude-opus-5` medium) |
38
- | `mixed` | Claude / Opus (`claude/claude-opus-5`) | `axstack-reviewer-primary` (`codex/gpt-5.6-sol` medium) |
39
- | `codex-only` | Codex / Sol (`codex/gpt-5.6-sol`) | `axstack-reviewer-secondary` (`codex/gpt-5.6-terra` xhigh) |
40
- | `claude-only` | Claude / Opus (`claude/claude-opus-5`) | `axstack-reviewer-secondary` (`claude/claude-sonnet-5` xhigh) |
37
+ | `mixed` | Codex / Sol (`codex/gpt-6-sol`) | `axstack-reviewer-secondary` (`claude/claude-opus-5-5` medium) |
38
+ | `mixed` | Claude / Opus (`claude/claude-opus-5-5`) | `axstack-reviewer-primary` (`codex/gpt-6-sol` medium) |
39
+ | `codex-only` | Codex / Sol (`codex/gpt-6-sol`) | `axstack-reviewer-secondary` (`codex/gpt-6-luna` xhigh) |
40
+ | `claude-only` | Claude / Opus (`claude/claude-opus-5-5`) | `axstack-reviewer-secondary` (`claude/claude-sonnet-5` xhigh) |
41
41
  - `axstack-advisor-astra` and `axstack-advisor-fable` advise independently
42
42
  and author align arena candidates; `axstack-arena-judge-astra` and
43
43
  `axstack-arena-judge-fable` judge them. `axstack-auditor` audits;
@@ -25,7 +25,7 @@ immediately before an actual auditor profile or session dispatch. Ordinary
25
25
  audit reading and record writing do not load it, and the auditor never
26
26
  dispatches.
27
27
 
28
- Core owns the `axstack-auditor` profile (codex/gpt-5.6-luna max) and its
28
+ Core owns the `axstack-auditor` profile (codex/gpt-6-luna xhigh) and its
29
29
  invocation. This skill governs what that auditor reads, measures, and proposes.
30
30
  The user-chosen improvement mode is a tested, independently reviewed PR that a
31
31
  human merges.
@@ -34,8 +34,8 @@ Never clean a manual chat, the current driver, `user_takeover`, an active or
34
34
  unknown worker, an unsettled descendant, or a resource with ambiguous ownership.
35
35
  Preserve dirty or unknown files, unpushed commits, unmerged useful work,
36
36
  ambiguous publication, and evidence that has not been durably preserved. Do not
37
- force, bulk-clean, override a hook failure, edit a runtime database, or add a
38
- scheduler, daemon, or state machine.
37
+ force native removal, bulk-clean, override a hook failure, edit a runtime
38
+ database, or add a scheduler, daemon, or state machine.
39
39
 
40
40
  ## Reconcile each candidate
41
41
 
@@ -57,13 +57,51 @@ Classify exact evidence files individually. Save the compact cleanup decision
57
57
  and identities in the private run record or another configured durable private
58
58
  location outside disposable worktrees. When the evidence archive applies, use
59
59
  its helper with either the existing PR identity or the non-PR Run and Task
60
- identity; never invent a PR number. Read back both the durable record and the
61
- archive manifest, including hashes and exact identities, before removing any
62
- source copy or workspace.
60
+ identity; never invent a PR number. Read back the durable record and, when an
61
+ archive is used, its manifest, including hashes and exact identities, before
62
+ removing any source copy or workspace.
63
63
 
64
64
  Archive success proves only preservation of the listed bytes. It does not prove
65
65
  settlement, exit, ownership, a clean worktree, publication, or removal safety.
66
66
 
67
+ For a settled merged run whose forge merge is confirmed, generated reviewer
68
+ scratch is disposable after a compact durable receipt is written outside the
69
+ review worktree and read back. Bind that receipt to the exact repository, Run,
70
+ Task, Dispatch, reviewer workspace and terminal, exact head SHA and base SHA,
71
+ review verdict, coverage and limitations, test and CI result pointers, and the
72
+ user authorization and scope for cleanup. A raw reviewer report may be discarded
73
+ after its verdict and limitations are compacted into that read-back receipt;
74
+ use the private evidence archive for unique evidence whose exact bytes must
75
+ survive. Raw reproducible probes and logs need not be archived solely to retire
76
+ a completed review worktree.
77
+
78
+ Use only a named run-owned scratch prefix recorded with the Dispatch. Require
79
+ `git status --porcelain=v1 -z --untracked-files=all` to show all dirt as
80
+ untracked files inside that run-owned scratch prefix; any tracked, staged,
81
+ unmerged or unpushed work, dirty source, or dirt outside it holds. Validate that
82
+ the detached checkout still matches the reviewed head and check local commits
83
+ against recorded remote refs; unknown divergence holds. Validate that
84
+ the exact reviewed scratch prefix names the recorded directory inside the exact
85
+ reviewer worktree, never a repository-root target or symlink. Inspect every
86
+ descendant for symlinks, hard links, special files, unknown content, user-owned
87
+ files, or ignored files; any mismatch holds. Active or `user_takeover` terminals
88
+ also hold.
89
+
90
+ List the exact scoped path and all descendants with their types, confirm each
91
+ belongs to generated reviewer scratch, and record that inventory. Dry-run the
92
+ exact scoped path from the reviewer worktree root with
93
+ `git clean -nd -- <exact reviewed scratch prefix>`
94
+ with the concrete reviewed relative prefix substituted for the angle-bracket
95
+ notation. Compare its sole target to the classified directory; an empty,
96
+ partial, or different result holds. Re-read the compact receipt, complete Git
97
+ status, directory contents, native ownership and liveness immediately before
98
+ removal; any change holds. Then run `git clean -fd -- <same exact prefix>` with
99
+ the identical concrete path and recheck clean Git status, recording the path and
100
+ outcome. Use no unresolved variable as a destructive target. Never use `-x`, a
101
+ glob, a repository-root target, extra force, or broad clean.
102
+ This scratch decision does not waive any other preservation or native removal
103
+ guard.
104
+
67
105
  ## Apply distinct native operations
68
106
 
69
107
  Treat these operations as separate decisions and receipts:
@@ -48,12 +48,24 @@ immediately before an actual profile dispatch.
48
48
 
49
49
  ## 2. Choose proportional output
50
50
 
51
- 1. For a simple request, answer concisely in the current chat. Use a compact
51
+ 1. Keep the primary reader-facing explanation to a maximum of 700 words in
52
+ chat, HTML, and every other requested format. Preserve in that primary view
53
+ the answer or purpose, key rationale, meaningful alternatives, main data or
54
+ operational boundary, status and uncertainty, and live reader questions
55
+ with evidence-supported answers, labeling any question the inspected
56
+ evidence does not answer as **unknown** or **open** rather than inventing an
57
+ answer. Count the primary artifact's reader-visible words, including
58
+ headings, table text, and diagram or figure labels and captions. An appendix
59
+ or collapsible content in the same artifact counts toward the 700-word
60
+ maximum. If the draft is longer, compress repetition first and move only
61
+ supporting detail to a separate linked ticket or appendix. Essential answers
62
+ must not be hidden behind links, and evidence must not be silently discarded.
63
+ 2. For a simple request, answer concisely in the current chat. Use a compact
52
64
  diagram when useful. This needs no mandatory agent or intermediate artifact.
53
- 2. For a complex visual, use the configured `axstack-explainer` role to create
65
+ 3. For a complex visual, use the configured `axstack-explainer` role to create
54
66
  self-contained HTML, or use the requested artifact format. An explicit user
55
67
  theme wins; otherwise use the dark default.
56
- 3. Profile IDs are presets, not availability proof. Before dispatch, follow the
68
+ 4. Profile IDs are presets, not availability proof. Before dispatch, follow the
57
69
  launch sequence and preserve the configured model, mode, and effort. Report
58
70
  an unavailable route; never substitute a model.
59
71
 
@@ -116,10 +116,10 @@ owns the event and settles after its skill-owned reviewers settle.
116
116
 
117
117
  | Preset | Actual author provider/model | Reviewer role (configured model/effort) |
118
118
  | --- | --- | --- |
119
- | `mixed` | Codex / Sol (`codex/gpt-5.6-sol`) | `axstack-reviewer-secondary` (`claude/claude-opus-5` medium) |
120
- | `mixed` | Claude / Opus (`claude/claude-opus-5`) | `axstack-reviewer-primary` (`codex/gpt-5.6-sol` medium) |
121
- | `codex-only` | Codex / Sol (`codex/gpt-5.6-sol`) | `axstack-reviewer-secondary` (`codex/gpt-5.6-terra` xhigh) |
122
- | `claude-only` | Claude / Opus (`claude/claude-opus-5`) | `axstack-reviewer-secondary` (`claude/claude-sonnet-5` xhigh) |
119
+ | `mixed` | Codex / Sol (`codex/gpt-6-sol`) | `axstack-reviewer-secondary` (`claude/claude-opus-5-5` medium) |
120
+ | `mixed` | Claude / Opus (`claude/claude-opus-5-5`) | `axstack-reviewer-primary` (`codex/gpt-6-sol` medium) |
121
+ | `codex-only` | Codex / Sol (`codex/gpt-6-sol`) | `axstack-reviewer-secondary` (`codex/gpt-6-luna` xhigh) |
122
+ | `claude-only` | Claude / Opus (`claude/claude-opus-5-5`) | `axstack-reviewer-secondary` (`claude/claude-sonnet-5` xhigh) |
123
123
 
124
124
  Provenance is matched on provider/model ID; record effort, but never use
125
125
  effort to create a mapping. Any other author provenance for the
package/src/roles.js CHANGED
@@ -6,14 +6,14 @@ const PROVIDER_BOUNDS = Object.freeze({
6
6
 
7
7
  const AUTHORED_ROUTES = Object.freeze({
8
8
  mixed: {
9
- 'codex/gpt-5.6-sol': ['axstack-reviewer-secondary', 'claude/claude-opus-5', 'medium'],
10
- 'claude/claude-opus-5': ['axstack-reviewer-primary', 'codex/gpt-5.6-sol', 'medium'],
9
+ 'codex/gpt-6-sol': ['axstack-reviewer-secondary', 'claude/claude-opus-5-5', 'medium'],
10
+ 'claude/claude-opus-5-5': ['axstack-reviewer-primary', 'codex/gpt-6-sol', 'medium'],
11
11
  },
12
12
  'codex-only': {
13
- 'codex/gpt-5.6-sol': ['axstack-reviewer-secondary', 'codex/gpt-5.6-terra', 'xhigh'],
13
+ 'codex/gpt-6-sol': ['axstack-reviewer-secondary', 'codex/gpt-6-luna', 'xhigh'],
14
14
  },
15
15
  'claude-only': {
16
- 'claude/claude-opus-5': ['axstack-reviewer-secondary', 'claude/claude-sonnet-5', 'xhigh'],
16
+ 'claude/claude-opus-5-5': ['axstack-reviewer-secondary', 'claude/claude-sonnet-5', 'xhigh'],
17
17
  },
18
18
  });
19
19