docs(scratchpad): the reset-per-rollout contract assumes one replica #518
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!518
Loading…
Reference in a new issue
No description provided.
Delete branch "eng/the-scratchpad-assumes-one-replica"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The addressing model, which is what the issue could not check
The scratchpad is per requester, not per turn and not per context:
scratchPartitionNameissha256(requesterID)[:16], hashed rather than stripped so two ids differing only in punctuation cannot collide. A turn with no requester is refused outright rather than pooled into a shared directory.So the partition is stable across turns for one requester. Cross-turn continuity is the capability, not a side effect of it — the doc already says the scratchpad is "useful across a conversation".
That makes the split the worst available shape. The thing a second replica breaks is exactly the thing the capability is for. A file written in one turn is present in the next only if the next turn lands on the same pod, and nothing binds a requester to one.
What changed
One paragraph, stating that the contract assumes a single replica and what a second pod would do to it.
Net zero on lines:
sirens-echo-scratchpad.mdsits exactly at the 80-line cap, so the paragraph was tightened rather than extended. I tried twice at 81 lines before getting it right, and the gate caught both.Not decided here
The three options in the issue are still open, and this does not pick one. It makes the current contract accurate so that whoever picks is choosing rather than discovering.
Worth knowing when they do: #487 already settled the replica question against multi-replica on other grounds — the duplicate gate, the job store and the rate limiter are all per process, so two pods would double-reply, double-run jobs, and double the fleet-wide admission ceiling. The scratchpad is a fourth instance of that class rather than the deciding one.
closes #489