{
  "version": "v1.0",
  "document_role": "memory_lifecycle_authority",
  "memory_types": [
    "ephemeral",
    "working",
    "persistent",
    "canonical",
    "audit"
  ],
  "lifecycle_rules": [
    "ephemeral_auto_expire",
    "working_requires_context_scope",
    "persistent_requires_identity",
    "canonical_requires_validation",
    "audit_is_append_only"
  ],
  "promotion_flow": [
    "ephemeral -> working",
    "working -> persistent",
    "persistent -> canonical"
  ],
  "forbidden": [
    "direct_to_canonical",
    "mutation_without_audit",
    "unscoped_persistence"
  ],
  "canon_meta": {
    "canon_id": "devon-memory-lifecycle-canonical",
    "version": "2.0.0",
    "status": "ACTIVE",
    "master_authority": "master_architecture_index.md",
    "preserve_original_content": true,
    "canonical_layer_key": "memory_layer",
    "phase_origin": [
      "phase-08"
    ],
    "installation_order": 60,
    "primary_stage": "memory_control_plane"
  },
  "governance_reference": {
    "master_authority": "master_architecture_index.md",
    "primary_axis": "canonical_layer",
    "secondary_axis": "deployment_order",
    "preserve_phase_registry": true,
    "preserve_original_content": true
  },
  "canonical_layer_key": "memory_layer",
  "phase_origin": [
    "phase-08"
  ],
  "installation_order": 60,
  "primary_stage": "memory_control_plane",
  "canonical_position": {
    "canonical_layer_key": "memory_layer",
    "phase_origin": [
      "phase-08"
    ],
    "installation_order": 60,
    "primary_stage": "memory_control_plane"
  },
  "id": "memory_lifecycle",
  "label": "Memory Lifecycle Canonical",
  "phase": "phase-08",
  "category": "memory_learning_reasoning",
  "status": "ACTIVE_DH_MIRROR",
  "purpose": "Define how DEVON-DEV promotes, blocks, expires, demotes or rejects memory before remembered material can affect execution.",
  "function": "Assign lifecycle state to each memory record so stale, conflicted, rejected or unvalidated memory cannot silently influence retrieval, prompt assembly, planning, learning or execution.",
  "technology_requirements": [
    {
      "technology": "Memory Lifecycle State Registry",
      "required_for": "Define how DEVON-DEV promotes, blocks, expires, demotes or rejects memory before remembered material can affect execution.",
      "required_by_phase": "phase-08",
      "required_by_category": "memory_lifecycle",
      "required_by_buckets": [
        "Prerequisites",
        "Installation",
        "Configuration",
        "Validation",
        "Observable Evidence",
        "Failure Modes & Recovery",
        "Completion & Promotion"
      ],
      "expected_version": "MISSING until Memory Lifecycle State Registry is implemented and connected to the Execution & Monitoring Panel",
      "validation_command": "MISSING until memory_lifecycle can prove source, scope, status, evidence and decision linkage",
      "evidence_path": "/home/yeff/public_html/devon/canon/execution/state/dh_sources/memory_lifecycle_canonical.json",
      "status_source": "Documentation Hub + future Execution & Monitoring Panel",
      "blocking_if_missing": true,
      "failure_impact": "Without Memory Lifecycle State Registry, memory cannot be safely promoted, expired, blocked or demoted."
    }
  ],
  "depends_on": [
    "sec",
    "memory_arch",
    "knowledge_ingestion",
    "knowledge_versioning",
    "memory_lifecycle",
    "learning_gov"
  ],
  "used_by": [
    "future_execution_monitoring_panel",
    "planning_reasoning",
    "tool_execution"
  ]
}
