# Vercy AI instruction - YAML 1.2 (JSON-compatible) { "vercy": "1.0-draft", "publication": { "status": "published", "adjudicationStatus": "reviewable-draft", "publishableCanonical": false, "generatedAt": "2026-10-21T17:22:27Z", "synthesisSha256": "cc1a402c887cd15c7a10b2dc450c8e99739cd47e6fa64ca461d19d0734f382c8", "providerMode": "single-provider-waiver", "providers": [ "Codex" ], "waivedProviders": [ "Claude", "Grok" ] }, "metaModel": { "id": "WM-MEM-010", "registryId": "vr.wm-mem-010", "name": "Memory Retention and Forgetting Policy", "version": "0.1.0-reviewable", "previousVersions": [], "entryKind": "entity", "family": "World Models", "category": "Information and virtual systems", "industry": [ "Cross-industry" ], "domain": [ "INF.MEM.RET" ], "tags": [ "memory", "retention", "forgetting", "policy", "inf.mem.ret" ], "status": "published" }, "canonicalUrl": "https://ver.cy/models/wm-mem-010-memory-retention-and-forgetting-policy/", "sourceUrl": "https://github.com/ver-cy/world-models/tree/feat/mega-model-registry/research/runs/wm-mem-010", "model": { "registry_id": "vr.wm-mem-010", "model_id": "WM-MEM-010", "name": "Memory Retention and Forgetting Policy", "entry_kind": "entity", "purpose": "Define governed lifetime, relevance-decay, preservation and forgetting rules for agent-held memory, with scoped evidence requirements.", "scope_statement": "One versioned policy entity selecting agent-memory targets and expressing evaluation, exception and assurance requirements. The hierarchy is proposed design grounded in open specifications; it does not itself execute retention or deletion.", "in_scope": [ "Policy identity, authority, scope and revision lifecycle", "Triggers, duration bounds, relevance decay and recall eligibility", "Scoped holds, forgetting outcomes, lineage, backups and restoration gates", "Proposed evaluation interfaces and minimal outcome evidence" ], "out_of_scope": [ "Memory content and store implementation", "Actual erasure, media sanitization procedures and learned-model unlearning", "Universal legal compliance or cognitive forgetting", "Independent recipient control and retroactive removal of delivered answers" ], "boundary_notes": [ { "neighbor": "WM-XCT-035 Retention / Disposition", "distinction": "Candidate parent alignment only: general retention triggers, holds and disposition remain reusable; this entity adds agent-memory decay, recall and derived-representation policy. No validated inheritance is asserted.", "source_refs": [ "SRC-001", "SRC-006" ] }, { "neighbor": "WM-MEM-001 Memory Store and WM-MEM-002 Memory Item", "distinction": "Store and item masters own tenancy, content and item lifecycle; this policy selects them through references and never contains their payload.", "source_refs": [ "SRC-001", "SRC-003" ] }, { "neighbor": "WM-MEM-007 Memory Recall Event and WM-MEM-013 Context Assembly", "distinction": "This policy constrains eligibility and retention. Recall observations and context contents remain external; suppression cannot retract an already delivered answer.", "source_refs": [ "SRC-003", "SRC-004" ] }, { "neighbor": "WM-MEM-008 Memory Consolidation and WM-MEM-014 Retrieval Index", "distinction": "Derived-target discovery depends on lineage and index masters; no unconditional cascade or fabricated completeness is permitted.", "source_refs": [ "SRC-003", "SRC-006" ] }, { "neighbor": "WM-MEM-009 Memory Conflict and Precedence Rule", "distinction": "Factual memory conflict is distinct from retention-obligation conflict. Reference domain precedence only when its authority and scope fit.", "source_refs": [ "SRC-001" ] }, { "neighbor": "WM-MEM-011 Memory Scope and Sharing Grant and WM-MEM-020 Memory Quarantine and Redaction", "distinction": "Retention neither grants access nor clears quarantine. Authorized quarantine and redaction workflows execute separately.", "source_refs": [ "SRC-001", "SRC-006" ] }, { "neighbor": "Learned-model parameters and human memory", "distinction": "This policy handles agent-held records and representations. It cannot certify machine unlearning, modify learned weights, prove absence from all outputs or govern human cognition.", "source_refs": [ "SRC-004", "SRC-007" ] } ] }, "sources": [ { "id": "SRC-001", "title": "ODRL Information Model 2.2", "organization": "W3C", "url": "https://www.w3.org/TR/odrl-model/", "version_or_date": "Recommendation, 2018-02-15", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:21:21Z", "relevance": "Sections 2.1, 2.5, 2.10 and 3 support policy identity, constraints and declared conflict/profile semantics; not a retention executor." }, { "id": "SRC-002", "title": "ODRL Vocabulary and Expression 2.2", "organization": "W3C", "url": "https://www.w3.org/TR/odrl-vocab/", "version_or_date": "Recommendation, 2018-02-15", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:21:21Z", "relevance": "Delete and derive action terms inform conceptual action mapping. A local suppression outcome cannot be described as satisfying all-copy deletion." }, { "id": "SRC-003", "title": "PROV-O: The PROV Ontology", "organization": "W3C", "url": "https://www.w3.org/TR/prov-o/", "version_or_date": "Recommendation, 2013-04-30", "source_type": "ontology", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:21:21Z", "relevance": "Derivation, revision and invalidation support lineage and event attribution. Invalidation does not certify physical sanitization." }, { "id": "SRC-004", "title": "HTTP Caching, RFC 9111", "organization": "IETF", "url": "https://www.rfc-editor.org/rfc/rfc9111.html", "version_or_date": "June 2022, STD 98", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:21:21Z", "relevance": "Sections 4.2 and 5.2 distinguish freshness from storage and warn that no-store is not sufficient privacy assurance. Agent-memory transfer is a design analogy only." }, { "id": "SRC-005", "title": "Date and Time on the Internet: Timestamps, RFC 3339", "organization": "IETF", "url": "https://www.rfc-editor.org/rfc/rfc3339.html", "version_or_date": "July 2002", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:21:21Z", "relevance": "Section 5.6 supports explicit timestamp offsets and seconds. Retention duration arithmetic and clock trust need separate local rules." }, { "id": "SRC-006", "title": "Data Privacy Vocabulary 2.0", "organization": "W3C Data Privacy Vocabularies and Controls Community Group", "url": "https://w3c-cg.github.io/dpv/2.0/dpv/", "version_or_date": "Final Community Group Report, 2024-08-01; explicitly older version", "source_type": "ontology", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-10-21T17:21:21Z", "relevance": "Section 8.1 distinguishes storage duration, deletion, location and restoration. Community report, not a W3C Recommendation or proof of compliance." }, { "id": "SRC-007", "title": "NIST SP 800-88 Revision 2: Guidelines for Media Sanitization", "organization": "NIST", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-88r2.pdf", "version_or_date": "September 2025", "source_type": "public-authority", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:21:21Z", "relevance": "Sections 4.5 and 4.6 distinguish verification, validation and documentation. Only assurance-level concepts admitted; no sanitization procedures supplied." }, { "id": "SRC-008", "title": "NIST SP 800-53 Revision 5: Security and Privacy Controls", "organization": "NIST", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r5.pdf", "version_or_date": "September 2020, updates 2020-12-10; later release comparison pending", "source_type": "public-authority", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:21:21Z", "relevance": "SI-12 and AU-11 support lifecycle retention requirements, minimization and policy-defined audit retention. No universal period or jurisdictional compliance inferred." } ], "structure": { "bundles": [ { "id": "memory-retention-policy", "name": "Policy identity and applicability", "description": "Proposed policy responsibilities for policy identity and applicability.", "rationale": "Keep policy definition, applicability and evidence distinct from memory payload and execution masters.", "source_refs": [ "SRC-001", "SRC-003", "SRC-006", "SRC-008" ], "layers": [ { "id": "memory-retention-layer-identity", "name": "Policy revision", "description": "Policy questions and evidence for policy revision.", "source_refs": [ "SRC-001", "SRC-003" ], "findings": [ { "id": "memory-retention-finding-identity", "name": "Policy revision", "description": "A policy is a governed, versioned entity whose identity survives revisions. Evaluation records and memory items have separate identities.", "source_refs": [ "SRC-001", "SRC-003" ], "questions": [ { "id": "memory-retention-finding-identity-q01", "kind": "identity", "text": "Which master identifier and immutable revision identify this policy?", "answer_data": [ "policy_id", "revision_id", "namespace" ] }, { "id": "memory-retention-finding-identity-q02", "kind": "ownership", "text": "Which accountable role owns approval and review of this policy?", "answer_data": [ "role reference", "authority evidence", "review date" ] }, { "id": "memory-retention-finding-identity-q03", "kind": "lifecycle", "text": "Which transition makes this revision effective, suspended or superseded?", "answer_data": [ "prior revision", "effective interval", "transition authority" ] }, { "id": "memory-retention-finding-identity-q04", "kind": "provenance", "text": "What evidence explains the rule change and affected cohorts?", "answer_data": [ "change rationale", "evidence references", "impact scope" ] } ], "data_elements": [ { "id": "memory-retention-finding-identity-data-policy-master", "name": "policy-master", "description": "Authoritative master-system policy identifier. Candidate field; nested binding requires adoption validation.", "value_kind": "identifier", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003" ] }, { "id": "memory-retention-finding-identity-data-revision", "name": "revision", "description": "Immutable revision scoped to policy identity. Candidate field; nested binding requires adoption validation.", "value_kind": "identifier", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003" ] }, { "id": "memory-retention-finding-identity-data-effective-interval", "name": "effective-interval", "description": "Start, optional end and supersession references. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003" ] } ], "artifacts": [ { "id": "memory-retention-finding-identity-artifact", "name": "Policy revision record", "description": "Versioned policy evidence for policy revision. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-001", "SRC-003" ] } ], "inline_only_rationale": null } ] }, { "id": "memory-retention-layer-scope", "name": "Target scope and purpose", "description": "Policy questions and evidence for target scope and purpose.", "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ], "findings": [ { "id": "memory-retention-finding-scope", "name": "Target scope and purpose", "description": "Explicit selectors bind policy to a tenant, store, item class and purpose. Scope matching cannot grant access or change another tenant policy.", "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ], "questions": [ { "id": "memory-retention-finding-scope-q01", "kind": "classification", "text": "Which memory classes and sensitivity categories are selected?", "answer_data": [ "class identifiers", "sensitivity labels", "exclusions" ] }, { "id": "memory-retention-finding-scope-q02", "kind": "relationship", "text": "Which store, tenant and item references define the policy boundary?", "answer_data": [ "store references", "tenant reference", "selector semantics" ] }, { "id": "memory-retention-finding-scope-q03", "kind": "requirement", "text": "Which purpose and applicable authority justify retention?", "answer_data": [ "purpose", "policy basis", "evidence", "applicability review" ] }, { "id": "memory-retention-finding-scope-q04", "kind": "exception", "text": "How are missing labels and overlapping scope selectors handled?", "answer_data": [ "unknown outcome", "conflict referral", "review owner", "time bound" ] } ], "data_elements": [ { "id": "memory-retention-finding-scope-data-scope-selector", "name": "scope-selector", "description": "Tenant, store, item class and explicit exclusions. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ] }, { "id": "memory-retention-finding-scope-data-purpose-basis", "name": "purpose-basis", "description": "Purpose and independently evidenced applicable authority. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ] }, { "id": "memory-retention-finding-scope-data-unknown-scope", "name": "unknown-scope", "description": "Proposed outcome requiring bounded review; not unlimited retention. Candidate field; nested binding requires adoption validation.", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ] } ], "artifacts": [ { "id": "memory-retention-finding-scope-artifact", "name": "Target scope and purpose record", "description": "Versioned policy evidence for target scope and purpose. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "memory-retention-time", "name": "Lifetime and decay", "description": "Proposed policy responsibilities for lifetime and decay.", "rationale": "Keep policy definition, applicability and evidence distinct from memory payload and execution masters.", "source_refs": [ "SRC-004", "SRC-005", "SRC-006", "SRC-008" ], "layers": [ { "id": "memory-retention-layer-schedule", "name": "Trigger and expiry calculation", "description": "Policy questions and evidence for trigger and expiry calculation.", "source_refs": [ "SRC-005", "SRC-006", "SRC-008" ], "findings": [ { "id": "memory-retention-finding-schedule", "name": "Trigger and expiry calculation", "description": "Separate retention start, review time, minimum preservation and maximum storage constraints. No default duration is asserted; incompatible bounds require escalation.", "source_refs": [ "SRC-005", "SRC-006", "SRC-008" ], "questions": [ { "id": "memory-retention-finding-schedule-q01", "kind": "temporal", "text": "Which event starts the lifetime and what timestamp precision is required?", "answer_data": [ "trigger event", "event time", "recorded time", "clock uncertainty" ] }, { "id": "memory-retention-finding-schedule-q02", "kind": "retention", "text": "Which minimum, maximum and review intervals govern this memory class?", "answer_data": [ "duration", "unit", "basis", "calendar semantics", "review interval" ] }, { "id": "memory-retention-finding-schedule-q03", "kind": "process", "text": "Can a recall or update restart the clock, and under what limit?", "answer_data": [ "reset authorization", "absolute cap", "reset event", "forbidden resets" ] }, { "id": "memory-retention-finding-schedule-q04", "kind": "validation", "text": "How are late events, clock rollback and contradictory bounds resolved?", "answer_data": [ "recalculation rule", "stale evaluation marker", "conflict evidence", "deadline" ] } ], "data_elements": [ { "id": "memory-retention-finding-schedule-data-trigger-rule", "name": "trigger-rule", "description": "Named event, missing-event outcome and trusted clock reference. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-005", "SRC-006", "SRC-008" ] }, { "id": "memory-retention-finding-schedule-data-duration-bounds", "name": "duration-bounds", "description": "Minimum, maximum, review interval, units and calendar semantics. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-005", "SRC-006", "SRC-008" ] }, { "id": "memory-retention-finding-schedule-data-reset-rule", "name": "reset-rule", "description": "Allowed reset causes and hard cap; no automatic extension from use. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-005", "SRC-006", "SRC-008" ] } ], "artifacts": [ { "id": "memory-retention-finding-schedule-artifact", "name": "Trigger and expiry calculation record", "description": "Versioned policy evidence for trigger and expiry calculation. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-005", "SRC-006", "SRC-008" ] } ], "inline_only_rationale": null } ] }, { "id": "memory-retention-layer-decay", "name": "Relevance decay and recall eligibility", "description": "Policy questions and evidence for relevance decay and recall eligibility.", "source_refs": [ "SRC-004", "SRC-006" ], "findings": [ { "id": "memory-retention-finding-decay", "name": "Relevance decay and recall eligibility", "description": "Proposed memory-specific extension: relevance decay, recall suppression and storage expiry are separate outputs. No standard decay formula or cognitive forgetting claim is admitted.", "source_refs": [ "SRC-004", "SRC-006" ], "questions": [ { "id": "memory-retention-finding-decay-q01", "kind": "measurement", "text": "Which decay function, parameters and input observations determine relevance?", "answer_data": [ "formula identifier", "units", "parameter version", "observation lineage" ] }, { "id": "memory-retention-finding-decay-q02", "kind": "state", "text": "When does a score change eligibility without changing storage status?", "answer_data": [ "score threshold", "eligibility state", "storage state", "reason" ] }, { "id": "memory-retention-finding-decay-q03", "kind": "constraint", "text": "Which hard expiry and access rules bound relevance-based reuse?", "answer_data": [ "expiry constraint", "current grant", "precedence", "refusal outcome" ] }, { "id": "memory-retention-finding-decay-q04", "kind": "quality", "text": "What happens when decay inputs are missing, stale or manipulated?", "answer_data": [ "uncertainty", "bounded review", "no self-refresh rule", "test cases" ] } ], "data_elements": [ { "id": "memory-retention-finding-decay-data-decay-definition", "name": "decay-definition", "description": "Optional formula and parameters, with explicit disabled state. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006" ] }, { "id": "memory-retention-finding-decay-data-eligibility-rule", "name": "eligibility-rule", "description": "Threshold and recall outcomes independent of deletion status. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006" ] }, { "id": "memory-retention-finding-decay-data-decay-evidence", "name": "decay-evidence", "description": "Evaluation evidence and parameter version, not proof of truth. Candidate field; nested binding requires adoption validation.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006" ] } ], "artifacts": [ { "id": "memory-retention-finding-decay-artifact", "name": "Relevance decay and recall eligibility record", "description": "Versioned policy evidence for relevance decay and recall eligibility. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-004", "SRC-006" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "memory-retention-authority", "name": "Decision authority and exceptions", "description": "Proposed policy responsibilities for decision authority and exceptions.", "rationale": "Keep policy definition, applicability and evidence distinct from memory payload and execution masters.", "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ], "layers": [ { "id": "memory-retention-layer-precedence", "name": "Rule precedence and conflict referral", "description": "Policy questions and evidence for rule precedence and conflict referral.", "source_refs": [ "SRC-001", "SRC-008" ], "findings": [ { "id": "memory-retention-finding-precedence", "name": "Rule precedence and conflict referral", "description": "Policy conflicts concern incompatible obligations, not factual disagreement between memories. Undetermined decisions stop automated destructive action and enter bounded review; ordinary recall remains separately restricted.", "source_refs": [ "SRC-001", "SRC-008" ], "questions": [ { "id": "memory-retention-finding-precedence-q01", "kind": "decision", "text": "Which rule version determines precedence for overlapping obligations?", "answer_data": [ "ordered rules", "authority basis", "evaluation version" ] }, { "id": "memory-retention-finding-precedence-q02", "kind": "authority", "text": "Who may resolve a conflict between retention and erasure obligations?", "answer_data": [ "authorized role", "scope", "evidence", "review record" ] }, { "id": "memory-retention-finding-precedence-q03", "kind": "constraint", "text": "What outcome applies when precedence is unknown or contradictory?", "answer_data": [ "indeterminate", "restricted recall", "no destructive execution", "review deadline" ] }, { "id": "memory-retention-finding-precedence-q04", "kind": "interoperability", "text": "How does an imported policy expose unsupported conflict semantics?", "answer_data": [ "profile identifier", "unknown terms", "rejected mapping", "loss report" ] } ], "data_elements": [ { "id": "memory-retention-finding-precedence-data-precedence-profile", "name": "precedence-profile", "description": "Approved local precedence profile, not an assumed universal rule. Candidate field; nested binding requires adoption validation.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-008" ] }, { "id": "memory-retention-finding-precedence-data-conflict-outcome", "name": "conflict-outcome", "description": "Resolved, indeterminate or referred; evidence required. Candidate field; nested binding requires adoption validation.", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-008" ] }, { "id": "memory-retention-finding-precedence-data-escalation-bound", "name": "escalation-bound", "description": "Accountable reviewer, due time and overdue incident path. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-008" ] } ], "artifacts": [ { "id": "memory-retention-finding-precedence-artifact", "name": "Rule precedence and conflict referral record", "description": "Versioned policy evidence for rule precedence and conflict referral. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-001", "SRC-008" ] } ], "inline_only_rationale": null } ] }, { "id": "memory-retention-layer-hold", "name": "Scoped preservation and release", "description": "Policy questions and evidence for scoped preservation and release.", "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ], "findings": [ { "id": "memory-retention-finding-hold", "name": "Scoped preservation and release", "description": "Preservation exceptions are scoped, evidenced and periodically reviewed. A hold can suspend disposition without authorizing normal recall or automatically extending every memory lifetime.", "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ], "questions": [ { "id": "memory-retention-finding-hold-q01", "kind": "exception", "text": "Which targets and disposition actions does a preservation hold cover?", "answer_data": [ "hold identifier", "selector", "action scope", "basis" ] }, { "id": "memory-retention-finding-hold-q02", "kind": "authority", "text": "Which role can issue, renew or release the hold?", "answer_data": [ "role evidence", "approval", "renewal limits", "release authority" ] }, { "id": "memory-retention-finding-hold-q03", "kind": "temporal", "text": "When must a hold be reviewed and how are overdue reviews escalated?", "answer_data": [ "review deadline", "escalation recipient role", "bounded interim state" ] }, { "id": "memory-retention-finding-hold-q04", "kind": "lifecycle", "text": "After release, is the original expiry resumed or a new schedule authorized?", "answer_data": [ "original trigger", "accrued age", "recalculation evidence", "new authority if any" ] } ], "data_elements": [ { "id": "memory-retention-finding-hold-data-hold-reference", "name": "hold-reference", "description": "Separately mastered preservation instruction and authority. Candidate field; nested binding requires adoption validation.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ] }, { "id": "memory-retention-finding-hold-data-hold-scope", "name": "hold-scope", "description": "Affected targets and suspended actions; recall permission separate. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ] }, { "id": "memory-retention-finding-hold-data-release-rule", "name": "release-rule", "description": "Release evidence, recalculation rule and review deadline. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ] } ], "artifacts": [ { "id": "memory-retention-finding-hold-artifact", "name": "Scoped preservation and release record", "description": "Versioned policy evidence for scoped preservation and release. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-001", "SRC-006", "SRC-008" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "memory-retention-forgetting", "name": "Forgetting outcomes and propagation", "description": "Proposed policy responsibilities for forgetting outcomes and propagation.", "rationale": "Keep policy definition, applicability and evidence distinct from memory payload and execution masters.", "source_refs": [ "SRC-002", "SRC-003", "SRC-006", "SRC-007" ], "layers": [ { "id": "memory-retention-layer-outcomes", "name": "Suppression, retirement and erasure intent", "description": "Policy questions and evidence for suppression, retirement and erasure intent.", "source_refs": [ "SRC-002", "SRC-003", "SRC-007" ], "findings": [ { "id": "memory-retention-finding-outcomes", "name": "Suppression, retirement and erasure intent", "description": "Forgetting is an explicitly typed policy outcome: suppress recall, retire, redact, request scoped deletion, or request sanitization assurance. Intent, execution and verification states cannot be collapsed.", "source_refs": [ "SRC-002", "SRC-003", "SRC-007" ], "questions": [ { "id": "memory-retention-finding-outcomes-q01", "kind": "definition", "text": "Which forgetting outcome is requested and what does it exclude?", "answer_data": [ "outcome code", "semantic definition", "excluded guarantees" ] }, { "id": "memory-retention-finding-outcomes-q02", "kind": "privacy", "text": "What evidence authorizes the target and scope of an erasure request?", "answer_data": [ "request reference", "authority", "target resolution", "minimization" ] }, { "id": "memory-retention-finding-outcomes-q03", "kind": "state", "text": "How are requested, in-progress, partial, failed and verified outcomes distinguished?", "answer_data": [ "operation reference", "state", "last evidence", "residual scope" ] }, { "id": "memory-retention-finding-outcomes-q04", "kind": "evidence", "text": "What evidence is required before an all-copy deletion claim is accepted?", "answer_data": [ "copy inventory", "per-copy receipts", "exceptions", "assurance boundary" ] } ], "data_elements": [ { "id": "memory-retention-finding-outcomes-data-outcome-definition", "name": "outcome-definition", "description": "Distinct local outcome vocabulary and assurance limits. Candidate field; nested binding requires adoption validation.", "value_kind": "code", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-003", "SRC-007" ] }, { "id": "memory-retention-finding-outcomes-data-request-basis", "name": "request-basis", "description": "Authority and request evidence without unnecessary payload. Candidate field; nested binding requires adoption validation.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-003", "SRC-007" ] }, { "id": "memory-retention-finding-outcomes-data-completion-criterion", "name": "completion-criterion", "description": "Expected scope and evidence threshold for each outcome. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-003", "SRC-007" ] } ], "artifacts": [ { "id": "memory-retention-finding-outcomes-artifact", "name": "Suppression, retirement and erasure intent record", "description": "Versioned policy evidence for suppression, retirement and erasure intent. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-002", "SRC-003", "SRC-007" ] } ], "inline_only_rationale": null } ] }, { "id": "memory-retention-layer-lineage", "name": "Derived memory and copy coverage", "description": "Policy questions and evidence for derived memory and copy coverage.", "source_refs": [ "SRC-002", "SRC-003", "SRC-006" ], "findings": [ { "id": "memory-retention-finding-lineage", "name": "Derived memory and copy coverage", "description": "Proposed propagation policy follows declared lineage across summaries, embeddings, passages, caches and exports. A derivation edge identifies a review candidate, not automatic proof of equivalent content or authority to delete it.", "source_refs": [ "SRC-002", "SRC-003", "SRC-006" ], "questions": [ { "id": "memory-retention-finding-lineage-q01", "kind": "composition", "text": "Which derived representations and copies fall within the forgetting scope?", "answer_data": [ "target graph", "representation classes", "tenant boundary", "exclusions" ] }, { "id": "memory-retention-finding-lineage-q02", "kind": "provenance", "text": "How are consolidation and embedding lineage used to discover affected targets?", "answer_data": [ "derivation references", "source revision", "index revision", "completeness limits" ] }, { "id": "memory-retention-finding-lineage-q03", "kind": "relationship", "text": "What duties apply to independent recipients or shared derived memories?", "answer_data": [ "recipient reference", "obligation", "authority limit", "acknowledgement status" ] }, { "id": "memory-retention-finding-lineage-q04", "kind": "exception", "text": "How is unknown lineage or an unreachable recipient reported?", "answer_data": [ "unresolved targets", "partial status", "review deadline", "residual-risk record" ] } ], "data_elements": [ { "id": "memory-retention-finding-lineage-data-propagation-selector", "name": "propagation-selector", "description": "Lineage traversal boundary and explicit representation classes. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-003", "SRC-006" ] }, { "id": "memory-retention-finding-lineage-data-recipient-obligation", "name": "recipient-obligation", "description": "Recipient scope and acknowledgement requirement without assumed control. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-003", "SRC-006" ] }, { "id": "memory-retention-finding-lineage-data-coverage-gap", "name": "coverage-gap", "description": "Missing lineage, inaccessible copies and unresolved target records. Candidate field; nested binding requires adoption validation.", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-002", "SRC-003", "SRC-006" ] } ], "artifacts": [ { "id": "memory-retention-finding-lineage-artifact", "name": "Derived memory and copy coverage record", "description": "Versioned policy evidence for derived memory and copy coverage. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-002", "SRC-003", "SRC-006" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "memory-retention-continuity", "name": "Recovery and continuity", "description": "Proposed policy responsibilities for recovery and continuity.", "rationale": "Keep policy definition, applicability and evidence distinct from memory payload and execution masters.", "source_refs": [ "SRC-001", "SRC-003", "SRC-006", "SRC-007", "SRC-008" ], "layers": [ { "id": "memory-retention-layer-restore", "name": "Backup and restoration policy", "description": "Policy questions and evidence for backup and restoration policy.", "source_refs": [ "SRC-006", "SRC-007", "SRC-008" ], "findings": [ { "id": "memory-retention-finding-restore", "name": "Backup and restoration policy", "description": "Backups require a separate expiry and restore rule. Proposed recovery controls reconcile suppression and deletion records before restored content is made available; an inaccessible backup prevents a full completion claim.", "source_refs": [ "SRC-006", "SRC-007", "SRC-008" ], "questions": [ { "id": "memory-retention-finding-restore-q01", "kind": "retention", "text": "Which backup classes have separate retention windows and restrictions?", "answer_data": [ "backup class", "maximum retention", "purpose", "access restriction" ] }, { "id": "memory-retention-finding-restore-q02", "kind": "process", "text": "How are pending forgetting decisions reapplied before restored memory is served?", "answer_data": [ "restore gate", "decision ledger revision", "reconciliation evidence" ] }, { "id": "memory-retention-finding-restore-q03", "kind": "validation", "text": "How is a restored item tested against the current policy rather than its old snapshot?", "answer_data": [ "current policy revision", "evaluation evidence", "refusal criteria" ] }, { "id": "memory-retention-finding-restore-q04", "kind": "exception", "text": "What happens when a backup cannot support selective deletion?", "answer_data": [ "bounded expiry exception", "restricted use", "authority", "pending scope" ] } ], "data_elements": [ { "id": "memory-retention-finding-restore-data-backup-rule", "name": "backup-rule", "description": "Backup classes, bounded exceptions and access restrictions. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006", "SRC-007", "SRC-008" ] }, { "id": "memory-retention-finding-restore-data-restore-gate", "name": "restore-gate", "description": "Reconciliation preconditions and current-policy check. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006", "SRC-007", "SRC-008" ] }, { "id": "memory-retention-finding-restore-data-pending-backup-scope", "name": "pending-backup-scope", "description": "Outstanding backup targets and due dates. Candidate field; nested binding requires adoption validation.", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-006", "SRC-007", "SRC-008" ] } ], "artifacts": [ { "id": "memory-retention-finding-restore-artifact", "name": "Backup and restoration policy record", "description": "Versioned policy evidence for backup and restoration policy. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-006", "SRC-007", "SRC-008" ] } ], "inline_only_rationale": null } ] }, { "id": "memory-retention-layer-dispatch", "name": "Execution handoff and race control", "description": "Policy questions and evidence for execution handoff and race control.", "source_refs": [ "SRC-001", "SRC-003", "SRC-007" ], "findings": [ { "id": "memory-retention-finding-dispatch", "name": "Execution handoff and race control", "description": "Policy evaluation produces a proposed disposition plan for a separately authorized executor. Freshness checks, stable request IDs and per-target results are proposed controls against stale decisions and partial completion.", "source_refs": [ "SRC-001", "SRC-003", "SRC-007" ], "questions": [ { "id": "memory-retention-finding-dispatch-q01", "kind": "process", "text": "Which revision and target snapshot must the executor recheck before acting?", "answer_data": [ "policy revision", "item generation", "hold version", "grant scope" ] }, { "id": "memory-retention-finding-dispatch-q02", "kind": "event", "text": "How are retries and duplicate completion messages correlated?", "answer_data": [ "request ID", "target ID", "attempt ID", "acknowledgement sequence" ] }, { "id": "memory-retention-finding-dispatch-q03", "kind": "constraint", "text": "What invalidates a plan when a hold or policy changes during execution?", "answer_data": [ "change token", "cancellation boundary", "re-evaluation", "irreversible effects already observed" ] }, { "id": "memory-retention-finding-dispatch-q04", "kind": "quality", "text": "How are failed targets and lost acknowledgements distinguished from successful disposition?", "answer_data": [ "unknown status", "retry policy", "evidence deadline", "partial result" ] } ], "data_elements": [ { "id": "memory-retention-finding-dispatch-data-handoff-contract", "name": "handoff-contract", "description": "Proposed preconditions and authorized executor reference. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003", "SRC-007" ] }, { "id": "memory-retention-finding-dispatch-data-request-correlation", "name": "request-correlation", "description": "Stable operation identity with distinct attempt identifiers. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003", "SRC-007" ] }, { "id": "memory-retention-finding-dispatch-data-race-rule", "name": "race-rule", "description": "Recheck points, invalidation and partial irreversible-outcome handling. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003", "SRC-007" ] } ], "artifacts": [ { "id": "memory-retention-finding-dispatch-artifact", "name": "Execution handoff and race control record", "description": "Versioned policy evidence for execution handoff and race control. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-001", "SRC-003", "SRC-007" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "memory-retention-assurance", "name": "Assurance and maintenance", "description": "Proposed policy responsibilities for assurance and maintenance.", "rationale": "Keep policy definition, applicability and evidence distinct from memory payload and execution masters.", "source_refs": [ "SRC-001", "SRC-003", "SRC-004", "SRC-006", "SRC-007", "SRC-008" ], "layers": [ { "id": "memory-retention-layer-evidence", "name": "Outcome assurance and minimal evidence", "description": "Policy questions and evidence for outcome assurance and minimal evidence.", "source_refs": [ "SRC-003", "SRC-007", "SRC-008" ], "findings": [ { "id": "memory-retention-finding-evidence", "name": "Outcome assurance and minimal evidence", "description": "An execution receipt is evidence to assess, not automatic proof of erasure. Minimal policy and disposition records have their own retention schedule and must not preserve deleted payload or reversible payload hashes without a justified basis.", "source_refs": [ "SRC-003", "SRC-007", "SRC-008" ], "questions": [ { "id": "memory-retention-finding-evidence-q01", "kind": "evidence", "text": "Which evidence supports verification and which role accepts the assurance conclusion?", "answer_data": [ "receipt", "method class", "scope", "reviewer", "limitation" ] }, { "id": "memory-retention-finding-evidence-q02", "kind": "validation", "text": "What distinguishes logical deletion assurance from media sanitization assurance?", "answer_data": [ "claim type", "evidence standard", "residual targets", "acceptance decision" ] }, { "id": "memory-retention-finding-evidence-q03", "kind": "privacy", "text": "What minimal audit information remains and when must it expire?", "answer_data": [ "opaque identifiers", "lawful basis", "audit duration", "forbidden payload fields" ] }, { "id": "memory-retention-finding-evidence-q04", "kind": "security", "text": "How are evidence access, integrity and sensitive correlations protected?", "answer_data": [ "role scopes", "integrity checks", "access audit", "correlation minimization" ] } ], "data_elements": [ { "id": "memory-retention-finding-evidence-data-assurance-profile", "name": "assurance-profile", "description": "Evidence criteria per claim type and scope. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-003", "SRC-007", "SRC-008" ] }, { "id": "memory-retention-finding-evidence-data-audit-retention", "name": "audit-retention", "description": "Minimal fields, purpose and expiry for the evidence itself. Candidate field; nested binding requires adoption validation.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-003", "SRC-007", "SRC-008" ] }, { "id": "memory-retention-finding-evidence-data-residual-claim", "name": "residual-claim", "description": "Explicit incomplete or uncertain outcomes; no universal absence proof. Candidate field; nested binding requires adoption validation.", "value_kind": "text", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-003", "SRC-007", "SRC-008" ] } ], "artifacts": [ { "id": "memory-retention-finding-evidence-artifact", "name": "Outcome assurance and minimal evidence record", "description": "Versioned policy evidence for outcome assurance and minimal evidence. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-003", "SRC-007", "SRC-008" ] } ], "inline_only_rationale": null } ] }, { "id": "memory-retention-layer-review", "name": "Policy testing and interoperability limits", "description": "Policy questions and evidence for policy testing and interoperability limits.", "source_refs": [ "SRC-001", "SRC-004", "SRC-006" ], "findings": [ { "id": "memory-retention-finding-review", "name": "Policy testing and interoperability limits", "description": "Proposed adoption gates require boundary fixtures and mapping loss reports. ODRL and DPV alignments do not implement a scheduler, decay engine, deletion executor or learned-model unlearning.", "source_refs": [ "SRC-001", "SRC-004", "SRC-006" ], "questions": [ { "id": "memory-retention-finding-review-q01", "kind": "interoperability", "text": "Which pinned vocabulary versions and local extensions are required?", "answer_data": [ "ODRL profile", "DPV version", "mapping table", "unsupported terms" ] }, { "id": "memory-retention-finding-review-q02", "kind": "validation", "text": "Which expiry, conflict, restoration and cross-tenant fixtures must pass?", "answer_data": [ "fixture identifiers", "expected states", "observed results", "reviewer" ] }, { "id": "memory-retention-finding-review-q03", "kind": "lifecycle", "text": "How are policy changes reviewed for existing memories and pending requests?", "answer_data": [ "impact cohort", "migration plan", "rollback limits", "approval" ] }, { "id": "memory-retention-finding-review-q04", "kind": "requirement", "text": "Which guarantees remain unavailable before operational adoption?", "answer_data": [ "source version review", "independent review", "runtime assurance", "unlearning excluded" ] } ], "data_elements": [ { "id": "memory-retention-finding-review-data-mapping-profile", "name": "mapping-profile", "description": "Version-pinned conceptual mapping with explicit loss report. Candidate field; nested binding requires adoption validation.", "value_kind": "reference", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-004", "SRC-006" ] }, { "id": "memory-retention-finding-review-data-acceptance-fixtures", "name": "acceptance-fixtures", "description": "Required cases and expected outcomes; no test pass claimed. Candidate field; nested binding requires adoption validation.", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-004", "SRC-006" ] }, { "id": "memory-retention-finding-review-data-adoption-holds", "name": "adoption-holds", "description": "Unresolved source, authority, implementation and independent review gates. Candidate field; nested binding requires adoption validation.", "value_kind": "collection", "cardinality": "0..n", "required": false, "source_refs": [ "SRC-001", "SRC-004", "SRC-006" ] } ], "artifacts": [ { "id": "memory-retention-finding-review-artifact", "name": "Policy testing and interoperability limits record", "description": "Versioned policy evidence for policy testing and interoperability limits. Store references and minimal metadata rather than memory payload.", "media_or_form": [ "Structured record", "Human-readable policy view" ], "serial": true, "identity_strategy": "Authoritative master-system identifier, policy revision and opaque record identifier; filenames and timestamps are not identity.", "source_refs": [ "SRC-001", "SRC-004", "SRC-006" ] } ], "inline_only_rationale": null } ] } ] } ] }, "functions": [ { "id": "memory-retention-function-resolve", "name": "Resolve applicable policy", "description": "Proposed local evaluation selects policies and reports missing scope or competing obligations. Unimplemented research interface.", "inputs": [ "Tenant and target metadata", "Purpose and policy revisions" ], "outputs": [ "Applicable policy references or indeterminate result" ], "preconditions": [ "Authorized role and tenant scope are resolved", "Pinned policy and target revisions match; otherwise refuse", "Unknown evidence remains unknown and routes to bounded review" ], "effects": [ "Writes only a proposed local decision or evidence record if authorized", "Does not execute deletion, broaden access or contact recipients" ], "source_refs": [ "SRC-001", "SRC-006" ] }, { "id": "memory-retention-function-evaluate", "name": "Evaluate lifetime and eligibility", "description": "Proposed evaluation returns separate recall, retention and review outcomes; no destructive action. Unimplemented research interface.", "inputs": [ "Trigger evidence and clock quality", "Bounds, decay parameters and active holds" ], "outputs": [ "Reasoned eligibility and disposition candidate", "Due time or bounded review referral" ], "preconditions": [ "Authorized role and tenant scope are resolved", "Pinned policy and target revisions match; otherwise refuse", "Unknown evidence remains unknown and routes to bounded review" ], "effects": [ "Writes only a proposed local decision or evidence record if authorized", "Does not execute deletion, broaden access or contact recipients" ], "source_refs": [ "SRC-004", "SRC-005", "SRC-006" ] }, { "id": "memory-retention-function-plan", "name": "Prepare forgetting scope", "description": "Proposed planning resolves lineage and recipient limits without deleting anything. Unimplemented research interface.", "inputs": [ "Authorized intent", "Target lineage and representation inventory" ], "outputs": [ "Version-bound target plan", "Unresolved target and authority gaps" ], "preconditions": [ "Authorized role and tenant scope are resolved", "Pinned policy and target revisions match; otherwise refuse", "Unknown evidence remains unknown and routes to bounded review" ], "effects": [ "Writes only a proposed local decision or evidence record if authorized", "Does not execute deletion, broaden access or contact recipients" ], "source_refs": [ "SRC-002", "SRC-003", "SRC-006" ] }, { "id": "memory-retention-function-hold", "name": "Record hold review", "description": "Proposed local record operation captures authorized issuance or release evidence and requires re-evaluation. Unimplemented research interface.", "inputs": [ "Hold reference and authority", "Expected revision and review deadline" ], "outputs": [ "Updated hold reference or refusal", "Re-evaluation requirement" ], "preconditions": [ "Authorized role and tenant scope are resolved", "Pinned policy and target revisions match; otherwise refuse", "Unknown evidence remains unknown and routes to bounded review" ], "effects": [ "Writes only a proposed local decision or evidence record if authorized", "Does not execute deletion, broaden access or contact recipients" ], "source_refs": [ "SRC-001", "SRC-008" ] }, { "id": "memory-retention-function-assess", "name": "Assess completion evidence", "description": "Proposed local assessment records partial, rejected or accepted evidence within a declared claim scope. Unimplemented research interface.", "inputs": [ "Per-target receipts", "Assurance criteria and residual target list" ], "outputs": [ "Assessment record and residual scope", "No universal erasure certification" ], "preconditions": [ "Authorized role and tenant scope are resolved", "Pinned policy and target revisions match; otherwise refuse", "Unknown evidence remains unknown and routes to bounded review" ], "effects": [ "Writes only a proposed local decision or evidence record if authorized", "Does not execute deletion, broaden access or contact recipients" ], "source_refs": [ "SRC-003", "SRC-007", "SRC-008" ] }, { "id": "memory-retention-function-restore", "name": "Evaluate restoration gate", "description": "Proposed local preflight checks restored references against current policy and outstanding forgetting decisions. Unimplemented research interface.", "inputs": [ "Restored target manifest", "Current policy and decision ledger revision" ], "outputs": [ "Blocked or eligible recovery assessment", "Unresolved reconciliation targets" ], "preconditions": [ "Authorized role and tenant scope are resolved", "Pinned policy and target revisions match; otherwise refuse", "Unknown evidence remains unknown and routes to bounded review" ], "effects": [ "Writes only a proposed local decision or evidence record if authorized", "Does not execute deletion, broaden access or contact recipients" ], "source_refs": [ "SRC-006", "SRC-008" ] } ], "composition": [ { "target": "WM-XCT-035", "relation": "ALIGN", "purpose": "Candidate general retention alignment; schema compatibility and inheritance unverified.", "required": false, "source_refs": [ "SRC-001", "SRC-006" ] }, { "target": "WM-MEM-001", "relation": "REFERENCE", "purpose": "Reference the store master and tenancy boundary.", "required": false, "source_refs": [ "SRC-001" ] }, { "target": "WM-MEM-002", "relation": "REFERENCE", "purpose": "Reference targets without copying memory payload.", "required": false, "source_refs": [ "SRC-003" ] }, { "target": "WM-MEM-008", "relation": "REFERENCE", "purpose": "Use consolidation lineage for scoped derived-memory review.", "required": false, "source_refs": [ "SRC-003" ] }, { "target": "WM-MEM-011", "relation": "REFERENCE", "purpose": "Resolve permissions independently of retention eligibility.", "required": false, "source_refs": [ "SRC-001" ] }, { "target": "WM-MEM-014", "relation": "REFERENCE", "purpose": "Request index target coverage from the index master.", "required": false, "source_refs": [ "SRC-003", "SRC-006" ] }, { "target": "WM-MEM-020", "relation": "REFERENCE", "purpose": "Refer to authorized quarantine or redaction workflows without overriding them.", "required": false, "source_refs": [ "SRC-001", "SRC-006" ] } ], "serviceLayers": { "dimension": { "owner_package_requirements": [ "Name an accountable policy steward by role and record authority", "Pin tenant namespace, policy revision and adopted applicability profile", "Declare unresolved source, review and runtime conformance holds" ], "namespace_guidance": "Use a stable policy namespace with opaque local identifiers; separate policy, revision, evaluation and execution IDs.", "registry_links": [ "vr.wm-mem-010", "WM-XCT-035 candidate alignment; resolve and pin before adoption" ] }, "canon_and_patch": { "canonicalization_rules": [ "Canonical identity resolves through the authorized master, independent of file name or display title", "Normalize timestamps without losing original offset and uncertainty; preserve unknown distinctly from false" ], "patch_rules": [ "Use expected revision and explicit impact scope; reject concurrent stale edits", "Rule changes require authority, effective time and re-evaluation of pending plans; do not silently restart lifetimes" ], "compatibility_rules": [ "Meaning-changing expiry, decay or precedence edits require a new revision and migration assessment", "Unknown profile terms produce indeterminate evaluation; never silently discard a constraint" ] }, "artifact_rules": { "identity_priority": [ "Authoritative master-system identifier with tenant namespace", "Policy revision plus opaque evidence identifier", "Content digest for integrity only, never a replacement for authority or identity" ], "timestamp_rule": "Use RFC 3339 timestamps with seconds and explicit UTC offset or Z; distinguish event, recorded, effective and observed times. Record clock uncertainty; duration and calendar arithmetic require a separate profile.", "serial_naming_rule": "Keep stable opaque record IDs; sequence labels and timestamps may aid display but are not identity.", "integrity_rule": "Record hash algorithm and scope for permitted evidence, not erased payload. A digest does not prove deletion or authorize access; avoid reversible sensitive-value hashes." }, "policies": [ "Policy owners are accountable roles, never product names", "A retention permission does not authorize recall or sharing; a hold does not lift access restrictions", "No default universal retention period, decay law, exception precedence or automatic erasure guarantee", "When evidence or authority is unknown, suspend automated destructive action and ordinary recall as required by the profile; record a bounded review deadline and overdue incident, not indefinite silent retention", "Keep destructive methods at policy and assurance level; execution is outside this specification", "Superseded history preserves only authorized minimal records and expires under its own schedule" ], "crud": { "read": [ "Apply tenant, purpose and current grant checks at bundle, layer, finding and artifact level; redact sensitive correlation metadata" ], "create": [ "Require policy authority, master identity, scope, purpose and explicit unknown states" ], "update": [ "Require expected revision, change rationale, effective time and impact review; invalidate stale plans" ], "delete": [ "Retire policy definitions without pretending target memory was erased", "Execute payload deletion only in a separately authorized workflow with hold checks and evidence; preserve only minimal lawful tombstones under a bounded audit retention schedule", "Deleting a policy must not orphan governed memories or erase active obligations; identify successor or bounded review state" ] }, "roles": [ { "name": "Policy steward", "responsibilities": [ "Own scope, basis, review cadence and approved revisions" ] }, { "name": "Authority reviewer", "responsibilities": [ "Resolve applicability, preservation conflicts and exceptional retention" ] }, { "name": "Memory custodian", "responsibilities": [ "Maintain target inventory, lineage and restore controls under approved policy" ] }, { "name": "Disposition executor", "responsibilities": [ "Perform separately authorized operations and return scoped outcomes" ] }, { "name": "Assurance reviewer", "responsibilities": [ "Assess evidence, residual gaps and audit-record minimization" ] } ], "access": { "default_rule": "Deny until tenant, purpose, role and current grant are resolved. Policy eligibility never creates an access grant.", "scopes": [ "bundle", "layer", "finding", "artifact" ], "exceptions": [ "Document an explicitly authorized, scoped, expiring exception; preservation alone is not an access exception" ], "audit_requirements": [ "Record actor role, policy revision, target scope, reason and outcome with minimal identifiers", "Restrict logs and receipts, assign retention and review deadlines, and exclude memory payload by default" ] }, "agents_bootstrap": { "filename": "AGENTS.md", "required_fields": [ "Name", "Type", "Specification URL", "Storage type URL", "Interface URL", "Processes URL", "Policy revision", "Tenant scope", "Publication holds" ], "read_order": [ "AGENTS.md and nearest owner policy", "spec.yaml boundary and publication holds", "Applicable profile, master references and authority", "Question evidence and unresolved conditions before proposed mutation" ] } }, "coverage": { "claim": "Source-grounded proposed structure for one versioned agent-memory retention and forgetting policy entity. The frozen local no-tools self-audit found no critical contradictions. Decay and propagation controls are explicit design proposals; source currency, applicability, executable conformance and independent external review remain holds. This reviewable draft does not execute deletion or certify machine unlearning.", "confidence": "medium", "checklist": [ { "dimension": "identity", "status": "covered", "notes": "Policy, revision and decision identities are distinct." }, { "dimension": "lifecycle", "status": "covered", "notes": "Activation, review, suspension, supersession and retirement are explicit." }, { "dimension": "relationships", "status": "covered", "notes": "Memory and executor masters remain external; candidate bindings need validation." }, { "dimension": "temporal", "status": "covered", "notes": "Trigger, expiry, reset, uncertainty and calendar questions are explicit." }, { "dimension": "provenance", "status": "covered", "notes": "Evidence and derivation references support scoped impact analysis." }, { "dimension": "ownership", "status": "covered", "notes": "Accountable roles and authority evidence are required." }, { "dimension": "validation", "status": "gap", "notes": "Research validation does not implement target schemas or runtime fixtures." }, { "dimension": "access", "status": "covered", "notes": "Recall eligibility, retention and grants remain independent." }, { "dimension": "interoperability", "status": "gap", "notes": "Conceptual ODRL, DPV and PROV alignments need version-pinned mappings." }, { "dimension": "privacy and retention", "status": "covered", "notes": "Payload, backups, receipts and tombstones have separate purpose and lifetime." }, { "dimension": "properties", "status": "covered", "notes": "Direct properties are scope, parameters, bounds and status; physical measurements do not apply to the abstract policy." }, { "dimension": "recognition and observation", "status": "covered", "notes": "Authority, revision, target metadata and clock evidence determine recognition and applicability." }, { "dimension": "capabilities and behavior", "status": "covered", "notes": "Six proposed local functions declare preconditions and limited effects." }, { "dimension": "independent review", "status": "gap", "notes": "Only Codex source-grounded research; external passes skipped under waiver." } ], "known_omissions": [ "No executable nested instance schema, scheduler, decay implementation, propagation executor or conformance test results.", "No universal legal period or legal-hold priority; applicable jurisdiction and sector profiles require qualified review.", "No machine-unlearning algorithm, learned-weight modification, anonymity guarantee or proof of absence from future outputs.", "No complete runtime bindings to neighboring models; registry parent is a lead rather than verified inheritance.", "Source HTTP status and body hashes are unmeasured locally; current release, errata and applicability checks remain open.", "DPV 2.0 is an intentionally pinned older community report; later NIST 800-53 release differences have not been assessed." ], "conflicts": [], "regional_assumptions": [ "No jurisdictional retention period is supplied. NIST controls are a conceptual baseline whose applicability requires adoption review.", "DPV is a community vocabulary; using it does not establish legal compliance." ], "adversarial_checks": [ "Repeated recall cannot silently reset an absolute retention cap.", "A hold can preserve content while ordinary recall remains prohibited.", "Suppression and index removal cannot be reported as all-copy erasure.", "Restore and retry paths must re-evaluate current policy and pending disposition.", "A cross-tenant derivation edge does not confer deletion authority.", "A receipt, digest or schema-valid record does not prove erasure or machine unlearning." ] }, "researchAdjudication": { "providerMode": "single-provider-waiver", "activeProviders": [ "codex" ], "waivedProviders": [ "claude", "grok" ], "providerPolicy": { "contract_version": "1.0.0", "mode": "single-provider-waiver", "effective_at": "2026-09-06T00:00:00Z", "scope": "Canonical single-stream subject-model research after the six-workstream consolidation", "active_providers": [ "codex" ], "waived_providers": [ { "provider": "claude", "authorized_by": "repository owner", "authorized_at": "2026-09-06T00:00:00Z", "reason": "Claude produced no result on prior 1800-second and 900-second attempts and again timed out on bounded 600-second Sonnet and 300-second Haiku passes. The owner prioritized completion over provider availability." }, { "provider": "grok", "authorized_by": "repository owner", "authorized_at": "2026-09-06T00:00:00Z", "reason": "The repository owner authorized completion without Grok when Grok is unavailable, slow or schema-invalid. Grok may still be attempted as a bounded supplemental reviewer, but its failure never blocks a valid Claude plus no-tools result." } ], "review_rule": "Codex may complete source-grounded fallback research after bounded Claude and Grok attempts fail. It requires a separate no-tools adversarial audit and remains reviewable-draft with a visible absence-of-external-review hold.", "supplemental_provider_attempts": [ { "provider": "claude", "required": false, "maximum_attempts": 1, "failure_policy": "record-and-continue", "admission_rule": "Use only a locally schema-valid result whose sources and boundaries survive adjudication." }, { "provider": "grok", "required": false, "maximum_attempts": 1, "failure_policy": "record-and-continue", "admission_rule": "Use only a locally schema-valid result whose sources and boundaries survive adjudication." } ] }, "boundaryDecision": { "entry_kind": "entity", "status": "accepted", "rationale": "A governed policy retains identity across approved effective revisions. Rule reuse does not make the root an event, executor or memory store. The registry standalone-mm field is a record-plane classification; the generic retention parent remains candidate alignment without validated inheritance." }, "decisions": [ { "concept": "Policy entity boundary", "disposition": "accepted", "rationale": "Stable policy identity, revision lifecycle and authority are separated from target memories, evaluation records and disposition operations." }, { "concept": "Registry parent and optional neighbors", "disposition": "qualified", "rationale": "The parent is only candidate alignment. Optional references preserve external masters and assert no verified inheritance or runtime binding; no legacy material is treated as authority." }, { "concept": "Scope and tenant isolation", "disposition": "accepted", "rationale": "Purpose, tenant and target selectors do not grant access. Missing labels and overlap route to explicit bounded review rather than uncontrolled cross-tenant action." }, { "concept": "Lifetime and repeated recall", "disposition": "accepted", "rationale": "Trigger, minimum, maximum, review interval and reset authority are separate. Recall cannot silently extend a hard lifetime cap, and inconsistent bounds require referral." }, { "concept": "Decay as a standardized algorithm", "disposition": "rejected", "rationale": "No universal decay law is asserted. Memory relevance controls are declared proposed extensions, while the HTTP source supplies a limited freshness-versus-storage analogy." }, { "concept": "Conflict resolution and preservation", "disposition": "qualified", "rationale": "The draft does not impose universal hold precedence. Unknown authority blocks automated destructive action and requires bounded review, while recall restrictions and overdue escalation remain explicit." }, { "concept": "Forgetting outcome equivalence", "disposition": "rejected", "rationale": "Suppression, retirement, redaction, deletion intent and sanitization assurance have different scope. A receipt or provenance invalidation cannot silently become an all-copy erasure claim." }, { "concept": "Derived targets and independent recipients", "disposition": "accepted with limits", "rationale": "Lineage is evidence for impact review, not authority or completeness. Shared derivatives, unknown copies and unreachable recipients remain explicitly unresolved or partial." }, { "concept": "Restoration and selective backup deletion", "disposition": "qualified", "rationale": "Backup exceptions require bounded retention, restrictions and authority. Restored targets must be reconciled against current decisions before service; inaccessible backup scope prevents full completion claims." }, { "concept": "Stale plans and execution races", "disposition": "accepted as proposed controls", "rationale": "Revision checks, correlation IDs, per-target outcomes and re-evaluation requirements distinguish stale plans and lost acknowledgements from completed disposition. Already irreversible effects remain visible." }, { "concept": "Minimal evidence and policy retirement", "disposition": "accepted", "rationale": "Audit records and tombstones have their own purpose and lifetime. Neither history preservation nor integrity hashes justify retaining erased payload indefinitely; retirement must preserve a governed successor or review state." }, { "concept": "Functions and executable conformance", "disposition": "deferred", "rationale": "Six interfaces declare local proposed effects and refusal preconditions. Candidate optional fields do not form complete instance schemas, and mappings and fixtures are not implemented or tested." }, { "concept": "Learned-model unlearning and universal absence", "disposition": "excluded", "rationale": "The frozen boundary excludes learned-weight changes, proof of absence from future outputs, cognitive forgetting and retraction of delivered answers. The admitted sources do not establish those guarantees." }, { "concept": "Source status and external review", "disposition": "held", "rationale": "All eight sources supplied selected readable web-service text, but direct HTTP remains unattempted and unmeasured. Older DPV and later NIST release comparison remain open. This local self-audit does not replace independent provider review." } ], "publicationHolds": [ "Independent external review is absent under the owner-authorized single-provider waiver. Claude and Grok were skipped with zero attempts; the separate local Codex no-tools self-audit is not an independent second-provider review.", "Live source, full-text, version and errata verification remains incomplete. Selected official web-service text was reviewed for eight sources. Direct HTTP checks were not attempted under the owner-reported sandbox restriction; statuses and response-body hashes are unmeasured. DPV 2.0 is an older community report, and later NIST 800-53 release differences were not assessed. The coordinator must run check_sources.py and review results.", "Adoption requires qualified jurisdiction, sector, authority, licensing and applicability review. No universal retention duration, legal-hold precedence, privacy compliance or erasure guarantee is supplied.", "Nested instance schemas, pinned neighbor bindings, decay semantics, ODRL/DPV/PROV mappings, runtime enforcement and adversarial acceptance fixtures remain incomplete. No executable conformance, all-copy erasure or learned-model unlearning certification is claimed.", "Independent external review was explicitly waived by the repository owner; this codex-only result remains a reviewable draft." ], "deferredResearch": [ "Compare pinned source versions with applicable current releases and errata, including DPV and NIST 800-53; verify direct retrieval and claim applicability independently.", "Define and validate adoption profiles with authorized duration, clock, decay, conflict, preservation and recipient rules, without inventing universal defaults.", "Implement nested schemas, neighbor mappings and acceptance fixtures for expiry races, hold release, unknown lineage, restored backups, partial completion and minimal audit retention.", "Restore independent external review before any canonical or publishable-draft promotion." ] }, "statistics": { "sources": 8, "bundles": 6, "layers": 12, "findings": 12, "questions": 48, "artifacts": 12, "functions": 6 } }