Layered Memory Fabric: authority/lifecycle clarifications before implementation #93
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Layered Memory Fabric: authority/lifecycle clarifications before implementation
Summary
PR #92 revives the "split-brain" direction as a separation of cognitive roles
and retains
system_skills,system_brain, andsystem_opsas planningcontracts. An independent review found no merge blocker but flagged four
architecture points that should become explicit follow-up plan items. The
authority/lifecycle distinction for
system_skillsandsystem_opsis thepriority — both can otherwise recreate the exact split-brain ambiguity the
direction sets out to avoid.
Points
system_skillshas two possible authorities. Define explicitly:committed skill files = authority for skill content; Colibri/database =
authority for indexed metadata, installation state, and usage. Without the
split, the design can recreate the split-brain problem it is meant to avoid.
system_opsmixes different lifecycles. It currently groups runtimestate, evidence packets, approvals, conflicts, and execution records. Give
each its own retention and authority rule, for example: runtime state =
volatile/current; evidence packets = append-only or time-bounded; approvals =
auditable immutable records; execution records = durable audit history;
conflicts = preserved sources, never silently collapsed.
confidence describes the model response; it does not validate the evidence,
freshness, authorization, or safety of an action. Deterministic evidence
checks must run before and after Jev.
colibri-tui+GlasspaneSnapshotalready implement daemon-owns-state / glasspane-owns-semantics /
TUI-CLI-MCP-consume-snapshots. Identify it as the reference implementation so
a second, parallel operator model is not designed for Plone.
Recommendation
Land PR #92; capture points 1 and 2 as the priority follow-ups (they define
ownership and retention), then 3 and 4 before any implementation of the planes.
Refs: PR #92;
docs/guide/architecture/layered-memory-fabric.md,docs/wiki/architecture.md,docs/wiki/shared-memory-architecture.md;docs/plans/JEV-DECISION-GATE.md(section 6, projections and provenance).Jev probe insight (relates to point 3: Jev confidence must not become evidence authority)
Ran
jev_probeagainst TypeSafe primary on the concrete instance of point 3:the caller-
signaturefield added in agent-skills PR #37.State given to Jev: results carry a caller-supplied
signature(the modelthat invoked the evaluation, e.g.
deepseek-v4.1-flash), which is unverified;the evaluator model is recorded separately (
model=jev-latest). Intended asattribution for an Oxy/operator trace, not authorization.
Answers (
provider=typesafe,model=jev-latest, 333 ms):authority_confusion_riskattribution_only_safestamp_ownercolibririskReading (prior, not authority): an unverified, caller-supplied
signaturerisks being read as authority; Jev is not confident that attribution-only is
sufficient on its own; it points to Colibri stamping the signature from the
authenticated identity; and it rates the risk as needing review before use.
That matches this issue's point 3 and
docs/plans/JEV-DECISION-GATE.md§6:confidence describes the model response; identity, authorization, freshness,
and deterministic checks stay outside Jev.
Suggested follow-up (this is an update, not a close): make explicit that
Colibri stamps/validates the signature at task-correlation time, and that until
then the field is attribution-only and must not be used for authorization.
Side finding while running this:
jev_probeignored the privatejev.envfile (it read only the process environment), so a file-only setup failed unless
the key was exported. Fixed in agent-skills PR #38.
Refs: agent-skills PR #37 (signature field), agent-skills PR #38 (jev.env fix),
docs/plans/JEV-DECISION-GATE.md§6.All four pre-implementation architectural clarifications are resolved in the landed plan contract:
system_skillsauthority (§2): committed skill files in Git are the canonical source of truth; the Colibri database owns derived indexes, telemetry, and installation state.system_opslifecycle (§3): fully partitioned into six distinct record classes (runtime state, evidence packets, approvals, execution records, conflicts, static reports), each with an explicit retention rule, authority, and storage boundary.Jev confidence boundaries: established by the "Invariant (no authority)" in
docs/plans/JEV-DECISION-GATE.md§9 — Jev's output is advisory input to deterministic policy, never a decision — and reinforced bydocs/wiki/credentials.md("attribution is not authentication") and thecaller_attributionprovenance contract in the Jev tooling.Reference operator surface (§4):
colibri-tuiandGlasspaneSnapshotare established as the reference operator interface; Plone andwebsourcesare complementary read-only projections.Concrete storage schemas are implementation work and will land in dedicated slice-specific PRs as those components are built, applying the Naming Standards in
docs/wiki/naming-decisions.md.Resolved by PR #109 (
docs/plans/LAYERED-MEMORY-AUTHORITY-LIFECYCLE.md), which is a proposed contract; closing this issue records its acceptance. Closing.