# Vercy AI instruction - YAML 1.2 (JSON-compatible) { "vercy": "1.0-draft", "publication": { "status": "published", "adjudicationStatus": "reviewable-draft", "publishableCanonical": false, "generatedAt": "2026-10-21T17:26:49Z", "synthesisSha256": "4eea862d4ae3d47ed49cdab1aab57de916bc964a09f09efa16794ce95482eaaf", "providerMode": "single-provider-waiver", "providers": [ "Codex" ], "waivedProviders": [ "Claude", "Grok" ] }, "metaModel": { "id": "WM-MEM-012", "registryId": "vr.wm-mem-012", "name": "Memory Portability Package", "version": "0.1.0", "previousVersions": [], "entryKind": "aggregate", "family": "World Models", "category": "Information and virtual systems", "industry": [ "Cross-industry" ], "domain": [ "INF.MEM.PKG" ], "tags": [ "memory", "portability", "package", "inf.mem.pkg" ], "status": "published" }, "canonicalUrl": "https://ver.cy/models/wm-mem-012-memory-portability-package/", "sourceUrl": "https://github.com/ver-cy/world-models/tree/feat/mega-model-registry/research/runs/wm-mem-012", "model": { "registry_id": "vr.wm-mem-012", "model_id": "WM-MEM-012", "name": "Memory Portability Package", "entry_kind": "aggregate", "purpose": "Describe a bounded export and import package of agent memory with content inventory, integrity evidence, provenance, transfer conditions and receiver outcome references.", "scope_statement": "One portable aggregate with a stable package identity and separately identified immutable revisions. The root owns package metadata and member representations, not the source memories, memory stores, grants or destination operations. All mappings, fields and functions below are proposed design choices, not an established universal memory exchange standard.", "in_scope": [ "Package identity, export selection, snapshot consistency, representation inventory, schema dependencies and declared omissions", "Digest and signature evidence, source-to-export lineage, recipient conditions and compatibility loss reporting", "Local package preparation, validation evidence, import attempt references, receipts and package retirement" ], "out_of_scope": [ "Live memory storage, formation, recall, conflict precedence, trust scoring and retrieval index maintenance", "Grant issuance, retention policy authoring, key management, transport execution, destination mutation and deletion of remote memories", "Model weights, credential migration, executable procedure activation and claims of universal lossless or legally guaranteed portability" ], "boundary_notes": [ { "neighbor": "WM-MEM-001 Memory Store", "distinction": "Registry parent treated as candidate alignment only. Package identity and member selection remain distinct from either source or destination store and their operational lifecycles.", "source_refs": [ "SRC-001", "SRC-006" ] }, { "neighbor": "WM-MEM-002 Memory Item", "distinction": "The package contains exported representations with source identifiers and revisions. It does not acquire authority over the original item or redefine its truth, confidence or lifecycle.", "source_refs": [ "SRC-004", "SRC-006" ] }, { "neighbor": "WM-MEM-009 Memory Conflict and Precedence Rule; WM-MEM-018 Memory Trust Assessment", "distinction": "Carry pinned references and reported dispositions only; conflict resolution and trust evaluation remain externally mastered.", "source_refs": [ "SRC-004", "SRC-005" ] }, { "neighbor": "WM-MEM-010 Memory Retention and Forgetting Policy; WM-MEM-011 Memory Scope and Sharing Grant", "distinction": "Bind current policy and grant evidence to export and intended import scopes. A signature does not create permission and a package cannot force remote forgetting.", "source_refs": [ "SRC-002", "SRC-005" ] }, { "neighbor": "WM-MEM-014 Retrieval Index; WM-MEM-020 Memory Quarantine and Redaction", "distinction": "Derived indexes and redacted payloads require explicit representation and lineage metadata. Index rebuilding and quarantine decisions remain external responsibilities.", "source_refs": [ "SRC-004", "SRC-007" ] } ] }, "sources": [ { "id": "SRC-001", "title": "The BagIt File Packaging Format (V1.0)", "organization": "RFC Editor", "url": "https://www.rfc-editor.org/rfc/rfc8493.html", "version_or_date": "RFC 8493, October 2018; Independent Submission, Informational", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:25:34Z", "relevance": "Sections 2, 3 and 5 support manifests, complete versus valid bags, safe resource boundaries and the limited assurance of checksums." }, { "id": "SRC-002", "title": "JSON Web Signature (JWS)", "organization": "IETF", "url": "https://www.rfc-editor.org/rfc/rfc7515.html", "version_or_date": "RFC 7515, May 2015; selected sections 4, 5 and 10", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:25:34Z", "relevance": "Protected content, verification, key origin and replay considerations inform a proposed signature evidence profile. JWS also permits MACs; this model does not equate a MAC with an asymmetric signature." }, { "id": "SRC-003", "title": "JSON Canonicalization Scheme (JCS)", "organization": "RFC Editor", "url": "https://www.rfc-editor.org/rfc/rfc8785.html", "version_or_date": "RFC 8785, June 2020; Independent Submission, Informational", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:25:34Z", "relevance": "Section 3 supports deterministic JSON serialization with restricted inputs. It is not graph canonicalization and does not establish semantic equivalence." }, { "id": "SRC-004", "title": "PROV-O: The PROV Ontology", "organization": "W3C", "url": "https://www.w3.org/TR/prov-o/", "version_or_date": "Recommendation 2013-04-30; sections 3 and 4", "source_type": "ontology", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:25:34Z", "relevance": "Entity, activity, attribution, derivation, revision and invalidation distinguish original memories from exported representations and later receipts." }, { "id": "SRC-005", "title": "ODRL Information Model 2.2", "organization": "W3C", "url": "https://www.w3.org/TR/odrl-model/", "version_or_date": "Recommendation 2018-02-15; permissions, prohibitions, duties and constraints", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:25:34Z", "relevance": "Policy expression supports scoped transfer conditions. Policy syntax supplies neither proof of authority nor enforcement or universal legal permission." }, { "id": "SRC-006", "title": "RO-Crate Metadata Specification 1.1 - Structure", "organization": "RO-Crate community", "url": "https://www.researchobject.org/ro-crate/specification/1.1/structure.html", "version_or_date": "Version 1.1; deliberately selected historical alignment, not a latest-release claim", "source_type": "schema", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-10-21T17:25:34Z", "relevance": "Metadata, data entities and external resources form a described aggregate. RO-Crate metadata is explicitly not an exhaustive inventory; a separate completeness manifest is required by this authored profile." }, { "id": "SRC-007", "title": "JSON-LD 1.1", "organization": "W3C", "url": "https://www.w3.org/TR/json-ld11/", "version_or_date": "Recommendation 2020-07-16; contexts and node identifiers", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:25:34Z", "relevance": "Contexts and identifiers support a versioned semantic binding; a readable JSON document does not by itself preserve the interpretation of memory fields." }, { "id": "SRC-008", "title": "Date and Time on the Internet: Timestamps", "organization": "IETF", "url": "https://www.rfc-editor.org/rfc/rfc3339.html", "version_or_date": "RFC 3339, July 2002, section 5.6", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-10-21T17:25:34Z", "relevance": "Timestamp syntax supports seconds and explicit offsets. Export, observation, verification and receipt time have separate authored meanings; syntax is not a trusted clock." } ], "structure": { "bundles": [ { "id": "bundle-identity", "name": "Package identity and export boundary", "description": "Identify the aggregate and the exact selection that it claims to carry.", "rationale": "Authored grouping of package concerns informed by the cited open specifications; no source prescribes this hierarchy or a universal agent memory protocol.", "source_refs": [ "SRC-001", "SRC-004", "SRC-006" ], "layers": [ { "id": "layer-identity", "name": "Package and revision identity", "description": "Separate logical package identity, immutable revision, serialized copies and import attempt identifiers.", "source_refs": [ "SRC-004", "SRC-006" ], "findings": [ { "id": "finding-identity", "name": "Package and revision identity", "description": "Separate logical package identity, immutable revision, serialized copies and import attempt identifiers.", "source_refs": [ "SRC-004", "SRC-006" ], "questions": [ { "id": "finding-identity-q01", "text": "Which master identifier names this package independently of its filename or content digest?", "kind": "identity", "answer_data": [ "package_master_id", "namespace" ] }, { "id": "finding-identity-q02", "text": "Which package profile and revision distinguish a complete snapshot from a selection or delta?", "kind": "classification", "answer_data": [ "package_revision", "profile_ref", "package_kind" ] }, { "id": "finding-identity-q03", "text": "Which source and intended destination stores are referenced without transferring their identities?", "kind": "relationship", "answer_data": [ "source_store_refs", "destination_store_refs" ] }, { "id": "finding-identity-q04", "text": "Which accountable operator maintains this package and its revision history?", "kind": "ownership", "answer_data": [ "custodian_ref", "responsibility_basis" ] } ], "data_elements": [ { "id": "finding-identity-data01", "name": "package_master_id / namespace", "description": "Candidate answer group for: Which master identifier names this package independently of its filename or content digest? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006" ] }, { "id": "finding-identity-data02", "name": "package_revision / profile_ref / package_kind", "description": "Candidate answer group for: Which package profile and revision distinguish a complete snapshot from a selection or delta? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006" ] }, { "id": "finding-identity-data03", "name": "source_store_refs / destination_store_refs", "description": "Candidate answer group for: Which source and intended destination stores are referenced without transferring their identities? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006" ] }, { "id": "finding-identity-data04", "name": "custodian_ref / responsibility_basis", "description": "Candidate answer group for: Which accountable operator maintains this package and its revision history? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006" ] } ], "artifacts": [ { "id": "artifact-identity", "name": "Package and revision identity record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-004", "SRC-006" ] } ], "inline_only_rationale": null } ] }, { "id": "layer-selection", "name": "Export selection and snapshot consistency", "description": "Record declared selection and consistency evidence; an empty authorized selection is representable. Delta interpretation requires an identified baseline.", "source_refs": [ "SRC-001", "SRC-004" ], "findings": [ { "id": "finding-selection", "name": "Export selection and snapshot consistency", "description": "Record declared selection and consistency evidence; an empty authorized selection is representable. Delta interpretation requires an identified baseline.", "source_refs": [ "SRC-001", "SRC-004" ], "questions": [ { "id": "finding-selection-q01", "text": "Which source item revisions are included, omitted or represented only by references?", "kind": "composition", "answer_data": [ "selection_query_ref", "member_revision_refs", "omission_reasons" ] }, { "id": "finding-selection-q02", "text": "At which source snapshot or consistency boundary was the selection captured?", "kind": "temporal", "answer_data": [ "snapshot_ref", "cutoff_time", "capture_interval", "consistency_evidence" ] }, { "id": "finding-selection-q03", "text": "Which baseline and ordered change semantics are required to interpret a delta package?", "kind": "requirement", "answer_data": [ "baseline_package_ref", "change_order", "delta_profile_ref" ] }, { "id": "finding-selection-q04", "text": "How is an empty selection or an unavailable source dependency distinguished from an incomplete export?", "kind": "exception", "answer_data": [ "empty_selection_reason", "unavailable_dependencies", "completeness_state" ] } ], "data_elements": [ { "id": "finding-selection-data01", "name": "selection_query_ref / member_revision_refs / omission_reasons", "description": "Candidate answer group for: Which source item revisions are included, omitted or represented only by references? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-004" ] }, { "id": "finding-selection-data02", "name": "snapshot_ref / cutoff_time / capture_interval / consistency_evidence", "description": "Candidate answer group for: At which source snapshot or consistency boundary was the selection captured? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-004" ] }, { "id": "finding-selection-data03", "name": "baseline_package_ref / change_order / delta_profile_ref", "description": "Candidate answer group for: Which baseline and ordered change semantics are required to interpret a delta package? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-004" ] }, { "id": "finding-selection-data04", "name": "empty_selection_reason / unavailable_dependencies / completeness_state", "description": "Candidate answer group for: How is an empty selection or an unavailable source dependency distinguished from an incomplete export? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-004" ] } ], "artifacts": [ { "id": "artifact-selection", "name": "Export selection and snapshot consistency record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-001", "SRC-004" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "bundle-representation", "name": "Member representation and semantic continuity", "description": "Preserve meaning and inventory coverage across serialization choices.", "rationale": "Authored grouping of package concerns informed by the cited open specifications; no source prescribes this hierarchy or a universal agent memory protocol.", "source_refs": [ "SRC-001", "SRC-004", "SRC-006", "SRC-007" ], "layers": [ { "id": "layer-inventory", "name": "Inventory and dependency closure", "description": "Maintain a complete package inventory separately from descriptive metadata, with attached and remote members and dependencies explicit.", "source_refs": [ "SRC-001", "SRC-006" ], "findings": [ { "id": "finding-inventory", "name": "Inventory and dependency closure", "description": "Maintain a complete package inventory separately from descriptive metadata, with attached and remote members and dependencies explicit.", "source_refs": [ "SRC-001", "SRC-006" ], "questions": [ { "id": "finding-inventory-q01", "text": "Which inventory entry binds each payload location to its source item and representation?", "kind": "composition", "answer_data": [ "member_id", "payload_location", "source_revision_ref", "representation_ref" ] }, { "id": "finding-inventory-q02", "text": "What member count and byte totals were observed and which scope do those totals cover?", "kind": "measurement", "answer_data": [ "member_count", "byte_total", "measurement_scope", "observed_at" ] }, { "id": "finding-inventory-q03", "text": "Which dependencies are embedded, externally pinned or unresolved for offline interpretation?", "kind": "constraint", "answer_data": [ "dependency_refs", "dependency_digests", "availability_state" ] }, { "id": "finding-inventory-q04", "text": "Does the declared inventory match every required member without hidden extra payload or missing bytes?", "kind": "validation", "answer_data": [ "inventory_validation_ref", "missing_members", "unexpected_members" ] } ], "data_elements": [ { "id": "finding-inventory-data01", "name": "member_id / payload_location / source_revision_ref / representation_ref", "description": "Candidate answer group for: Which inventory entry binds each payload location to its source item and representation? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006" ] }, { "id": "finding-inventory-data02", "name": "member_count / byte_total / measurement_scope / observed_at", "description": "Candidate answer group for: What member count and byte totals were observed and which scope do those totals cover? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006" ] }, { "id": "finding-inventory-data03", "name": "dependency_refs / dependency_digests / availability_state", "description": "Candidate answer group for: Which dependencies are embedded, externally pinned or unresolved for offline interpretation? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006" ] }, { "id": "finding-inventory-data04", "name": "inventory_validation_ref / missing_members / unexpected_members", "description": "Candidate answer group for: Does the declared inventory match every required member without hidden extra payload or missing bytes? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-006" ] } ], "artifacts": [ { "id": "artifact-inventory", "name": "Inventory and dependency closure record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-001", "SRC-006" ] } ], "inline_only_rationale": null } ] }, { "id": "layer-semantics", "name": "Semantic binding and loss declaration", "description": "Pin vocabulary and schema interpretation. Preserve source confidence, time and scope as claims; transformed embeddings or summaries cannot silently replace original meaning.", "source_refs": [ "SRC-006", "SRC-007", "SRC-004" ], "findings": [ { "id": "finding-semantics", "name": "Semantic binding and loss declaration", "description": "Pin vocabulary and schema interpretation. Preserve source confidence, time and scope as claims; transformed embeddings or summaries cannot silently replace original meaning.", "source_refs": [ "SRC-006", "SRC-007", "SRC-004" ], "questions": [ { "id": "finding-semantics-q01", "text": "Which schema versions, vocabularies and context bindings define each exported memory representation?", "kind": "interoperability", "answer_data": [ "schema_refs", "vocabulary_refs", "context_pins" ] }, { "id": "finding-semantics-q02", "text": "Which confidence, uncertainty, language, temporal or scope fields cannot be preserved by the destination mapping?", "kind": "quality", "answer_data": [ "field_mapping_ref", "unsupported_fields", "loss_report" ] }, { "id": "finding-semantics-q03", "text": "Which records are original assertions, summaries, derived vectors or procedural descriptions?", "kind": "classification", "answer_data": [ "representation_kind", "derivation_ref", "representation_parameters" ] }, { "id": "finding-semantics-q04", "text": "How will unsupported extensions, unavailable contexts or incompatible derived vectors be preserved or refused?", "kind": "requirement", "answer_data": [ "extension_policy", "opaque_preservation_rule", "compatibility_disposition" ] } ], "data_elements": [ { "id": "finding-semantics-data01", "name": "schema_refs / vocabulary_refs / context_pins", "description": "Candidate answer group for: Which schema versions, vocabularies and context bindings define each exported memory representation? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006", "SRC-007", "SRC-004" ] }, { "id": "finding-semantics-data02", "name": "field_mapping_ref / unsupported_fields / loss_report", "description": "Candidate answer group for: Which confidence, uncertainty, language, temporal or scope fields cannot be preserved by the destination mapping? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006", "SRC-007", "SRC-004" ] }, { "id": "finding-semantics-data03", "name": "representation_kind / derivation_ref / representation_parameters", "description": "Candidate answer group for: Which records are original assertions, summaries, derived vectors or procedural descriptions? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006", "SRC-007", "SRC-004" ] }, { "id": "finding-semantics-data04", "name": "extension_policy / opaque_preservation_rule / compatibility_disposition", "description": "Candidate answer group for: How will unsupported extensions, unavailable contexts or incompatible derived vectors be preserved or refused? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-006", "SRC-007", "SRC-004" ] } ], "artifacts": [ { "id": "artifact-semantics", "name": "Semantic binding and loss declaration record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-006", "SRC-007", "SRC-004" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "bundle-integrity", "name": "Integrity and origin evidence", "description": "Keep byte integrity, signer authentication and recipient acceptance distinct.", "rationale": "Authored grouping of package concerns informed by the cited open specifications; no source prescribes this hierarchy or a universal agent memory protocol.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003" ], "layers": [ { "id": "layer-digests", "name": "Digest scope and byte representation", "description": "Bind digest evidence to exact bytes and scope. JSON canonicalization is optional and must be declared and tested; it cannot normalize arbitrary graphs.", "source_refs": [ "SRC-001", "SRC-003" ], "findings": [ { "id": "finding-digests", "name": "Digest scope and byte representation", "description": "Bind digest evidence to exact bytes and scope. JSON canonicalization is optional and must be declared and tested; it cannot normalize arbitrary graphs.", "source_refs": [ "SRC-001", "SRC-003" ], "questions": [ { "id": "finding-digests-q01", "text": "Which digest and algorithm bind each payload and the authoritative manifest?", "kind": "evidence", "answer_data": [ "digest_values", "algorithm_ids", "manifest_digest" ] }, { "id": "finding-digests-q02", "text": "Which exact bytes or declared canonicalization profile were hashed?", "kind": "definition", "answer_data": [ "byte_scope", "canonicalization_ref", "encoding" ] }, { "id": "finding-digests-q03", "text": "What independent recomputation result exists for each required digest?", "kind": "validation", "answer_data": [ "verification_report_ref", "verified_at", "mismatch_set" ] }, { "id": "finding-digests-q04", "text": "How are ambiguous names, duplicate JSON members, unsupported numeric values or unrecognized algorithms handled?", "kind": "constraint", "answer_data": [ "input_rejection_policy", "algorithm_policy_ref", "canonicalization_failures" ] } ], "data_elements": [ { "id": "finding-digests-data01", "name": "digest_values / algorithm_ids / manifest_digest", "description": "Candidate answer group for: Which digest and algorithm bind each payload and the authoritative manifest? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003" ] }, { "id": "finding-digests-data02", "name": "byte_scope / canonicalization_ref / encoding", "description": "Candidate answer group for: Which exact bytes or declared canonicalization profile were hashed? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003" ] }, { "id": "finding-digests-data03", "name": "verification_report_ref / verified_at / mismatch_set", "description": "Candidate answer group for: What independent recomputation result exists for each required digest? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003" ] }, { "id": "finding-digests-data04", "name": "input_rejection_policy / algorithm_policy_ref / canonicalization_failures", "description": "Candidate answer group for: How are ambiguous names, duplicate JSON members, unsupported numeric values or unrecognized algorithms handled? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-003" ] } ], "artifacts": [ { "id": "artifact-digests", "name": "Digest scope and byte representation record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-001", "SRC-003" ] } ], "inline_only_rationale": null } ] }, { "id": "layer-signatures", "name": "Signature coverage and trust evidence", "description": "Capture signature evidence over the manifest and security-critical metadata. Imported keys and claimed signer labels are untrusted until an external trust policy verifies them.", "source_refs": [ "SRC-002", "SRC-003" ], "findings": [ { "id": "finding-signatures", "name": "Signature coverage and trust evidence", "description": "Capture signature evidence over the manifest and security-critical metadata. Imported keys and claimed signer labels are untrusted until an external trust policy verifies them.", "source_refs": [ "SRC-002", "SRC-003" ], "questions": [ { "id": "finding-signatures-q01", "text": "Which signature covers the package revision, manifest digest, audience and transfer constraints?", "kind": "evidence", "answer_data": [ "signature_ref", "covered_fields", "signed_revision_ref" ] }, { "id": "finding-signatures-q02", "text": "What trusted key binding and signer authority were established at verification time?", "kind": "authority", "answer_data": [ "key_binding_ref", "signer_ref", "authority_evidence", "verification_time" ] }, { "id": "finding-signatures-q03", "text": "Which signature algorithm policy and key status evidence govern acceptance or refusal?", "kind": "security", "answer_data": [ "algorithm_policy_ref", "key_status_ref", "signature_validation_result" ] }, { "id": "finding-signatures-q04", "text": "How are unsigned, invalid, unknown-key or MAC-only packages distinguished from accepted signature evidence?", "kind": "exception", "answer_data": [ "signature_state", "assurance_type", "refusal_reason" ] } ], "data_elements": [ { "id": "finding-signatures-data01", "name": "signature_ref / covered_fields / signed_revision_ref", "description": "Candidate answer group for: Which signature covers the package revision, manifest digest, audience and transfer constraints? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-003" ] }, { "id": "finding-signatures-data02", "name": "key_binding_ref / signer_ref / authority_evidence / verification_time", "description": "Candidate answer group for: What trusted key binding and signer authority were established at verification time? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-003" ] }, { "id": "finding-signatures-data03", "name": "algorithm_policy_ref / key_status_ref / signature_validation_result", "description": "Candidate answer group for: Which signature algorithm policy and key status evidence govern acceptance or refusal? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-003" ] }, { "id": "finding-signatures-data04", "name": "signature_state / assurance_type / refusal_reason", "description": "Candidate answer group for: How are unsigned, invalid, unknown-key or MAC-only packages distinguished from accepted signature evidence? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-002", "SRC-003" ] } ], "artifacts": [ { "id": "artifact-signatures", "name": "Signature coverage and trust evidence record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-002", "SRC-003" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "bundle-provenance", "name": "Lineage and lifecycle evidence", "description": "Describe origin and time without laundering source assertions into facts.", "rationale": "Authored grouping of package concerns informed by the cited open specifications; no source prescribes this hierarchy or a universal agent memory protocol.", "source_refs": [ "SRC-004", "SRC-007", "SRC-008" ], "layers": [ { "id": "layer-lineage", "name": "Transformation lineage and claim attribution", "description": "Retain source-to-export mapping and declared transformations. Provenance is evidence of asserted origin, not proof that a memory is true or safe to activate.", "source_refs": [ "SRC-004", "SRC-007" ], "findings": [ { "id": "finding-lineage", "name": "Transformation lineage and claim attribution", "description": "Retain source-to-export mapping and declared transformations. Provenance is evidence of asserted origin, not proof that a memory is true or safe to activate.", "source_refs": [ "SRC-004", "SRC-007" ], "questions": [ { "id": "finding-lineage-q01", "text": "Which source item revisions and activities produced each exported representation?", "kind": "provenance", "answer_data": [ "source_revision_refs", "export_activity_ref", "member_lineage" ] }, { "id": "finding-lineage-q02", "text": "Which redaction, summarization or conversion changed the content and under which versioned rules?", "kind": "process", "answer_data": [ "transformation_refs", "rule_versions", "loss_annotations" ] }, { "id": "finding-lineage-q03", "text": "Which assertions are contested, uncertain or based on source reports that have not been verified?", "kind": "quality", "answer_data": [ "assertion_status", "confidence_origin", "dispute_refs" ] }, { "id": "finding-lineage-q04", "text": "Which provenance fields must be minimized so that redacted identities are not reconstructed from metadata?", "kind": "privacy", "answer_data": [ "provenance_projection_ref", "restricted_fields", "minimization_basis" ] } ], "data_elements": [ { "id": "finding-lineage-data01", "name": "source_revision_refs / export_activity_ref / member_lineage", "description": "Candidate answer group for: Which source item revisions and activities produced each exported representation? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-007" ] }, { "id": "finding-lineage-data02", "name": "transformation_refs / rule_versions / loss_annotations", "description": "Candidate answer group for: Which redaction, summarization or conversion changed the content and under which versioned rules? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-007" ] }, { "id": "finding-lineage-data03", "name": "assertion_status / confidence_origin / dispute_refs", "description": "Candidate answer group for: Which assertions are contested, uncertain or based on source reports that have not been verified? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-007" ] }, { "id": "finding-lineage-data04", "name": "provenance_projection_ref / restricted_fields / minimization_basis", "description": "Candidate answer group for: Which provenance fields must be minimized so that redacted identities are not reconstructed from metadata? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-007" ] } ], "artifacts": [ { "id": "artifact-lineage", "name": "Transformation lineage and claim attribution record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-004", "SRC-007" ] } ], "inline_only_rationale": null } ] }, { "id": "layer-lifecycle", "name": "Package state and observation time", "description": "Track local draft, sealed, superseded, withdrawn and disposed states separately from receiver acceptance and source memory state. Sealed bytes are not edited in place.", "source_refs": [ "SRC-004", "SRC-008" ], "findings": [ { "id": "finding-lifecycle", "name": "Package state and observation time", "description": "Track local draft, sealed, superseded, withdrawn and disposed states separately from receiver acceptance and source memory state. Sealed bytes are not edited in place.", "source_refs": [ "SRC-004", "SRC-008" ], "questions": [ { "id": "finding-lifecycle-q01", "text": "What is the package revision state and what evidence supports that recorded state?", "kind": "state", "answer_data": [ "package_state", "state_evidence_ref" ] }, { "id": "finding-lifecycle-q02", "text": "Which export, observation, verification, expiry and receipt timestamps are known and with what clock limitations?", "kind": "temporal", "answer_data": [ "exported_at", "observed_at", "verified_at", "expires_at", "received_at", "clock_evidence" ] }, { "id": "finding-lifecycle-q03", "text": "Which permitted transition created a new revision or superseded a sealed package?", "kind": "lifecycle", "answer_data": [ "transition_ref", "prior_revision_ref", "supersession_reason" ] }, { "id": "finding-lifecycle-q04", "text": "Which recipient-specific import attempts reference this same package revision?", "kind": "event", "answer_data": [ "import_attempt_refs", "recipient_refs", "attempt_status_refs" ] } ], "data_elements": [ { "id": "finding-lifecycle-data01", "name": "package_state / state_evidence_ref", "description": "Candidate answer group for: What is the package revision state and what evidence supports that recorded state? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-008" ] }, { "id": "finding-lifecycle-data02", "name": "exported_at / observed_at / verified_at / expires_at / received_at / clock_evidence", "description": "Candidate answer group for: Which export, observation, verification, expiry and receipt timestamps are known and with what clock limitations? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-008" ] }, { "id": "finding-lifecycle-data03", "name": "transition_ref / prior_revision_ref / supersession_reason", "description": "Candidate answer group for: Which permitted transition created a new revision or superseded a sealed package? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-008" ] }, { "id": "finding-lifecycle-data04", "name": "import_attempt_refs / recipient_refs / attempt_status_refs", "description": "Candidate answer group for: Which recipient-specific import attempts reference this same package revision? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-008" ] } ], "artifacts": [ { "id": "artifact-lifecycle", "name": "Package state and observation time record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-004", "SRC-008" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "bundle-governance", "name": "Transfer conditions and package handling", "description": "Represent authority and handling obligations without issuing grants or enforcing remote policy.", "rationale": "Authored grouping of package concerns informed by the cited open specifications; no source prescribes this hierarchy or a universal agent memory protocol.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ], "layers": [ { "id": "layer-authority", "name": "Recipient and purpose binding", "description": "Record references to current authority for export and import independently. A transferable byte sequence or an expressed policy is not proof of permission.", "source_refs": [ "SRC-005", "SRC-002" ], "findings": [ { "id": "finding-authority", "name": "Recipient and purpose binding", "description": "Record references to current authority for export and import independently. A transferable byte sequence or an expressed policy is not proof of permission.", "source_refs": [ "SRC-005", "SRC-002" ], "questions": [ { "id": "finding-authority-q01", "text": "Which current grant or other policy basis permits this selection to be exported?", "kind": "authority", "answer_data": [ "export_grant_ref", "grant_version", "scope_evidence" ] }, { "id": "finding-authority-q02", "text": "Which recipient, tenant boundary and intended purpose are permitted for this revision?", "kind": "access", "answer_data": [ "recipient_scope", "tenant_binding", "purpose_ref" ] }, { "id": "finding-authority-q03", "text": "Which duties, prohibitions and destination restrictions must be satisfied before import acceptance?", "kind": "requirement", "answer_data": [ "policy_refs", "duty_evidence_refs", "destination_restrictions" ] }, { "id": "finding-authority-q04", "text": "What must happen if authority has expired, been withdrawn or cannot be rechecked by the receiver?", "kind": "exception", "answer_data": [ "authority_status", "recheck_time", "fail_closed_disposition" ] } ], "data_elements": [ { "id": "finding-authority-data01", "name": "export_grant_ref / grant_version / scope_evidence", "description": "Candidate answer group for: Which current grant or other policy basis permits this selection to be exported? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-005", "SRC-002" ] }, { "id": "finding-authority-data02", "name": "recipient_scope / tenant_binding / purpose_ref", "description": "Candidate answer group for: Which recipient, tenant boundary and intended purpose are permitted for this revision? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-005", "SRC-002" ] }, { "id": "finding-authority-data03", "name": "policy_refs / duty_evidence_refs / destination_restrictions", "description": "Candidate answer group for: Which duties, prohibitions and destination restrictions must be satisfied before import acceptance? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-005", "SRC-002" ] }, { "id": "finding-authority-data04", "name": "authority_status / recheck_time / fail_closed_disposition", "description": "Candidate answer group for: What must happen if authority has expired, been withdrawn or cannot be rechecked by the receiver? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-005", "SRC-002" ] } ], "artifacts": [ { "id": "artifact-authority", "name": "Recipient and purpose binding record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-005", "SRC-002" ] } ], "inline_only_rationale": null } ] }, { "id": "layer-handling", "name": "Privacy, retention and safe handling", "description": "Bind payload and metadata handling to adopting policy. Default quarantined ingestion treats all imported memory as untrusted data, never as higher-priority instructions.", "source_refs": [ "SRC-001", "SRC-005" ], "findings": [ { "id": "finding-handling", "name": "Privacy, retention and safe handling", "description": "Bind payload and metadata handling to adopting policy. Default quarantined ingestion treats all imported memory as untrusted data, never as higher-priority instructions.", "source_refs": [ "SRC-001", "SRC-005" ], "questions": [ { "id": "finding-handling-q01", "text": "Which sensitive members, credentials or third-party data must be excluded or projected before release?", "kind": "privacy", "answer_data": [ "sensitivity_map", "exclusion_refs", "redaction_evidence" ] }, { "id": "finding-handling-q02", "text": "Which isolation, destination allowlist, resource limits and confidentiality controls protect package inspection?", "kind": "security", "answer_data": [ "handling_policy_ref", "resource_limits", "confidentiality_profile_ref" ] }, { "id": "finding-handling-q03", "text": "Which schedule or hold controls package replicas, inspection copies and minimal disposal evidence?", "kind": "retention", "answer_data": [ "retention_policy_ref", "hold_refs", "replica_inventory_ref", "disposal_receipt_refs" ] }, { "id": "finding-handling-q04", "text": "How are executable content and embedded instructions prevented from granting capabilities or changing agent policy?", "kind": "constraint", "answer_data": [ "quarantine_policy_ref", "activation_authority_ref", "restricted_content_disposition" ] } ], "data_elements": [ { "id": "finding-handling-data01", "name": "sensitivity_map / exclusion_refs / redaction_evidence", "description": "Candidate answer group for: Which sensitive members, credentials or third-party data must be excluded or projected before release? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-005" ] }, { "id": "finding-handling-data02", "name": "handling_policy_ref / resource_limits / confidentiality_profile_ref", "description": "Candidate answer group for: Which isolation, destination allowlist, resource limits and confidentiality controls protect package inspection? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-005" ] }, { "id": "finding-handling-data03", "name": "retention_policy_ref / hold_refs / replica_inventory_ref / disposal_receipt_refs", "description": "Candidate answer group for: Which schedule or hold controls package replicas, inspection copies and minimal disposal evidence? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-005" ] }, { "id": "finding-handling-data04", "name": "quarantine_policy_ref / activation_authority_ref / restricted_content_disposition", "description": "Candidate answer group for: How are executable content and embedded instructions prevented from granting capabilities or changing agent policy? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-001", "SRC-005" ] } ], "artifacts": [ { "id": "artifact-handling", "name": "Privacy, retention and safe handling record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-001", "SRC-005" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "bundle-acceptance", "name": "Receiver compatibility and disposition", "description": "Represent proposed import assessment and observed outcomes while leaving execution with the destination.", "rationale": "Authored grouping of package concerns informed by the cited open specifications; no source prescribes this hierarchy or a universal agent memory protocol.", "source_refs": [ "SRC-002", "SRC-004", "SRC-006", "SRC-007", "SRC-008" ], "layers": [ { "id": "layer-compatibility", "name": "Import plan and reconciliation boundary", "description": "Record a proposed target mapping and external decision references. The package does not resolve memory conflicts or rebuild indexes itself.", "source_refs": [ "SRC-004", "SRC-006", "SRC-007" ], "findings": [ { "id": "finding-compatibility", "name": "Import plan and reconciliation boundary", "description": "Record a proposed target mapping and external decision references. The package does not resolve memory conflicts or rebuild indexes itself.", "source_refs": [ "SRC-004", "SRC-006", "SRC-007" ], "questions": [ { "id": "finding-compatibility-q01", "text": "Which destination profile supports the selected memory kinds and required semantics?", "kind": "interoperability", "answer_data": [ "destination_profile_ref", "capability_evidence", "schema_mapping_ref" ] }, { "id": "finding-compatibility-q02", "text": "Which external conflict and precedence decisions govern collisions, deletions or already-present source revisions?", "kind": "decision", "answer_data": [ "conflict_rule_ref", "decision_refs", "collision_report" ] }, { "id": "finding-compatibility-q03", "text": "Which recipient-scoped replay and baseline checks prevent stale packages from restoring withdrawn memory?", "kind": "security", "answer_data": [ "replay_evidence_ref", "baseline_check_ref", "withdrawal_check_ref" ] }, { "id": "finding-compatibility-q04", "text": "Which dry-run losses and unresolved dependencies prevent the proposed import from being submitted?", "kind": "process", "answer_data": [ "dry_run_report_ref", "blocking_losses", "unresolved_refs" ] } ], "data_elements": [ { "id": "finding-compatibility-data01", "name": "destination_profile_ref / capability_evidence / schema_mapping_ref", "description": "Candidate answer group for: Which destination profile supports the selected memory kinds and required semantics? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006", "SRC-007" ] }, { "id": "finding-compatibility-data02", "name": "conflict_rule_ref / decision_refs / collision_report", "description": "Candidate answer group for: Which external conflict and precedence decisions govern collisions, deletions or already-present source revisions? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006", "SRC-007" ] }, { "id": "finding-compatibility-data03", "name": "replay_evidence_ref / baseline_check_ref / withdrawal_check_ref", "description": "Candidate answer group for: Which recipient-scoped replay and baseline checks prevent stale packages from restoring withdrawn memory? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006", "SRC-007" ] }, { "id": "finding-compatibility-data04", "name": "dry_run_report_ref / blocking_losses / unresolved_refs", "description": "Candidate answer group for: Which dry-run losses and unresolved dependencies prevent the proposed import from being submitted? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-006", "SRC-007" ] } ], "artifacts": [ { "id": "artifact-compatibility", "name": "Import plan and reconciliation boundary record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-004", "SRC-006", "SRC-007" ] } ], "inline_only_rationale": null } ] }, { "id": "layer-receipt", "name": "Outcome receipts and package retirement", "description": "Bind external receipts to recipient, attempt and exact revision. Delivery, parsing, validation and commit are distinct outcomes; incomplete imports remain visible.", "source_refs": [ "SRC-004", "SRC-002", "SRC-008" ], "findings": [ { "id": "finding-receipt", "name": "Outcome receipts and package retirement", "description": "Bind external receipts to recipient, attempt and exact revision. Delivery, parsing, validation and commit are distinct outcomes; incomplete imports remain visible.", "source_refs": [ "SRC-004", "SRC-002", "SRC-008" ], "questions": [ { "id": "finding-receipt-q01", "text": "Which destination receipt proves the observed outcome for this package revision and import attempt?", "kind": "evidence", "answer_data": [ "receipt_ref", "package_revision_ref", "attempt_ref", "receipt_authentication_ref" ] }, { "id": "finding-receipt-q02", "text": "Which member outcomes reconcile accepted, rejected, skipped and pending records against the submitted selection?", "kind": "measurement", "answer_data": [ "member_outcomes", "accepted_count", "rejected_count", "skipped_count", "pending_count" ] }, { "id": "finding-receipt-q03", "text": "What external evidence records rollback, partial commit or a retry without implying atomic success?", "kind": "exception", "answer_data": [ "transaction_ref", "rollback_ref", "retry_ref", "outcome_state" ] }, { "id": "finding-receipt-q04", "text": "Which withdrawal or disposal notice closes local package use while leaving remote deletion unconfirmed until evidenced?", "kind": "lifecycle", "answer_data": [ "withdrawal_notice_ref", "disposal_evidence_ref", "remote_acknowledgement_refs" ] } ], "data_elements": [ { "id": "finding-receipt-data01", "name": "receipt_ref / package_revision_ref / attempt_ref / receipt_authentication_ref", "description": "Candidate answer group for: Which destination receipt proves the observed outcome for this package revision and import attempt? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-002", "SRC-008" ] }, { "id": "finding-receipt-data02", "name": "member_outcomes / accepted_count / rejected_count / skipped_count / pending_count", "description": "Candidate answer group for: Which member outcomes reconcile accepted, rejected, skipped and pending records against the submitted selection? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-002", "SRC-008" ] }, { "id": "finding-receipt-data03", "name": "transaction_ref / rollback_ref / retry_ref / outcome_state", "description": "Candidate answer group for: What external evidence records rollback, partial commit or a retry without implying atomic success? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-002", "SRC-008" ] }, { "id": "finding-receipt-data04", "name": "withdrawal_notice_ref / disposal_evidence_ref / remote_acknowledgement_refs", "description": "Candidate answer group for: Which withdrawal or disposal notice closes local package use while leaving remote deletion unconfirmed until evidenced? Nested field types and constraints require an adopting profile; this is not an executable instance schema.", "value_kind": "object", "cardinality": "0..1", "required": false, "source_refs": [ "SRC-004", "SRC-002", "SRC-008" ] } ], "artifacts": [ { "id": "artifact-receipt", "name": "Outcome receipts and package retirement record", "description": "Versioned local evidence or external evidence reference for this finding; protect payload and metadata under the same scoped policy.", "media_or_form": [ "application/json", "governed record reference" ], "serial": true, "identity_strategy": "Authoritative master-system artifact ID, then governed IRI, then locally assigned UUID; package ID, revision and finding are relationships, not filename identity.", "source_refs": [ "SRC-004", "SRC-002", "SRC-008" ] } ], "inline_only_rationale": null } ] } ] } ] }, "functions": [ { "id": "function-describe", "name": "Describe selected export", "description": "Proposed, unimplemented local record operation. Creates a local draft only; refuses unidentified source revisions or unsupported delta baselines.", "inputs": [ "source selection evidence", "current package profile", "source snapshot reference" ], "outputs": [ "draft inventory and explicit omissions", "Refusal or unresolved-evidence status when preconditions fail" ], "preconditions": [ "A confirmed selection and authorized metadata access exist.", "Authorized role, intended purpose and optimistic revision check are required." ], "effects": [ "Creates a local draft only; refuses unidentified source revisions or unsupported delta baselines.", "Keep provenance and a minimal authorized change record. No external writes are implied." ], "source_refs": [ "SRC-001", "SRC-004", "SRC-006" ] }, { "id": "function-bind", "name": "Bind representation metadata", "description": "Proposed, unimplemented local record operation. Records mappings locally; does not convert remote memories or claim losslessness.", "inputs": [ "member inventory", "schema and context pins", "transformation reports" ], "outputs": [ "versioned semantic binding and loss report", "Refusal or unresolved-evidence status when preconditions fail" ], "preconditions": [ "All affected members are identified and local revision preconditions hold.", "Authorized role, intended purpose and optimistic revision check are required." ], "effects": [ "Records mappings locally; does not convert remote memories or claim losslessness.", "Keep provenance and a minimal authorized change record. No external writes are implied." ], "source_refs": [ "SRC-004", "SRC-006", "SRC-007" ] }, { "id": "function-integrity", "name": "Record integrity assessment", "description": "Proposed, unimplemented local record operation. Records assessment references; missing or failed checks remain unaccepted. This function neither manages keys nor signs payloads.", "inputs": [ "exact revision", "external digest and signature reports", "verification policy reference" ], "outputs": [ "separate completeness, digest, signature and trust dispositions", "Refusal or unresolved-evidence status when preconditions fail" ], "preconditions": [ "Evidence identifies exact byte scope, evaluator and verification time.", "Authorized role, intended purpose and optimistic revision check are required." ], "effects": [ "Records assessment references; missing or failed checks remain unaccepted. This function neither manages keys nor signs payloads.", "Keep provenance and a minimal authorized change record. No external writes are implied." ], "source_refs": [ "SRC-001", "SRC-002", "SRC-003" ] }, { "id": "function-conditions", "name": "Attach transfer conditions", "description": "Proposed, unimplemented local record operation. Attaches conditions without issuing grants or overriding recipient enforcement.", "inputs": [ "current grant and policy evidence", "intended recipient and purpose" ], "outputs": [ "scoped authority evidence or refusal record", "Refusal or unresolved-evidence status when preconditions fail" ], "preconditions": [ "Authorized curator has verified references and policy versions for the selection.", "Authorized role, intended purpose and optimistic revision check are required." ], "effects": [ "Attaches conditions without issuing grants or overriding recipient enforcement.", "Keep provenance and a minimal authorized change record. No external writes are implied." ], "source_refs": [ "SRC-005" ] }, { "id": "function-preflight", "name": "Prepare receiver review", "description": "Proposed, unimplemented local record operation. Produces a local plan; refuses unknown required semantics or unresolved policy blockers. Does not import, merge or rebuild an index.", "inputs": [ "destination profile", "inventory", "mapping", "external conflict and replay evidence" ], "outputs": [ "proposed import review with unresolved losses and blockers", "Refusal or unresolved-evidence status when preconditions fail" ], "preconditions": [ "No live destination mutation is permitted; evidence is bound to the exact package revision.", "Authorized role, intended purpose and optimistic revision check are required." ], "effects": [ "Produces a local plan; refuses unknown required semantics or unresolved policy blockers. Does not import, merge or rebuild an index.", "Keep provenance and a minimal authorized change record. No external writes are implied." ], "source_refs": [ "SRC-002", "SRC-004", "SRC-006", "SRC-007" ] }, { "id": "function-receipt", "name": "Attach outcome and disposition evidence", "description": "Proposed, unimplemented local record operation. Records partial, failed or successful external outcomes; may propose retirement, but does not execute rollback, remote deletion or package disposal.", "inputs": [ "authenticated destination receipt", "attempt and revision references", "applicable retention evidence" ], "outputs": [ "reconciled local outcome or unresolved-discrepancy record", "Refusal or unresolved-evidence status when preconditions fail" ], "preconditions": [ "Receipt origin, recipient binding and current local revision are established.", "Authorized role, intended purpose and optimistic revision check are required." ], "effects": [ "Records partial, failed or successful external outcomes; may propose retirement, but does not execute rollback, remote deletion or package disposal.", "Keep provenance and a minimal authorized change record. No external writes are implied." ], "source_refs": [ "SRC-002", "SRC-004", "SRC-005", "SRC-008" ] } ], "composition": [ { "target": "WM-MEM-001", "relation": "ALIGN", "purpose": "Candidate registry parent alignment only; source and destination stores are separately mastered. No inherited store operations. Candidate binding requires profile and version review.", "required": false, "source_refs": [ "SRC-001", "SRC-006" ] }, { "target": "WM-MEM-002", "relation": "REFERENCE", "purpose": "Pin original item identities and revisions; exported member representations do not own source item truth or lifecycle. Candidate binding requires profile and version review.", "required": false, "source_refs": [ "SRC-004", "SRC-006" ] }, { "target": "WM-MEM-009", "relation": "REFERENCE", "purpose": "Reference external conflict and precedence policy and reported decisions without implementing its evaluator. Candidate binding requires profile and version review.", "required": false, "source_refs": [ "SRC-004", "SRC-005" ] }, { "target": "WM-MEM-010", "relation": "REFERENCE", "purpose": "Bind retention and forgetting rules; execution stays with the authorized package custodian or remote memory system. Candidate binding requires profile and version review.", "required": false, "source_refs": [ "SRC-005" ] }, { "target": "WM-MEM-011", "relation": "REFERENCE", "purpose": "Bind current scope and sharing evidence without creating or extending grants. Candidate binding requires profile and version review.", "required": false, "source_refs": [ "SRC-005" ] }, { "target": "WM-MEM-014", "relation": "REFERENCE", "purpose": "Identify derived index representations when present; rebuilding and retrieval remain external. Candidate binding requires profile and version review.", "required": false, "source_refs": [ "SRC-004", "SRC-007" ] }, { "target": "WM-MEM-018", "relation": "REFERENCE", "purpose": "Reference trust assessments without inferring trust from hashes or signatures. Candidate binding requires profile and version review.", "required": false, "source_refs": [ "SRC-002", "SRC-004" ] }, { "target": "WM-MEM-020", "relation": "REFERENCE", "purpose": "Reference quarantine or redaction decisions and transformed payload provenance; do not own their execution. Candidate binding requires profile and version review.", "required": false, "source_refs": [ "SRC-004", "SRC-005" ] } ], "serviceLayers": { "dimension": { "owner_package_requirements": [ "Identify the accountable agent operator or memory system custodian by role and governed identifier.", "Declare namespace, transfer profile, purpose, authority and applicable retention policy.", "Resolve instance storage, interface, processes and model version before population." ], "namespace_guidance": "Use a governed package namespace; keep source item IDs, package revisions, representations and receiver attempt IDs separate. Preserve external master references.", "registry_links": [ "vr.wm-mem-012", "WM-MEM-001", "WM-MEM-002", "WM-MEM-011" ] }, "canon_and_patch": { "canonicalization_rules": [ "Freeze sealed revision bytes and declared digest scope. Optional JCS is a versioned serialization binding, not semantic graph equivalence.", "Do not normalize payload strings or silently rewrite source claims; unsupported representations stay explicit." ], "patch_rules": [ "Require expected revision, actor, purpose and evidence; create a new revision for content, scope, audience or policy changes.", "Redaction after sealing produces a derivative revision with new integrity evidence. Never preserve an old signature as covering changed content." ], "compatibility_rules": [ "Pin nested schemas, contexts, algorithm policy and destination profile; block unknown required semantics.", "Declare mapping loss, extension handling and delta baseline; no universal interchange or conformance claim." ] }, "artifact_rules": { "identity_priority": [ "Authoritative master-system identifier", "Governed global identifier or IRI", "UUID or ULID assigned by the adopting Dimension" ], "timestamp_rule": "Use RFC 3339 with seconds and explicit offset or Z. Distinguish source event time, export time, observation or ingestion time, verification time and receipt time. Keep unknown times explicit; date-only values are not fabricated instants.", "serial_naming_rule": "Use stable artifact ID and monotonic revision; dates and digests are attributes, not master identity. Names must not disclose personal content.", "integrity_rule": "Bind digests to exact bytes and scope; signatures cover the manifest and declared security metadata under a pinned profile. Record algorithm, key trust reference, verifier and time. Hash or signature success never proves memory truth, transfer authority or destination commit." }, "policies": [ "Deny unscoped export or import acceptance; recheck current recipient and purpose authority independently of signature verification.", "Treat every incoming member and attached bootstrap text as untrusted data. No executable activation, policy elevation or arbitrary remote fetching follows from package content.", "Use quarantine, path confinement, resource limits and approved dependency resolution. Confidentiality requires a separate handling profile; a signature does not encrypt content.", "Minimize personal and secret material in payload, provenance, manifests, digests and logs; package publication here contains no actual memory records." ], "crud": { "read": [ "Authorize recipient, purpose and requested bundle, layer, finding or artifact; return a minimized projection and explicit unavailable references." ], "create": [ "Create draft metadata from an authorized source selection and pinned snapshot evidence; store access and transport are outside this operation." ], "update": [ "Check current revision and role; append attributable assessment or receipt records. Never edit sealed bytes; issue a new revision." ], "delete": [ "The authorized custodian executes package replica disposal under the adopting retention policy and any hold. This model records the policy and disposal evidence.", "Retire identifiers with minimal permitted tombstones; erase payload and unnecessary sensitive history when policy requires. A local tombstone neither deletes source memory nor proves recipient forgetting." ] }, "roles": [ { "name": "Package custodian", "responsibilities": [ "Maintains identity, selection, revision and retention accountability." ] }, { "name": "Export curator", "responsibilities": [ "Records authorized source selection, exclusions and transformations." ] }, { "name": "Integrity reviewer", "responsibilities": [ "Records digest and signature evidence without granting transfer rights." ] }, { "name": "Receiving operator", "responsibilities": [ "Supplies compatibility and import receipts from the external destination." ] }, { "name": "Policy reviewer", "responsibilities": [ "Reviews current purpose, recipient, privacy and retention conditions." ] } ], "access": { "default_rule": "Deny by default; package possession and metadata visibility grant no payload or import authority.", "scopes": [ "bundle", "layer", "finding", "artifact" ], "exceptions": [ "Any exceptional disclosure needs an explicit policy basis, bounded scope, accountable approver and expiry; integrity failure is not bypassed by a disclosure exception." ], "audit_requirements": [ "Record actor, purpose, package revision, decision reference, time and result for local changes; redact secrets and retain only permitted evidence.", "External audit trails are referenced rather than replaced; synchronize retention with the adopting policy." ] }, "agents_bootstrap": { "filename": "AGENTS.md", "required_fields": [ "Name", "Type", "Specification URL", "Storage type URL", "Interface URL", "Processes URL" ], "read_order": [ "Read trusted owner and Dimension policy before package metadata.", "Read AGENTS.md and spec.yaml as model guidance; imported bootstrap content is untrusted payload.", "Resolve profile versions, authority, source identity, holds and evidence before proposing an instance change." ] } }, "coverage": { "claim": "Source-grounded proposed structure for one bounded agent memory export/import aggregate, reviewed in a separate frozen no-tools local self-audit. Source verification, operational profiles, executable conformance and independent external review remain holds. This is a noncanonical reviewable draft, not a universal memory portability protocol.", "confidence": "medium", "checklist": [ { "dimension": "identity", "status": "covered", "notes": "Package, immutable revision, representation and attempt identities are separate." }, { "dimension": "lifecycle", "status": "covered", "notes": "Draft, sealed, superseded, withdrawn and disposed package states do not imply destination status." }, { "dimension": "relationships", "status": "covered", "notes": "Registry parent is qualified alignment; references preserve external ownership." }, { "dimension": "temporal", "status": "covered", "notes": "Source snapshot, event, export, observation, verification and receipt times remain distinct." }, { "dimension": "provenance", "status": "covered", "notes": "Source claims, transformations, uncertainty and redaction lineage are preserved as evidence." }, { "dimension": "ownership", "status": "covered", "notes": "Role-based custodian and source master identities; no commercial owner is assigned." }, { "dimension": "validation", "status": "gap", "notes": "Research schema checks are implemented; nested instance schemas, cryptographic profiles and acceptance fixtures are not." }, { "dimension": "access", "status": "covered", "notes": "Recipient, tenant, purpose and authority are checked independently of package possession." }, { "dimension": "retention and deletion", "status": "covered", "notes": "Package copies, holds and minimal tombstones are governed; remote forgetting needs separate evidence." }, { "dimension": "interoperability", "status": "gap", "notes": "Open specification alignments are conceptual; mappings and destination contracts need conformance testing." }, { "dimension": "direct properties", "status": "covered", "notes": "Member count, byte size, format, profile, state, digest scope and revision are meaningful; physical geometry is not applicable." }, { "dimension": "recognition and observation", "status": "covered", "notes": "Inventory, manifest and source evidence distinguish a package from a live store or recall context." }, { "dimension": "capabilities and hazards", "status": "covered", "notes": "Six proposed local record operations distinguish refusal, effect and external execution. Untrusted memory remains inactive." }, { "dimension": "context and evidence", "status": "covered", "notes": "Transfer profile, source selection, receiving purpose and versioned evidence constrain every claim." } ], "known_omissions": [ "Independent external review is waived; a local self-audit is not a second provider.", "Direct HTTP checks are not attempted under the owner-reported sandbox restriction. Selected web-service readings do not establish measured HTTP status, current errata or immutable source bytes.", "Executable instance schemas, signed envelope coverage, algorithm allowlists, key status rules, replay windows and trust infrastructure require a separately tested profile.", "Destination-specific transaction, loss, vector compatibility, delta, backup and distributed deletion semantics remain external profile work.", "Privacy, rights, cross-boundary disclosure, retention and licensing need applicable policy review. No universal right to export third-party memory is asserted." ], "conflicts": [], "regional_assumptions": [ "No jurisdiction-specific portability entitlement is inferred from these technical specifications. Applicable legal and organizational policy is separately reviewed." ], "adversarial_checks": [ "Reject checksums or a valid signature as proof of truth, consent or import success.", "Reject a descriptive RO-Crate inventory as proof that all payload members are covered.", "Reject a Memory Store parent as inheritance of store operations.", "Reject replay of a withdrawn item even when an old package still has valid integrity evidence.", "Reject executing procedural memory or imported instructions without separate activation authority.", "Reject a receipt for a different recipient, revision or attempt as proof of this import." ] }, "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": "aggregate", "status": "accepted", "rationale": "The subject groups member representations, metadata and integrity evidence into a portable unit with its own identity and immutable revisions. It is not a live Memory Store and does not inherit store operations. Registry standalone-mm is not a subject-kind enum; the parent remains qualified candidate alignment." }, "decisions": [ { "concept": "Package boundary", "disposition": "accepted", "rationale": "Aggregate ownership covers package metadata and representations while leaving original memory items, stores and execution externally mastered." }, { "concept": "Registry parent and candidate links", "disposition": "qualified", "rationale": "Memory Store is candidate alignment only. No relation-ledger rows or legacy alias exist for reconciliation; the eight proposed bindings are optional and require version review." }, { "concept": "Identity and selection", "disposition": "accepted", "rationale": "Package, revision, copy and attempt identities remain distinct. Empty selections, missing dependencies and deltas cannot be conflated with complete snapshots." }, { "concept": "Inventory and descriptive metadata", "disposition": "separated", "rationale": "Descriptive RO-Crate metadata does not establish an exhaustive payload inventory. The authored profile records completeness against its declared selection separately." }, { "concept": "Semantic portability", "disposition": "qualified", "rationale": "Context pins, representation types, unsupported fields and loss reports are required design evidence. Byte preservation does not imply meaningful reuse of vectors or arbitrary memory schemas." }, { "concept": "Digests and canonicalization", "disposition": "accepted with profile hold", "rationale": "Digest evidence identifies exact byte scope. Optional JCS remains a serialization binding rather than graph canonicalization or proof of semantic equivalence." }, { "concept": "Signature evidence and authority", "disposition": "separated", "rationale": "Signature, key origin, trust, permission and destination commit are distinct. Unknown-key, failed, unsigned and MAC-only states cannot be silently promoted to accepted asymmetric signature evidence." }, { "concept": "Lineage and uncertain assertions", "disposition": "accepted", "rationale": "Export transformations retain attribution and uncertainty. A digest, provenance assertion or conversion does not certify the truth of memory or authorize its activation." }, { "concept": "Sealed revision continuity", "disposition": "accepted", "rationale": "Content or audience changes require a new revision and new integrity evidence. Later assessments and external receipts refer to the sealed revision rather than silently modifying its signed bytes." }, { "concept": "Transfer and handling conditions", "disposition": "accepted at policy level", "rationale": "Recipient, tenant, purpose, authority rechecks and quarantine remain explicit. Incoming package instructions cannot grant capabilities or replace trusted policy." }, { "concept": "Retention and remote deletion", "disposition": "qualified", "rationale": "Policy-controlled package disposal and minimal tombstones do not own source retention or prove remote forgetting. History preservation is limited by required payload and sensitive-history erasure." }, { "concept": "Compatibility and outcome evidence", "disposition": "accepted", "rationale": "Replay, delta baseline, withdrawals and external conflict dispositions are required review evidence. Receipts bind recipient, attempt and revision and preserve partial or failed outcomes." }, { "concept": "Local functions and conformance", "disposition": "proposed only", "rationale": "All six functions are unimplemented local record operations with authority and revision preconditions. They do not sign, issue grants, import, resolve conflicts, rebuild indexes or delete remote records. Nested schemas and runtime fixtures remain deferred." }, { "concept": "Source and provider assurance", "disposition": "limited and held", "rationale": "Selected readings of eight primary documents support component concepts. Direct HTTP is unattempted and statuses unmeasured. External providers were skipped with zero attempts; this local self-audit is not independent 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.", "Source and version verification remains incomplete. All eight admitted URLs supplied selected readable web-service text, but direct HTTP checks were not attempted under the owner-reported sandbox restriction. There are zero measured HTTP responses; current errata, immutable source bytes and full claim coverage remain unverified. The coordinator must run check_sources.py outside the sandbox and review claims separately.", "Adopting profiles must establish transfer authority, recipient and purpose restrictions, privacy, licensing, confidentiality, retention and applicable legal requirements. This technical research does not create a universal right to export or import memory.", "Executable nested schemas, signature coverage, algorithm and key-trust policy, pinned neighbor bindings, semantic mappings, delta and replay rules, destination transaction behavior and adversarial acceptance fixtures remain incomplete. No operational security, lossless portability or open-specification conformance certification is claimed.", "Independent external review was explicitly waived by the repository owner; this codex-only result remains a reviewable draft." ], "deferredResearch": [ "Restore independent external review and verify source versions, errata, bytes and claim-level applicability before any canonical promotion.", "Develop a pinned adoption profile and nested schemas that reconcile signed package identity, audience, authority, metadata privacy and retention without changing external master ownership.", "Test representative empty, delta, redacted, derived-vector, unknown-context, unsigned, replayed, revoked and partial-import cases, including rollback and deletion evidence boundaries." ] }, "statistics": { "sources": 8, "bundles": 6, "layers": 12, "findings": 12, "questions": 48, "artifacts": 12, "functions": 6 } }