Layered Memory Fabric: authority/lifecycle clarifications before implementation #93

Closed
opened 2026-10-04 18:50:08 +02:00 by clawdie · 2 comments
Owner

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, and system_ops as planning
contracts. 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_skills and system_ops is the
priority — both can otherwise recreate the exact split-brain ambiguity the
direction sets out to avoid.

Points

  1. system_skills has 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.
  2. system_ops mixes different lifecycles. It currently groups runtime
    state, 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.
  3. Jev confidence must not become evidence authority. Add a rule: Jev
    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.
  4. Name the existing operator surface. colibri-tui + GlasspaneSnapshot
    already 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).

# 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`, and `system_ops` as planning contracts. 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_skills` and `system_ops` is the priority — both can otherwise recreate the exact split-brain ambiguity the direction sets out to avoid. ## Points 1. **`system_skills` has 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. 2. **`system_ops` mixes different lifecycles.** It currently groups runtime state, 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. 3. **Jev confidence must not become evidence authority.** Add a rule: Jev 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. 4. **Name the existing operator surface.** `colibri-tui` + `GlasspaneSnapshot` already 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).
Author
Owner

Jev probe insight (relates to point 3: Jev confidence must not become evidence authority)

Ran jev_probe against TypeSafe primary on the concrete instance of point 3:
the caller-signature field added in agent-skills PR #37.

State given to Jev: results carry a caller-supplied signature (the model
that invoked the evaluation, e.g. deepseek-v4.1-flash), which is unverified;
the evaluator model is recorded separately (model=jev-latest). Intended as
attribution for an Oxy/operator trace, not authorization.

Answers (provider=typesafe, model=jev-latest, 333 ms):

question type result
authority_confusion_risk noul 0.88 (high)
attribution_only_safe noul 0.53 (below the 0.69 threshold)
stamp_owner choice colibri
risk score 2.06 (~2, "needs review before use")

Reading (prior, not authority): an unverified, caller-supplied signature
risks 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_probe ignored the private jev.env
file (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.

## Jev probe insight (relates to point 3: Jev confidence must not become evidence authority) Ran `jev_probe` against TypeSafe primary on the concrete instance of point 3: the caller-`signature` field added in agent-skills PR #37. **State given to Jev:** results carry a caller-supplied `signature` (the model that invoked the evaluation, e.g. `deepseek-v4.1-flash`), which is unverified; the evaluator model is recorded separately (`model=jev-latest`). Intended as attribution for an Oxy/operator trace, not authorization. **Answers** (`provider=typesafe`, `model=jev-latest`, 333 ms): | question | type | result | | --- | --- | --- | | `authority_confusion_risk` | noul | 0.88 (high) | | `attribution_only_safe` | noul | 0.53 (below the 0.69 threshold) | | `stamp_owner` | choice | `colibri` | | `risk` | score | 2.06 (~2, "needs review before use") | **Reading (prior, not authority):** an unverified, caller-supplied `signature` risks 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_probe` ignored the private `jev.env` file (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.
Author
Owner

All four pre-implementation architectural clarifications are resolved in the landed plan contract:

  1. system_skills authority (§2): committed skill files in Git are the canonical source of truth; the Colibri database owns derived indexes, telemetry, and installation state.

  2. system_ops lifecycle (§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.

  3. 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 by docs/wiki/credentials.md ("attribution is not authentication") and the caller_attribution provenance contract in the Jev tooling.

  4. Reference operator surface (§4): colibri-tui and GlasspaneSnapshot are established as the reference operator interface; Plone and websources are 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.

All four pre-implementation architectural clarifications are resolved in the landed plan contract: 1. **`system_skills` authority (§2):** committed skill files in Git are the canonical source of truth; the Colibri database owns derived indexes, telemetry, and installation state. 2. **`system_ops` lifecycle (§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. 3. **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 by `docs/wiki/credentials.md` ("attribution is not authentication") and the `caller_attribution` provenance contract in the Jev tooling. 4. **Reference operator surface (§4):** `colibri-tui` and `GlasspaneSnapshot` are established as the reference operator interface; Plone and `websources` are 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.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
clawdie/colibri#93
No description provided.