Skip to content

Own task layouts and transfer multi-root chats safely - #1944

Open
santoshkumarradha wants to merge 31 commits into
devfrom
docs/workspace-relay-architecture
Open

santoshkumarradha wants to merge 31 commits into
devfrom
docs/workspace-relay-architecture

Conversation

@santoshkumarradha

@santoshkumarradha santoshkumarradha commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Summary

Delegated work now owns its private folder layout instead of relying on a model to place files correctly. A chat can use several working roots, exact cooperating tasks share one admitted layout, and unrelated work keeps separate copies. Each receiver maps roots explicitly before taking over.

chat/
  .cell/                    portable truth and task carriers
  trees/<run>/
    app/                    private primary copy
    library/                private sibling copy
  logs/                     owned history
profile/
  workspace-identities/     local URI bindings and ownership
  workspace-runtime/        owned temporary data
  workspace-caches/         explicitly shared project caches
  workspace-apply/          reviewed snapshots and receipts

These paths describe ownership roles. Opaque identities survive relocation; equal names or Git remotes do not combine roots or grant write authority. New conversations persist the private-task policy; legacy conversations retain their placement. Foreground editing keeps the explicitly opened folder, and home/reference tasks do not clone a home directory.

Relay verifies complete carriers, resolves each missing root through the actual folder picker, checks destination conflicts, and acquires against the displayed holder before adoption. Recovery distinguishes immutable incoming provenance from receiver-local checkpoint paths. Forking preserves results/history while detaching inherited execution. Reopened task cards recover their local worker transcript and recorded model, including completed runs without a local plan database.

/task review <number> <root> freezes one root; /task apply <number> <root> applies that snapshot to the admitted destination. The filesystem/Git transaction preserves supported raw bytes, CRLF, permissions, literal links and empty directories, checks affected-path/ref/index conflicts, and preserves unrelated staged/dirty work. Explicit reviewed Apply may target main; automatic protected-branch landing stays blocked. Unsupported metadata refuses before destination writes.

Evidence

Latest synchronization: ca7ede171 includes dev e88e49af2 (device-pairing UI). It merged without conflicts; local quick checks and focused pairing regressions pass. The live workflow evidence below remains pinned to d689b1621; it was not rerun for this synchronization. Latest-head CI passes all checks.

  • Before: nested worker history could be present after transfer while its task card reported no transcript/model. After: public history/roster regressions and genuine resident task-card readback show the retained journal and recorded model. A non-Unix redirected-parent regression also went RED → GREEN; ordinary history remains readable.
  • Scripted terminal: complete two-root work, restart, Take, independent fork/full history, second Take, Review/Apply, another restart, cross-platform transfer and genuine resident transcript/model readback passed in 170.87 seconds on d689b1621.
  • Actual model: the complete workflow passed in 207.49 seconds. All 27 completed OpenRouter responses independently reported deepseek/deepseek-v4.1-flash: 336,137 input + 14,664 output tokens, with $0.02407027 known upstream cost. An additional request was canceled before any response/model/usage metadata; this is not an independently audited account total. The worker built the two-root feature; restart, fork, both actual terminal Review/Apply operations and the received resident task card all passed.
  • Checks: implementation GitHub checks passed on d689b1621; the documentation-only follow-up b1d3caf34 passes local quick/link checks and its GitHub gate passes all checks. Quick/focused checks, the full Windows application cross-build and independent Standards/Spec reviews pass. Local session/TUI suites passed all eight shards each. Two command-fixture native teardown failures passed isolated diagnostic retries; they remain a local validation limitation. Native Windows runtime remains untested.
  • Dependency: ordinary builds embed released Furrow v0.3.2. All six artifacts were verified; four plain/Git × closed/quiescent-WAL cases preserve original source families. Capture stages private database/journal bytes; independently changing live writers are not an atomic-snapshot guarantee.

The acceptance matrix separates actual-model work from deterministic replay and platform checks:

User workflow Verification Result
Build across two admitted roots Actual model edits both private roots; independent feature check; original folders checked before Apply Pass; requested roots explicitly present in the tool proposal
Restart and receive Genuine engine restart, per-root folder selection and Take, retained task identity, full file/metadata readback Pass
Fork and continue independently Settled history/results retained, inherited execution detached, second Take Pass
Review and Apply each root Actual terminal Review/Apply, unrelated staged/dirty changes retained, another restart and recorded outcomes checked Pass
Cross-platform reopen Received archive reopened in a separate process; genuine resident task card displays retained worker transcript and model Pass; Take 4.17 s, reopen 0.10 s, no additional model requests

Deterministic replay covers the same complete workflow separately; it is not counted as live-model proof. Compatibility and special-metadata limits remain below.

Measurement Result Limit
Historical copied-workspace corpus: 131 roots, 118 safely compacted, 13 retained 20.60 → 11.67 GB allocated; 8.93 GB / 43.34% lower Isolated volume; originals untouched; original-host free-space reclamation is not claimed
Actual cold Take 5.355 seconds, 34,203 request-body bytes + 1,702,864 response-body bytes across 115 requests Two-root fixture; excludes headers/TLS and has no matched savings baseline
Matched warm transfer 55.17% lower materialization latency; 5.33% fewer HTTP body bytes About 11% more encrypted payload; distinct from terminal paint and storage size

These measurements do not establish a new multi-root savings percentage or a four-month automatic reclamation guarantee. The longer growth experiment was deferred. Generated test fixtures, task worktrees and task-specific build/download caches were removed; originals and shared caches were preserved. Genuine terminal captures and detailed receipts remain local: direct PR media attachment upload was unavailable, so no substitute evidence branch or repository directory was published.

Merge Danger

Door: One-way for new portable metadata.

New records require supported readers at both ends; rolling back the executable does not migrate them. Legacy records are preserved. Guaranteed early refusal by older clients remains unfinished, so mixed-version operation is not claimed safe.

Blast Radius: Storage.

This touches delegated placement, portable history, relay adoption and explicit application to working files. A model can omit a requested root from its proposal; omitted roots are not silently granted. One earlier incomplete proposal was canceled after the sibling-write guard refused it; it is not counted as a passing live run. URI association is separate from application permission. Shell placement is not an OS sandbox. Originals and uncertain writers remain protected; multi-root retirement stays excluded until whole-layout writer fencing and recovery are verified. External-process continuation and every filesystem's special metadata are not guaranteed.

Agent workspace, relay and migration contract.

@santoshkumarradha
santoshkumarradha marked this pull request as ready for review October 25, 2026 21:43
@santoshkumarradha
santoshkumarradha marked this pull request as draft October 25, 2026 21:48
@santoshkumarradha
santoshkumarradha removed the request for review from AbirAbbas October 25, 2026 21:48
@santoshkumarradha santoshkumarradha changed the title docs: workspace storage, relay architecture and migration Own task layouts and transfer multi-root chats safely Oct 25, 2026
@santoshkumarradha
santoshkumarradha marked this pull request as ready for review October 26, 2026 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant