forked from jason/echo
Phase 3: per-member namespacing — schema 5 (the core group conversion)
One shared vault, per-member namespaces for all churn-prone state:
- _agent/members/<member>/{preferences,current-context,heartbeat,inbox}.md
+ _agent/sessions/<member>/ session logs; shared group-profile.md
(with auto-rostered ## Members) and inbox/captures/group.md.
- Self-onboarding: load detects a bootstrapped vault lacking THIS
member's namespace and seeds it (bootstrap.member_bootstrap()).
- load = 8 reads (marker, group profile, my prefs/context/heartbeat,
shared daily, my inbox, group inbox); heartbeat fallback lists my
sessions dir; scope show/set is per member.
- Member-tagged shared writes: daily Agent Log lines and entity-update
dated blocks are '- YYYY-MM-DD [member]: …'; capture --inbox targets
my inbox; triage lists both inboxes and writes attributed audit lines.
- routing.json: member-anchors / inbox-group / member-segmented session
routes; single-user anchor paths retired (schema 5). vault_lint runs
aging-inbox + scope-drift per member. migrate.py 4->5 for alpha vaults.
- Scaffold: member-* seeds ({{MEMBER}}-stamped), group-profile/group-inbox
seeds, marker schema 5. Docs (SKILL, vault-layout, routing-map,
bootstrap) synced; manifest -> 2.0.0-alpha.3; rebuilt plugin (81 files).
Verified: all suites green (25/25 unit, scaffold, routing-sync 36 routes,
4 mock e2e, run_eval unchanged) + 19-check two-member smoke: bootstrap ->
self-onboard -> interleaved tagged daily log -> cross-member update
attribution -> independent scopes -> mine/group triage -> lint clean.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
# Inbox — Group
|
||||
|
||||
Unowned "someone should look at this" captures for the whole group, as date-prefixed **member-tagged** lines (`- {{DATE}} [member]: <thing>`), one per line, via idempotent append. Any member's triage may route these; the processing log records who routed what. Personal captures belong in your own `_agent/members/<you>/inbox.md`.
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
type: semantic-memory
|
||||
status: active
|
||||
created: {{DATE}}
|
||||
updated: {{DATE}}
|
||||
tags: [agent, group, profile]
|
||||
agent_written: true
|
||||
author: {{MEMBER}}
|
||||
source_notes: []
|
||||
---
|
||||
|
||||
# Group Profile
|
||||
|
||||
<!-- Shared facts about the group itself — what the team is, how it works, and
|
||||
durable group-wide conventions. Read by every member's cold-start load.
|
||||
Facts about ONE member belong in their _agent/members/<id>/preferences.md;
|
||||
facts about a person as a person belong in resources/people/. -->
|
||||
|
||||
## Group
|
||||
<!-- One paragraph: what this group is and what the vault is for. -->
|
||||
|
||||
## Members
|
||||
<!-- One line per member, appended automatically at onboarding: `- <member-id> (joined YYYY-MM-DD)` -->
|
||||
|
||||
## Conventions
|
||||
<!-- Durable group-wide working agreements. -->
|
||||
|
||||
## Related
|
||||
@@ -1,3 +0,0 @@
|
||||
# Inbox — Captures
|
||||
|
||||
Quick captures land here as date-prefixed lines (`- {{DATE}}: <thing>`), one per line, via POST. Triage routes durable items to their proper home (see the chorus-memory skill's Inbox Triage). Don't delete originals on triage — the processing log is the audit trail.
|
||||
@@ -0,0 +1,3 @@
|
||||
# Inbox — {{MEMBER}}
|
||||
|
||||
{{MEMBER}}'s quick captures land here as date-prefixed lines (`- {{DATE}}: <thing>`), one per line, via POST. Triage routes durable items to their proper home (see the chorus-memory skill's Inbox Triage). Don't delete originals on triage — the processing log is the audit trail. Items for the whole group belong in `inbox/captures/group.md`.
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
---
|
||||
type: semantic-memory
|
||||
status: active
|
||||
created: {{DATE}}
|
||||
updated: {{DATE}}
|
||||
tags: [agent, member, preferences]
|
||||
agent_written: true
|
||||
author: {{MEMBER}}
|
||||
source_notes: []
|
||||
confidence: low
|
||||
last_reviewed: {{DATE}}
|
||||
---
|
||||
|
||||
# Preferences
|
||||
|
||||
<!-- This member's preferences — how the agent should work FOR {{MEMBER}}.
|
||||
Group-visible by design (one vault, one key); truly private material belongs
|
||||
in a personal vault, not CHORUS. Only {{MEMBER}}'s sessions should edit this
|
||||
file. -->
|
||||
|
||||
## Member
|
||||
<!-- One paragraph: who {{MEMBER}} is (role, focus). Leave for them to confirm; do not fabricate. -->
|
||||
|
||||
## Fact / Pattern
|
||||
<!-- Promoted, deduped, timeless rules. No date prefix. Add only when a rule is stable. -->
|
||||
|
||||
## Observations
|
||||
<!-- Timestamped raw observations. Default landing zone for new evidence: `- {{DATE}}: ...` -->
|
||||
|
||||
## Evidence
|
||||
|
||||
## Recommendation or Implication
|
||||
|
||||
## Review Notes
|
||||
Seeded empty at member onboarding ({{DATE}}). Raise confidence once preferences are confirmed through day-to-day use.
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
---
|
||||
type: semantic-memory
|
||||
status: active
|
||||
created: {{DATE}}
|
||||
updated: {{DATE}}
|
||||
tags: [agent, semantic-memory, operator]
|
||||
agent_written: true
|
||||
author: {{MEMBER}}
|
||||
source_notes: []
|
||||
confidence: low
|
||||
last_reviewed: {{DATE}}
|
||||
---
|
||||
|
||||
# Operator Preferences
|
||||
|
||||
## Operator
|
||||
<!-- One paragraph: who the operator is. Leave for the operator to confirm; do not fabricate. -->
|
||||
|
||||
## Fact / Pattern
|
||||
<!-- Promoted, deduped, timeless rules. No date prefix. Add only when a rule is stable. -->
|
||||
|
||||
## Observations
|
||||
<!-- Timestamped raw observations. Default landing zone for new evidence: `- {{DATE}}: ...` -->
|
||||
|
||||
## Evidence
|
||||
|
||||
## Recommendation or Implication
|
||||
|
||||
## Review Notes
|
||||
Seeded empty at bootstrap ({{DATE}}). Raise confidence once preferences are confirmed through day-to-day use.
|
||||
|
||||
## Related
|
||||
@@ -6,7 +6,7 @@ updated: {{DATE}}
|
||||
tags: [agent, system, marker]
|
||||
agent_written: true
|
||||
source_notes: []
|
||||
schema_version: 4
|
||||
schema_version: 5
|
||||
bootstrapped: {{DATE}}
|
||||
managed_by: chorus-memory-plugin
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user