You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implementation issue for #86 phase 3, revised for the no-worktree architecture (grilled 2026-07-08). Lands on feature-collab-with-agents.
Decisions
Every flush is a commit through the existing POST /projects/{p}/files/apply — git stays aep-api's monopoly; the collab server only decides when and what. No new aep-api surface. Rationale: uncommitted volume files are invisible to every other reader (agent turns pin commit-sha snapshots; the Files API / tags read git HEAD) — the only save others can see is a commit.
Cadence (Hocuspocus onStoreDocument built-ins): ~60s quiet debounce, ~5min cap during continuous editing, and the final store when the last participant leaves (before unload). Crash loses at most the debounce window; recovery = reseed from HEAD.
Only changed files (doc snapshot vs a per-room baseline of seeded/last-applied content+shas), with per-file baseSha preconditions; new files ride the empty-baseSha must-not-exist arm; vanished non-md paths become DeleteOps (md deletion deferred — top-level fragments can only empty).
Implementation issue for #86 phase 3, revised for the no-worktree architecture (grilled 2026-07-08). Lands on
feature-collab-with-agents.Decisions
POST /projects/{p}/files/apply— git stays aep-api's monopoly; the collab server only decides when and what. No new aep-api surface. Rationale: uncommitted volume files are invisible to every other reader (agent turns pin commit-sha snapshots; the Files API / tags read git HEAD) — the only save others can see is a commit.onStoreDocumentbuilt-ins): ~60s quiet debounce, ~5min cap during continuous editing, and the final store when the last participant leaves (before unload). Crash loses at most the debounce window; recovery = reseed from HEAD.baseShapreconditions; new files ride the empty-baseSha must-not-exist arm; vanished non-md paths becomeDeleteOps (md deletion deferred — top-level fragments can only empty).Co-authored-by:trailers in the message for the session's participants (identities captured at room auth).Related: #86 (phases), #113 (files/apply), #130 (chat panel triggers the sessions this persists).