Skip to main content
Status: accepted v0.3 — body sourced from TriGraph spec entity. Docs-mirror file added by docs lane to surface ratified specs that lacked an on-disk mirror.

SPEC-080: Tri-Graph Governance Lookup and Capability Index

SPEC-080 v0.3 — Tri-Graph Governance Lookup and Capability Index

Status

Accepted v0.3. Author: Candi (v0.1, v0.2) Schema co-author: Candi Engineering owner: Donna Architecture reviewer: Texi PO / ratifier: Donna Acceptance panel: Porsche Docs sweep: Desiree Plan: Plan #10 Wave 3 Blocker #6

v0.3 Changelog (2026-05-04)

v0.3 is a terminology amendment only. No design changes; no acceptance-criteria changes; no contract changes other than the renames listed in §Renames. Operator (Frank) flagged that “recall” was overloaded with semantic_recall (which IS Prism memory recall over memory_embeddings per ADR-018) plus the Claude Code harness’s auto-memory file system. Donna agreed; “lookup” is plain-English unambiguous and reserves “recall” for actual memory retrieval. The rename was caught and applied during PR-set-1A close-out (after PR #123/#124/#125 had shipped using the v0.2 naming in code comments and docstrings). Implementation files updated under PR set v0.3-rename.

Renames

v0.2 namev0.3 nameReason
prism_governance_recall (verb)prism_governance_lookupdistinct from semantic_recall (memory recall)
PRISM_GOVERNANCE_RECALL_ENABLED (env flag)PRISM_GOVERNANCE_LOOKUP_ENABLEDmirrors verb rename
”governance recall” (concept noun)“governance lookup”reserves “recall” for memory recall
§Recall Verb Contract§Lookup Verb Contractsection header rename

NOT renamed (preserved as-is)

TermWhy kept
semantic_recallunrelated existing memory-recall verb (SPEC-020 + ADR-018)
memory_recall_events, memory_citation_eventsSPEC-065 telemetry tables — locked baseline, must not mutate per SPEC-080 §SPEC-065 Protection
”advisory recall” / “advisory recall mode” (when describing memory-class behavior)precise term for retrieval-class semantics
top_k parameter namingper §Recall Verb Contract field rules — “follows existing Prism recall naming; do not use limit” — the parameter naming convention crosses both verbs

v0.2 Contract Inheritance

All v0.2 sections remain in force, modulo the renames above:
  • §Existing Architecture Boundary (SPEC-020 Tri-Graph preserved)
  • §Shared Definitions (with governance_lookup substituted for governance_recall)
  • §Source Model (DB typed artifacts + generated docs mirrors + static files + runtime observations + code/source paths + validation artifacts)
  • §Authority Rules (advisory only; never silently outranks Ring authority, DB SOR, or live prism_start)
  • §Type Ontology Registration (24 governance/capability types, registered in trigraph_types/governance.json per Phase 1A PR #123)
  • §Edge Vocabulary Registration (11 SPEC-080 first-class edges + 9 SPEC-078/079 edges, registered in _VALID_REFERENCE_TYPES per PR #123)
  • §Required Current-State Properties
  • §Capability Index (capability nodes are tools/surface features, not agent authority)
  • §Lookup Verb Contract (renamed from §Recall Verb Contract; signature unchanged)
  • §Query Classes (9 classes: applicable_rules, surface_capabilities, authority_lookup, method_fragments, memory_domains, review_gates, supersession_check, validation_context, conflict_lookup)
  • §Response and Prompt Safety (no raw graph paths in default response; opt-in via include_paths=true)
  • §Extraction Phases (Phase 0 ratification done; Phase 1A registration shipped via PR #123; Phase 1B-DB extractor shipped via PR #124; Phase 1B-static extractor shipped via PR #125)
  • §SPEC-065 Protection (no telemetry mutation)
  • §Storage Notes
  • §Failure and Fallback (Neo4j-unavailable fail-soft; stale freshness; conflict resolution)
  • §Telemetry and Acceptance Panel (Porsche signals outside SPEC-065)
  • §Acceptance Criteria 1–18

Phase 2 (next)

Phase 2 implementation begins under v0.3 naming:
  • backend service governance_lookup.py with 9 query_class handlers
  • MCP verb registration prism_governance_lookup in mcp-node + backend route
  • default response shape (advisory + cited + freshness-aware)
  • disabled response shape when PRISM_GOVERNANCE_LOOKUP_ENABLED is false
  • Neo4j-unavailable fail-soft response shape
  • pure-function tests + default-off invariant tests at the verb surface
Phase 3 (enforcement & automation) remains separately authorized per v0.2 §Phase 3.

Implementation status (post-PR-set-1A)

SurfaceStatus
Type ontology registration (governance.json, 24 types)shipped — PR #123 deployed clean
Edge vocabulary registration (20 first-class edges)shipped — PR #123 deployed clean
DB extractor (Spec/Adr/Plan/Todo/Retrospective → Artifact/Decision)shipped — PR #124 deployed clean
Static-files extractor (BIOS + methodology → SourceDocument + InstructionSurface)shipped — PR #125 deployed clean
Method fragment + domain contract DB seedingdeferred — waits on SPEC-078/SPEC-079 own DB tables
Lafonda install-lane PRISM_GOVERNANCE_LOOKUP_ENABLED=false flag addqueued
Phase 2 prism_governance_lookup verbnext milestone

References

  • SPEC-080 v0.2 (superseded; same contract minus the renames above)
  • SPEC-020 v1.0, Tri-Graph Knowledge Representation
  • SPEC-025, Tri-Graph projection/backfill behavior
  • SPEC-026, Tri-Graph reconciler/freshness behavior
  • SPEC-078 v0.2, Consensus-First Parallelism and Method Fragments
  • SPEC-079 v0.2, Memory Domain Contracts and Continuous Improvement Loop
  • ADR #47 v0.2, Governance Layer Precedence and Override Semantics
  • ADR #48 v0.2, Identity / Surface / Specialization / Assignment / Style Model
  • SPEC-065, Memory System Improvement: Research Methodology + Phase 0 Telemetry
  • Plan #10 v0.6, Wave 3 Blocker #6 ownership map
  • backend/app/services/trigraph_*.py
  • backend/app/services/trigraph_types.py
  • backend/app/trigraph_types/governance.json
  • backend/app/services/trigraph_governance_extractor.py
  • backend/app/services/trigraph_governance_static_extractor.py
  • docs/TRIGRAPH.md
Last modified on May 18, 2026