diff --git a/.torch/install-manifest.json b/.torch/install-manifest.json index 59b1033..bd3f204 100644 --- a/.torch/install-manifest.json +++ b/.torch/install-manifest.json @@ -123,6 +123,20 @@ "area": "qa", "path": "/home/user/TORCHWorktrees/3dc11932-6e3c-42aa-9a8a-ca7b8f818b54/qa", "branch": "torch/qa" + }, + { + "type": "systemd-user-unit", + "name": "torch-3dc11932-6e3c-42aa-9a8a-ca7b8f818b54-schedules.service", + "path": "/home/user/.config/systemd/user/torch-3dc11932-6e3c-42aa-9a8a-ca7b8f818b54-schedules.service", + "sha256": "d1f6318f91e7b64847e52e415db52c66b60150b0c809fc1e0acb283d8bc0926c", + "configDigest": "4e21d6bf76dbcb983d984af2bf44a199ffb56d65e88a5c5f03cd678f196b329f" + }, + { + "type": "systemd-user-unit", + "name": "torch-3dc11932-6e3c-42aa-9a8a-ca7b8f818b54-schedules.timer", + "path": "/home/user/.config/systemd/user/torch-3dc11932-6e3c-42aa-9a8a-ca7b8f818b54-schedules.timer", + "sha256": "7c878a828c3f2a04cc597b12de3702f2dfd2ac6ac8228099ada27c59e00151f0", + "configDigest": "4e21d6bf76dbcb983d984af2bf44a199ffb56d65e88a5c5f03cd678f196b329f" } ] } diff --git a/.torch/prompts/COMMON.md b/.torch/prompts/COMMON.md index 973199d..c4d27fd 100644 --- a/.torch/prompts/COMMON.md +++ b/.torch/prompts/COMMON.md @@ -32,7 +32,10 @@ credentials. Keep pipeline work and Claude/Pi migration queued for later. Machine manager check-ins are owner-approved hourly with a maximum of 12 automatic invocations per UTC day in subscription invocation-count mode (not a -dollar cap). They inspect direct reports/approval waits and report exceptions; +dollar cap). Automatic AI wake execution is currently PAUSED pending +TASK-pilot-executor-outcomes qualification; the machine coordination timer still +queues check-ins. Do not re-enable wakes yourself. They inspect direct +reports/approval waits and report exceptions; they must not launch specialists or expand this slice. Provider-runtime turns are launched by the arbiter, not automatically by the manager. Do not change timers or budgets yourself. When blocked or finished, record evidence and end the turn; diff --git a/.torch/torch.yaml b/.torch/torch.yaml index e0adec4..ea2d420 100644 --- a/.torch/torch.yaml +++ b/.torch/torch.yaml @@ -126,7 +126,7 @@ "action": { "type": "manager-check-in", "manager_id": "session-manager", - "wake": { "enabled": true, "budget_mode": "invocation-count" } + "wake": { "enabled": false, "budget_mode": "invocation-count" } }, "required_authority": [ "owner" diff --git a/docs/TODO.md b/docs/TODO.md index e33adf3..bc0e0e6 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -4,7 +4,10 @@ TORCH is installed and healthy at `0.1.0-alpha.2`. Setup/restore and all seven worktree briefs have been verified. The active organization is Session Manager -plus six specialists; all providers are offline. The default Git branch remains +plus six specialists. A first bounded development pilot is now active through +Session Manager, Provider Runtime and QA; the remaining domains have not started. +See `reports/audit/first-development-pilot-2026-09-30.md` for current live state. +The default Git branch remains legacy TORCH; the configured development/integration boundary is `rewrite/portable-agent-fleet`. No publication or default-branch promotion is authorized. Later sections retain historical audit snapshots, including old @@ -54,10 +57,21 @@ dependencies, and remain unassigned for manager triage. See No COMBATRIG schedules, Vercel deployment, credentials, LAN exposure or automatic phone notifications are assumed. -These are proposed development tasks, **not implemented automatic setup**. The -existing 15-minute manager schedule is configured, but no TORCH host timer is -installed. Common instructions still authorize only the smoke test; development -activation, self-claim and recurring provider wakes remain separately reviewed. +These are proposed development tasks, **not implemented automatic init/install**. +For the first pilot the arbiter explicitly installed an hourly machine manager +coordination timer and verified real systemd parsing/activation. Automatic AI +wakes are paused pending the timeout/outcome guard; self-claim remains disabled. +COMMON.md authorizes only the diagnostics development slice, not broad autonomous +dispatch. The original 34 proposals remain the handoff; three newly observed +pilot reliability issues have also been added to the same backlog: + +- [ ] `TASK-pilot-starting-presence`: publish guarded startup state before a + blocking provider launch and prevent duplicate manual/timer execution. +- [ ] `TASK-pilot-systemd-rendering`: native scalar-path rendering is fixed and + qualified in source; finish active/failed unit evidence and false-success + handling instead of equating installed files with an operational timer. +- [ ] `TASK-pilot-executor-outcomes`: zero exit plus timeout/error/signal cannot + produce a successful lifecycle/wake receipt; qualify before automatic wakes. ## First real self-host run (2026-09-30) diff --git a/reports/audit/first-development-pilot-2026-09-30.md b/reports/audit/first-development-pilot-2026-09-30.md new file mode 100644 index 0000000..b5e430a --- /dev/null +++ b/reports/audit/first-development-pilot-2026-09-30.md @@ -0,0 +1,96 @@ +# First TORCH-building-TORCH development pilot + +## Owner authorization and live monitor + +The owner requested a staged self-development fleet, with the outer assistant +as arbiter through Session Manager, then a quality release/update and a later +Claude Code/Pi substitution test. COMMON.md records the bounded first slice: +`TASK-conversation-runtime-diagnostics`. Other development work, remote pushes, +landing, public release, deployment, default-main promotion and provider migration +are not authorized by this pilot. + +Monitor: **http://127.0.0.1:4174/console**. The snapshot is installed mode for +project `3dc11932-6e3c-42aa-9a8a-ca7b8f818b54`, not demo state. The original +Console process died during an outer-daemon restart. It was restored as the +loopback-only transient user service +`torch-3dc11932-6e3c-42aa-9a8a-ca7b8f818b54-console-pilot.service`, outside the +assistant process lifetime. This is not yet a reboot-persistent installed +Console integration; automatic service provisioning remains backlog work. + +## Real agent evidence + +- Session Manager resumed the same Sol runtime and assigned the real task to + Provider Runtime with revision-checked proposed → ready → assigned transitions. +- Provider Runtime started as the configured Terra model, retained runtime + session `01a0f3e1-9106-72c3-b8b2-2f1cc5322ccc`, queried ownership and requested + QA consent before editing tests. It committed production changes at + `c362ccd5cc8fff94c59d4a0c8f178628dc5e7596` on its own branch. That is not landed + or accepted release evidence. +- QA ran real Terra coordination turns and gave exact additive-test consent for + `test/fleet/lifecycle.test.mjs` and `docs/TEST_INTEGRITY.md`, retaining existing + assertions and requiring independent exact-candidate review. +- A daemon restart interrupted implementation. The arbiter checked owned live + Codex process absence, preserved dirty code/tests/generated screenshots and + resumed the same assignment via a transient `runtime-pilot-turn` user service. + No unrelated process was killed or user work reverted. + +Provider-reported focused checks passed, but its generic full-suite failures and +final regression evidence still require exact-source qualification. Do not infer +completion from a commit, active process or green controller receipt. Generated +test screenshots remain agent work and must not be blindly committed as changed +expectations. First launch presence lag and assigned-versus-working task state +need review; startup badges are not independent process-liveness proof. + +## Machine scheduler: qualified setup, guarded AI execution + +The owner-approved hourly check-in policy retains a maximum of 12 automatic +invocations per UTC day in subscription invocation-count mode, not a USD cap. +The project-owned persistent systemd timer was explicitly installed for the +pilot. This manual qualification does not implement automatic init/install yet. + +Initial live install exposed invalid `WorkingDirectory="/absolute/path"` output. +The actual parser rejected it, while file-based status said installed and the +timer was enabled but inactive. Minimal source repair `d636cae` emits an absolute +scalar path with C escaping and literal specifier handling. A new native-parser +scenario includes spaces, percent and quote characters. Fourteen scheduling tests +and all 39 source acceptance groups PASS; no existing test was weakened. + +Reconciliation used the tested source CLI and preserved owned-file hashes. The +timer is active and its first dispatch produced a durable check-in and wake +receipt. Installed stable tool remains alpha.2; the repaired scheduler currently +executes the source CLI, not a newly packaged stable release. A later qualified +tool update must incorporate the repair and reconcile the launcher. + +The first automatic manager invocation lasted exactly the 300-second executor +limit and was recorded succeeded/invoked. Independent model-turn completion was +not established. A native local child trapping SIGTERM reproduced +`status: 0`, `signal: null`, `error: ETIMEDOUT`; current startFleet ignores the +error when exit status is zero. This confirms a false-success boundary, not +independent proof of how that particular model turn ended. Historical receipts +were preserved, not rewritten. + +Automatic AI wakes are therefore **disabled** until `TASK-pilot-executor-outcomes` +is fixed and qualified. The timer remains active for durable machine coordination; +the arbiter explicitly drives the bounded specialist turns. Do not claim the +fleet is ready for unattended autonomy. + +## Backlog and next gates + +The original 34 conversation follow-ups are preserved. Three observed pilot +issues were added through audited owner intake: starting presence, native unit +rendering/operational status and executor timeout/outcome semantics. The manager +backlog remains the authoritative queue, separate from this narrative report. + +1. Finish diagnostics regression evidence and independent QA review. +2. Fix executor outcome/launch-presence guards and qualify one real bounded wake. +3. Complete reviewed automatic init/install onboarding and persistent operations. +4. Expand the fleet's scope only after a successful bounded work/verification/ + landing/resume cycle; never directly push competing specialist branches. +5. Build/accept/update a quality artifact with current receipts, then separately + test Claude/Pi handover of the same durable identities, tasks, messages and + checkpoints. No model/provider swap occurred in this pilot. + +Receipts are under `/tmp/torch-pilot-*`, including repaired full-source acceptance, +native parser tests, scheduler installation/reconciliation, durable wake/run +state and owner-request messages. The live dashboard and actual branch state +take precedence over historical progress descriptions in this report.