forked from jason/echo
Phase 4: shared-write hardening + group lenses
- vault_lock gains bounded retry/backoff (CHORUS_LOCK_RETRIES=4, CHORUS_LOCK_BACKOFF=0.5s); atomic_index_update and recall-index upkeep retry acquisition — unlocked fallback only after exhausted retries, loudly, so an already-written note is never stranded unindexed. - Duplicate-gate candidates carry the existing note's author; STOP message says whose entity the capture collided with. - recall --author <member> filters hits + linked context to one member's notes; recall briefs and --json surface the author: stamp. - load --all-members appends a group-wide view (every member's scope + last-session heartbeat); roster parsing accepts folders as trailing-slash file entries (the REST API's actual shape). - operating-contract.md concurrency section rewritten for N members. - Two-member e2e suite committed as eval/test_multimember.py (26 checks incl. all four Phase-4 behaviors). - Manifest -> 2.0.0-alpha.4; rebuilt chorus-memory.plugin. Verified: 25/25 unit, scaffold, routing-sync, 5 mock e2e suites (incl. new multimember), run_eval metrics unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+6
-4
@@ -209,10 +209,12 @@ up between phases — there is no ECHO-vault adoption path; CHORUS vaults start
|
||||
fresh). Docs: vault-layout.md, routing-map.md, bootstrap.md rewritten.
|
||||
**Deliverable:** a real multi-member vault, bootstrapped from empty.
|
||||
|
||||
### Phase 4 — Shared-write hardening (1–2 days)
|
||||
Required lock on index writes with bounded retry/backoff, gate messages carry
|
||||
author, `recall --author`, `load --all-members`, concurrency docs
|
||||
(operating-contract.md) rewritten for N writers.
|
||||
### Phase 4 — Shared-write hardening (1–2 days) — DONE
|
||||
Lock on index writes with bounded retry/backoff (unlocked fallback only after
|
||||
exhausted retries, loudly — a written note must never go unindexed), gate
|
||||
messages carry the existing entity's author, `recall --author`,
|
||||
`load --all-members`, concurrency docs (operating-contract.md) rewritten for
|
||||
N writers. Two-member e2e suite committed as `eval/test_multimember.py`.
|
||||
|
||||
### Phase 5 — Docs, onboarding & eval (2–3 days)
|
||||
SKILL.md full rewrite (operator → member voice; drop the "single owner"
|
||||
|
||||
Reference in New Issue
Block a user