diff --git a/src/rune/construction_decision.py b/src/rune/construction_decision.py index b23ce50c..062058a0 100644 --- a/src/rune/construction_decision.py +++ b/src/rune/construction_decision.py @@ -119,6 +119,293 @@ def normalize_need(need: Need) -> tuple[cf.CapabilityRequirement, list[str]]: return req, missing +# ── affected-surface classification + resolution (Tranche 5 §3-5) ────────── + +_SURFACE_UI = "ui:" +_SURFACE_REGION = "region:" +_SURFACE_CONTRACT = "contract:" +_SURFACE_MODULE = "module:" + + +def classify_surface(surface: str) -> str: + """Classify one affected-surface entry (open-world; Tranche 5 §3). + Kinds: structural_entity | source_path | workflow_config | ui_component | + layout_region | unresolved. Never drops an entry — unresolved is a + first-class kind.""" + if surface.startswith((_SURFACE_UI,)): + return "ui_component" + if surface.startswith((_SURFACE_REGION,)): + return "layout_region" + if surface.startswith( + ( + _SURFACE_CONTRACT, + _SURFACE_MODULE, + _SURFACE_CAPABILITY, + ) + ): + return "structural_entity" + if surface.endswith(".yml") or surface.endswith(".yaml") or surface.endswith(".json") or surface.endswith(".toml"): + return "workflow_config" + if ( + surface.endswith(".py") + or "/" in surface + or surface.endswith(".md") + or surface.endswith(".rs") + or surface.endswith(".ts") + ): + return "source_path" + return "unresolved" + + +_SURFACE_CAPABILITY = "capability:" + + +def resolve_surface(surface: str, kind: str, authorities: dict[str, dict]) -> dict: + """Deterministically resolve one surface against the structural + authorities (Tranche 5 §5). No Memory, no LLM archaeology: identity + lookups and recorded path->module mappings only. + + Returns {surface, kind, resolved: [...], unresolved_reason: ""}. + resolved entries: {entity_id, authority, via} where via records HOW the + mapping was established (identity | path_attribute | provides).""" + out = {"surface": surface, "kind": kind, "resolved": [], "unresolved_reason": ""} + if kind == "structural_entity": + for name, doc in authorities.items(): + e = ss_entity(doc, surface) + if e is not None: + out["resolved"].append({"entity_id": surface, "authority": name, "via": "identity"}) + break + if not out["resolved"]: + out["unresolved_reason"] = "entity id not found in any authority" + elif kind == "source_path": + # path -> module via recorded identities.path in any authority + for name, doc in authorities.items(): + for e in doc["entities"]: + p = e.get("identities", {}).get("path", "") + if p and (p == surface or p.endswith("/" + surface) or surface.endswith(p)): + out["resolved"].append({"entity_id": e["id"], "authority": name, "via": "path_attribute"}) + if not out["resolved"]: + out["unresolved_reason"] = "no authority records this path as an entity (path remains file-scope only)" + elif kind == "ui_component": + for name, doc in authorities.items(): + cid = surface if surface.startswith("ui:") else f"ui:{surface}" + e = ss_entity(doc, f"layout:{cid}") + if e is not None: + out["resolved"].append({"entity_id": f"layout:{cid}", "authority": name, "via": "layout_contract"}) + if not out["resolved"]: + out["unresolved_reason"] = "no Layout Contract bound for component" + elif kind == "layout_region": + for name, doc in authorities.items(): + e = ss_entity(doc, surface if surface.startswith("region:") else f"region:{surface}") + if e is not None: + out["resolved"].append({"entity_id": e["id"], "authority": name, "via": "identity"}) + if not out["resolved"]: + out["unresolved_reason"] = "region not defined in any authority" + else: + out["unresolved_reason"] = f"kind {kind} has no deterministic resolver" + return out + + +def ss_entity(doc: dict, eid: str): + from rune.structural_store import entity as _e + + return _e(doc, eid) + + +def implemented_contracts(doc: dict, entity_id: str) -> list[str]: + """Contracts an entity implements/exposes/provides (structural fact).""" + out = [] + for r in relationships(doc, from_id=entity_id): + if r["type"] in {"implements", "exposes", "provides", "serves"}: + out.append(r["to"]) + return sorted(out) + + +def resolve_affected_surface(need: Need, authorities: dict[str, dict]) -> dict: + """Classify + resolve the WHOLE affected surface (Tranche 5 §3-5, §13). + Produces the propagated representation the generated contract carries: + affected_existing_entities structural ids (resolved) + affected_paths file-scope entries (mechanical scope) + affected_ui_surfaces ui components / regions found + unresolved_surfaces retained, never dropped + File scope != structural impact: a path stays a path for scope checking + even when it also resolves to a module entity (no authority duplication).""" + result = { + "affected_existing_entities": [], + "affected_paths": [], + "affected_ui_surfaces": [], + "affected_regions": [], + "workflow_config_surfaces": [], + "unresolved_surfaces": [], + "resolutions": [], + } + for surface in need.affected_surface: + kind = classify_surface(surface) + res = resolve_surface(surface, kind, authorities) + result["resolutions"].append(res) + if kind == "source_path": + result["affected_paths"].append(surface) + elif kind == "workflow_config": + result["workflow_config_surfaces"].append(surface) + elif kind == "ui_component": + result["affected_ui_surfaces"].append(surface) + elif kind == "layout_region": + result["affected_regions"].append(surface) + for r in res["resolved"]: + eid = r["entity_id"] + if eid not in result["affected_existing_entities"] and not eid.startswith("layout:"): + result["affected_existing_entities"].append(eid) + if res["unresolved_reason"] and not res["resolved"]: + result["unresolved_surfaces"].append({"surface": surface, "kind": kind, "reason": res["unresolved_reason"]}) + for k in ( + "affected_existing_entities", + "affected_paths", + "affected_ui_surfaces", + "affected_regions", + "workflow_config_surfaces", + ): + result[k] = sorted(set(result[k])) + + # §9/§17 DERIVED EXPECTATION (structural consequence, not invention): a + # Rune test path (tests/test_.py) affected by the work implies the + # "test:" surface participates in the build. Derived only when not + # already an existing entity nor explicitly declared; provenance records + # the derivation for closure accounting. + derived = [] + for surface in need.affected_surface: + if surface.startswith("tests/test_") and surface.endswith(".py"): + stem = surface[len("tests/test_") : -len(".py")] + test_entity = f"test:{stem}" + exists = any(ss_entity(doc, test_entity) is not None for doc in authorities.values()) + if test_entity not in need.constraints.get("expected_new_entities", []) and not exists: + derived.append( + { + "entity": test_entity, + "derived_from": surface, + "rule": "Rune test-path convention: tests/test_.py implies " + "the test: surface participates in the build", + "evidence": f"affected_surface entry {surface}", + } + ) + result["derived_expected_new"] = derived + return result + + +# ── requirement completeness gate (Tranche 5 §6-9) ────────────────────────── + +COMPLETE_ENOUGH = "COMPLETE_ENOUGH" +MATERIAL_GAP = "MATERIAL_GAP" +COMPLETENESS_UNKNOWN = "UNKNOWN" + + +def check_completeness( + req: cf.CapabilityRequirement, need: Need, authorities: dict[str, dict], surface_result: dict +) -> dict: + """Bounded, structure-grounded completeness check run BEFORE fit. + + Rule (deterministic, no model vibes): every affected-surface entry that + resolves to a structural entity contributes that entity's IMPLEMENTED + contracts to the requirement's material scope. If an affected entity + implements contracts NOT represented in the normalized requirement, the + requirement is materially incomplete — the need touches a component + whose obligations it has not stated. That is exactly the deploy-incident + shape: the affected promotion implementation carried an unrepresented + ordering contract while the requirement named only qualification. + + Verdicts (Tranche 5 §8): + COMPLETE_ENOUGH all affected entities' contracts are represented + (or none implement contracts) — fit may proceed + MATERIAL_GAP uncovered implemented contracts exist on affected + entities — named with provenance, routed to probe + UNKNOWN no surface resolved — completeness undeterminable; + never silently COMPLETE (§8) + + Derived requirements (§9) are structural consequences, not inventions: + each uncovered contract carries derived_from (the entity that + implements it) + evidence (the implements relationship) + rule. + """ + gaps = [] + resolved_any = False + for res in surface_result["resolutions"]: + for r in res["resolved"]: + resolved_any = True + for name, doc in authorities.items(): + e = ss_entity(doc, r["entity_id"]) + if e is None: + continue + for contract in implemented_contracts(doc, r["entity_id"]): + if contract not in req.contracts: + gaps.append( + { + "missing_contract": contract, + "derived_from": r["entity_id"], + "surface": res["surface"], + "authority": name, + "rule": "affected-surface entity implements a " + "contract not represented in the " + "normalized requirement", + "evidence": f"{r['entity_id']} implements {contract} (authority: {name})", + } + ) + break # entity found in one authority is enough + if gaps: + # dedupe by (missing_contract, derived_from) + seen = set() + unique = [] + for g in gaps: + key = (g["missing_contract"], g["derived_from"]) + if key not in seen: + seen.add(key) + unique.append(g) + return { + "verdict": MATERIAL_GAP, + "gaps": sorted(unique, key=lambda g: (g["missing_contract"], g["derived_from"])), + "probe_questions": [ + f"does the need's stated failure implicate {g['derived_from']}'s {g['missing_contract']} obligation?" + for g in unique[:5] + ], + "note": "MATERIAL_GAP: affected surface carries obligations " + "the requirement does not represent — refine before " + "trusting an apparently-complete fit", + } + if resolved_any: + return { + "verdict": COMPLETE_ENOUGH, + "gaps": [], + "probe_questions": [], + "note": "all resolved affected entities' implemented contracts are represented in the requirement", + } + return { + "verdict": COMPLETENESS_UNKNOWN, + "gaps": [], + "probe_questions": [f"which structural entities does '{s}' map to?" for s in need.affected_surface[:5]], + "note": "no affected surface resolved — completeness undeterminable; UNKNOWN never silently becomes COMPLETE", + } + + +def record_proposed_requirement( + contract_id: str, *, provider: str, model: str, evidence: list[str], confidence: float +) -> dict: + """Record a MODEL-PROPOSED requirement addition (Tranche 5 §12). It is + evidence with a verification state — never structural authority by + itself. It becomes accepted only via existing authority, research + evidence, implementation evidence, or explicit user decision; until + then normalize_need excludes it from the requirement's contract set.""" + if not provider or not model: + raise ValueError("model-proposed requirement requires provider+model") + if not 0.0 <= confidence <= 1.0: + raise ValueError("confidence must be in [0,1]") + return { + "kind": "model_proposed_requirement", + "contract": contract_id, + "provider": provider, + "model": model, + "evidence": sorted(evidence), + "confidence": confidence, + "verification_state": "PENDING", + } + + # ── research routing seam (§6 — honest: recorded route, not execution) ───── @@ -224,11 +511,22 @@ def make_decision( authorities: dict[str, dict], toolchain_constraints: tc.ToolchainConstraints | None = None, project_toolchain: dict | None = None, + prior_iterations: list[dict] | None = None, ) -> dict: """Run NEED → decision trace. `authorities` maps authority name → store doc (e.g. {"rune_spine": spine_doc, "project_scaffold": scaffold_doc}). `project_toolchain` seeds the Toolchain Resolver's existing-project - constraint (existing toolchain wins — §12).""" + constraint (existing toolchain wins — §12). + `prior_iterations` (Tranche 5 §11): earlier decision iterations being + refined — retained in the trace with why-it-changed provenance; the + final resolution stays singular. + + Order of operations (Tranche 5 §6): affected-surface resolution → + REQUIREMENT COMPLETENESS GATE → discovery/fit → merge. A MATERIAL_GAP + downgrades premature concrete verdicts (REUSE/SATISFIED/COMPOSE/ + ADAPT_EXISTING) to INSUFFICIENT_EVIDENCE with the gap recorded — the + fit engine was right GIVEN its requirement; the requirement was too + narrow.""" req, missing = normalize_need(need) trace: dict = { "need": need.to_dict(), @@ -243,8 +541,17 @@ def make_decision( "approval": {}, "resolution": "", "rationale": "", + "iterations": list(prior_iterations or []), } + # affected-surface classification + resolution (Tranche 5 §3-5) + surface_result = resolve_affected_surface(need, authorities) + trace["affected_surfaces"] = surface_result + + # REQUIREMENT COMPLETENESS GATE (Tranche 5 §6-8) — before fit + completeness = check_completeness(req, need, authorities, surface_result) + trace["completeness"] = completeness + # live discovery + fit + resolution per authority (§7-8) results = [] all_fits = [] @@ -273,6 +580,30 @@ def make_decision( "resolution": "INSUFFICIENT_EVIDENCE", "rationale": f"requirement normalization incomplete: {missing}; refusing to build on guesses", } + if completeness["verdict"] == MATERIAL_GAP and merged["resolution"] in ( + "SATISFIED", + "REUSE", + "COMPOSE", + "ADAPT_EXISTING", + "CONFIGURE", + ): + # PREMATURE-FIT GUARD (Tranche 5 §6-7): the fit engine was correct + # GIVEN its requirement — but the requirement is materially + # incomplete (affected surface carries unrepresented obligations). + # A concrete verdict on an incomplete requirement is not trustworthy. + merged = { + "resolution": "INSUFFICIENT_EVIDENCE", + "rationale": ( + "premature fit blocked: requirement is materially incomplete " + f"({len(completeness['gaps'])} unrepresented obligation(s) on " + "affected surfaces); refine the requirement before trusting " + "an apparently-complete fit" + ), + "premature_fit_blocked": { + "would_have_been": merged["resolution"], + "gaps": completeness["gaps"], + }, + } trace["resolution"] = merged["resolution"] trace["rationale"] = merged.get("rationale", "") if missing and trace["resolution"] == "INSUFFICIENT_EVIDENCE": @@ -395,26 +726,68 @@ def obligations_from_trace(trace: dict, req: cf.CapabilityRequirement) -> dict: def generate_contract( - s, doc: dict, trace: dict, *, contract_id: str, scope: list[str], proposer_note: str = "" + s, doc: dict, trace: dict, *, contract_id: str, scope: list[str] | None = None, proposer_note: str = "" ) -> dict: - """Populate a Construction Contract from the decision trace. The builder - no longer hand-reconstructs fields; the trace's structural truth fills - them. Human/model additions may still extend afterwards.""" + """Populate a Construction Contract from the decision trace (Tranche 5 + §13-17 IMPACT-AWARE generation). The Need's affected surface is never + lost — it is classified and propagated into distinct surfaces: + + affected_entities structural entity ids (existing) + expected_new_entities planned new structural entities + ext.affected_paths file-scope entries (mechanical scope check) + ext.affected_ui_surfaces ui components (layout obligations follow) + ext.unresolved_surfaces retained, never dropped + ext.expected_runtime_effects operational effects (deployment:current + advances etc.) — accounting metadata, NOT a + workflow engine; closure requires independent + observation before marking them observed. + + File scope: generated from affected paths + selected capability + implementation paths + explicit expected-new paths — NOT unrestricted + repo scope. `scope` param may still extend it; generated paths are + recorded as such (provenance: affected-surface). + """ merged = trace["_merged"] req = trace["requirement"] + surfaces = trace.get("affected_surfaces", {}) selected = merged.get("selected") or [] if isinstance(selected, str): selected = [selected] - affected = [c["id"] for c in trace["candidates"] if c["id"] in selected] or trace["requirement"].get( - "affected_surface", [] + + # structural affected: selected candidates + requirement contracts + + # resolved surface entities — the union the old generator partially lost + affected = {c["id"] for c in trace["candidates"] if c["id"] in selected} + affected |= set(trace["requirement"].get("contracts", [])) + affected |= set(surfaces.get("affected_existing_entities", [])) + + # file scope: generated (affected paths + selected impl paths + expected + # new paths) UNION caller-supplied additions, provenance-tracked + affected_paths = list(surfaces.get("affected_paths", [])) + impl_paths = [] + for c in trace["candidates"]: + if c["id"] in selected: + p = c.get("identities", {}).get("path", "") + if p: + impl_paths.append(p) + expected_new_paths = trace["need"]["constraints"].get("expected_new_source_paths", []) + generated_scope = sorted( + set(affected_paths) + | set(surfaces.get("workflow_config_surfaces", [])) + | set(impl_paths) + | set(expected_new_paths) ) + caller_scope = sorted(set(scope or []) - set(generated_scope)) + final_scope = sorted(set(generated_scope) | set(caller_scope)) + + expected_runtime = sorted(trace["need"]["constraints"].get("expected_runtime_effects", [])) + obl = trace["obligations"] s.new_contract( doc, contract_id=contract_id, need=trace["need"]["objective"], origin=trace["need"]["origin"], - scope=sorted(scope), + scope=final_scope, requirement=req.get("objective", ""), gap_evidence=merged.get("rationale", ""), research_refs=( @@ -423,8 +796,10 @@ def generate_contract( ), resolution=trace["resolution"], toolchain=trace["toolchain"], - affected_entities=sorted(set(affected) | set(trace["requirement"].get("contracts", []))), - expected_new_entities=trace["need"]["constraints"].get("expected_new_entities", []), + affected_entities=sorted(affected), + expected_new_entities=sorted(set( + trace["need"]["constraints"].get("expected_new_entities", []) + ) | {d["entity"] for d in surfaces.get("derived_expected_new", [])}), expected_consumers=[], regression_obligations=obl["regression"], verification_obligations=sorted(set(obl["verification"])), @@ -433,23 +808,39 @@ def generate_contract( non_goals=trace["need"]["constraints"].get("non_goals", []), ) e = s.contract(doc, contract_id) - e.setdefault("ext", {})["decision_trace"] = { - k: trace[k] - for k in ( - "need", - "requirement", - "candidates", - "fits", - "resolution", - "rationale", - "research", - "toolchain", - "approval", - "obligations", - "layout_obligations", - "normalization_missing", - ) - } + e.setdefault("ext", {}).update( + { + "decision_trace": { + k: trace[k] + for k in ( + "need", + "requirement", + "candidates", + "fits", + "resolution", + "rationale", + "research", + "toolchain", + "approval", + "obligations", + "layout_obligations", + "normalization_missing", + "completeness", + "affected_surfaces", + "iterations", + ) + }, + # distinct impact surfaces (Tranche 5 §13) — file scope != structural + # impact != expected new != runtime effect + "affected_paths": affected_paths, + "affected_ui_surfaces": surfaces.get("affected_ui_surfaces", []), + "affected_regions": surfaces.get("affected_regions", []), + "workflow_config_surfaces": surfaces.get("workflow_config_surfaces", []), + "unresolved_surfaces": surfaces.get("unresolved_surfaces", []), + "expected_runtime_effects": expected_runtime, + "scope_provenance": {"generated_from_affected_surface": generated_scope, "caller_added": caller_scope}, + } + ) if proposer_note: e["ext"]["decision_trace"]["proposer_note"] = proposer_note return e diff --git a/src/rune/scaffold.py b/src/rune/scaffold.py index eb3d7637..9df7b5fc 100644 --- a/src/rune/scaffold.py +++ b/src/rune/scaffold.py @@ -465,6 +465,12 @@ class Scaffold: predicted = e.get("ext", {}).get("predicted_frontier") affected = e.get("identities", {}).get("affected_entities", []) expected_new = set(e.get("identities", {}).get("expected_new_entities", [])) + # Tranche 5 §14: expected RUNTIME effects (deployment:current advances + # etc.) are prediction/accounting metadata, not workflow steps. An + # observed entity matching an expected runtime effect is EXPECTED, + # not genuinely unexpected — but only when independently observed + # (§15: prediction never self-certifies; the evidence item must exist). + expected_runtime = set(e.get("ext", {}).get("expected_runtime_effects", [])) quality: dict = {"contract": contract_id, "captured_at": now()} # independent observed impact (§17): evidence items only @@ -484,7 +490,14 @@ class Scaffold: predicted_but_unaffected = sorted(pred_existing - obs_set) expected_new_observed = sorted(expected_new & obs_set) expected_new_missing = sorted(expected_new - obs_set) - genuinely_unexpected_new = sorted(obs_set - pred_existing - expected_new) + # effect strings are phrases ("deployment:current advances"); an + # observed entity matches when an expected effect STARTS with its id + matched_runtime = {o for o in obs_set if any(eff.startswith(o) for eff in expected_runtime)} + expected_runtime_observed = sorted( + eff for eff in expected_runtime if any(eff.startswith(o) for o in matched_runtime) + ) + expected_runtime_missing = sorted(expected_runtime - set(expected_runtime_observed)) + genuinely_unexpected_new = sorted(obs_set - pred_existing - expected_new - matched_runtime) quality.update( { @@ -497,6 +510,9 @@ class Scaffold: "predicted_but_unaffected": predicted_but_unaffected, "expected_new_observed": expected_new_observed, "expected_new_missing": expected_new_missing, + "expected_runtime_effects": sorted(expected_runtime), + "expected_runtime_observed": expected_runtime_observed, + "expected_runtime_missing": sorted(expected_runtime - obs_set), "genuinely_unexpected_new": genuinely_unexpected_new, # legacy aliases (Tranche 2/3 consumers) "missed": genuinely_unexpected_new, diff --git a/store/scaffold/current.json b/store/scaffold/current.json index 2f1f08cd..c587e934 100644 --- a/store/scaffold/current.json +++ b/store/scaffold/current.json @@ -7065,6 +7065,6182 @@ "status": "closed", "tags": [] }, + { + "checkpoints": [ + { + "at": "2026-09-13T12:19:41Z", + "evidence": "user tranche brief (\u00a70-\u00a76 approval boundaries)", + "note": "", + "phase": "approved" + } + ], + "evidence_refs": [ + "contract-created:SCAFFOLD-TRANCHE-005" + ], + "ext": { + "decision_trace": { + "approval": { + "covered_by": "covered by user tranche brief", + "reasons": [], + "required": false + }, + "candidates": [ + { + "authority": "project_scaffold", + "consumers": [], + "id": "module:deploy_qualify", + "kind": "module", + "maturity": "REACHABLE", + "provides": [ + "contract:fail_closed_deployment" + ], + "status": "UNKNOWN" + }, + { + "authority": "project_scaffold", + "consumers": [], + "id": "module:deploy_stage", + "kind": "module", + "maturity": "REACHABLE", + "provides": [ + "contract:monotonic_promotion" + ], + "status": "UNKNOWN" + }, + { + "authority": "project_scaffold", + "consumers": [], + "id": "module:scaffold", + "kind": "module", + "maturity": "DECLARED", + "provides": [ + "contract:construction_contract_lifecycle" + ], + "status": "UNKNOWN" + }, + { + "authority": "project_scaffold", + "consumers": [], + "id": "module:structural_store", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:abstraction", + "module:audit_ledger", + "module:auto_context", + "module:auto_tasks", + "module:behavior", + "module:cache", + "module:capability_broker", + "module:claim_audit", + "module:context_pressure", + "module:curator", + "module:drift_cache", + "module:drift_core", + "module:drift_ledger", + "module:drift_observability", + "module:elastic_cognition", + "module:event_bus", + "module:graph_memory", + "module:growth_delta", + "module:hook_engine", + "module:inference_trace", + "module:memory_store", + "module:model_routing", + "module:night_mode", + "module:outcome_ledger", + "module:persona_definition", + "module:persona_gate", + "module:pins", + "module:prompt_sync", + "module:recall_uplift", + "module:rune_operator", + "module:rune_tui", + "module:self_improve", + "module:sleep_time", + "module:subconscious_pass", + "module:system_registry", + "module:task_gate", + "module:task_persist", + "module:time_awareness", + "module:token_optimizer", + "module:tui_validator", + "module:voice_hybrid", + "module:voice_sync", + "module:warm_neuron_store", + "module:warm_router", + "module:witness" + ], + "id": "module:memory_env", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:abstraction", + "module:auto_context", + "module:auto_tasks", + "module:autonomy_loop", + "module:behavior", + "module:cache", + "module:capability_broker", + "module:chat_bubble", + "module:claim_audit", + "module:cognitive_loop", + "module:context_pressure", + "module:cron_engine", + "module:dream_cycle", + "module:drift_ledger", + "module:event_bus", + "module:goal", + "module:graph_memory", + "module:growth_delta", + "module:hook_engine", + "module:memory_env", + "module:memory_store", + "module:message_widgets", + "module:microkernel", + "module:model_connect", + "module:model_profiles", + "module:night_mode", + "module:parallel_processor", + "module:persona_definition", + "module:persona_gate", + "module:pins", + "module:prompt_sync", + "module:provider_budget", + "module:provider_registry", + "module:rune_operator", + "module:safety_override", + "module:self_improve", + "module:sleep_time", + "module:system_registry", + "module:task_persist", + "module:time_awareness", + "module:token_optimizer", + "module:voice_hybrid", + "module:voice_sync", + "module:warm_neuron_store", + "module:warm_router", + "module:witness", + "module:work_manager" + ], + "id": "module:rune_tui", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:abstraction", + "module:builder_bridge", + "module:context_broker", + "module:graph_memory", + "module:memory_consolidation", + "module:memory_store", + "module:warm_neuron_store" + ], + "id": "module:memory_selector", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:abstraction", + "module:drift_compression", + "module:graph_memory", + "module:memory_selector", + "module:memory_store", + "module:sleep_time", + "module:warm_neuron_store" + ], + "id": "module:memory_consolidation", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:adaptive_router" + ], + "id": "module:route_risk_flags", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:attention_capsule", + "module:context_broker", + "module:memory_selector" + ], + "id": "module:builder_bridge", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:audit_ledger", + "module:drift_core", + "module:memory_env", + "module:memory_store", + "module:warm_router" + ], + "id": "module:curator", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:build_pipeline_policy", + "module:memory_env", + "module:rune_tui", + "module:voice_sync" + ], + "id": "module:prompt_sync", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:builder_bridge", + "module:memory_selector", + "module:rune_operator" + ], + "id": "module:context_broker", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:builder_bridge" + ], + "id": "module:attention_capsule", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:cache", + "module:complexity_scorer", + "module:curator", + "module:drift_cache", + "module:drift_compression", + "module:drift_core", + "module:drift_observability", + "module:memory_consolidation", + "module:memory_env", + "module:memory_selector", + "module:persona_definition", + "module:rune_tui", + "module:shard_manager", + "module:tier_manager", + "module:tool_executor", + "module:warm_router" + ], + "id": "module:memory_store", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:cache", + "module:memory_env", + "module:memory_store", + "module:rune_tui", + "module:token_optimizer" + ], + "id": "module:persona_definition", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:capability_broker", + "module:context_broker", + "module:event_bus", + "module:evidence_probe", + "module:failure_auto_filer", + "module:forge_client", + "module:inference_trace", + "module:local_tool_runtime", + "module:memory_env", + "module:model_profiles", + "module:model_routing", + "module:rune_tui", + "module:safety_override", + "module:subsystem_health", + "module:tool_executor", + "module:tool_protocol" + ], + "id": "module:rune_operator", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:capability_broker", + "module:local_tool_runtime", + "module:memory_store", + "module:provider_registry", + "module:rune_operator", + "module:tool_protocol" + ], + "id": "module:tool_executor", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:claim_audit", + "module:memory_consolidation", + "module:memory_env", + "module:memory_selector", + "module:rune_tui" + ], + "id": "module:warm_neuron_store", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:cognitive_budgeter", + "module:memory_env" + ], + "id": "module:elastic_cognition", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:cognitive_budgeter", + "module:model_registry" + ], + "id": "module:tiered_executor", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:curator", + "module:drift_cache", + "module:memory_env", + "module:memory_store", + "module:rune_tui" + ], + "id": "module:warm_router", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:curator", + "module:drift_observability", + "module:memory_env", + "module:memory_store" + ], + "id": "module:drift_core", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:curator", + "module:memory_env" + ], + "id": "module:audit_ledger", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:drift_core", + "module:memory_env", + "module:memory_store" + ], + "id": "module:drift_observability", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:elastic_cognition", + "module:tiered_executor" + ], + "id": "module:cognitive_budgeter", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:local_tool_runtime", + "module:rune_operator", + "module:tool_executor" + ], + "id": "module:tool_protocol", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_consolidation", + "module:memory_env", + "module:memory_selector", + "module:rune_tui" + ], + "id": "module:abstraction", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_consolidation", + "module:memory_env", + "module:memory_selector", + "module:rune_tui" + ], + "id": "module:graph_memory", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_consolidation", + "module:memory_env", + "module:rune_tui" + ], + "id": "module:sleep_time", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_consolidation", + "module:memory_store" + ], + "id": "module:drift_compression", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:memory_store", + "module:persona_definition", + "module:rune_tui" + ], + "id": "module:cache", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:memory_store", + "module:warm_router" + ], + "id": "module:drift_cache", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:persona_definition", + "module:rune_tui" + ], + "id": "module:token_optimizer", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:prompt_sync", + "module:rune_tui" + ], + "id": "module:voice_sync", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:recall_router" + ], + "id": "module:recall_uplift", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_operator", + "module:rune_tui", + "module:tool_executor" + ], + "id": "module:capability_broker", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_operator", + "module:rune_tui" + ], + "id": "module:event_bus", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_operator" + ], + "id": "module:inference_trace", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_operator" + ], + "id": "module:model_routing", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui", + "module:voice_injector" + ], + "id": "module:voice_hybrid", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui", + "module:warm_neuron_store" + ], + "id": "module:claim_audit", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:auto_context", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:auto_tasks", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:behavior", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:context_pressure", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:drift_ledger", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:growth_delta", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:hook_engine", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:night_mode", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:persona_gate", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:pins", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:self_improve", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:system_registry", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:task_persist", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:time_awareness", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:witness", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env" + ], + "id": "module:outcome_ledger", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env" + ], + "id": "module:subconscious_pass", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env" + ], + "id": "module:task_gate", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env" + ], + "id": "module:tui_validator", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_store" + ], + "id": "module:complexity_scorer", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_store" + ], + "id": "module:shard_manager", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_store" + ], + "id": "module:tier_manager", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:model_connect", + "module:rune_tui", + "module:standardized_providers", + "module:tool_executor" + ], + "id": "module:provider_registry", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:prompt_sync" + ], + "id": "module:build_pipeline_policy", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:provider_registry", + "module:rune_tui" + ], + "id": "module:model_connect", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:provider_registry" + ], + "id": "module:standardized_providers", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:recall_uplift" + ], + "id": "module:recall_router", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:route_risk_flags" + ], + "id": "module:adaptive_router", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator", + "module:rune_tui" + ], + "id": "module:model_profiles", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator", + "module:rune_tui" + ], + "id": "module:safety_override", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator", + "module:tool_executor", + "module:tool_protocol" + ], + "id": "module:local_tool_runtime", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator" + ], + "id": "module:evidence_probe", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator" + ], + "id": "module:failure_auto_filer", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator" + ], + "id": "module:forge_client", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator" + ], + "id": "module:subsystem_health", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:autonomy_loop", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:chat_bubble", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:cognitive_loop", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:cron_engine", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:dream_cycle", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:goal", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:message_widgets", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:microkernel", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:parallel_processor", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:provider_budget", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:work_manager", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:tiered_executor" + ], + "id": "module:model_registry", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:voice_hybrid" + ], + "id": "module:voice_injector", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:auto_detect", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:build_mode", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:build_orchestrator", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:builder_bridge_cli", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:capability_fit", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:connection_pool", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:construction_decision", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:contracts", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:custodian", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:dependency_tracker", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:event_envelope", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:gitea_auth", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:gitea_pipeline", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:gitea_provision", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:graph_shard_bridge", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:growth_simulator", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:identity_anchors", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:intent_continuity", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:layout_contract", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:message_queue", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:openai_compat_transport", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:progressive_escalation", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:query_memory", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:response_adapter", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:retrieval_benchmark", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:rune_graphic", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:rune_profiler", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:rune_spinner", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:salience_gate", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:scaffold", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:spine", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:structural_store", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:toolchain", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:umbrella_update", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:verification_layer", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:voicebox", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + } + ], + "fits": [ + { + "authority": "project_scaffold", + "candidate": "module:deploy_qualify", + "consumers": [], + "covered": 0, + "fit": "INCOMPATIBLE", + "maturity_rank": 3, + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "provides none of the required contracts" + }, + { + "authority": "project_scaffold", + "candidate": "module:deploy_stage", + "consumers": [], + "covered": 0, + "fit": "INCOMPATIBLE", + "maturity_rank": 3, + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "provides none of the required contracts" + }, + { + "authority": "project_scaffold", + "candidate": "module:scaffold", + "consumers": [], + "covered": 1, + "fit": "EXACT", + "maturity_rank": 0, + "missing_contracts": [], + "reason": "all required contracts provided" + }, + { + "authority": "project_scaffold", + "candidate": "module:structural_store", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:abstraction", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:adaptive_router", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:attention_capsule", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:audit_ledger", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:auto_context", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:auto_detect", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:auto_tasks", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:autonomy_loop", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:behavior", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:build_mode", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:build_orchestrator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:build_pipeline_policy", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:builder_bridge", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:builder_bridge_cli", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:cache", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:capability_broker", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:capability_fit", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:chat_bubble", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:claim_audit", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:cognitive_budgeter", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:cognitive_loop", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:complexity_scorer", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:connection_pool", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:construction_decision", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:context_broker", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:context_pressure", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:contracts", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:cron_engine", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:curator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:custodian", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:dependency_tracker", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:dream_cycle", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_cache", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_compression", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_core", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_ledger", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_observability", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:elastic_cognition", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:event_bus", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:event_envelope", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:evidence_probe", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:failure_auto_filer", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:forge_client", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:gitea_auth", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:gitea_pipeline", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:gitea_provision", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:goal", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:graph_memory", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:graph_shard_bridge", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:growth_delta", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:growth_simulator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:hook_engine", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:identity_anchors", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:inference_trace", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:intent_continuity", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:layout_contract", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:local_tool_runtime", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:memory_consolidation", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:memory_env", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:memory_selector", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:memory_store", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:message_queue", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:message_widgets", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:microkernel", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:model_connect", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:model_profiles", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:model_registry", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:model_routing", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:night_mode", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:openai_compat_transport", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:outcome_ledger", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:parallel_processor", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:persona_definition", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:persona_gate", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:pins", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:progressive_escalation", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:prompt_sync", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:provider_budget", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:provider_registry", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:query_memory", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:recall_router", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:recall_uplift", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:response_adapter", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:retrieval_benchmark", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:route_risk_flags", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_graphic", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_operator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_profiler", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_spinner", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_tui", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:safety_override", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:salience_gate", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:scaffold", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:self_improve", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:shard_manager", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:sleep_time", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:spine", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:standardized_providers", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:structural_store", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:subconscious_pass", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:subsystem_health", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:system_registry", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:task_gate", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:task_persist", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tier_manager", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tiered_executor", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:time_awareness", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:token_optimizer", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tool_executor", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tool_protocol", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:toolchain", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tui_validator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:umbrella_update", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:verification_layer", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:voice_hybrid", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:voice_injector", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:voice_sync", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:voicebox", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:warm_neuron_store", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:warm_router", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:witness", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:work_manager", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + } + ], + "layout_obligations": [], + "need": { + "affected_surface": [ + "src/rune/construction_decision.py", + "src/rune/scaffold.py", + "tests/test_construction_decision.py" + ], + "approval_context": "covered by user tranche brief", + "constraints": { + "contracts": [ + "contract:construction_contract_lifecycle" + ], + "expected_new_entities": [], + "expected_new_source_paths": [], + "non_goals": [ + "Construction Patterns", + "Maintenance Updater", + "external repo proof", + "second structural graph" + ] + }, + "evidence_refs": [ + "DEPLOY-MONOTONIC-001 closure evidence", + "maintenance:contract-gen-affected-surface" + ], + "need_id": "need-tranche5-hardening", + "objective": "Generated Construction Contracts must preserve the Need's concrete affected surfaces (paths, entities, UI surfaces, workflow surfaces) and the decision process must detect materially incomplete requirement representations before accepting an apparently complete capability fit", + "origin": "user tranche brief (2026-09-13) \u2014 origin: maintenance:contract-gen-affected-surface", + "project": "rune", + "requested_permanence": "", + "task_ref": "maintenance:contract-gen-affected-surface" + }, + "normalization_missing": [ + "environment" + ], + "obligations": { + "acquisition": [], + "composition": [], + "layout": [], + "new_behavior": [], + "regression": [], + "verification": [ + "new behavior proven by tests before closure" + ] + }, + "proposer_note": "tranche 5: hardening governed through the live path", + "rationale": "module:scaffold exactly matches all required contracts with health evidence", + "requirement": { + "contracts": [ + "contract:construction_contract_lifecycle" + ], + "environment": {}, + "expected_new_entities": [], + "expected_new_source_paths": [], + "mandatory": [], + "non_goals": [ + "Construction Patterns", + "Maintenance Updater", + "external repo proof", + "second structural graph" + ], + "objective": "Generated Construction Contracts must preserve the Need's concrete affected surfaces (paths, entities, UI surfaces, workflow surfaces) and the decision process must detect materially incomplete requirement representations before accepting an apparently complete capability fit", + "optional": [], + "requested_permanence": "", + "source_need": "need-tranche5-hardening", + "target_project": "rune", + "task_ref": "maintenance:contract-gen-affected-surface" + }, + "research": { + "route": "NONE", + "status": "LOCAL_SOLVE" + }, + "resolution": "REUSE", + "toolchain": { + "alternatives": [], + "build_system": "", + "confidence": 0.7, + "decisive_constraints": [ + "existing_language" + ], + "evidence_refs": [], + "framework": "", + "libraries": [], + "rationale": "existing project toolchain wins (\u00a78); no recorded evidence shows significant benefit from change", + "resolution": "KEEP_EXISTING", + "runtime": "", + "selected_language": "python", + "user_approval_required": false + } + } + }, + "id": "contract:SCAFFOLD-TRANCHE-005", + "identities": { + "acceptance": [ + "resolution REUSE verified end-to-end" + ], + "affected_entities": [ + "contract:construction_contract_lifecycle", + "module:scaffold" + ], + "expected_consumers": [], + "expected_new_entities": [], + "gap_evidence": "module:scaffold exactly matches all required contracts with health evidence", + "migration_obligations": [], + "need": "Generated Construction Contracts must preserve the Need's concrete affected surfaces (paths, entities, UI surfaces, workflow surfaces) and the decision process must detect materially incomplete requirement representations before accepting an apparently complete capability fit", + "next_action": "begin building", + "non_goals": [ + "Construction Patterns", + "Maintenance Updater", + "external repo proof", + "second structural graph" + ], + "origin": "user tranche brief (2026-09-13) \u2014 origin: maintenance:contract-gen-affected-surface", + "regression_obligations": [], + "requirement": "Generated Construction Contracts must preserve the Need's concrete affected surfaces (paths, entities, UI surfaces, workflow surfaces) and the decision process must detect materially incomplete requirement representations before accepting an apparently complete capability fit", + "research_refs": [ + "DEPLOY-MONOTONIC-001 closure evidence", + "maintenance:contract-gen-affected-surface" + ], + "resolution": "REUSE", + "rollback_ref": "git revert", + "scope": [ + "docs/SCAFFOLDING.md", + "src/rune/construction_decision.py", + "src/rune/scaffold.py", + "tests/test_construction_decision.py", + "tests/test_surface_completeness.py" + ], + "toolchain": { + "alternatives": [], + "build_system": "", + "confidence": 0.7, + "decisive_constraints": [ + "existing_language" + ], + "evidence_refs": [], + "framework": "", + "libraries": [], + "rationale": "existing project toolchain wins (\u00a78); no recorded evidence shows significant benefit from change", + "resolution": "KEEP_EXISTING", + "runtime": "", + "selected_language": "python", + "user_approval_required": false + }, + "verification_obligations": [ + "new behavior proven by tests before closure" + ] + }, + "kind": "construction_contract", + "maturity": "DECLARED", + "observed_at": "2026-09-13T12:19:41Z", + "phase": "approved", + "status": "open", + "tags": [] + }, + { + "checkpoints": [ + { + "at": "2026-09-13T12:31:42Z", + "evidence": "covered by user tranche brief", + "note": "", + "phase": "approved" + } + ], + "evidence_refs": [ + "contract-created:CONTRACT-GEN-REPAIR-001" + ], + "ext": { + "affected_paths": [ + "src/rune/construction_decision.py", + "src/rune/scaffold.py", + "tests/test_surface_completeness.py" + ], + "affected_regions": [], + "affected_ui_surfaces": [], + "decision_trace": { + "affected_surfaces": { + "affected_existing_entities": [ + "module:construction_decision", + "module:scaffold" + ], + "affected_paths": [ + "src/rune/construction_decision.py", + "src/rune/scaffold.py", + "tests/test_surface_completeness.py" + ], + "affected_regions": [], + "affected_ui_surfaces": [], + "resolutions": [ + { + "kind": "source_path", + "resolved": [], + "surface": "tests/test_surface_completeness.py", + "unresolved_reason": "no authority records this path as an entity (path remains file-scope only)" + }, + { + "kind": "source_path", + "resolved": [ + { + "authority": "project_scaffold", + "entity_id": "module:scaffold", + "via": "path_attribute" + }, + { + "authority": "rune_spine", + "entity_id": "module:scaffold", + "via": "path_attribute" + } + ], + "surface": "src/rune/scaffold.py", + "unresolved_reason": "" + }, + { + "kind": "source_path", + "resolved": [ + { + "authority": "rune_spine", + "entity_id": "module:construction_decision", + "via": "path_attribute" + } + ], + "surface": "src/rune/construction_decision.py", + "unresolved_reason": "" + } + ], + "unresolved_surfaces": [ + { + "kind": "source_path", + "reason": "no authority records this path as an entity (path remains file-scope only)", + "surface": "tests/test_surface_completeness.py" + } + ], + "workflow_config_surfaces": [] + }, + "approval": { + "covered_by": "covered by user tranche brief", + "reasons": [], + "required": false + }, + "candidates": [ + { + "authority": "project_scaffold", + "consumers": [], + "id": "module:deploy_qualify", + "kind": "module", + "maturity": "REACHABLE", + "provides": [ + "contract:fail_closed_deployment" + ], + "status": "UNKNOWN" + }, + { + "authority": "project_scaffold", + "consumers": [], + "id": "module:deploy_stage", + "kind": "module", + "maturity": "REACHABLE", + "provides": [ + "contract:monotonic_promotion" + ], + "status": "UNKNOWN" + }, + { + "authority": "project_scaffold", + "consumers": [], + "id": "module:scaffold", + "kind": "module", + "maturity": "DECLARED", + "provides": [ + "contract:construction_contract_lifecycle" + ], + "status": "UNKNOWN" + }, + { + "authority": "project_scaffold", + "consumers": [], + "id": "module:structural_store", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:abstraction", + "module:audit_ledger", + "module:auto_context", + "module:auto_tasks", + "module:behavior", + "module:cache", + "module:capability_broker", + "module:claim_audit", + "module:context_pressure", + "module:curator", + "module:drift_cache", + "module:drift_core", + "module:drift_ledger", + "module:drift_observability", + "module:elastic_cognition", + "module:event_bus", + "module:graph_memory", + "module:growth_delta", + "module:hook_engine", + "module:inference_trace", + "module:memory_store", + "module:model_routing", + "module:night_mode", + "module:outcome_ledger", + "module:persona_definition", + "module:persona_gate", + "module:pins", + "module:prompt_sync", + "module:recall_uplift", + "module:rune_operator", + "module:rune_tui", + "module:self_improve", + "module:sleep_time", + "module:subconscious_pass", + "module:system_registry", + "module:task_gate", + "module:task_persist", + "module:time_awareness", + "module:token_optimizer", + "module:tui_validator", + "module:voice_hybrid", + "module:voice_sync", + "module:warm_neuron_store", + "module:warm_router", + "module:witness" + ], + "id": "module:memory_env", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:abstraction", + "module:auto_context", + "module:auto_tasks", + "module:autonomy_loop", + "module:behavior", + "module:cache", + "module:capability_broker", + "module:chat_bubble", + "module:claim_audit", + "module:cognitive_loop", + "module:context_pressure", + "module:cron_engine", + "module:dream_cycle", + "module:drift_ledger", + "module:event_bus", + "module:goal", + "module:graph_memory", + "module:growth_delta", + "module:hook_engine", + "module:memory_env", + "module:memory_store", + "module:message_widgets", + "module:microkernel", + "module:model_connect", + "module:model_profiles", + "module:night_mode", + "module:parallel_processor", + "module:persona_definition", + "module:persona_gate", + "module:pins", + "module:prompt_sync", + "module:provider_budget", + "module:provider_registry", + "module:rune_operator", + "module:safety_override", + "module:self_improve", + "module:sleep_time", + "module:system_registry", + "module:task_persist", + "module:time_awareness", + "module:token_optimizer", + "module:voice_hybrid", + "module:voice_sync", + "module:warm_neuron_store", + "module:warm_router", + "module:witness", + "module:work_manager" + ], + "id": "module:rune_tui", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:abstraction", + "module:builder_bridge", + "module:context_broker", + "module:graph_memory", + "module:memory_consolidation", + "module:memory_store", + "module:warm_neuron_store" + ], + "id": "module:memory_selector", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:abstraction", + "module:drift_compression", + "module:graph_memory", + "module:memory_selector", + "module:memory_store", + "module:sleep_time", + "module:warm_neuron_store" + ], + "id": "module:memory_consolidation", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:adaptive_router" + ], + "id": "module:route_risk_flags", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:attention_capsule", + "module:context_broker", + "module:memory_selector" + ], + "id": "module:builder_bridge", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:audit_ledger", + "module:drift_core", + "module:memory_env", + "module:memory_store", + "module:warm_router" + ], + "id": "module:curator", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:build_pipeline_policy", + "module:memory_env", + "module:rune_tui", + "module:voice_sync" + ], + "id": "module:prompt_sync", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:builder_bridge", + "module:memory_selector", + "module:rune_operator" + ], + "id": "module:context_broker", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:builder_bridge" + ], + "id": "module:attention_capsule", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:cache", + "module:complexity_scorer", + "module:curator", + "module:drift_cache", + "module:drift_compression", + "module:drift_core", + "module:drift_observability", + "module:memory_consolidation", + "module:memory_env", + "module:memory_selector", + "module:persona_definition", + "module:rune_tui", + "module:shard_manager", + "module:tier_manager", + "module:tool_executor", + "module:warm_router" + ], + "id": "module:memory_store", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:cache", + "module:memory_env", + "module:memory_store", + "module:rune_tui", + "module:token_optimizer" + ], + "id": "module:persona_definition", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:capability_broker", + "module:context_broker", + "module:event_bus", + "module:evidence_probe", + "module:failure_auto_filer", + "module:forge_client", + "module:inference_trace", + "module:local_tool_runtime", + "module:memory_env", + "module:model_profiles", + "module:model_routing", + "module:rune_tui", + "module:safety_override", + "module:subsystem_health", + "module:tool_executor", + "module:tool_protocol" + ], + "id": "module:rune_operator", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:capability_broker", + "module:local_tool_runtime", + "module:memory_store", + "module:provider_registry", + "module:rune_operator", + "module:tool_protocol" + ], + "id": "module:tool_executor", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:claim_audit", + "module:memory_consolidation", + "module:memory_env", + "module:memory_selector", + "module:rune_tui" + ], + "id": "module:warm_neuron_store", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:cognitive_budgeter", + "module:memory_env" + ], + "id": "module:elastic_cognition", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:cognitive_budgeter", + "module:model_registry" + ], + "id": "module:tiered_executor", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:curator", + "module:drift_cache", + "module:memory_env", + "module:memory_store", + "module:rune_tui" + ], + "id": "module:warm_router", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:curator", + "module:drift_observability", + "module:memory_env", + "module:memory_store" + ], + "id": "module:drift_core", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:curator", + "module:memory_env" + ], + "id": "module:audit_ledger", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:drift_core", + "module:memory_env", + "module:memory_store" + ], + "id": "module:drift_observability", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:elastic_cognition", + "module:tiered_executor" + ], + "id": "module:cognitive_budgeter", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:local_tool_runtime", + "module:rune_operator", + "module:tool_executor" + ], + "id": "module:tool_protocol", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_consolidation", + "module:memory_env", + "module:memory_selector", + "module:rune_tui" + ], + "id": "module:abstraction", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_consolidation", + "module:memory_env", + "module:memory_selector", + "module:rune_tui" + ], + "id": "module:graph_memory", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_consolidation", + "module:memory_env", + "module:rune_tui" + ], + "id": "module:sleep_time", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_consolidation", + "module:memory_store" + ], + "id": "module:drift_compression", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:memory_store", + "module:persona_definition", + "module:rune_tui" + ], + "id": "module:cache", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:memory_store", + "module:warm_router" + ], + "id": "module:drift_cache", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:persona_definition", + "module:rune_tui" + ], + "id": "module:token_optimizer", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:prompt_sync", + "module:rune_tui" + ], + "id": "module:voice_sync", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:recall_router" + ], + "id": "module:recall_uplift", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_operator", + "module:rune_tui", + "module:tool_executor" + ], + "id": "module:capability_broker", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_operator", + "module:rune_tui" + ], + "id": "module:event_bus", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_operator" + ], + "id": "module:inference_trace", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_operator" + ], + "id": "module:model_routing", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui", + "module:voice_injector" + ], + "id": "module:voice_hybrid", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui", + "module:warm_neuron_store" + ], + "id": "module:claim_audit", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:auto_context", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:auto_tasks", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:behavior", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:context_pressure", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:drift_ledger", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:growth_delta", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:hook_engine", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:night_mode", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:persona_gate", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:pins", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:self_improve", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:system_registry", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:task_persist", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:time_awareness", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env", + "module:rune_tui" + ], + "id": "module:witness", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env" + ], + "id": "module:outcome_ledger", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env" + ], + "id": "module:subconscious_pass", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env" + ], + "id": "module:task_gate", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_env" + ], + "id": "module:tui_validator", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_store" + ], + "id": "module:complexity_scorer", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_store" + ], + "id": "module:shard_manager", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:memory_store" + ], + "id": "module:tier_manager", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:model_connect", + "module:rune_tui", + "module:standardized_providers", + "module:tool_executor" + ], + "id": "module:provider_registry", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:prompt_sync" + ], + "id": "module:build_pipeline_policy", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:provider_registry", + "module:rune_tui" + ], + "id": "module:model_connect", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:provider_registry" + ], + "id": "module:standardized_providers", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:recall_uplift" + ], + "id": "module:recall_router", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:route_risk_flags" + ], + "id": "module:adaptive_router", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator", + "module:rune_tui" + ], + "id": "module:model_profiles", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator", + "module:rune_tui" + ], + "id": "module:safety_override", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator", + "module:tool_executor", + "module:tool_protocol" + ], + "id": "module:local_tool_runtime", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator" + ], + "id": "module:evidence_probe", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator" + ], + "id": "module:failure_auto_filer", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator" + ], + "id": "module:forge_client", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_operator" + ], + "id": "module:subsystem_health", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:autonomy_loop", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:chat_bubble", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:cognitive_loop", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:cron_engine", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:dream_cycle", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:goal", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:message_widgets", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:microkernel", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:parallel_processor", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:provider_budget", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:rune_tui" + ], + "id": "module:work_manager", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:tiered_executor" + ], + "id": "module:model_registry", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [ + "module:voice_hybrid" + ], + "id": "module:voice_injector", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:auto_detect", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:build_mode", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:build_orchestrator", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:builder_bridge_cli", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:capability_fit", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:connection_pool", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:construction_decision", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:contracts", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:custodian", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:dependency_tracker", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:event_envelope", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:gitea_auth", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:gitea_pipeline", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:gitea_provision", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:graph_shard_bridge", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:growth_simulator", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:identity_anchors", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:intent_continuity", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:layout_contract", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:message_queue", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:openai_compat_transport", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:progressive_escalation", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:query_memory", + "kind": "module", + "maturity": "WIRED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:response_adapter", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:retrieval_benchmark", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:rune_graphic", + "kind": "module", + "maturity": "PRESENT", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:rune_profiler", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:rune_spinner", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:salience_gate", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:scaffold", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:spine", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:structural_store", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:toolchain", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:umbrella_update", + "kind": "module", + "maturity": "DECLARED", + "provides": [], + "status": "UNKNOWN" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:verification_layer", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + }, + { + "authority": "rune_spine", + "consumers": [], + "id": "module:voicebox", + "kind": "module", + "maturity": "EXERCISED", + "provides": [], + "status": "CURRENT" + } + ], + "completeness": { + "gaps": [], + "note": "all resolved affected entities' implemented contracts are represented in the requirement", + "probe_questions": [], + "verdict": "COMPLETE_ENOUGH" + }, + "fits": [ + { + "authority": "project_scaffold", + "candidate": "module:deploy_qualify", + "consumers": [], + "covered": 0, + "fit": "INCOMPATIBLE", + "maturity_rank": 3, + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "provides none of the required contracts" + }, + { + "authority": "project_scaffold", + "candidate": "module:deploy_stage", + "consumers": [], + "covered": 0, + "fit": "INCOMPATIBLE", + "maturity_rank": 3, + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "provides none of the required contracts" + }, + { + "authority": "project_scaffold", + "candidate": "module:scaffold", + "consumers": [], + "covered": 1, + "fit": "PARTIAL", + "maturity_rank": 0, + "missing_contracts": [ + "contract:closure_quality_distinction" + ], + "reason": "covers 1/2 required contracts" + }, + { + "authority": "project_scaffold", + "candidate": "module:structural_store", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:abstraction", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:adaptive_router", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:attention_capsule", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:audit_ledger", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:auto_context", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:auto_detect", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:auto_tasks", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:autonomy_loop", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:behavior", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:build_mode", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:build_orchestrator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:build_pipeline_policy", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:builder_bridge", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:builder_bridge_cli", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:cache", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:capability_broker", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:capability_fit", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:chat_bubble", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:claim_audit", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:cognitive_budgeter", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:cognitive_loop", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:complexity_scorer", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:connection_pool", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:construction_decision", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:context_broker", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:context_pressure", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:contracts", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:cron_engine", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:curator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:custodian", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:dependency_tracker", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:dream_cycle", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_cache", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_compression", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_core", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_ledger", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:drift_observability", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:elastic_cognition", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:event_bus", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:event_envelope", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:evidence_probe", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:failure_auto_filer", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:forge_client", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:gitea_auth", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:gitea_pipeline", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:gitea_provision", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:goal", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:graph_memory", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:graph_shard_bridge", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:growth_delta", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:growth_simulator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:hook_engine", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:identity_anchors", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:inference_trace", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:intent_continuity", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:layout_contract", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:local_tool_runtime", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:memory_consolidation", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:memory_env", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:memory_selector", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:memory_store", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:message_queue", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:message_widgets", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:microkernel", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:model_connect", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:model_profiles", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:model_registry", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:model_routing", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:night_mode", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:openai_compat_transport", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:outcome_ledger", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:parallel_processor", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:persona_definition", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:persona_gate", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:pins", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:progressive_escalation", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:prompt_sync", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:provider_budget", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:provider_registry", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:query_memory", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:recall_router", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:recall_uplift", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:response_adapter", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:retrieval_benchmark", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:route_risk_flags", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_graphic", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_operator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_profiler", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_spinner", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:rune_tui", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:safety_override", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:salience_gate", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:scaffold", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:self_improve", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:shard_manager", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:sleep_time", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:spine", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:standardized_providers", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:structural_store", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:subconscious_pass", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:subsystem_health", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:system_registry", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:task_gate", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:task_persist", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tier_manager", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tiered_executor", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:time_awareness", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:token_optimizer", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tool_executor", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tool_protocol", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:toolchain", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:tui_validator", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:umbrella_update", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:verification_layer", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:voice_hybrid", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:voice_injector", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:voice_sync", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:voicebox", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:warm_neuron_store", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:warm_router", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:witness", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + }, + { + "authority": "rune_spine", + "candidate": "module:work_manager", + "covered": 0, + "fit": "UNKNOWN", + "missing_contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "reason": "candidate exposes no contracts to check" + } + ], + "iterations": [], + "layout_obligations": [], + "need": { + "affected_surface": [ + "src/rune/construction_decision.py", + "src/rune/scaffold.py", + "tests/test_surface_completeness.py" + ], + "approval_context": "covered by user tranche brief", + "constraints": { + "contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "expected_new_entities": [], + "expected_runtime_effects": [ + "deployment:current advances" + ], + "non_goals": [ + "second structural graph" + ] + }, + "evidence_refs": [ + "DEPLOY-MONOTONIC-001 closure interpretation", + "maintenance:contract-gen-affected-surface" + ], + "need_id": "need-contract-gen-repair", + "objective": "generate_contract must merge the Need's concrete affected surface (paths, workflow surfaces, structural entities) into the generated contract's impact surfaces and file scope so planned work never appears as genuinely_unexpected", + "origin": "user tranche brief (2026-09-13) \u2014 origin: maintenance:contract-gen-affected-surface", + "project": "rune", + "requested_permanence": "", + "task_ref": "maintenance:contract-gen-affected-surface" + }, + "normalization_missing": [ + "environment" + ], + "obligations": { + "acquisition": [], + "composition": [], + "layout": [], + "new_behavior": [], + "regression": [], + "verification": [ + "new behavior proven by tests before closure", + "regression proof: original capability's consumers still work" + ] + }, + "proposer_note": "tranche 5 real proof: repair through the improved live path", + "rationale": "module:scaffold covers 1/2; adaptation clean (covers 1/2 required contracts)", + "requirement": { + "contracts": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle" + ], + "environment": {}, + "expected_new_entities": [], + "expected_runtime_effects": [ + "deployment:current advances" + ], + "mandatory": [], + "non_goals": [ + "second structural graph" + ], + "objective": "generate_contract must merge the Need's concrete affected surface (paths, workflow surfaces, structural entities) into the generated contract's impact surfaces and file scope so planned work never appears as genuinely_unexpected", + "optional": [], + "requested_permanence": "", + "source_need": "need-contract-gen-repair", + "target_project": "rune", + "task_ref": "maintenance:contract-gen-affected-surface" + }, + "research": { + "route": "NONE", + "status": "LOCAL_SOLVE" + }, + "resolution": "ADAPT_EXISTING", + "toolchain": { + "alternatives": [], + "build_system": "", + "confidence": 0.7, + "decisive_constraints": [ + "existing_language" + ], + "evidence_refs": [], + "framework": "", + "libraries": [], + "rationale": "existing project toolchain wins (\u00a78); no recorded evidence shows significant benefit from change", + "resolution": "KEEP_EXISTING", + "runtime": "", + "selected_language": "python", + "user_approval_required": false + } + }, + "expected_runtime_effects": [ + "deployment:current advances" + ], + "scope_provenance": { + "caller_added": [ + "docs/SCAFFOLDING.md" + ], + "generated_from_affected_surface": [ + "src/rune/construction_decision.py", + "src/rune/scaffold.py", + "tests/test_surface_completeness.py" + ] + }, + "unresolved_surfaces": [ + { + "kind": "source_path", + "reason": "no authority records this path as an entity (path remains file-scope only)", + "surface": "tests/test_surface_completeness.py" + } + ], + "workflow_config_surfaces": [] + }, + "id": "contract:CONTRACT-GEN-REPAIR-001", + "identities": { + "acceptance": [ + "resolution ADAPT_EXISTING verified end-to-end" + ], + "affected_entities": [ + "contract:closure_quality_distinction", + "contract:construction_contract_lifecycle", + "module:construction_decision", + "module:scaffold" + ], + "expected_consumers": [], + "expected_new_entities": [], + "gap_evidence": "module:scaffold covers 1/2; adaptation clean (covers 1/2 required contracts)", + "migration_obligations": [], + "need": "generate_contract must merge the Need's concrete affected surface (paths, workflow surfaces, structural entities) into the generated contract's impact surfaces and file scope so planned work never appears as genuinely_unexpected", + "next_action": "begin building", + "non_goals": [ + "second structural graph" + ], + "origin": "user tranche brief (2026-09-13) \u2014 origin: maintenance:contract-gen-affected-surface", + "regression_obligations": [], + "requirement": "generate_contract must merge the Need's concrete affected surface (paths, workflow surfaces, structural entities) into the generated contract's impact surfaces and file scope so planned work never appears as genuinely_unexpected", + "research_refs": [ + "DEPLOY-MONOTONIC-001 closure interpretation", + "maintenance:contract-gen-affected-surface" + ], + "resolution": "ADAPT_EXISTING", + "rollback_ref": "git revert", + "scope": [ + "docs/SCAFFOLDING.md", + "src/rune/construction_decision.py", + "src/rune/scaffold.py", + "tests/test_surface_completeness.py" + ], + "toolchain": { + "alternatives": [], + "build_system": "", + "confidence": 0.7, + "decisive_constraints": [ + "existing_language" + ], + "evidence_refs": [], + "framework": "", + "libraries": [], + "rationale": "existing project toolchain wins (\u00a78); no recorded evidence shows significant benefit from change", + "resolution": "KEEP_EXISTING", + "runtime": "", + "selected_language": "python", + "user_approval_required": false + }, + "verification_obligations": [ + "new behavior proven by tests before closure", + "regression proof: original capability's consumers still work" + ] + }, + "kind": "construction_contract", + "maturity": "DECLARED", + "observed_at": "2026-09-13T12:31:42Z", + "phase": "approved", + "status": "open", + "tags": [] + }, { "evidence_refs": [ "DEPLOY-MONOTONIC-001" diff --git a/store/spine/current.json b/store/spine/current.json index 5900f254..1479b156 100644 --- a/store/spine/current.json +++ b/store/spine/current.json @@ -2,7 +2,7 @@ "authority_generations": { "ast-import-projector": { "generation": 0, - "last_success": "2026-09-13T12:08:10Z", + "last_success": "2026-09-13T12:30:19Z", "observed": [ "consumed_by|module:abstraction|module:memory_consolidation", "consumed_by|module:abstraction|module:memory_selector", @@ -361,7 +361,7 @@ }, "deploy-identity-projector": { "generation": 1, - "last_success": "2026-09-13T12:08:10Z", + "last_success": "2026-09-13T12:30:19Z", "observed": [ "deployed_as|module:abstraction|deployment:current", "deployed_as|module:adaptive_router|deployment:current", @@ -502,7 +502,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code", "self-model" @@ -522,7 +522,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [] }, { @@ -539,7 +539,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [] }, { @@ -556,7 +556,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [] }, { @@ -573,7 +573,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [] }, { @@ -590,7 +590,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [] }, { @@ -607,7 +607,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [] }, { @@ -616,14 +616,14 @@ ], "id": "deployment:current", "identities": { - "deployed_at": "2026-09-13T12:03:08Z", - "deployed_sha": "386137dc14b5", + "deployed_at": "2026-09-13T12:09:52Z", + "deployed_sha": "6bc31c513e77", "deployed_version": "0.66.38", "observed_from": "/mnt/workdrive/rune-code/current" }, "kind": "deployment_surface", "maturity": "LIVE_PROVEN", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [] }, { @@ -639,7 +639,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -657,7 +657,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -675,7 +675,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -693,7 +693,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -711,7 +711,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -729,7 +729,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -747,7 +747,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -765,7 +765,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -783,7 +783,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -801,7 +801,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -819,7 +819,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -837,7 +837,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -855,7 +855,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -873,7 +873,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -891,7 +891,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -909,7 +909,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -927,7 +927,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -945,7 +945,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -963,7 +963,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -981,7 +981,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -999,7 +999,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1017,7 +1017,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1035,7 +1035,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1053,7 +1053,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1071,7 +1071,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1089,7 +1089,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1106,7 +1106,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1124,7 +1124,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1142,7 +1142,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1160,7 +1160,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1177,7 +1177,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1195,7 +1195,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1213,7 +1213,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1230,7 +1230,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1247,7 +1247,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1265,7 +1265,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1282,7 +1282,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1300,7 +1300,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1317,7 +1317,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1334,7 +1334,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1350,7 +1350,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1366,7 +1366,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1382,7 +1382,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1400,7 +1400,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1418,7 +1418,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1436,7 +1436,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1454,7 +1454,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1472,7 +1472,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1490,7 +1490,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1508,7 +1508,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1526,7 +1526,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1544,7 +1544,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1562,7 +1562,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1580,7 +1580,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1598,7 +1598,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1615,7 +1615,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1632,7 +1632,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1649,7 +1649,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1667,7 +1667,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1684,7 +1684,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1701,7 +1701,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1719,7 +1719,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1737,7 +1737,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1755,7 +1755,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1773,7 +1773,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1790,7 +1790,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1808,7 +1808,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1825,7 +1825,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1842,7 +1842,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1860,7 +1860,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1878,7 +1878,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1896,7 +1896,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1913,7 +1913,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1931,7 +1931,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1949,7 +1949,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1966,7 +1966,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -1983,7 +1983,7 @@ }, "kind": "module", "maturity": "WIRED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2001,7 +2001,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2019,7 +2019,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2037,7 +2037,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2055,7 +2055,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2073,7 +2073,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2091,7 +2091,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2109,7 +2109,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2127,7 +2127,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2145,7 +2145,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2163,7 +2163,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2181,7 +2181,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2199,7 +2199,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2217,7 +2217,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2235,7 +2235,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2253,7 +2253,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2271,7 +2271,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2289,7 +2289,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2307,7 +2307,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2324,7 +2324,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2340,7 +2340,7 @@ }, "kind": "module", "maturity": "PRESENT", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2357,7 +2357,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2373,7 +2373,7 @@ }, "kind": "module", "maturity": "PRESENT", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2389,7 +2389,7 @@ }, "kind": "module", "maturity": "PRESENT", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2405,7 +2405,7 @@ }, "kind": "module", "maturity": "PRESENT", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2422,7 +2422,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2438,7 +2438,7 @@ }, "kind": "module", "maturity": "PRESENT", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2455,7 +2455,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2471,7 +2471,7 @@ }, "kind": "module", "maturity": "PRESENT", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2487,7 +2487,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2503,7 +2503,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2519,7 +2519,7 @@ }, "kind": "module", "maturity": "EXERCISED", - "observed_at": "2026-09-13T12:08:10Z", + "observed_at": "2026-09-13T12:30:19Z", "tags": [ "code" ] @@ -2788,7 +2788,7 @@ "tags": [] } ], - "generated_at": "2026-09-13T12:08:10Z", + "generated_at": "2026-09-13T12:30:19Z", "observations": [ { "authority": "cli-invocation", @@ -3359,6 +3359,22 @@ "observed_at": "2026-09-13T12:08:10Z", "observed_from": "/mnt/workdrive/rune-code/current" }, + { + "deployed_at": "2026-09-13T12:09:52Z", + "deployed_sha": "6bc31c513e77", + "deployed_version": "0.66.38", + "kind": "deployed_identity", + "observed_at": "2026-09-13T12:19:03Z", + "observed_from": "/mnt/workdrive/rune-code/current" + }, + { + "deployed_at": "2026-09-13T12:09:52Z", + "deployed_sha": "6bc31c513e77", + "deployed_version": "0.66.38", + "kind": "deployed_identity", + "observed_at": "2026-09-13T12:30:19Z", + "observed_from": "/mnt/workdrive/rune-code/current" + }, { "deployed_sha": "2731db03f4bd", "deployed_version": "0.66.33", diff --git a/tests/test_surface_completeness.py b/tests/test_surface_completeness.py new file mode 100644 index 00000000..54f44897 --- /dev/null +++ b/tests/test_surface_completeness.py @@ -0,0 +1,464 @@ +"""test_surface_completeness.py — SCAFFOLD-TRANCHE-005 test plans +§24 (affected surfaces), §25 (requirement completeness), §26 (iterative +trace), §27 (expected runtime effects), §28 (backward compat).""" + +import json +import os +import subprocess +import sys + +import pytest + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "src")) + +from rune import construction_decision as cd # noqa: E402 +from rune import layout_contract as lc # noqa: E402 +from rune import scaffold as sc # noqa: E402 +from rune import structural_store as ss # noqa: E402 + + +def _authorities(): + """Spine-like authority: deploy module with a promotion contract the + requirement does NOT represent (the deploy-incident shape), plus a + path-mapped module, plus a UI component with a Layout Contract.""" + spine = ss.new_doc() + ss.add_entity( + spine, + id="module:deploy_stage", + kind="module", + identities={"path": "scripts/deploy_stage.py"}, + maturity="WIRED", + evidence_refs=["f"], + ) + ss.add_entity(spine, id="contract:monotonic_promotion", kind="contract", identities={}, evidence_refs=["f"]) + ss.add_relationship( + spine, + type="implements", + from_id="module:deploy_stage", + to_id="contract:monotonic_promotion", + evidence_refs=["f"], + ) + ss.add_entity(spine, id="contract:fail_closed_deployment", kind="contract", identities={}, evidence_refs=["f"]) + ss.add_entity( + spine, + id="module:deploy_qualify", + kind="module", + identities={"path": "scripts/deploy_qualify.py"}, + maturity="WIRED", + evidence_refs=["f"], + ) + ss.add_relationship( + spine, + type="implements", + from_id="module:deploy_qualify", + to_id="contract:fail_closed_deployment", + evidence_refs=["f"], + ) + scaffold = ss.new_doc() + lc.define_region(scaffold, "footer-bar", provenance="scaffold") + lc.bind_component( + scaffold, "version_display", "footer-bar", provenance="scaffold", order=0, implementation="src/rune/rune_tui.py" + ) + return {"rune_spine": spine, "project_scaffold": scaffold} + + +def _need(**kw): + d = dict( + need_id="n5", + objective="prevent deploy regression", + origin="user", + constraints={"contracts": ["contract:fail_closed_deployment"]}, + affected_surface=["scripts/deploy_qualify.py"], + evidence_refs=["x"], + approval_context="covered", + ) + d.update(kw) + return cd.Need(**d) + + +# ── §24 affected surfaces ─────────────────────────────────────────────────── + + +def test_24a_source_path_propagates_to_file_scope(tmp_path): + s, doc = _gen(tmp_path) + c = s.contract(doc, "G5") + assert "scripts/deploy_qualify.py" in c["ext"]["affected_paths"] + assert "scripts/deploy_qualify.py" in c["identities"]["scope"] + + +def test_24b_mapped_path_resolves_to_module(): + res = cd.resolve_affected_surface(_need(), _authorities()) + assert "module:deploy_qualify" in res["affected_existing_entities"] + r = next(r for r in res["resolutions"] if r["surface"] == "scripts/deploy_qualify.py") + assert r["resolved"][0]["via"] == "path_attribute" + + +def test_24c_unresolved_path_retained_not_dropped(): + need = _need(affected_surface=["scripts/brand_new_thing.py"]) + res = cd.resolve_affected_surface(need, _authorities()) + assert any(u["surface"] == "scripts/brand_new_thing.py" for u in res["unresolved_surfaces"]) + assert "scripts/brand_new_thing.py" in res["affected_paths"] # still scoped + + +def test_24d_ui_component_pulls_layout_contract(): + need = _need(affected_surface=["ui:version_display"]) + res = cd.resolve_affected_surface(need, _authorities()) + assert "ui:version_display" in res["affected_ui_surfaces"] + r = res["resolutions"][0] + assert r["resolved"][0]["via"] == "layout_contract" + trace = cd.make_decision(need, authorities=_authorities()) + assert any(o["component"] == "ui:version_display" for o in trace["layout_obligations"]) + + +def test_24e_region_surface_pulls_layout_obligations(): + need = _need(affected_surface=["region:footer-bar"]) + trace = cd.make_decision(need, authorities=_authorities()) + assert any(o["region"] == "footer-bar" for o in trace["layout_obligations"]) + + +def test_24f_workflow_config_mechanically_scoped(tmp_path): + s, doc = _gen(tmp_path, affected_surface=["scripts/deploy_qualify.py", ".gitea/workflows/deploy.yml"]) + c = s.contract(doc, "G5") + assert ".gitea/workflows/deploy.yml" in c["ext"]["workflow_config_surfaces"] + assert ".gitea/workflows/deploy.yml" in c["identities"]["scope"] + + +def test_24g_affected_surface_not_auto_expected_new(tmp_path): + s, doc = _gen(tmp_path) + c = s.contract(doc, "G5") + # affected existing entities never leak into expected-new + assert c["identities"]["expected_new_entities"] == [] + assert c["identities"]["affected_entities"] # but affected is populated + + +def test_24h_expected_new_path_entity_distinct(tmp_path): + s = sc.Scaffold(tmp_path / ".rune" / "scaffold", "p5") + doc = s.init(purpose="t") + need = _need( + constraints={ + "contracts": ["contract:fail_closed_deployment"], + "expected_new_entities": ["module:fresh_thing"], + "expected_new_source_paths": ["scripts/fresh_thing.py"], + }, + affected_surface=["scripts/deploy_qualify.py"], + evidence_refs=["x"], + ) + trace = cd.make_decision(need, authorities=_authorities()) + cd.generate_contract(s, doc, trace, contract_id="G5H", scope=None) + c = s.contract(doc, "G5H") + assert c["identities"]["expected_new_entities"] == ["module:fresh_thing"] + assert "scripts/fresh_thing.py" in c["identities"]["scope"] # expected-new path scoped + assert "scripts/fresh_thing.py" not in c["ext"]["affected_paths"] + + +def test_24i_contract_roundtrip_preserves_surfaces(tmp_path): + s, doc = _gen(tmp_path, affected_surface=["scripts/deploy_qualify.py", "ui:version_display", "scripts/unmapped.py"]) + s.save(doc) + doc2 = sc.Scaffold(tmp_path / ".rune" / "scaffold", "p5").load() + c = doc2 and sc.Scaffold(tmp_path / ".rune" / "scaffold", "p5").contract(doc2, "G5") + assert c["ext"]["affected_paths"] == ["scripts/deploy_qualify.py", "scripts/unmapped.py"] + assert c["ext"]["affected_ui_surfaces"] == ["ui:version_display"] + assert any(u["surface"] == "scripts/unmapped.py" for u in c["ext"]["unresolved_surfaces"]) + + +# ── §25 requirement completeness ──────────────────────────────────────────── + + +def _gen(tmp_path, **need_kw): + s = sc.Scaffold(tmp_path / ".rune" / "scaffold", "p5") + doc = s.init(purpose="t5") + need = _need(**need_kw) + trace = cd.make_decision(need, authorities=_authorities(), project_toolchain={"existing_language": "python"}) + cd.generate_contract(s, doc, trace, contract_id="G5", scope=None) + return s, doc + + +def test_25a_complete_requirement_complete_enough(): + need = _need( + constraints={"contracts": ["contract:fail_closed_deployment"]}, affected_surface=["scripts/deploy_qualify.py"] + ) + trace = cd.make_decision(need, authorities=_authorities()) + assert trace["completeness"]["verdict"] == cd.COMPLETE_ENOUGH + assert trace["resolution"] == "REUSE" # fit proceeds + + +def test_25b_affected_stage_missing_material_gap(): + """THE deploy-incident shape: requirement names qualification only, but + the affected surface includes the promotion implementation carrying an + unrepresented ordering contract.""" + need = _need(affected_surface=["scripts/deploy_qualify.py", "scripts/deploy_stage.py"]) + trace = cd.make_decision(need, authorities=_authorities()) + assert trace["completeness"]["verdict"] == cd.MATERIAL_GAP + gaps = {g["missing_contract"] for g in trace["completeness"]["gaps"]} + assert "contract:monotonic_promotion" in gaps + # PREMATURE-FIT GUARD: without the guard this resolves REUSE/SATISFIED + assert trace["resolution"] == "INSUFFICIENT_EVIDENCE" + assert trace["_merged"].get("premature_fit_blocked", {}).get("gaps") + # gap provenance: derived_from the entity, with rule + evidence + g = next(g for g in trace["completeness"]["gaps"] if g["missing_contract"] == "contract:monotonic_promotion") + assert g["derived_from"] == "module:deploy_stage" + assert g["rule"] and g["evidence"] + + +def test_25c_no_resolution_unknown(): + need = _need(affected_surface=["totally/unknown.xyz"]) + trace = cd.make_decision(need, authorities=_authorities()) + assert trace["completeness"]["verdict"] == cd.COMPLETENESS_UNKNOWN + + +def test_25d_unknown_never_becomes_complete(): + need = _need(affected_surface=["totally/unknown.xyz"]) + trace = cd.make_decision(need, authorities=_authorities()) + assert trace["completeness"]["verdict"] != cd.COMPLETE_ENOUGH + assert "undeterminable" in trace["completeness"]["note"] + + +def test_25e_derived_requirement_provenance(): + need = _need(affected_surface=["scripts/deploy_qualify.py", "scripts/deploy_stage.py"]) + trace = cd.make_decision(need, authorities=_authorities()) + g = trace["completeness"]["gaps"][0] + assert g["derived_from"] and g["evidence"] and g["rule"] + + +def test_25f_model_proposal_not_structural_authority(): + """A model-proposed contract is recorded with provider/confidence and + verification state PENDING — it does not enter the requirement's + contract set as authority.""" + proposed = cd.record_proposed_requirement( + "contract:model_claimed", provider="local-model", model="m", evidence=["hunch"], confidence=0.4 + ) + assert proposed["verification_state"] == "PENDING" + assert proposed["provider"] == "local-model" + # normalization does not accept it as a contract + need = _need(constraints={"contracts": ["contract:fail_closed_deployment"], "model_proposed": [proposed]}) + req, _ = cd.normalize_need(need) + assert "contract:model_claimed" not in req.contracts + + +def test_25g_consumer_contracts_derive_regression(): + spine = _authorities()["rune_spine"] + ss.add_entity(spine, id="module:consumer", kind="module", identities={}, evidence_refs=["f"]) + ss.add_relationship( + spine, type="consumes", from_id="module:consumer", to_id="module:deploy_qualify", evidence_refs=["f"] + ) + need = _need(affected_surface=["scripts/deploy_qualify.py"]) + trace = cd.make_decision(need, authorities={"rune_spine": spine}) + assert trace["resolution"] == "REUSE" + reg = " ".join(trace["obligations"]["regression"]) + assert "module:consumer" in reg + + +def test_25h_adapt_existing_includes_old_plus_new(): + spine = _authorities()["rune_spine"] + ss.add_entity(spine, id="contract:extra_obligation", kind="contract", identities={}, evidence_refs=["f"]) + ss.add_relationship( + spine, + type="implements", + from_id="module:deploy_qualify", + to_id="contract:extra_obligation", + evidence_refs=["f"], + ) + need = _need(affected_surface=["scripts/deploy_qualify.py"]) + need.constraints["contracts"] = ["contract:fail_closed_deployment", "contract:extra_obligation"] + trace = cd.make_decision(need, authorities={"rune_spine": spine}) + assert trace["completeness"]["verdict"] == cd.COMPLETE_ENOUGH + assert trace["resolution"] == "REUSE" # exact fit on both contracts + assert "new behavior proven by tests" in " ".join(trace["obligations"]["verification"]) + + +def test_25i_compose_derives_boundary_verification(): + spine = _authorities()["rune_spine"] + need = _need(affected_surface=["scripts/deploy_qualify.py", "scripts/deploy_stage.py"]) + need.constraints["contracts"] = ["contract:fail_closed_deployment", "contract:monotonic_promotion"] + trace = cd.make_decision(need, authorities={"rune_spine": spine}) + assert trace["resolution"] == "COMPOSE" + assert "composition boundary behavior verified end-to-end" in " ".join(trace["obligations"]["verification"]) + comp = trace["obligations"]["composition"][0] + assert set(comp["components"]) == {"module:deploy_qualify", "module:deploy_stage"} + + +def test_25j_layout_lock_derives_preservation(): + scaffold = _authorities()["project_scaffold"] + lc.bind_component( + scaffold, "status_bar", "footer-bar", lock=True, provenance="user", order=1, evidence_ref="user-2026" + ) + need = _need(affected_surface=["ui:status_bar"]) + trace = cd.make_decision(need, authorities=_authorities() | {"project_scaffold": scaffold}) + lo = [o for o in trace["layout_obligations"] if o["component"] == "ui:status_bar"] + assert lo and lo[0]["lock"] is True + assert "explicit user authorization" in lo[0]["obligation"] + # and the approval gate fires for the locked surface + assert any("USER-LOCKED" in r for r in trace["approval"]["reasons"]) or trace["approval"]["covered_by"] + + +def test_25k_completeness_prevents_premature_reuse(): + """§23 core test, fixture form: the deploy-like Need must NOT resolve + REUSE while the affected promotion surface carries an unrepresented + contract.""" + need = _need(affected_surface=["scripts/deploy_qualify.py", "scripts/deploy_stage.py"]) + trace = cd.make_decision(need, authorities=_authorities()) + assert trace["resolution"] != "REUSE" + assert trace["completeness"]["verdict"] == cd.MATERIAL_GAP + blocked = trace["_merged"]["premature_fit_blocked"] + assert blocked["would_have_been"] in ("REUSE", "SATISFIED") + + +# ── §26 iterative trace ────────────────────────────────────────────────────── + + +def test_26_iterative_trace_durable(tmp_path): + """initial normalization → gap → refinement → revised → final decision; + all retained; fresh process reconstructs without transcript.""" + s = sc.Scaffold(tmp_path / ".rune" / "scaffold", "p26") + doc = s.init(purpose="t26") + # iteration 1: narrow requirement → premature fit blocked + need1 = _need(affected_surface=["scripts/deploy_qualify.py", "scripts/deploy_stage.py"]) + t1 = cd.make_decision(need1, authorities=_authorities()) + assert t1["resolution"] == "INSUFFICIENT_EVIDENCE" + assert t1["_merged"]["premature_fit_blocked"]["would_have_been"] == "REUSE" + # evidence/refinement: the promotion contract is added to the requirement + need2 = _need( + constraints={"contracts": ["contract:fail_closed_deployment", "contract:monotonic_promotion"]}, + affected_surface=["scripts/deploy_qualify.py", "scripts/deploy_stage.py"], + evidence_refs=["x", "refinement:completeness-gap-iter1"], + ) + t2 = cd.make_decision( + need2, + authorities=_authorities(), + prior_iterations=[ + { + "iteration": 1, + "normalized_contracts": need1.constraints["contracts"], + "completeness": t1["completeness"]["verdict"], + "gaps": [g["missing_contract"] for g in t1["completeness"]["gaps"]], + "resolution": t1["resolution"], + "refined_by": "completeness gap evidence", + } + ], + ) + assert t2["resolution"] == "COMPOSE" + assert t2["iterations"][0]["gaps"] == ["contract:monotonic_promotion"] + cd.generate_contract(s, doc, t2, contract_id="IT1", scope=None) + s.transition_contract(doc, "IT1", "approved") + s.save(doc) + # fresh process + script = ( + "import sys, json;" + "sys.path.insert(0, %r);" + "from rune import scaffold;" + "s = scaffold.Scaffold(%r, 'p26');" + "doc = s.load();" + "c = s.contract(doc, 'IT1');" + "t = c['ext']['decision_trace'];" + "print(json.dumps({'iterations': len(t['iterations'])," + "'iter1_gaps': t['iterations'][0]['gaps']," + "'iter1_resolution': t['iterations'][0]['resolution']," + "'refined_by': t['iterations'][0]['refined_by']," + "'final_resolution': t['resolution']," + "'final_contracts': t['requirement']['contracts']}))" + ) % (os.path.join(os.path.dirname(__file__), "..", "src"), str(tmp_path / ".rune" / "scaffold")) + r = subprocess.run([sys.executable, "-c", script], capture_output=True, text=True, timeout=60) + assert r.returncode == 0, r.stderr + rec = json.loads(r.stdout) + assert rec["iterations"] == 1 + assert rec["iter1_gaps"] == ["contract:monotonic_promotion"] + assert rec["iter1_resolution"] == "INSUFFICIENT_EVIDENCE" + assert rec["refined_by"] == "completeness gap evidence" + assert rec["final_resolution"] == "COMPOSE" + assert "contract:monotonic_promotion" in rec["final_contracts"] + + +# ── §27 expected runtime effects ───────────────────────────────────────────── + + +def _close_with(tmp_path, expected_runtime, observed): + s = sc.Scaffold(tmp_path / ".rune" / "scaffold", "p27") + doc = s.init(purpose="t27") + s.new_contract( + doc, contract_id="R1", need="n", scope=["src/x"], affected_entities=["module:a"], expected_new_entities=[] + ) + c = s.contract(doc, "R1") + c.setdefault("ext", {})["expected_runtime_effects"] = expected_runtime + s.transition_contract(doc, "R1", "approved") + s.transition_contract(doc, "R1", "building") + s.transition_contract(doc, "R1", "verifying") + s.close_contract(doc, "R1", observed_evidence=observed) + return s.contract(doc, "R1")["ext"]["contract_quality"] + + +def test_27a_expected_runtime_observed_not_unexpected(tmp_path): + q = _close_with( + tmp_path, ["deployment:current advances"], [{"entity": "deployment:current", "source": "deployed-identity"}] + ) + assert q["expected_runtime_observed"] == ["deployment:current advances"] + assert "deployment:current" not in q["genuinely_unexpected_new"] + + +def test_27b_expected_runtime_missing(tmp_path): + q = _close_with(tmp_path, ["cache invalidated"], []) + assert q["expected_runtime_missing"] == ["cache invalidated"] + assert q["expected_runtime_observed"] == [] + + +def test_27c_unpredicted_runtime_genuinely_unexpected(tmp_path): + q = _close_with(tmp_path, [], [{"entity": "deployment:current", "source": "deployed-identity"}]) + assert "deployment:current" in q["genuinely_unexpected_new"] + + +def test_27d_no_self_certification(tmp_path): + """Predicting the runtime effect does not observe it: no evidence item → + missing, and correctly_predicted unaffected.""" + q = _close_with(tmp_path, ["deployment:current advances"], []) + assert q["expected_runtime_missing"] == ["deployment:current advances"] + assert q["expected_runtime_observed"] == [] + + +def test_27e_deployment_current_fixture(tmp_path): + """The DEPLOY-MONOTONIC-001 defect shape, now correct: a release-class + contract that predicts the deployment advance closes clean.""" + q = _close_with( + tmp_path, + ["deployment:current advances"], + [{"entity": "module:a", "source": "git-diff"}, {"entity": "deployment:current", "source": "deployed-identity"}], + ) + assert q["correctly_predicted"] == ["module:a"] + assert q["expected_runtime_observed"] == ["deployment:current advances"] + assert q["genuinely_unexpected_new"] == [] + + +# ── §28 backward compatibility ─────────────────────────────────────────────── + + +def test_28_old_contract_closes_without_new_fields(tmp_path): + s = sc.Scaffold(tmp_path / ".rune" / "scaffold", "p28") + doc = s.init(purpose="t28") + # old-shape: no expected_runtime_effects, no expected_new_entities + s.new_contract(doc, contract_id="OLD", need="old", scope=["src/x"], affected_entities=["module:a"]) + c = s.contract(doc, "OLD") + assert not c.get("ext", {}).get("expected_runtime_effects") # empty, not crash + s.transition_contract(doc, "OLD", "approved") + s.transition_contract(doc, "OLD", "building") + s.transition_contract(doc, "OLD", "verifying") + s.close_contract(doc, "OLD", observed_evidence=[{"entity": "module:a", "source": "git-diff"}]) + q = s.contract(doc, "OLD")["ext"]["contract_quality"] + assert q["correctly_predicted"] == ["module:a"] + assert q["expected_runtime_effects"] == [] # empty, not crash + + +def test_28_tranche4_contract_data_still_readable(tmp_path): + s = sc.Scaffold(tmp_path / ".rune" / "scaffold", "p28b") + doc = s.init(purpose="t28b") + s.new_contract( + doc, + contract_id="T4SHAPE", + need="n", + scope=["src/x"], + affected_entities=["module:a"], + expected_new_entities=["module:b"], + ) + s.transition_contract(doc, "T4SHAPE", "approved") + s.transition_contract(doc, "T4SHAPE", "building") + s.transition_contract(doc, "T4SHAPE", "verifying") + s.close_contract(doc, "T4SHAPE", observed_evidence=[{"entity": "module:b", "source": "file-added"}]) + q = s.contract(doc, "T4SHAPE")["ext"]["contract_quality"] + assert q["expected_new_observed"] == ["module:b"]