axstack 0.20.30 → 0.21.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/README.md +24 -23
- package/bin/axstack.js +18 -5
- package/docs/installation.md +101 -46
- package/docs/workflows.md +179 -117
- package/package.json +3 -3
- package/profiles/presets/claude-only.json +46 -46
- package/profiles/presets/codex-only.json +50 -50
- package/profiles/presets/mixed.json +59 -59
- package/skills/axstack/references/automations.md +127 -137
- package/skills/axstack/references/autopilot.md +121 -0
- package/skills/axstack/references/candidate-publication.md +13 -8
- package/skills/axstack/references/contracts.md +10 -4
- package/skills/axstack/references/diligence.md +3 -1
- package/skills/axstack/references/evidence-archive.md +38 -33
- package/skills/axstack/references/lifecycle.md +64 -50
- package/skills/axstack/references/review-manager-prompt.md +13 -11
- package/skills/axstack/references/role-roster.md +19 -9
- package/skills/axstack/references/routing.md +33 -18
- package/skills/axstack/references/run-record.md +36 -15
- package/skills/axstack/references/t3-runtime.md +234 -0
- package/skills/axstack/references/test-audit-weekly.md +62 -0
- package/skills/axstack/references/test-value.md +120 -0
- package/skills/axstack/references/ui-verification.md +5 -1
- package/skills/axstack/references/workspace-hygiene.md +102 -156
- package/skills/axstack/scripts/pr-digest.js +120 -0
- package/skills/axstack/scripts/resolve-models.js +102 -0
- package/skills/axstack-align/SKILL.md +25 -11
- package/skills/axstack-audit/SKILL.md +22 -5
- package/skills/axstack-audit/references/record.md +1 -1
- package/skills/axstack-cleanup/SKILL.md +69 -87
- package/skills/axstack-debug/SKILL.md +1 -1
- package/skills/axstack-explain/SKILL.md +1 -1
- package/skills/axstack-explain/references/visual-qa.md +2 -0
- package/skills/axstack-implement/SKILL.md +76 -26
- package/skills/axstack-improve/SKILL.md +24 -4
- package/skills/axstack-relay/SKILL.md +16 -7
- package/skills/axstack-research/SKILL.md +11 -4
- package/skills/axstack-review/SKILL.md +42 -32
- package/skills/axstack-spec/SKILL.md +23 -14
- package/skills/axstack-tickets/SKILL.md +13 -11
- package/skills/axstack-watch/SKILL.md +117 -34
- package/skills/axstack-watch/references/watch-runtime.md +61 -69
- package/src/capabilities.js +33 -69
- package/src/installer.js +9 -1
- package/src/instructions.js +9 -4
- package/src/roles.js +38 -10
- package/skills/axstack/references/orca-runtime.md +0 -183
- package/skills/axstack/scripts/trust-path.js +0 -123
package/README.md
CHANGED
|
@@ -6,8 +6,8 @@ Engineering workflows for AI agents, from a first question to a reviewed PR.
|
|
|
6
6
|
align → spec → tickets → implement → review → watch
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Axstack gives your current
|
|
10
|
-
review the exact result.
|
|
9
|
+
Axstack gives your current T3 thread a way to scope work, build it with tests, and
|
|
10
|
+
review the exact result. T3 Code provides worktrees, agent threads, and visible
|
|
11
11
|
coordination. You can start at the phase you need.
|
|
12
12
|
|
|
13
13
|
## What you can do
|
|
@@ -39,14 +39,14 @@ implementation. Research, explanation, and peer review can start directly.
|
|
|
39
39
|
| Wrong thing built | Align rounds clarify the request; a four-family arena compares approaches for hard choices. |
|
|
40
40
|
| Nobody really reviewed it | Strict TDD checks behavior first; with the mixed preset, cross-provider review checks the exact revision. |
|
|
41
41
|
| Design rot | The design lens sketches boundaries before a build; Improve surfaces evidenced changes later. |
|
|
42
|
-
| Agents left a mess |
|
|
42
|
+
| Agents left a mess | T3 makes delegation visible, one writer owns each PR, cleanup stays bounded, and a human merges. |
|
|
43
43
|
|
|
44
44
|
## Quick start
|
|
45
45
|
|
|
46
46
|
> [!NOTE]
|
|
47
47
|
> You need Bun >=1.3.14, Git, the GitHub CLI (`gh`) with `gh stack`, and a
|
|
48
|
-
> running
|
|
49
|
-
> The agents selected by your preset must also be available
|
|
48
|
+
> running T3 Code `0.0.46-nightly.20261003.2610` or newer.
|
|
49
|
+
> The agents selected by your preset must also be available through T3.
|
|
50
50
|
|
|
51
51
|
Install the CLI and skills. This example targets Codex:
|
|
52
52
|
|
|
@@ -56,7 +56,7 @@ axstack check --harness codex
|
|
|
56
56
|
axstack install --harness codex --preset mixed --yes
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
Open
|
|
59
|
+
Open a T3 thread and ask for the phase you need:
|
|
60
60
|
|
|
61
61
|
```text
|
|
62
62
|
$axstack-align Help me scope account recovery.
|
|
@@ -83,7 +83,9 @@ sets an explicit target without automatic migration.
|
|
|
83
83
|
Use `--harness claude`, `opencode`, or `antigravity` with `axstack check` and
|
|
84
84
|
`axstack install`, or provide explicit skill and instruction paths. Installation
|
|
85
85
|
adds an owned instruction block and preserves unrelated content. It does not
|
|
86
|
-
enable
|
|
86
|
+
enable schedules or prove that every configured model is available. T3 uses
|
|
87
|
+
its managed Antigravity runtime with separate browser sign-in; the IDE/`agy`
|
|
88
|
+
skill paths do not configure that runtime.
|
|
87
89
|
|
|
88
90
|
</details>
|
|
89
91
|
|
|
@@ -92,43 +94,42 @@ upgrades, conflicts, and uninstalling.
|
|
|
92
94
|
|
|
93
95
|
## How work stays controlled
|
|
94
96
|
|
|
95
|
-
- The current
|
|
96
|
-
visible
|
|
97
|
-
tools. Separate worktrees keep one writer on each candidate.
|
|
97
|
+
- The current T3 thread drives scope, coordination, and publication. Delegation uses
|
|
98
|
+
visible T3 orchestration via the `t3-code` MCP; harness-native subagent
|
|
99
|
+
tools are forbidden. Separate worktrees keep one writer on each candidate.
|
|
100
|
+
See the [T3 runtime boundary](skills/axstack/references/t3-runtime.md).
|
|
98
101
|
- Peer PRs receive two independent reviews. Authored changes receive a reviewer
|
|
99
102
|
selected from the author's configured pairing. Reviews bind to exact revisions.
|
|
100
103
|
- Agents keep accepted decisions and evidence for resume. Missing authority,
|
|
101
104
|
unavailable models, and serious risks surface as holds. The human merges by default.
|
|
102
105
|
|
|
103
|
-
Choose one explicit preset (
|
|
106
|
+
Choose one explicit preset (each contains all role IDs): [mixed](profiles/presets/mixed.json)
|
|
104
107
|
(recommended), [codex-only](profiles/presets/codex-only.json), or
|
|
105
108
|
[claude-only](profiles/presets/claude-only.json). Mixed supports cross-provider
|
|
106
109
|
implementation review; single-provider presets have workflow limits and are
|
|
107
|
-
not automatic fallbacks when a model is unavailable. See
|
|
110
|
+
not automatic cross-class or cross-provider fallbacks when a model is unavailable. See
|
|
108
111
|
[workflow and routing details](docs/workflows.md).
|
|
109
112
|
|
|
110
113
|
In `mixed` and `claude-only`, auditing, requirements/code/web research,
|
|
111
|
-
execution exploration, and the optional monitor use Claude Sonnet
|
|
114
|
+
execution exploration, and the optional monitor use the Claude Sonnet class at high effort.
|
|
112
115
|
Auditing, code research, and execution exploration have independent Sol high
|
|
113
116
|
pair seats in `mixed` and `codex-only`; `claude-only` records them as absent.
|
|
114
117
|
|
|
115
118
|
## Optional PR automation
|
|
116
119
|
|
|
117
120
|
Manual review works without a schedule. Own open PRs in chat-run mode use a
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
or close, the user cancels, or it expires.
|
|
121
|
+
bound T3 schedule to resume the driver thread every 10 minutes. Each wake
|
|
122
|
+
checks feedback, base, CI, and approval. Stop and verify deletion of the watch
|
|
123
|
+
when all watched PRs merge or close and release is settled or not applicable, the user cancels,
|
|
124
|
+
or it expires.
|
|
123
125
|
|
|
124
|
-
An optional native
|
|
125
|
-
review automation never merges for you.
|
|
126
|
-
|
|
127
|
-
[PR-manager setup and safety](skills/axstack/references/automations.md).
|
|
126
|
+
An optional native T3 review manager runs finite peer-review passes every 15
|
|
127
|
+
minutes; the review automation never merges for you. Activation needs live
|
|
128
|
+
host validation. See [PR-manager setup and safety](skills/axstack/references/automations.md).
|
|
128
129
|
|
|
129
130
|
## Some notes
|
|
130
131
|
|
|
131
|
-
-
|
|
132
|
+
- T3 Code is the only supported active runtime. Axstack adds no daemon or runtime
|
|
132
133
|
database.
|
|
133
134
|
- A human merges by default.
|
|
134
135
|
- This is an early project; expect the workflows to evolve.
|
package/bin/axstack.js
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
validateBundle,
|
|
15
15
|
} from '../src/installer.js';
|
|
16
16
|
import { BUN_FLOOR, checkCapabilities, meetsFloor, runRealCheck } from '../src/capabilities.js';
|
|
17
|
+
import { findLegacyRoutingLines } from '../src/instructions.js';
|
|
17
18
|
import { harnessLocations } from '../src/locations.js';
|
|
18
19
|
|
|
19
20
|
// import.meta.dir is already a filesystem path (no URL conversion, so
|
|
@@ -50,8 +51,8 @@ Usage:
|
|
|
50
51
|
Commands:
|
|
51
52
|
install Validate a skill bundle, then copy owned skills and selected role
|
|
52
53
|
data and record ownership hashes.
|
|
53
|
-
check Probe Bun, Git, gh stack, and
|
|
54
|
-
|
|
54
|
+
check Probe Bun, Git, gh stack, and the T3 Code version floor.
|
|
55
|
+
Driver preflight verifies MCP readiness inside a T3 thread.
|
|
55
56
|
uninstall Remove only unchanged Axstack-owned assets. User edits survive.
|
|
56
57
|
|
|
57
58
|
Flags:
|
|
@@ -110,7 +111,7 @@ function parseArgs(argv) {
|
|
|
110
111
|
const tok = rest.shift();
|
|
111
112
|
if (tok === '--profile') {
|
|
112
113
|
throw new Error(
|
|
113
|
-
'--profile is obsolete in the
|
|
114
|
+
'--profile is obsolete in the T3 Code installer; role data is installed as axstack/roles.json and legacy Paseo cleanup is separate',
|
|
114
115
|
);
|
|
115
116
|
}
|
|
116
117
|
if (wantsValue.has(tok)) {
|
|
@@ -337,6 +338,7 @@ async function main() {
|
|
|
337
338
|
if (summary.updated.length) console.log(`updated: ${summary.updated.join(', ')}`);
|
|
338
339
|
if (summary.addedRoleIds?.length) console.log(`added role IDs: ${summary.addedRoleIds.join(', ')}`);
|
|
339
340
|
if (summary.removedRoleIds?.length) console.log(`removed role IDs: ${summary.removedRoleIds.join(', ')}`);
|
|
341
|
+
if (summary.changedRoleModels?.length) console.log(`changed role models: ${summary.changedRoleModels.join(', ')}`);
|
|
340
342
|
if (summary.removed.length) console.log(`removed: ${summary.removed.join(', ')}`);
|
|
341
343
|
if (summary.unchanged.length) console.log(`unchanged: ${summary.unchanged.join(', ')}`);
|
|
342
344
|
}
|
|
@@ -397,7 +399,6 @@ async function main() {
|
|
|
397
399
|
}
|
|
398
400
|
if (command === 'check') {
|
|
399
401
|
const report = await checkCapabilities(runRealCheck);
|
|
400
|
-
printCheckReport(report);
|
|
401
402
|
if (flags.bundle) {
|
|
402
403
|
const bundle = await validateBundle(resolve(flags.bundle));
|
|
403
404
|
const presetNames = Object.keys(bundle.presets);
|
|
@@ -417,8 +418,20 @@ async function main() {
|
|
|
417
418
|
`instruction ${instruction.status}: ${instruction.path}` +
|
|
418
419
|
(instruction.reason ? ` (${instruction.reason})` : ''),
|
|
419
420
|
);
|
|
420
|
-
if (instruction.status !== 'owned')
|
|
421
|
+
if (instruction.status !== 'owned') {
|
|
422
|
+
report.gaps.push(`instruction ${instruction.status}: ${instruction.reason ?? 'Axstack binding is absent'}`);
|
|
423
|
+
}
|
|
424
|
+
let text;
|
|
425
|
+
try {
|
|
426
|
+
text = readFileSync(instruction.path, 'utf8');
|
|
427
|
+
} catch (err) {
|
|
428
|
+
if (err?.code !== 'ENOENT') throw err;
|
|
429
|
+
}
|
|
430
|
+
if (text !== undefined && findLegacyRoutingLines(text).length > 0) {
|
|
431
|
+
report.gaps.push('gap: legacy routing remains outside the Axstack block; preserved for manual migration');
|
|
432
|
+
}
|
|
421
433
|
}
|
|
434
|
+
printCheckReport(report);
|
|
422
435
|
if (report.gaps.length > 0) process.exitCode = 1;
|
|
423
436
|
return;
|
|
424
437
|
}
|
package/docs/installation.md
CHANGED
|
@@ -1,16 +1,45 @@
|
|
|
1
1
|
# Installation
|
|
2
2
|
|
|
3
3
|
Axstack's Bun CLI installs owned chat skills plus one selected role snapshot and
|
|
4
|
-
checks host capabilities.
|
|
5
|
-
does not dispatch agents, edit
|
|
4
|
+
checks host capabilities. T3 Code is the only supported active runtime. The CLI
|
|
5
|
+
does not dispatch agents, edit T3 settings, run a scheduler, or maintain a
|
|
6
6
|
workflow database.
|
|
7
7
|
|
|
8
8
|
Requirements: Bun >=1.3.14, Git, `gh`, the `gh stack` extension, and a running
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
T3 Code `0.0.46-nightly.20261003.2610` or newer. The driver is a T3 thread
|
|
10
|
+
with the `t3-code` MCP. See the [T3 runtime boundary](../skills/axstack/references/t3-runtime.md).
|
|
11
11
|
There are no runtime dependencies. Filesystem access uses Bun-backed `node:fs`
|
|
12
12
|
and `node:fs/promises`; no other Node runtime contract is introduced.
|
|
13
13
|
|
|
14
|
+
## T3 setup
|
|
15
|
+
|
|
16
|
+
Set `worktreeCleanup` to `off` for every Axstack project before dispatch;
|
|
17
|
+
Axstack preserves author worktrees and salvages evidence before retirement.
|
|
18
|
+
The driver reads back this setting via `t3_project_read` where exposed, or
|
|
19
|
+
records the setup limitation.
|
|
20
|
+
|
|
21
|
+
For remote and Android access on the existing tailnet, run:
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
t3 serve --tailscale-serve
|
|
25
|
+
t3 pair
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Run `t3 serve --tailscale-serve` as a VPS user service and pair the Android
|
|
29
|
+
app with `t3 pair`. T3 Connect is outside this setup. Service installation,
|
|
30
|
+
network access, and pairing require their own authorized host checks.
|
|
31
|
+
|
|
32
|
+
Install Antigravity through T3 provider settings using its managed runtime,
|
|
33
|
+
then complete the user's browser sign-in before its canary. T3 uses Google's
|
|
34
|
+
Antigravity ACP agent (`agy_acp_server`); the IDE/`agy` CLI skill paths below
|
|
35
|
+
are separate installer targets and do not configure this managed runtime.
|
|
36
|
+
Antigravity roles receive self-contained briefs; its runtime does not read
|
|
37
|
+
`~/.agents/skills`. A missing runtime, sign-in, or canary holds those roles.
|
|
38
|
+
|
|
39
|
+
Grok CLI must be >=1.0.13 on desktop and VPS. T3 advertising Grok does not
|
|
40
|
+
prove the CLI runs. Hermes relay remains unchanged: verify native `hermes send`
|
|
41
|
+
and its configured home channel under recorded notification authority.
|
|
42
|
+
|
|
14
43
|
## Commands
|
|
15
44
|
|
|
16
45
|
### Install
|
|
@@ -55,7 +84,7 @@ conflict. Then finish that owner with
|
|
|
55
84
|
the settings sidecar preserves the value while any other install still owns it.
|
|
56
85
|
|
|
57
86
|
- `--claude-settings` and `--no-claude-settings` control the existing Claude
|
|
58
|
-
Code subagent-default transaction. They do not configure
|
|
87
|
+
Code subagent-default transaction. They do not configure T3 roles.
|
|
59
88
|
- `--force` may replace an edited owned asset; it never adopts or removes
|
|
60
89
|
unrelated state.
|
|
61
90
|
- `--yes` confirms writes under the user's home directory. Tests use temporary
|
|
@@ -71,11 +100,11 @@ profiles/presets/codex-only.json
|
|
|
71
100
|
profiles/presets/claude-only.json
|
|
72
101
|
```
|
|
73
102
|
|
|
74
|
-
Each has exactly `{ "version": 1, "roles": [...] }`
|
|
75
|
-
|
|
103
|
+
Each has exactly `{ "version": 1, "roles": [...] }` and lists all role IDs
|
|
104
|
+
in the same order. Installation writes `<skills-dir>/axstack/roles.json` as
|
|
76
105
|
`{ "version": 1, "preset": "<selected preset>", "roles": [...] }` and records
|
|
77
106
|
its ownership hash like every other installed skill asset. There is no second
|
|
78
|
-
role store and no
|
|
107
|
+
role store and no T3 configuration merge.
|
|
79
108
|
|
|
80
109
|
### Check
|
|
81
110
|
|
|
@@ -83,13 +112,14 @@ role store and no Orca configuration merge.
|
|
|
83
112
|
axstack check [--bundle <dir>] [--instructions <file>] [--skills-dir <dir>|--harness <name>]
|
|
84
113
|
```
|
|
85
114
|
|
|
86
|
-
The check separates Bun/Git/`gh stack` availability,
|
|
87
|
-
|
|
88
|
-
|
|
115
|
+
The check separates Bun/Git/`gh stack` availability, the `t3` executable and
|
|
116
|
+
version floor, in-session MCP readiness, and bundle validity.
|
|
117
|
+
The CLI labels in-session MCP readiness as "verified by driver preflight";
|
|
118
|
+
the driver saves `orchestrator_capabilities` and follows its advertised schema.
|
|
89
119
|
With an instruction target, it separately reports whether the marker block is
|
|
90
|
-
owned, missing, unowned, edited, or bound to a different path.
|
|
91
|
-
|
|
92
|
-
|
|
120
|
+
owned, missing, unowned, edited, or bound to a different path. Hand-written
|
|
121
|
+
legacy routing outside the owned block is reported for manual migration and
|
|
122
|
+
preserved byte for byte.
|
|
93
123
|
|
|
94
124
|
A successful check is not provider/model availability, effective permission,
|
|
95
125
|
skill reload, task execution, mobile delivery, or end-to-end compatibility
|
|
@@ -110,10 +140,12 @@ are pruned only when empty, and the target root is never removed.
|
|
|
110
140
|
The deterministic `<!-- axstack:begin v1 -->` / `<!-- axstack:end -->` block
|
|
111
141
|
contains the target-derived Axstack entry path and model-free routing prose. It
|
|
112
142
|
also routes every subagent, delegated worker, reviewer, and cross-harness dispatch
|
|
113
|
-
through
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
143
|
+
through the `t3-code` MCP. It forbids harness-native subagent tools. The current
|
|
144
|
+
T3 thread is the driver; read-only roles use async `delegate_task`, while authors
|
|
145
|
+
use `t3_thread_launch` in their own SHA-pinned worktrees. The standing block
|
|
146
|
+
authorizes writer launch; it grants no push, merge, release, or host mutation.
|
|
147
|
+
The [runtime reference](../skills/axstack/references/t3-runtime.md) owns the dispatch
|
|
148
|
+
and receipt protocol.
|
|
117
149
|
|
|
118
150
|
Create, update, repeated install, check, and uninstall preserve every byte and
|
|
119
151
|
the file mode outside the markers. The manifest binds the canonical instruction
|
|
@@ -172,13 +204,14 @@ to rewrite them.
|
|
|
172
204
|
## Role behavior after installation
|
|
173
205
|
|
|
174
206
|
The runtime reads `roles.json` from the installed shared root `skills/axstack/`.
|
|
175
|
-
A new run records the selected preset plus all
|
|
176
|
-
|
|
177
|
-
|
|
207
|
+
A new run records the selected preset plus all role IDs. Class rows resolve
|
|
208
|
+
at run start; each role snapshot records class, exact ID, source, and time.
|
|
209
|
+
An active run and resume reuse that snapshot after a later preset install unless
|
|
210
|
+
the user explicitly changes it and accepts the resulting evidence invalidation.
|
|
178
211
|
|
|
179
212
|
The `mixed` and `claude-only` presets assign `axstack-auditor`,
|
|
180
213
|
`axstack-research-requirements`, `axstack-research-code`, `axstack-research-web`,
|
|
181
|
-
`axstack-explore-execution`, and `axstack-monitor` to Claude Sonnet
|
|
214
|
+
`axstack-explore-execution`, and `axstack-monitor` to the Claude Sonnet class at high effort.
|
|
182
215
|
The `codex-only` assignments for these roles are unchanged.
|
|
183
216
|
The three `-sol` pair seats for auditor, research-code, and explore-execution
|
|
184
217
|
use Sol high in `mixed` and `codex-only`; `claude-only` records intentional
|
|
@@ -187,9 +220,9 @@ reconciles their findings.
|
|
|
187
220
|
|
|
188
221
|
The mixed checker and `axstack-research-web-google` have provider
|
|
189
222
|
`antigravity`; mixed `axstack-research-x` has provider `grok`. All three use
|
|
190
|
-
`model: null`
|
|
191
|
-
|
|
192
|
-
|
|
223
|
+
`model: null` with notes authorizing their agent-ID routes; T3 resolves the exact
|
|
224
|
+
model from the first entry for that provider in saved capabilities. Empty
|
|
225
|
+
Antigravity model catalogs hold. The single-provider presets configure the checker and keep
|
|
193
226
|
both cross-provider research routes as intentional absences. Their
|
|
194
227
|
unavailable adviser and round-2 seat remain explicit same-provider
|
|
195
228
|
`model: null` roles, which do not make installation unready;
|
|
@@ -198,20 +231,25 @@ receipts. For an arena-grade Align question, round 1 needs Opus; round 2, if
|
|
|
198
231
|
invoked, needs escalation Fable and Astra; a required seat that is unavailable holds that
|
|
199
232
|
round. The current chat drives on whatever
|
|
200
233
|
model runs it; no preset carries a driver role. Every other missing, invalid, unsupported, or unavailable role value holds only
|
|
201
|
-
the affected work.
|
|
202
|
-
|
|
234
|
+
the affected work. Codex and Claude class resolution reads the saved T3 capabilities catalog via
|
|
235
|
+
`skills/axstack/scripts/resolve-models.js --provider`; missing or malformed
|
|
236
|
+
catalogs hold. A preset model is used as given; class rows resolve to the newest
|
|
237
|
+
matching catalog ID. Resume retains the recorded snapshot without re-resolution.
|
|
238
|
+
Rejection, timeout, quota, and auth failures hold; no subscription inference,
|
|
239
|
+
quota routing, or alternative-model retry applies.
|
|
203
240
|
|
|
204
241
|
`modeId` and similar permission fields remain conservative declared intent.
|
|
205
|
-
They do not prove
|
|
206
|
-
|
|
207
|
-
|
|
242
|
+
They do not prove effective T3 `runtimeMode`, sandboxing, or permission parity.
|
|
243
|
+
Requested provider/model/effort, input acceptance, effective session settings,
|
|
244
|
+
and completed behavior are separate evidence classes. Follow the runtime
|
|
245
|
+
reference for provider option IDs and configuration read-back.
|
|
208
246
|
|
|
209
247
|
## Claude Code subagent default
|
|
210
248
|
|
|
211
249
|
The preserved Claude-settings feature manages only
|
|
212
250
|
`env.CLAUDE_CODE_SUBAGENT_MODEL = "opus"` when its existing ownership and
|
|
213
251
|
availability conditions allow. It does not change the main conversation,
|
|
214
|
-
select an Axstack role, force built-in agents, or configure
|
|
252
|
+
select an Axstack role, force built-in agents, or configure T3.
|
|
215
253
|
|
|
216
254
|
Axstack merges that one key and preserves all unrelated settings and environment
|
|
217
255
|
values. A pre-existing value is preserved and never adopted. Missing Claude,
|
|
@@ -232,25 +270,27 @@ survives.
|
|
|
232
270
|
| Claude | `~/.claude/skills` | documented upstream |
|
|
233
271
|
| Codex | `~/.agents/skills` | documented upstream |
|
|
234
272
|
| OpenCode | `~/.config/opencode/skills` | documented upstream |
|
|
235
|
-
| Antigravity | `~/.gemini/config/skills` | documented upstream |
|
|
273
|
+
| Antigravity IDE / `agy` CLI | `~/.gemini/config/skills` | documented upstream |
|
|
236
274
|
| Grok | explicit `--skills-dir` only | auto-discovery unverified |
|
|
237
275
|
|
|
238
276
|
Prefer explicit paths and current upstream CLI guidance. Installing files does
|
|
239
277
|
not prove that a running harness reloaded them.
|
|
240
278
|
|
|
241
|
-
## Runtime
|
|
279
|
+
## Runtime preflight and schedules
|
|
242
280
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
discovery is a setup gap, not a reason to fall back or invent commands. Guide
|
|
248
|
-
discovery does not prove an operation works; Linear documents, provider/model
|
|
249
|
-
routing, and live automation behavior need separate preflights.
|
|
281
|
+
At an action boundary, load the packaged [T3 runtime reference](../skills/axstack/references/t3-runtime.md)
|
|
282
|
+
and save the actual `orchestrator_capabilities` JSON. Missing capability holds
|
|
283
|
+
the affected operation. Provider/model routing, Linear documents through the
|
|
284
|
+
executor MCP, and live schedule behavior need separate preflights.
|
|
250
285
|
|
|
251
|
-
Installation creates no production schedule and adds no custom scheduler.
|
|
252
|
-
|
|
253
|
-
|
|
286
|
+
Installation creates no production schedule and adds no custom scheduler.
|
|
287
|
+
Chat-run own-PR watch uses a bound T3 schedule every 10 minutes by default;
|
|
288
|
+
record its ID, driver thread, and expiry. Missing schedule capability holds
|
|
289
|
+
activation. Delete the schedule by its exact ID and verify absence with
|
|
290
|
+
`list_scheduled_tasks` when the watch ends; uncertainty preserves the hold.
|
|
291
|
+
The optional review manager uses an unbound 15-minute T3 schedule and requires
|
|
292
|
+
its separate native canary before activation. Installed guidance does not prove
|
|
293
|
+
live behavior. See [Review manager](../skills/axstack/references/automations.md).
|
|
254
294
|
|
|
255
295
|
## Historical migration
|
|
256
296
|
|
|
@@ -269,8 +309,8 @@ retired `axstack-driver` row leaves `roles.json` on the next install because
|
|
|
269
309
|
that file is rewritten as one owned snapshot. A --force uninstall/install
|
|
270
310
|
cycle remains only for discarding edited copies you have decided to abandon;
|
|
271
311
|
edited, custom, and unknown assets otherwise survive. `axstack-explain`
|
|
272
|
-
supersedes the old docs route. Full ownership transfer uses
|
|
273
|
-
|
|
312
|
+
supersedes the old docs route. Full ownership transfer uses the T3 runtime
|
|
313
|
+
contract and still requires explicit recipient acceptance.
|
|
274
314
|
|
|
275
315
|
Do not mutate live historical configuration during development or migration
|
|
276
316
|
tests. Host cutover, old-timer cleanup, release installation, and global cleanup
|
|
@@ -286,4 +326,19 @@ axstack uninstall --skills-dir /tmp/ax-skills --instructions /tmp/AGENTS.md
|
|
|
286
326
|
```
|
|
287
327
|
|
|
288
328
|
The second install should report no changes. These scratch examples do not
|
|
289
|
-
activate
|
|
329
|
+
activate T3 threads or schedules.
|
|
330
|
+
|
|
331
|
+
## Rollback
|
|
332
|
+
|
|
333
|
+
Use the recorded host-mutation authority and verified backups for these steps:
|
|
334
|
+
|
|
335
|
+
1. Reinstall `axstack@0.20.31` (v0.20.31) on desktop and VPS.
|
|
336
|
+
2. Restore the backed-up `~/.claude/CLAUDE.md` and `~/.codex/AGENTS.md` global instructions on both hosts.
|
|
337
|
+
3. Set the recorded T3 manager schedule to `enabled:false` and verify the disabled state.
|
|
338
|
+
4. Delete every armed run watch by its recorded schedule ID and verify absence.
|
|
339
|
+
5. Stop and disable the `t3 serve` user service on the VPS.
|
|
340
|
+
6. Re-enable the Orca automation and verify its enabled state.
|
|
341
|
+
|
|
342
|
+
Orca stays installed for one week after the VPS canary; keep its automation disabled,
|
|
343
|
+
rather than deleting it, after the T3 canary passes. Do not uninstall it during
|
|
344
|
+
that retention window.
|