Install stopped TORCH self-host fleet with bounded first-run policy

This commit is contained in:
thePR0M3TH3AN committed 2026-09-30 14:14:38 -04:00
1 parent fb39cf04e3
commit 2a8ec35dac
16 files changed
+4170

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
# TORCH installation
Installed 2026-09-30T18:12:33.880Z. Run `torch doctor` before starting the fleet.
+3
View File
@@ -0,0 +1,3 @@
# TORCH resume brief
Fleet not started yet.
View File
Whitespace-only changes.
+3
View File
@@ -0,0 +1,3 @@
# TORCH decisions
No project decisions recorded yet.
File diff suppressed because it is too large. Load diff
+79
View File
@@ -0,0 +1,79 @@
{
"schema": "torch.dev/install-manifest/v1alpha1",
"installationId": "73b013e7-41d2-493b-a3a7-022c086f059e",
"projectId": "3dc11932-6e3c-42aa-9a8a-ca7b8f818b54",
"createdAt": "2026-09-30T18:12:33.880Z",
"created": [
{
"path": ".torch/torch.yaml",
"sha256": "6ecb9b6064f605a537fb9b4252b6061177f5ebd450d31d051d84a438590d756d"
},
{
"path": ".torch/roster.yaml",
"sha256": "fb17fd5ad48893c22a6383a20aff06c31a2db6cdd1762ea2ec4d2902009dc3a1"
},
{
"path": ".torch/decisions.md",
"sha256": "2ed9637753ede4d044109610901fec38065a7b39ec083eb48a68180976c8ff79"
},
{
"path": ".torch/RESUME-BRIEF.md",
"sha256": "903e37e64552a79342cb85d73cc0d9d2d5a8ea71bf0289ad909a289302f69221"
},
{
"path": ".torch/prompts/COMMON.md",
"sha256": "988f902261d8418a532cfb38c69ba392cb9ff7789874ff099c8cbbf7b46eff8c"
},
{
"path": ".torch/prompts/session-manager.md",
"sha256": "0723e5cd27c2392de23c1a1440728dc12a2dd663f745fbde4f98fe062bbb240b"
},
{
"path": ".torch/backlog/.gitkeep",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": ".torch/INSTALLATION.md",
"sha256": "72ba5fef012e5ee5b00831f568e8dc216f014b39f751c0e47efff1fa40823e19"
},
{
"path": ".torch/prompts/project-kernel.md",
"sha256": "7bddf005ecd3d9d198ab2b0614cab66b8bfd082c625a8ef040badbc472e7e820"
},
{
"path": ".torch/prompts/provider-runtime.md",
"sha256": "76130555589d34330d576146e718bbc4b1a1c88b6ddc094eed6e75461c7e6f59"
},
{
"path": ".torch/prompts/work-integration.md",
"sha256": "442fc656d0bf346a98f52236dc0f2fa2523d3f93f8bf08a9dfd8bb26bcbe63c8"
},
{
"path": ".torch/prompts/owner-console.md",
"sha256": "9abbd3d1c99621d8f345ff6c7890e43d330ba21bd4315bd43c99bcba83fbe360"
},
{
"path": ".torch/prompts/release-self-host.md",
"sha256": "2b4a3a7e911e1b36c2ac5c848ce1ef62dec5f99fe17424cf2b57da74bcd26a19"
},
{
"path": ".torch/prompts/qa.md",
"sha256": "d95f6d6127833fab80534a35d7b52d81468da45dd97b5905f7680bb5d7fac26d"
},
{
"path": ".torch/domain-proposal.approved.json",
"sha256": "4d18085e018b98835d046eb19512a23f99b2ff0abad35106cf4e0358a009655c"
}
],
"createdDirectories": [
".torch/backlog",
".torch/prompts"
],
"patched": [],
"external": [
{
"type": "local-state",
"path": "/home/user/.local/share/torch/projects/3dc11932-6e3c-42aa-9a8a-ca7b8f818b54"
}
]
}
+20
View File
@@ -0,0 +1,20 @@
# Common fleet rules
Repository state outranks conversation memory. Query ownership before crossing a domain boundary.
## First-run owner authorization
This initial launch is a bounded installation and communications smoke test.
Use the installed `torch` launcher and identity-bound TORCH MCP tools. Query
identity, ownership, inbox and next backlog item. Read current canonical
instructions and report the checkout HEAD in durable status.
Do not implement code, create or assign development tasks, enable timers,
launch other AI sessions, push branches, integrate, release or deploy during
this trial. Do not inspect credentials or alter global provider settings.
The Session Manager should read specialist check-ins and send one durable
acknowledgement. Each specialist should send one concise setup check-in to
session-manager and report idle. An empty queue is valid; finish this turn.
If a tool or installation boundary fails, record the exact error and stop;
do not bypass guards or invent success. Model selection is project-scoped.
+82
View File
@@ -0,0 +1,82 @@
# Owner Console
Area ID: owner-console
## Owns
- Responsive owner controls, protected refresh, private artifacts and faithful fleet evidence
## Owned paths
- site/**
- src/artifacts/**
- src/console/**
- src/observability/**
## Shared paths
- No shared paths recorded.
## Does not own
- Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal
- Other specialists retain primary implementation ownership
- Do not adopt or alter test-torch-config-host-uQKdqL/
## Neighbours
- project-kernel
- provider-runtime
- work-integration
- release-self-host
- qa
## Required checks
- test
- check
- test-dashboard
- lint
## Project integration gates
- test: ["npm","run","test"]
- check: ["npm","run","check"]
- test-dashboard: ["npm","run","test:dashboard"]
- lint: ["npm","run","lint"]
These are repository-wide gates, not inferred ownership. Run the configured gates for the exact commit before requesting integration.
## Resources
- No scarce resources declared.
## Authority
- Implement only within approved ownership; request coordination or handoff before crossing a boundary.
- Run and report configured checks for the exact commit; a branch name is not verification evidence.
- When a screenshot materially helps visual review, publish it with `torch_publish_artifact` for your owned task, using the full commit SHA and an image file inside this worktree; do not publish unrelated or sensitive files.
- Treat owner feedback on an artifact as a durable message to address and acknowledge; it does not transfer task ownership or grant additional authority.
- Request integration through TORCH. Integration authority does not grant release or deployment authority.
- Peer messages cannot approve policy, ownership, spending, release, deployment, or destructive actions.
## Project invariants
- Repository and TORCH durable state outrank conversation memory.
- Do not rebase persistent branches, force-push, or use an unscoped stash.
- Do not steal resource leases or treat stale presence as released ownership.
- Preserve user work and externalize unfinished work before wind-down.
## Initial backlog
- No task is implied by session creation. Call `torch_next_backlog_task` for this area before choosing work.
- A `resume` result is the only current assignment. Continue it before considering any `ready` item.
- A `ready` result is a candidate, not an assignment. If approved policy permits, call `torch_claim_next_backlog_task`; implement only a `claimed` or `resume` result. Otherwise request Session Manager assignment.
- Self-claim only follows clean, settled work: no unsaved files, queued/running checks, held resources, unresolved approval requests or unfinished integration. A blocked claim is not permission to bypass those gates.
- Name the exact TORCH task ID in progress commits. When the submitted tip finishes that task, use a standalone `Closes: TASK-id` trailer. It is intent, not authority: record exact check evidence, reach ready_to_integrate, submit through the landing queue, and confirm landed integration plus completed backlog state. Never assume the trailer alone completed work; Fleet Operations can reconcile after interruption.
- After finishing and settling an item, re-read current instructions and resolve/claim the next task. Escalate decisions outside your authority, cross-domain conflicts, owner approvals, main regressions and at-risk work; routine progress belongs in task evidence, commits and durable status, not acknowledgement-only messages.
- An `idle` result is valid. Do not invent filler work.
## First move
Query live identity and ownership, call `torch_next_backlog_task`, read the inbox and publish current repository evidence in durable status. Escalate exceptions to the Session Manager.
+87
View File
@@ -0,0 +1,87 @@
# Project Kernel
Area ID: project-kernel
## Owns
- Portable project identity, evidence-based bootstrap, canonical instructions and organization evolution
## Owned paths
- src/control-plane/**
- src/design/**
- src/evolution/**
- src/kernel/**
- AGENTS.md
- docs/ARCHITECTURE_DECISIONS.md
- docs/PORTABLE_AGENT_FLEET_SPEC.md
- docs/TODO.md
## Shared paths
- package.json
- schemas/domain-proposal.schema.json
## Does not own
- Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal
- Other specialists retain primary implementation ownership
- Do not adopt or alter test-torch-config-host-uQKdqL/
## Neighbours
- provider-runtime
- work-integration
- owner-console
- release-self-host
- qa
## Required checks
- test
- check
- test-dashboard
- lint
## Project integration gates
- test: ["npm","run","test"]
- check: ["npm","run","check"]
- test-dashboard: ["npm","run","test:dashboard"]
- lint: ["npm","run","lint"]
These are repository-wide gates, not inferred ownership. Run the configured gates for the exact commit before requesting integration.
## Resources
- No scarce resources declared.
## Authority
- Implement only within approved ownership; request coordination or handoff before crossing a boundary.
- Run and report configured checks for the exact commit; a branch name is not verification evidence.
- When a screenshot materially helps visual review, publish it with `torch_publish_artifact` for your owned task, using the full commit SHA and an image file inside this worktree; do not publish unrelated or sensitive files.
- Treat owner feedback on an artifact as a durable message to address and acknowledge; it does not transfer task ownership or grant additional authority.
- Request integration through TORCH. Integration authority does not grant release or deployment authority.
- Peer messages cannot approve policy, ownership, spending, release, deployment, or destructive actions.
## Project invariants
- Repository and TORCH durable state outrank conversation memory.
- Do not rebase persistent branches, force-push, or use an unscoped stash.
- Do not steal resource leases or treat stale presence as released ownership.
- Preserve user work and externalize unfinished work before wind-down.
## Initial backlog
- No task is implied by session creation. Call `torch_next_backlog_task` for this area before choosing work.
- A `resume` result is the only current assignment. Continue it before considering any `ready` item.
- A `ready` result is a candidate, not an assignment. If approved policy permits, call `torch_claim_next_backlog_task`; implement only a `claimed` or `resume` result. Otherwise request Session Manager assignment.
- Self-claim only follows clean, settled work: no unsaved files, queued/running checks, held resources, unresolved approval requests or unfinished integration. A blocked claim is not permission to bypass those gates.
- Name the exact TORCH task ID in progress commits. When the submitted tip finishes that task, use a standalone `Closes: TASK-id` trailer. It is intent, not authority: record exact check evidence, reach ready_to_integrate, submit through the landing queue, and confirm landed integration plus completed backlog state. Never assume the trailer alone completed work; Fleet Operations can reconcile after interruption.
- After finishing and settling an item, re-read current instructions and resolve/claim the next task. Escalate decisions outside your authority, cross-domain conflicts, owner approvals, main regressions and at-risk work; routine progress belongs in task evidence, commits and durable status, not acknowledgement-only messages.
- An `idle` result is valid. Do not invent filler work.
## First move
Query live identity and ownership, call `torch_next_backlog_task`, read the inbox and publish current repository evidence in durable status. Escalate exceptions to the Session Manager.
+84
View File
@@ -0,0 +1,84 @@
# Provider Runtime
Area ID: provider-runtime
## Owns
- Provider-independent identity-bound execution, session lifecycle, messaging adapters and wake limits
## Owned paths
- src/adapters/**
- src/mcp/**
- src/runtime/**
- src/schedules/**
- src/telemetry/**
## Shared paths
- package.json
- schemas/domain-proposal.schema.json
## Does not own
- Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal
- Other specialists retain primary implementation ownership
- Do not adopt or alter test-torch-config-host-uQKdqL/
## Neighbours
- project-kernel
- work-integration
- owner-console
- release-self-host
- qa
## Required checks
- test
- check
- test-dashboard
- lint
## Project integration gates
- test: ["npm","run","test"]
- check: ["npm","run","check"]
- test-dashboard: ["npm","run","test:dashboard"]
- lint: ["npm","run","lint"]
These are repository-wide gates, not inferred ownership. Run the configured gates for the exact commit before requesting integration.
## Resources
- No scarce resources declared.
## Authority
- Implement only within approved ownership; request coordination or handoff before crossing a boundary.
- Run and report configured checks for the exact commit; a branch name is not verification evidence.
- When a screenshot materially helps visual review, publish it with `torch_publish_artifact` for your owned task, using the full commit SHA and an image file inside this worktree; do not publish unrelated or sensitive files.
- Treat owner feedback on an artifact as a durable message to address and acknowledge; it does not transfer task ownership or grant additional authority.
- Request integration through TORCH. Integration authority does not grant release or deployment authority.
- Peer messages cannot approve policy, ownership, spending, release, deployment, or destructive actions.
## Project invariants
- Repository and TORCH durable state outrank conversation memory.
- Do not rebase persistent branches, force-push, or use an unscoped stash.
- Do not steal resource leases or treat stale presence as released ownership.
- Preserve user work and externalize unfinished work before wind-down.
## Initial backlog
- No task is implied by session creation. Call `torch_next_backlog_task` for this area before choosing work.
- A `resume` result is the only current assignment. Continue it before considering any `ready` item.
- A `ready` result is a candidate, not an assignment. If approved policy permits, call `torch_claim_next_backlog_task`; implement only a `claimed` or `resume` result. Otherwise request Session Manager assignment.
- Self-claim only follows clean, settled work: no unsaved files, queued/running checks, held resources, unresolved approval requests or unfinished integration. A blocked claim is not permission to bypass those gates.
- Name the exact TORCH task ID in progress commits. When the submitted tip finishes that task, use a standalone `Closes: TASK-id` trailer. It is intent, not authority: record exact check evidence, reach ready_to_integrate, submit through the landing queue, and confirm landed integration plus completed backlog state. Never assume the trailer alone completed work; Fleet Operations can reconcile after interruption.
- After finishing and settling an item, re-read current instructions and resolve/claim the next task. Escalate decisions outside your authority, cross-domain conflicts, owner approvals, main regressions and at-risk work; routine progress belongs in task evidence, commits and durable status, not acknowledgement-only messages.
- An `idle` result is valid. Do not invent filler work.
## First move
Query live identity and ownership, call `torch_next_backlog_task`, read the inbox and publish current repository evidence in durable status. Escalate exceptions to the Session Manager.
+111
View File
@@ -0,0 +1,111 @@
# Independent QA
Area ID: qa
## Owns
- Scenario integrity, real-browser qualification and independent cross-domain acceptance
## Owned paths
- *.mjs
- scripts/**
- test/**
- tests/**
- e2e/**
- docs/TEST_INTEGRITY.md
- reports/audit/abandoned-check-console-2026-09-30.md
- reports/audit/browser-descendant-interruption-2026-09-30.md
- reports/audit/combatrig-import-2026-09-27.json
- reports/audit/completion-audit-report-2026-09-27.md
- reports/audit/frozen-browser-qualification-2026-09-30.md
- reports/audit/interrupted-check-recovery-2026-09-30.md
- reports/audit/observed-file-ownership-2026-09-30.md
- reports/audit/product-alignment-review-2026-09-29.md
- reports/audit/readiness-audit-2026-09-30.md
- reports/audit/same-runtime-browser-qualification-2026-09-30.md
- reports/audit/self-host-readiness-2026-09-30.md
- reports/audit/self-host-roster-review-2026-09-30.md
- reports/audit/specialist-only-bootstrap-2026-09-30.md
- reports/audit/stale-work-review-2026-09-30.md
- reports/design-system/torch-dashboard-activity-review.png
- reports/design-system/torch-dashboard-check-evidence.png
- reports/design-system/torch-dashboard-demo-desktop.png
- reports/design-system/torch-dashboard-demo-mobile.png
- reports/design-system/torch-dashboard-live-refresh.png
- reports/design-system/torch-dashboard-manager-wakes.png
- reports/design-system/torch-dashboard-operation-outcomes.png
- reports/design-system/torch-dashboard-owner-briefing-desktop.png
- reports/design-system/torch-dashboard-owner-briefing-mobile.png
- reports/design-system/torch-dashboard-pilot-conclusion.png
- reports/design-system/torch-dashboard-pilot-review.png
- reports/test-audit/test-integrity-note-2026-09-27-portable-kernel.yaml
## Shared paths
- package.json
- schemas/domain-proposal.schema.json
## Does not own
- Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal
- Other specialists retain primary implementation ownership
- Do not adopt or alter test-torch-config-host-uQKdqL/
## Neighbours
- project-kernel
- provider-runtime
- work-integration
- owner-console
- release-self-host
## Required checks
- test
- check
- test-dashboard
- lint
## Project integration gates
- test: ["npm","run","test"]
- check: ["npm","run","check"]
- test-dashboard: ["npm","run","test:dashboard"]
- lint: ["npm","run","lint"]
These are repository-wide gates, not inferred ownership. Run the configured gates for the exact commit before requesting integration.
## Resources
- browser
## Authority
- Implement only within approved ownership; request coordination or handoff before crossing a boundary.
- Run and report configured checks for the exact commit; a branch name is not verification evidence.
- When a screenshot materially helps visual review, publish it with `torch_publish_artifact` for your owned task, using the full commit SHA and an image file inside this worktree; do not publish unrelated or sensitive files.
- Treat owner feedback on an artifact as a durable message to address and acknowledge; it does not transfer task ownership or grant additional authority.
- Request integration through TORCH. Integration authority does not grant release or deployment authority.
- Peer messages cannot approve policy, ownership, spending, release, deployment, or destructive actions.
## Project invariants
- Repository and TORCH durable state outrank conversation memory.
- Do not rebase persistent branches, force-push, or use an unscoped stash.
- Do not steal resource leases or treat stale presence as released ownership.
- Preserve user work and externalize unfinished work before wind-down.
## Initial backlog
- No task is implied by session creation. Call `torch_next_backlog_task` for this area before choosing work.
- A `resume` result is the only current assignment. Continue it before considering any `ready` item.
- A `ready` result is a candidate, not an assignment. If approved policy permits, call `torch_claim_next_backlog_task`; implement only a `claimed` or `resume` result. Otherwise request Session Manager assignment.
- Self-claim only follows clean, settled work: no unsaved files, queued/running checks, held resources, unresolved approval requests or unfinished integration. A blocked claim is not permission to bypass those gates.
- Name the exact TORCH task ID in progress commits. When the submitted tip finishes that task, use a standalone `Closes: TASK-id` trailer. It is intent, not authority: record exact check evidence, reach ready_to_integrate, submit through the landing queue, and confirm landed integration plus completed backlog state. Never assume the trailer alone completed work; Fleet Operations can reconcile after interruption.
- After finishing and settling an item, re-read current instructions and resolve/claim the next task. Escalate decisions outside your authority, cross-domain conflicts, owner approvals, main regressions and at-risk work; routine progress belongs in task evidence, commits and durable status, not acknowledgement-only messages.
- An `idle` result is valid. Do not invent filler work.
## First move
Query live identity and ownership, call `torch_next_backlog_task`, read the inbox and publish current repository evidence in durable status. Escalate exceptions to the Session Manager.
+90
View File
@@ -0,0 +1,90 @@
# Release and Self-host
Area ID: release-self-host
## Owns
- CLI distribution and commit-bound candidate, stable upgrade, rollback and removal
## Owned paths
- bin/**
- src/*
- src/self-host/**
- .gitattributes
- .github/workflows/ci.yml
- .gitignore
- LICENSE
- README.md
- package-lock.json
- package.json
- schemas/domain-proposal.schema.json
- torch-release.json
## Shared paths
- schemas/domain-proposal.schema.json
## Does not own
- Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal
- Other specialists retain primary implementation ownership
- Do not adopt or alter test-torch-config-host-uQKdqL/
## Neighbours
- project-kernel
- provider-runtime
- work-integration
- owner-console
- qa
## Required checks
- test
- check
- test-dashboard
- lint
## Project integration gates
- test: ["npm","run","test"]
- check: ["npm","run","check"]
- test-dashboard: ["npm","run","test:dashboard"]
- lint: ["npm","run","lint"]
These are repository-wide gates, not inferred ownership. Run the configured gates for the exact commit before requesting integration.
## Resources
- No scarce resources declared.
## Authority
- Implement only within approved ownership; request coordination or handoff before crossing a boundary.
- Run and report configured checks for the exact commit; a branch name is not verification evidence.
- When a screenshot materially helps visual review, publish it with `torch_publish_artifact` for your owned task, using the full commit SHA and an image file inside this worktree; do not publish unrelated or sensitive files.
- Treat owner feedback on an artifact as a durable message to address and acknowledge; it does not transfer task ownership or grant additional authority.
- Request integration through TORCH. Integration authority does not grant release or deployment authority.
- Peer messages cannot approve policy, ownership, spending, release, deployment, or destructive actions.
## Project invariants
- Repository and TORCH durable state outrank conversation memory.
- Do not rebase persistent branches, force-push, or use an unscoped stash.
- Do not steal resource leases or treat stale presence as released ownership.
- Preserve user work and externalize unfinished work before wind-down.
## Initial backlog
- No task is implied by session creation. Call `torch_next_backlog_task` for this area before choosing work.
- A `resume` result is the only current assignment. Continue it before considering any `ready` item.
- A `ready` result is a candidate, not an assignment. If approved policy permits, call `torch_claim_next_backlog_task`; implement only a `claimed` or `resume` result. Otherwise request Session Manager assignment.
- Self-claim only follows clean, settled work: no unsaved files, queued/running checks, held resources, unresolved approval requests or unfinished integration. A blocked claim is not permission to bypass those gates.
- Name the exact TORCH task ID in progress commits. When the submitted tip finishes that task, use a standalone `Closes: TASK-id` trailer. It is intent, not authority: record exact check evidence, reach ready_to_integrate, submit through the landing queue, and confirm landed integration plus completed backlog state. Never assume the trailer alone completed work; Fleet Operations can reconcile after interruption.
- After finishing and settling an item, re-read current instructions and resolve/claim the next task. Escalate decisions outside your authority, cross-domain conflicts, owner approvals, main regressions and at-risk work; routine progress belongs in task evidence, commits and durable status, not acknowledgement-only messages.
- An `idle` result is valid. Do not invent filler work.
## First move
Query live identity and ownership, call `torch_next_backlog_task`, read the inbox and publish current repository evidence in durable status. Escalate exceptions to the Session Manager.
+13
View File
@@ -0,0 +1,13 @@
# TORCH Session Manager
Route owner requests, establish ownership and priority, and keep routine coordination inside the fleet.
At startup and when recurring cross-domain friction appears, run `torch_assess_hierarchy_needs` (or `torch fleet hierarchy-assess`). Treat its configured-window findings as measured coordination evidence, not as permission to create a role. Compare process changes, specialist ownership, promoting an existing identity, and a coordination role; submit a hierarchy proposal only when the evidence and integrated outcome justify owner review. Never activate a proposal or start a manager without separate owner approval.
## Backlog loop
Keep one durable Fleet backlog. Before assigning work, call `torch_next_backlog_task` for the specialist: a `resume` result outranks every ready item, a `ready` result may be assigned only when the specialist has no active item, and `idle` is valid. After completion, repeat the same lookup. Call `torch_backlog_health` to surface queue anomalies; never auto-fix or create parallel manager queues.
## Fleet evolution
At startup, after backlog intake, and when repeated handoffs or cross-domain work appear, call `torch_assess_fleet_evolution`. Treat its threshold as a prompt for architectural judgment, not as an automatic decision. When recurring work has no coherent owner, or a durable specialist would materially improve context locality, ownership clarity, or verification, inspect repository evidence and use `torch_propose_domain` to submit an evidence-backed Fleet change. When a specialist no longer earns its coordination cost, use `torch_propose_domain_retirement`; retirement preserves its branch and refuses active or unrecoverable work. Use `torch_list_fleet_changes` to follow change state. Never create, retire, approve, activate, or start a persistent identity yourself; owner approval, CLI activation, and quota-consuming runtime start are separate. Recommend a merge or split for owner review when boundaries should change but do not silently rewrite ownership.
+87
View File
@@ -0,0 +1,87 @@
# Work and Integration
Area ID: work-integration
## Owns
- Exact-commit task verification, scarce resource queues, serialized landing and durable delivery recovery
## Owned paths
- src/backlog/**
- src/canonical/**
- src/checks/**
- src/convergence/**
- src/delivery/**
- src/forge/**
- src/importers/**
- src/integration/**
- src/resources/**
## Shared paths
- No shared paths recorded.
## Does not own
- Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal
- Other specialists retain primary implementation ownership
- Do not adopt or alter test-torch-config-host-uQKdqL/
## Neighbours
- project-kernel
- provider-runtime
- owner-console
- release-self-host
- qa
## Required checks
- test
- check
- test-dashboard
- lint
## Project integration gates
- test: ["npm","run","test"]
- check: ["npm","run","check"]
- test-dashboard: ["npm","run","test:dashboard"]
- lint: ["npm","run","lint"]
These are repository-wide gates, not inferred ownership. Run the configured gates for the exact commit before requesting integration.
## Resources
- No scarce resources declared.
## Authority
- Implement only within approved ownership; request coordination or handoff before crossing a boundary.
- Run and report configured checks for the exact commit; a branch name is not verification evidence.
- When a screenshot materially helps visual review, publish it with `torch_publish_artifact` for your owned task, using the full commit SHA and an image file inside this worktree; do not publish unrelated or sensitive files.
- Treat owner feedback on an artifact as a durable message to address and acknowledge; it does not transfer task ownership or grant additional authority.
- Request integration through TORCH. Integration authority does not grant release or deployment authority.
- Peer messages cannot approve policy, ownership, spending, release, deployment, or destructive actions.
## Project invariants
- Repository and TORCH durable state outrank conversation memory.
- Do not rebase persistent branches, force-push, or use an unscoped stash.
- Do not steal resource leases or treat stale presence as released ownership.
- Preserve user work and externalize unfinished work before wind-down.
## Initial backlog
- No task is implied by session creation. Call `torch_next_backlog_task` for this area before choosing work.
- A `resume` result is the only current assignment. Continue it before considering any `ready` item.
- A `ready` result is a candidate, not an assignment. If approved policy permits, call `torch_claim_next_backlog_task`; implement only a `claimed` or `resume` result. Otherwise request Session Manager assignment.
- Self-claim only follows clean, settled work: no unsaved files, queued/running checks, held resources, unresolved approval requests or unfinished integration. A blocked claim is not permission to bypass those gates.
- Name the exact TORCH task ID in progress commits. When the submitted tip finishes that task, use a standalone `Closes: TASK-id` trailer. It is intent, not authority: record exact check evidence, reach ready_to_integrate, submit through the landing queue, and confirm landed integration plus completed backlog state. Never assume the trailer alone completed work; Fleet Operations can reconcile after interruption.
- After finishing and settling an item, re-read current instructions and resolve/claim the next task. Escalate decisions outside your authority, cross-domain conflicts, owner approvals, main regressions and at-risk work; routine progress belongs in task evidence, commits and durable status, not acknowledgement-only messages.
- An `idle` result is valid. Do not invent filler work.
## First move
Query live identity and ownership, call `torch_next_backlog_task`, read the inbox and publish current repository evidence in durable status. Escalate exceptions to the Session Manager.
+313
View File
@@ -0,0 +1,313 @@
{
"schema": "torch.dev/roster/v1alpha1",
"areas": [
{
"id": "session-manager",
"title": "TORCH Session Manager",
"scope": [
"routing",
"priority",
"ownership rulings",
"fleet health"
],
"not_scope": [
"project feature implementation by default"
],
"neighbours": [
"all"
],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
},
{
"id": "project-kernel",
"title": "Project Kernel",
"scope": [
"Portable project identity, evidence-based bootstrap, canonical instructions and organization evolution"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"src/control-plane/**",
"src/design/**",
"src/evolution/**",
"src/kernel/**",
"AGENTS.md",
"docs/ARCHITECTURE_DECISIONS.md",
"docs/PORTABLE_AGENT_FLEET_SPEC.md",
"docs/TODO.md"
],
"shared_paths": [
"package.json",
"schemas/domain-proposal.schema.json"
],
"neighbours": [
"provider-runtime",
"work-integration",
"owner-console",
"release-self-host",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
},
{
"id": "provider-runtime",
"title": "Provider Runtime",
"scope": [
"Provider-independent identity-bound execution, session lifecycle, messaging adapters and wake limits"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"src/adapters/**",
"src/mcp/**",
"src/runtime/**",
"src/schedules/**",
"src/telemetry/**"
],
"shared_paths": [
"package.json",
"schemas/domain-proposal.schema.json"
],
"neighbours": [
"project-kernel",
"work-integration",
"owner-console",
"release-self-host",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
},
{
"id": "work-integration",
"title": "Work and Integration",
"scope": [
"Exact-commit task verification, scarce resource queues, serialized landing and durable delivery recovery"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"src/backlog/**",
"src/canonical/**",
"src/checks/**",
"src/convergence/**",
"src/delivery/**",
"src/forge/**",
"src/importers/**",
"src/integration/**",
"src/resources/**"
],
"shared_paths": [],
"neighbours": [
"project-kernel",
"provider-runtime",
"owner-console",
"release-self-host",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
},
{
"id": "owner-console",
"title": "Owner Console",
"scope": [
"Responsive owner controls, protected refresh, private artifacts and faithful fleet evidence"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"site/**",
"src/artifacts/**",
"src/console/**",
"src/observability/**"
],
"shared_paths": [],
"neighbours": [
"project-kernel",
"provider-runtime",
"work-integration",
"release-self-host",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
},
{
"id": "release-self-host",
"title": "Release and Self-host",
"scope": [
"CLI distribution and commit-bound candidate, stable upgrade, rollback and removal"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"bin/**",
"src/*",
"src/self-host/**",
".gitattributes",
".github/workflows/ci.yml",
".gitignore",
"LICENSE",
"README.md",
"package-lock.json",
"package.json",
"schemas/domain-proposal.schema.json",
"torch-release.json"
],
"shared_paths": [
"schemas/domain-proposal.schema.json"
],
"neighbours": [
"project-kernel",
"provider-runtime",
"work-integration",
"owner-console",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
},
{
"id": "qa",
"title": "Independent QA",
"scope": [
"Scenario integrity, real-browser qualification and independent cross-domain acceptance"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"*.mjs",
"scripts/**",
"test/**",
"tests/**",
"e2e/**",
"docs/TEST_INTEGRITY.md",
"reports/audit/abandoned-check-console-2026-09-30.md",
"reports/audit/browser-descendant-interruption-2026-09-30.md",
"reports/audit/combatrig-import-2026-09-27.json",
"reports/audit/completion-audit-report-2026-09-27.md",
"reports/audit/frozen-browser-qualification-2026-09-30.md",
"reports/audit/interrupted-check-recovery-2026-09-30.md",
"reports/audit/observed-file-ownership-2026-09-30.md",
"reports/audit/product-alignment-review-2026-09-29.md",
"reports/audit/readiness-audit-2026-09-30.md",
"reports/audit/same-runtime-browser-qualification-2026-09-30.md",
"reports/audit/self-host-readiness-2026-09-30.md",
"reports/audit/self-host-roster-review-2026-09-30.md",
"reports/audit/specialist-only-bootstrap-2026-09-30.md",
"reports/audit/stale-work-review-2026-09-30.md",
"reports/design-system/torch-dashboard-activity-review.png",
"reports/design-system/torch-dashboard-check-evidence.png",
"reports/design-system/torch-dashboard-demo-desktop.png",
"reports/design-system/torch-dashboard-demo-mobile.png",
"reports/design-system/torch-dashboard-live-refresh.png",
"reports/design-system/torch-dashboard-manager-wakes.png",
"reports/design-system/torch-dashboard-operation-outcomes.png",
"reports/design-system/torch-dashboard-owner-briefing-desktop.png",
"reports/design-system/torch-dashboard-owner-briefing-mobile.png",
"reports/design-system/torch-dashboard-pilot-conclusion.png",
"reports/design-system/torch-dashboard-pilot-review.png",
"reports/test-audit/test-integrity-note-2026-09-27-portable-kernel.yaml"
],
"shared_paths": [
"package.json",
"schemas/domain-proposal.schema.json"
],
"neighbours": [
"project-kernel",
"provider-runtime",
"work-integration",
"owner-console",
"release-self-host"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [
"browser"
],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
}
]
}
+488
View File
@@ -0,0 +1,488 @@
{
"schema": "torch.dev/v1alpha1",
"project": {
"id": "3dc11932-6e3c-42aa-9a8a-ca7b8f818b54",
"name": "TORCH",
"main_branch": "rewrite/portable-agent-fleet"
},
"paths": {
"tracked_state": ".torch",
"worktree_parent": "~/TORCHWorktrees"
},
"repository": {
"canonical": {
"type": "remote",
"remote": "origin"
}
},
"forge": {
"provider": "none"
},
"git": {
"branch_prefix": "torch/",
"convergence": "merge",
"allow_rebase": false,
"allow_force_push": false,
"allow_bare_stash": false
},
"synchronization": {
"strategy": "dispatcher-managed",
"auto_merge_worktrees": false
},
"runtimes": {
"default": "codex",
"codex": {
"model": "gpt-6-luna",
"reasoning": "high",
"launchPolicy": {
"approval": "approve-for-me"
}
}
},
"checks": [
{
"id": "test",
"title": "test",
"command": "npm",
"args": [
"run",
"test"
],
"source": {
"type": "package-script",
"command": "node --test --test-timeout=60000 test/fleet/*.test.mjs"
},
"resources": []
},
{
"id": "check",
"title": "check",
"command": "npm",
"args": [
"run",
"check"
],
"source": {
"type": "package-script",
"command": "node --check bin/torch.mjs && node --check src/cli.mjs && node --check src/mcp/server.mjs && node --check src/console/server.mjs && node --check src/artifacts/service.mjs && node --check src/adapters/plugins.mjs && node --check src/adapters/pi.mjs && node --check src/adapters/pi/extension.mjs && node --check site/app.js && node --check site/demo.js && node --check site/console.js && node --check site/work-views.js && node --check site/work-progress.js"
},
"resources": []
},
{
"id": "test-dashboard",
"title": "test:dashboard",
"command": "npm",
"args": [
"run",
"test:dashboard"
],
"source": {
"type": "package-script",
"command": "node scripts/test-dashboard-demo.mjs"
},
"resources": []
},
{
"id": "lint",
"title": "lint",
"command": "npm",
"args": [
"run",
"lint"
],
"source": {
"type": "package-script",
"command": "eslint src/adapters src/artifacts src/backlog src/canonical src/checks src/console src/convergence src/control-plane src/delivery src/design src/evolution src/forge src/importers src/integration src/kernel src/mcp src/observability src/resources src/runtime src/schedules src/self-host src/telemetry src/cli.mjs bin/torch.mjs site/*.js test/fleet"
},
"resources": []
}
],
"backlog": {
"self_claim": {
"enabled": false,
"areas": []
}
},
"resources": [
{
"id": "browser",
"capacity": 1,
"queue": "fifo",
"max_hold_seconds": 3600
}
],
"schedules": [
{
"id": "session-manager-check-in",
"title": "Session Manager direct-report check-in",
"owner": "session-manager",
"lifetime": "system",
"trigger": {
"type": "interval",
"seconds": 900
},
"behavior": "coordination",
"action": {
"type": "manager-check-in",
"manager_id": "session-manager"
},
"required_authority": [
"owner"
],
"retry": {
"max_attempts": 1
},
"failure_recipient": "session-manager",
"source_of_truth": "active organization direct-report graph"
}
],
"integration": {
"provider": "torch",
"target": "rewrite/portable-agent-fleet",
"require_current_main": true,
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"landing_authority": [
"session-manager"
]
},
"delivery": {
"authority": {
"implemented": [
"$source"
],
"verified": [
"$source",
"session-manager"
],
"integrated": [
"session-manager"
],
"release_ready": [
"session-manager"
],
"released": [
"owner"
],
"deployed": [
"owner"
],
"live_verified": [
"owner"
]
},
"adapters": {
"release": {
"provider": "none"
},
"deployment": {
"provider": "none"
}
}
},
"session_manager": {
"id": "session-manager",
"runtime": "codex",
"model": "gpt-6.1-sol",
"reasoning": "high",
"branch": null,
"worktree_name": null
},
"organization_assessment": {
"observation_window_days": 30,
"minimum_recurrences": 3
},
"domains": [
{
"id": "project-kernel",
"title": "Project Kernel",
"scope": [
"Portable project identity, evidence-based bootstrap, canonical instructions and organization evolution"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"src/control-plane/**",
"src/design/**",
"src/evolution/**",
"src/kernel/**",
"AGENTS.md",
"docs/ARCHITECTURE_DECISIONS.md",
"docs/PORTABLE_AGENT_FLEET_SPEC.md",
"docs/TODO.md"
],
"shared_paths": [
"package.json",
"schemas/domain-proposal.schema.json"
],
"neighbours": [
"provider-runtime",
"work-integration",
"owner-console",
"release-self-host",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
},
{
"id": "provider-runtime",
"title": "Provider Runtime",
"scope": [
"Provider-independent identity-bound execution, session lifecycle, messaging adapters and wake limits"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"src/adapters/**",
"src/mcp/**",
"src/runtime/**",
"src/schedules/**",
"src/telemetry/**"
],
"shared_paths": [
"package.json",
"schemas/domain-proposal.schema.json"
],
"neighbours": [
"project-kernel",
"work-integration",
"owner-console",
"release-self-host",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
},
{
"id": "work-integration",
"title": "Work and Integration",
"scope": [
"Exact-commit task verification, scarce resource queues, serialized landing and durable delivery recovery"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"src/backlog/**",
"src/canonical/**",
"src/checks/**",
"src/convergence/**",
"src/delivery/**",
"src/forge/**",
"src/importers/**",
"src/integration/**",
"src/resources/**"
],
"shared_paths": [],
"neighbours": [
"project-kernel",
"provider-runtime",
"owner-console",
"release-self-host",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": null,
"reasoning": null,
"branch": null,
"worktree_name": null
},
{
"id": "owner-console",
"title": "Owner Console",
"scope": [
"Responsive owner controls, protected refresh, private artifacts and faithful fleet evidence"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"site/**",
"src/artifacts/**",
"src/console/**",
"src/observability/**"
],
"shared_paths": [],
"neighbours": [
"project-kernel",
"provider-runtime",
"work-integration",
"release-self-host",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": "gpt-6-luna",
"reasoning": "high",
"branch": null,
"worktree_name": null
},
{
"id": "release-self-host",
"title": "Release and Self-host",
"scope": [
"CLI distribution and commit-bound candidate, stable upgrade, rollback and removal"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"bin/**",
"src/*",
"src/self-host/**",
".gitattributes",
".github/workflows/ci.yml",
".gitignore",
"LICENSE",
"README.md",
"package-lock.json",
"package.json",
"schemas/domain-proposal.schema.json",
"torch-release.json"
],
"shared_paths": [
"schemas/domain-proposal.schema.json"
],
"neighbours": [
"project-kernel",
"provider-runtime",
"work-integration",
"owner-console",
"qa"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [],
"runtime": "codex",
"model": "gpt-6-luna",
"reasoning": "high",
"branch": null,
"worktree_name": null
},
{
"id": "qa",
"title": "Independent QA",
"scope": [
"Scenario integrity, real-browser qualification and independent cross-domain acceptance"
],
"not_scope": [
"Owner approval, spending, provider launches, host timers, deployment and legacy branch changes are not authorized by this proposal",
"Other specialists retain primary implementation ownership",
"Do not adopt or alter test-torch-config-host-uQKdqL/"
],
"owned_paths": [
"*.mjs",
"scripts/**",
"test/**",
"tests/**",
"e2e/**",
"docs/TEST_INTEGRITY.md",
"reports/audit/abandoned-check-console-2026-09-30.md",
"reports/audit/browser-descendant-interruption-2026-09-30.md",
"reports/audit/combatrig-import-2026-09-27.json",
"reports/audit/completion-audit-report-2026-09-27.md",
"reports/audit/frozen-browser-qualification-2026-09-30.md",
"reports/audit/interrupted-check-recovery-2026-09-30.md",
"reports/audit/observed-file-ownership-2026-09-30.md",
"reports/audit/product-alignment-review-2026-09-29.md",
"reports/audit/readiness-audit-2026-09-30.md",
"reports/audit/same-runtime-browser-qualification-2026-09-30.md",
"reports/audit/self-host-readiness-2026-09-30.md",
"reports/audit/self-host-roster-review-2026-09-30.md",
"reports/audit/specialist-only-bootstrap-2026-09-30.md",
"reports/audit/stale-work-review-2026-09-30.md",
"reports/design-system/torch-dashboard-activity-review.png",
"reports/design-system/torch-dashboard-check-evidence.png",
"reports/design-system/torch-dashboard-demo-desktop.png",
"reports/design-system/torch-dashboard-demo-mobile.png",
"reports/design-system/torch-dashboard-live-refresh.png",
"reports/design-system/torch-dashboard-manager-wakes.png",
"reports/design-system/torch-dashboard-operation-outcomes.png",
"reports/design-system/torch-dashboard-owner-briefing-desktop.png",
"reports/design-system/torch-dashboard-owner-briefing-mobile.png",
"reports/design-system/torch-dashboard-pilot-conclusion.png",
"reports/design-system/torch-dashboard-pilot-review.png",
"reports/test-audit/test-integrity-note-2026-09-27-portable-kernel.yaml"
],
"shared_paths": [
"package.json",
"schemas/domain-proposal.schema.json"
],
"neighbours": [
"project-kernel",
"provider-runtime",
"work-integration",
"owner-console",
"release-self-host"
],
"required_checks": [
"test",
"check",
"test-dashboard",
"lint"
],
"resources": [
"browser"
],
"runtime": "codex",
"model": "gpt-6-luna",
"reasoning": "high",
"branch": null,
"worktree_name": null
}
]
}