# Vercy AI instruction - YAML 1.2 (JSON-compatible) { "vercy": "1.0-draft", "publication": { "status": "published", "adjudicationStatus": "reviewable-draft", "publishableCanonical": false, "generatedAt": "2026-09-09T21:15:18Z", "synthesisSha256": "7f8de56cfae6931fe3f32f91b1e8990e03e4324d805ac9dee250d69c854c079d", "providerMode": "single-provider-waiver", "providers": [ "Codex" ], "waivedProviders": [ "Claude", "Grok" ] }, "metaModel": { "id": "WM-ORG-014", "registryId": "vr.wm-org-014", "name": "Customer / Account Relationship", "version": "0.3.0-research.1", "previousVersions": [], "entryKind": "relationship", "family": "World Models", "category": "Society, people and institutions", "industry": [ "Cross-industry" ], "domain": [ "SOC.ORG.CRM" ], "tags": [ "customer", "account", "relationship", "soc.org.crm" ], "status": "published" }, "canonicalUrl": "https://ver.cy/models/wm-org-014-customer-account-relationship/", "sourceUrl": "https://github.com/ver-cy/world-models/tree/feat/mega-model-registry/research/runs/wm-org-014", "model": { "registry_id": "vr.wm-org-014", "model_id": "WM-ORG-014", "name": "Customer / Account Relationship", "entry_kind": "relationship", "purpose": "Describe a customer relationship mastered by CRM, including seller scope, role, lifecycle, commercial references and accountable context.", "scope_statement": "A source-qualified commercial relationship, not global party identity. CRM account, individual contact, billing customer, login, prospect and entitlement remain distinct record kinds.", "in_scope": [ "Seller-scoped customer identity, participant roles and recognition evidence", "Source lifecycle, grouping, account responsibility and contact preference provenance", "Commercial-master references, interactions, duplicate lineage and governed exchange" ], "out_of_scope": [ "Party identity, login credentials and payment instruments", "Executing outreach, charging, credit decisions, service entitlement changes or CRM merge transactions", "Universal customer state machine, legal corporate hierarchy or consent inference" ], "boundary_notes": [ { "neighbor": "Party master", "distinction": "One party can participate in multiple customer relationships and seller/service scopes.", "source_refs": [ "SRC-001", "SRC-002" ] }, { "neighbor": "Billing and subscription masters", "distinction": "Their attributed snapshots and typed references do not define CRM relationship truth.", "source_refs": [ "SRC-001", "SRC-004" ] }, { "neighbor": "Lead and opportunity", "distinction": "Customer recognition needs declared evidence; prospect record creation alone is not universal establishment of a relationship.", "source_refs": [ "SRC-001", "SRC-002" ] }, { "neighbor": "Contact and communication authority", "distinction": "A contact link or permissive preference default proves neither authority to purchase nor permission to communicate.", "source_refs": [ "SRC-001", "SRC-003" ] } ] }, "sources": [ { "id": "SRC-001", "title": "TMF629 Customer Management OAS", "organization": "TM Forum", "url": "https://raw.githubusercontent.com/tmforum-apis/TMF629_CustomerManagement/main/TMF629-Customer_Management-v5.0.1.oas.yaml", "version_or_date": "5.0.1; mutable main commit pin pending", "source_type": "schema", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-09T21:10:00Z", "relevance": "Selected PartyRole, engagedParty, AccountRef and lifecycle examples; full required/discriminator graph not verified." }, { "id": "SRC-002", "title": "Customer entities: Account and Contact", "organization": "Microsoft", "url": "https://learn.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/customer-entities-account-contact?view=op-9-1", "version_or_date": "On-premises 9.1 documentation; date pin pending", "source_type": "first-party-doc", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-09-09T21:10:00Z", "relevance": "Selected CRM account hierarchy and contact distinctions; implementation constraints are not universal legal structure." }, { "id": "SRC-003", "title": "Dataverse Account table reference", "organization": "Microsoft", "url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/reference/entities/account", "version_or_date": "Mutable reference; exact release pin pending", "source_type": "first-party-doc", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-09-09T21:10:00Z", "relevance": "Selected DoNotEMail boolean and permissive default; consent separation is a Vercy inference, not a legal claim." }, { "id": "SRC-004", "title": "Customer object", "organization": "Stripe", "url": "https://docs.stripe.com/api/customers/object", "version_or_date": "Mutable API documentation; API release pin pending", "source_type": "first-party-doc", "primary_source": true, "authority_tier": 2, "accessed_at": "2026-09-09T21:10:00Z", "relevance": "Selected nullable email and discount fields illustrate scoped billing customer information; not a complete CRM mapping." }, { "id": "SRC-005", "title": "PROV-O: The PROV Ontology", "organization": "W3C", "url": "https://www.w3.org/TR/prov-o/", "version_or_date": "Recommendation; exact dated pin pending", "source_type": "ontology", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-09T21:10:00Z", "relevance": "Selected attribution and derivation concepts for record lineage, not evidence of commercial authority." }, { "id": "SRC-006", "title": "Date and Time on the Internet: Timestamps", "organization": "IETF", "url": "https://www.rfc-editor.org/rfc/rfc3339", "version_or_date": "RFC 3339 July 2002", "source_type": "standard", "primary_source": true, "authority_tier": 1, "accessed_at": "2026-09-09T21:10:00Z", "relevance": "Selected timestamp grammar and examples; precise instants separate from date-only effects and identifiers." } ], "structure": { "bundles": [ { "id": "customer-customer-role-and-commercial-scope", "name": "Customer role and commercial scope", "description": "Customer relationship customer role and commercial scope.", "rationale": "Two complementary customer-owned records; related parties, commercial transactions and service systems remain referenced masters.", "source_refs": [ "SRC-001", "SRC-002", "SRC-004" ], "layers": [ { "id": "customer-identity", "name": "Supplier-qualified relationship identity", "description": "Customer relationship record for supplier-qualified relationship identity, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002" ], "findings": [ { "id": "customer-identity-record", "name": "Supplier-qualified relationship identity record", "description": "Customer relationship record for supplier-qualified relationship identity, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002" ], "questions": [ { "id": "customer-identity-q01", "text": "Which master namespace and identifier distinguish this customer relationship from its party identity?", "kind": "identity", "answer_data": [ "customer-identity-identity" ] }, { "id": "customer-identity-q02", "text": "Which selling organization, business unit or service scope defines the relationship?", "kind": "relationship", "answer_data": [ "customer-identity-commercialscope" ] }, { "id": "customer-identity-q03", "text": "Which aliases and external customer IDs identify this same scoped record rather than another account of the party?", "kind": "evidence", "answer_data": [ "customer-identity-aliases" ] } ], "data_elements": [ { "id": "customer-identity-identity", "name": "identity", "description": "Proposed structured answer fields: master,id,partyRef. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "customer-identity-commercialscope", "name": "commercialScope", "description": "Proposed structured answer fields: sellerRef,unitRef,serviceScope. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "customer-identity-aliases", "name": "aliases", "description": "Proposed structured answer fields: system,identifier,scope,evidence. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] } ], "artifacts": [ { "id": "customer-identity-artifact", "name": "Supplier-qualified relationship identity evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-002" ] } ], "inline_only_rationale": null } ] }, { "id": "customer-kind", "name": "Account kind and participant roles", "description": "Customer relationship record for account kind and participant roles, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-004" ], "findings": [ { "id": "customer-kind-record", "name": "Account kind and participant roles record", "description": "Customer relationship record for account kind and participant roles, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-004" ], "questions": [ { "id": "customer-kind-q01", "text": "Does the source record represent a customer role, CRM account, individual contact or billing account?", "kind": "classification", "answer_data": [ "customer-kind-kind" ] }, { "id": "customer-kind-q02", "text": "Which parties act as buyer, payer, user, bill receiver or representative in this relationship?", "kind": "relationship", "answer_data": [ "customer-kind-parties" ] }, { "id": "customer-kind-q03", "text": "Which authority evidence limits what each related contact can request without assuming purchasing power from a contact link?", "kind": "authority", "answer_data": [ "customer-kind-authority" ] } ], "data_elements": [ { "id": "customer-kind-kind", "name": "kind", "description": "Proposed structured answer fields: scheme,version,code,excludedKinds. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-004" ] }, { "id": "customer-kind-parties", "name": "parties", "description": "Proposed structured answer fields: partyRefs,roles,validTime. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-004" ] }, { "id": "customer-kind-authority", "name": "authority", "description": "Proposed structured answer fields: mandateRef,scope,evidenceStatus. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-004" ] } ], "artifacts": [ { "id": "customer-kind-artifact", "name": "Account kind and participant roles evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-002", "SRC-004" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "customer-qualification-and-relationship-lifecycle", "name": "Qualification and relationship lifecycle", "description": "Customer relationship qualification and relationship lifecycle.", "rationale": "Two complementary customer-owned records; related parties, commercial transactions and service systems remain referenced masters.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005", "SRC-006" ], "layers": [ { "id": "customer-recognition", "name": "Customer recognition and onboarding references", "description": "Customer relationship record for customer recognition and onboarding references, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ], "findings": [ { "id": "customer-recognition-record", "name": "Customer recognition and onboarding references record", "description": "Customer relationship record for customer recognition and onboarding references, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ], "questions": [ { "id": "customer-recognition-q01", "text": "What evidence distinguishes a prospect record from an established customer relationship under the owner's definition?", "kind": "evidence", "answer_data": [ "customer-recognition-recognition" ] }, { "id": "customer-recognition-q02", "text": "Which onboarding or agreement records establish the current relationship without importing their workflows?", "kind": "process", "answer_data": [ "customer-recognition-onboarding" ] }, { "id": "customer-recognition-q03", "text": "Which prerequisites remain unknown or unmet without turning that state into an automated eligibility or credit decision?", "kind": "constraint", "answer_data": [ "customer-recognition-prerequisites" ] } ], "data_elements": [ { "id": "customer-recognition-recognition", "name": "recognition", "description": "Proposed structured answer fields: definition,evidence,prospectRef. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] }, { "id": "customer-recognition-onboarding", "name": "onboarding", "description": "Proposed structured answer fields: processRef,agreementRefs,statusSource. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] }, { "id": "customer-recognition-prerequisites", "name": "prerequisites", "description": "Proposed structured answer fields: requirements,unknowns,decisionMaster. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] } ], "artifacts": [ { "id": "customer-recognition-artifact", "name": "Customer recognition and onboarding references evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] } ], "inline_only_rationale": null } ] }, { "id": "customer-state", "name": "Commercial state and temporal history", "description": "Customer relationship record for commercial state and temporal history, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-005", "SRC-006" ], "findings": [ { "id": "customer-state-record", "name": "Commercial state and temporal history record", "description": "Customer relationship record for commercial state and temporal history, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-005", "SRC-006" ], "questions": [ { "id": "customer-state-q01", "text": "Which source-qualified lifecycle state and reason describe this relationship at the effective time?", "kind": "state", "answer_data": [ "customer-state-state" ] }, { "id": "customer-state-q02", "text": "When were activation, dormancy, closure or reactivation observed and recorded, distinct from source effect?", "kind": "temporal", "answer_data": [ "customer-state-history" ] }, { "id": "customer-state-q03", "text": "Does record closure mean ended commercial relationship, CRM deactivation or data retirement, and which obligations remain elsewhere?", "kind": "lifecycle", "answer_data": [ "customer-state-closure" ] } ], "data_elements": [ { "id": "customer-state-state", "name": "state", "description": "Proposed structured answer fields: scheme,code,reason,validTime. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-005", "SRC-006" ] }, { "id": "customer-state-history", "name": "history", "description": "Proposed structured answer fields: events,observedAt,recordedAt,precision. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-005", "SRC-006" ] }, { "id": "customer-state-closure", "name": "closure", "description": "Proposed structured answer fields: meaning,evidence,outstandingMasterRefs. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-005", "SRC-006" ] } ], "artifacts": [ { "id": "customer-state-artifact", "name": "Commercial state and temporal history evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-005", "SRC-006" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "customer-relationship-structure-and-ownership", "name": "Relationship structure and ownership", "description": "Customer relationship relationship structure and ownership.", "rationale": "Two complementary customer-owned records; related parties, commercial transactions and service systems remain referenced masters.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ], "layers": [ { "id": "customer-grouping", "name": "Account grouping and hierarchy", "description": "Customer relationship record for account grouping and hierarchy, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002" ], "findings": [ { "id": "customer-grouping-record", "name": "Account grouping and hierarchy record", "description": "Customer relationship record for account grouping and hierarchy, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002" ], "questions": [ { "id": "customer-grouping-q01", "text": "Which parent, group or subsidiary links are CRM organization conveniences versus legal-party relationships?", "kind": "relationship", "answer_data": [ "customer-grouping-hierarchy" ] }, { "id": "customer-grouping-q02", "text": "What scope, cardinality and validity qualify a group roll-up without assuming the source's one-parent rule is universal?", "kind": "composition", "answer_data": [ "customer-grouping-grouping" ] }, { "id": "customer-grouping-q03", "text": "Which measures or records must not be double-counted or shared merely because accounts are grouped?", "kind": "constraint", "answer_data": [ "customer-grouping-rollup" ] } ], "data_elements": [ { "id": "customer-grouping-hierarchy", "name": "hierarchy", "description": "Proposed structured answer fields: linkType,parentRef,legalRelationRef. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "customer-grouping-grouping", "name": "grouping", "description": "Proposed structured answer fields: scope,cardinality,validity. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] }, { "id": "customer-grouping-rollup", "name": "rollup", "description": "Proposed structured answer fields: grain,exclusions,sharingPolicy. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002" ] } ], "artifacts": [ { "id": "customer-grouping-artifact", "name": "Account grouping and hierarchy evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-002" ] } ], "inline_only_rationale": null } ] }, { "id": "customer-responsibility", "name": "Account responsibility and service routing", "description": "Customer relationship record for account responsibility and service routing, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ], "findings": [ { "id": "customer-responsibility-record", "name": "Account responsibility and service routing record", "description": "Customer relationship record for account responsibility and service routing, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ], "questions": [ { "id": "customer-responsibility-q01", "text": "Who stewards this relationship and which team or role owns each service responsibility?", "kind": "ownership", "answer_data": [ "customer-responsibility-ownership" ] }, { "id": "customer-responsibility-q02", "text": "Which assignment, territory or handover evidence limits the responsible person's authority and valid interval?", "kind": "authority", "answer_data": [ "customer-responsibility-assignment" ] }, { "id": "customer-responsibility-q03", "text": "Where are unresolved support requests routed without duplicating case or grievance ownership?", "kind": "process", "answer_data": [ "customer-responsibility-routing" ] } ], "data_elements": [ { "id": "customer-responsibility-ownership", "name": "ownership", "description": "Proposed structured answer fields: steward,team,serviceRoles. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] }, { "id": "customer-responsibility-assignment", "name": "assignment", "description": "Proposed structured answer fields: scope,evidence,validity. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] }, { "id": "customer-responsibility-routing", "name": "routing", "description": "Proposed structured answer fields: caseMaster,queueRef,unresolvedRefs. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] } ], "artifacts": [ { "id": "customer-responsibility-artifact", "name": "Account responsibility and service routing evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "customer-commercial-and-communication-bindings", "name": "Commercial and communication bindings", "description": "Customer relationship commercial and communication bindings.", "rationale": "Two complementary customer-owned records; related parties, commercial transactions and service systems remain referenced masters.", "source_refs": [ "SRC-001", "SRC-003", "SRC-004" ], "layers": [ { "id": "customer-bindings", "name": "Billing, agreement and entitlement references", "description": "Customer relationship record for billing, agreement and entitlement references, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-004" ], "findings": [ { "id": "customer-bindings-record", "name": "Billing, agreement and entitlement references record", "description": "Customer relationship record for billing, agreement and entitlement references, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-004" ], "questions": [ { "id": "customer-bindings-q01", "text": "Which billing accounts, contracts, subscriptions or service entitlements are related, with which master systems?", "kind": "relationship", "answer_data": [ "customer-bindings-bindings" ] }, { "id": "customer-bindings-q02", "text": "Which account or payment status can be displayed as an attributed snapshot but must not be interpreted as relationship truth?", "kind": "provenance", "answer_data": [ "customer-bindings-snapshots" ] }, { "id": "customer-bindings-q03", "text": "Which operations remain exclusively with billing or service masters rather than the customer context record?", "kind": "constraint", "answer_data": [ "customer-bindings-delegation" ] } ], "data_elements": [ { "id": "customer-bindings-bindings", "name": "bindings", "description": "Proposed structured answer fields: type,reference,master,role. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-004" ] }, { "id": "customer-bindings-snapshots", "name": "snapshots", "description": "Proposed structured answer fields: value,source,asOf,limitations. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-004" ] }, { "id": "customer-bindings-delegation", "name": "delegation", "description": "Proposed structured answer fields: operation,master,excludedEffects. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-004" ] } ], "artifacts": [ { "id": "customer-bindings-artifact", "name": "Billing, agreement and entitlement references evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-004" ] } ], "inline_only_rationale": null } ] }, { "id": "customer-contact", "name": "Contact channels and preference evidence", "description": "Customer relationship record for contact channels and preference evidence, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-003", "SRC-004" ], "findings": [ { "id": "customer-contact-record", "name": "Contact channels and preference evidence record", "description": "Customer relationship record for contact channels and preference evidence, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-003", "SRC-004" ], "questions": [ { "id": "customer-contact-q01", "text": "Which contact points and address roles are valid for this relationship and purpose, rather than global party attributes?", "kind": "relationship", "answer_data": [ "customer-contact-channels" ] }, { "id": "customer-contact-q02", "text": "Which preferences or suppression flags are expressed, inferred or system defaults, and from which evidence?", "kind": "provenance", "answer_data": [ "customer-contact-preferences" ] }, { "id": "customer-contact-q03", "text": "Which separate consent or policy authority must be consulted before contact, regardless of a permissive default flag?", "kind": "authority", "answer_data": [ "customer-contact-contactauthority" ] } ], "data_elements": [ { "id": "customer-contact-channels", "name": "channels", "description": "Proposed structured answer fields: contactRef,purpose,role,validity. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-003", "SRC-004" ] }, { "id": "customer-contact-preferences", "name": "preferences", "description": "Proposed structured answer fields: value,origin,evidence,asOf. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-003", "SRC-004" ] }, { "id": "customer-contact-contactauthority", "name": "contactAuthority", "description": "Proposed structured answer fields: policyRef,consentRef,scope,unknowns. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-003", "SRC-004" ] } ], "artifacts": [ { "id": "customer-contact-artifact", "name": "Contact channels and preference evidence evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-003", "SRC-004" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "customer-relationship-observations-and-identity-change", "name": "Relationship observations and identity change", "description": "Customer relationship relationship observations and identity change.", "rationale": "Two complementary customer-owned records; related parties, commercial transactions and service systems remain referenced masters.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005", "SRC-006" ], "layers": [ { "id": "customer-assessment", "name": "Interaction and assessment context", "description": "Customer relationship record for interaction and assessment context, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ], "findings": [ { "id": "customer-assessment-record", "name": "Interaction and assessment context record", "description": "Customer relationship record for interaction and assessment context, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ], "questions": [ { "id": "customer-assessment-q01", "text": "Which interaction, complaint or purchase references inform the customer relationship without copying their payloads?", "kind": "evidence", "answer_data": [ "customer-assessment-observations" ] }, { "id": "customer-assessment-q02", "text": "Which classification or relationship-health assessment has a named method, time and uncertainty instead of an unexplained score?", "kind": "measurement", "answer_data": [ "customer-assessment-assessment" ] }, { "id": "customer-assessment-q03", "text": "Which information is excluded from profiling and downstream automated decisions under the governing policy?", "kind": "privacy", "answer_data": [ "customer-assessment-exclusions" ] } ], "data_elements": [ { "id": "customer-assessment-observations", "name": "observations", "description": "Proposed structured answer fields: eventRefs,source,purpose. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] }, { "id": "customer-assessment-assessment", "name": "assessment", "description": "Proposed structured answer fields: scheme,method,asOf,uncertainty. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] }, { "id": "customer-assessment-exclusions", "name": "exclusions", "description": "Proposed structured answer fields: dataClasses,uses,policyRef. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] } ], "artifacts": [ { "id": "customer-assessment-artifact", "name": "Interaction and assessment context evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] } ], "inline_only_rationale": null } ] }, { "id": "customer-reconciliation", "name": "Duplicate, merge and split lineage", "description": "Customer relationship record for duplicate, merge and split lineage, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-002", "SRC-005", "SRC-006" ], "findings": [ { "id": "customer-reconciliation-record", "name": "Duplicate, merge and split lineage record", "description": "Customer relationship record for duplicate, merge and split lineage, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-002", "SRC-005", "SRC-006" ], "questions": [ { "id": "customer-reconciliation-q01", "text": "Which evidence identifies duplicate relationship records while preserving distinct seller or service scopes?", "kind": "identity", "answer_data": [ "customer-reconciliation-duplicates" ] }, { "id": "customer-reconciliation-q02", "text": "Which authorized merge/split decision maps old identifiers and fields to surviving or new records?", "kind": "decision", "answer_data": [ "customer-reconciliation-change" ] }, { "id": "customer-reconciliation-q03", "text": "How can a mistaken merge be corrected without losing source lineage, preferences or unrelated customer accounts?", "kind": "exception", "answer_data": [ "customer-reconciliation-recovery" ] } ], "data_elements": [ { "id": "customer-reconciliation-duplicates", "name": "duplicates", "description": "Proposed structured answer fields: candidates,evidence,scopeTest. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-002", "SRC-005", "SRC-006" ] }, { "id": "customer-reconciliation-change", "name": "change", "description": "Proposed structured answer fields: decisionRef,idMapping,fieldProvenance. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-002", "SRC-005", "SRC-006" ] }, { "id": "customer-reconciliation-recovery", "name": "recovery", "description": "Proposed structured answer fields: compensation,priorRevisions,protectedLinks. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-002", "SRC-005", "SRC-006" ] } ], "artifacts": [ { "id": "customer-reconciliation-artifact", "name": "Duplicate, merge and split lineage evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-002", "SRC-005", "SRC-006" ] } ], "inline_only_rationale": null } ] } ] }, { "id": "customer-stewardship-and-interoperability", "name": "Stewardship and interoperability", "description": "Customer relationship stewardship and interoperability.", "rationale": "Two complementary customer-owned records; related parties, commercial transactions and service systems remain referenced masters.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-006" ], "layers": [ { "id": "customer-stewardship", "name": "Mastership, access and retention", "description": "Customer relationship record for mastership, access and retention, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-003", "SRC-005" ], "findings": [ { "id": "customer-stewardship-record", "name": "Mastership, access and retention record", "description": "Customer relationship record for mastership, access and retention, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-003", "SRC-005" ], "questions": [ { "id": "customer-stewardship-q01", "text": "Which CRM is authoritative for each relationship field and which caches are stale or conflicting?", "kind": "ownership", "answer_data": [ "customer-stewardship-mastership" ] }, { "id": "customer-stewardship-q02", "text": "Which actors may read or update which fields without gaining access to private billing or identity data?", "kind": "access", "answer_data": [ "customer-stewardship-access" ] }, { "id": "customer-stewardship-q03", "text": "What retention and correction rules keep necessary history while avoiding unnecessary personal-data copies?", "kind": "retention", "answer_data": [ "customer-stewardship-retention" ] } ], "data_elements": [ { "id": "customer-stewardship-mastership", "name": "mastership", "description": "Proposed structured answer fields: fieldMasters,freshness,conflicts. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-003", "SRC-005" ] }, { "id": "customer-stewardship-access", "name": "access", "description": "Proposed structured answer fields: actorRole,fieldScope,policy. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-003", "SRC-005" ] }, { "id": "customer-stewardship-retention", "name": "retention", "description": "Proposed structured answer fields: rule,reviewDate,correction,disposition. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-003", "SRC-005" ] } ], "artifacts": [ { "id": "customer-stewardship-artifact", "name": "Mastership, access and retention evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-003", "SRC-005" ] } ], "inline_only_rationale": null } ] }, { "id": "customer-mapping", "name": "Versioned mapping and agent acceptance", "description": "Customer relationship record for versioned mapping and agent acceptance, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-006" ], "findings": [ { "id": "customer-mapping-record", "name": "Versioned mapping and agent acceptance record", "description": "Customer relationship record for versioned mapping and agent acceptance, qualified by seller, source and effective scope; not remastered party or billing truth.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-006" ], "questions": [ { "id": "customer-mapping-q01", "text": "Which exact TMF629, CRM or billing-customer schema mappings preserve the declared record kind?", "kind": "interoperability", "answer_data": [ "customer-mapping-mappings" ] }, { "id": "customer-mapping-q02", "text": "What identifiers, role meanings, hierarchy rules or preference defaults are lost or changed in a round trip?", "kind": "quality", "answer_data": [ "customer-mapping-losses" ] }, { "id": "customer-mapping-q03", "text": "Which authorized record operations and negative fixtures prevent contact, charging or eligibility changes as unintended effects?", "kind": "validation", "answer_data": [ "customer-mapping-acceptance" ] } ], "data_elements": [ { "id": "customer-mapping-mappings", "name": "mappings", "description": "Proposed structured answer fields: schemaVersion,term,kindTest. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-006" ] }, { "id": "customer-mapping-losses", "name": "losses", "description": "Proposed structured answer fields: fields,meaning,defaults,warning. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-006" ] }, { "id": "customer-mapping-acceptance", "name": "acceptance", "description": "Proposed structured answer fields: operations,preconditions,fixtures,results. Explicit unknown and source attribution required when unresolved. Nested executable constraints are deferred.", "value_kind": "object", "cardinality": "1", "required": true, "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-006" ] } ], "artifacts": [ { "id": "customer-mapping-artifact", "name": "Versioned mapping and agent acceptance evidence record", "description": "Revisioned minimal assertion with authorized evidence references; excludes payment instruments, credentials and unnecessary private contact payloads.", "media_or_form": [ "text/markdown", "application/json", "application/yaml", "external reference" ], "serial": true, "identity_strategy": "Master-qualified stable ID, otherwise Dimension UUID; separate immutable revision and digest, never timestamp alone.", "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004", "SRC-005", "SRC-006" ] } ], "inline_only_rationale": null } ] } ] } ] }, "functions": [ { "id": "resolve-customer", "name": "Resolve customer relationship", "description": "Find a scoped relationship, not a global person identity.", "inputs": [ "Master-qualified ID or scoped candidates", "Authorized seller scope" ], "outputs": [ "Resolved reference or explicit ambiguity" ], "preconditions": [ "Read permission", "No email-only identity inference" ], "effects": [ "Read-only resolution; unknown remains unresolved" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-004" ] }, { "id": "record-customer-role", "name": "Record customer role and scope", "description": "Append an attributed participant role.", "inputs": [ "Party and seller refs", "Role evidence", "Expected head" ], "outputs": [ "New revision or conflict" ], "preconditions": [ "Write delegation", "Kind and scope validated" ], "effects": [ "Local assertion only; no purchasing or messaging authority created" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-005" ] }, { "id": "revise-customer-state", "name": "Revise attributed lifecycle", "description": "Record a source-state change with effective and knowledge time.", "inputs": [ "Source scheme and evidence", "Times and precision", "Expected head" ], "outputs": [ "Successor assertion or contested states" ], "preconditions": [ "Source master verified", "Write scope" ], "effects": [ "Local revision only; no contract, debt or entitlement cancellation" ], "source_refs": [ "SRC-001", "SRC-005", "SRC-006" ] }, { "id": "link-customer-masters", "name": "Link commercial masters", "description": "Associate typed billing, agreement and support references.", "inputs": [ "Typed refs", "Role and source", "Expected head" ], "outputs": [ "Traceable link or unresolved target" ], "preconditions": [ "Access to permitted reference metadata", "Target kind checked" ], "effects": [ "Local reference update; no charge, service or case operation" ], "source_refs": [ "SRC-001", "SRC-004", "SRC-005" ] }, { "id": "propose-customer-reconciliation", "name": "Propose duplicate reconciliation", "description": "Prepare a scoped merge/split proposal with recovery lineage.", "inputs": [ "Candidate refs", "Scope evidence", "Revision mapping" ], "outputs": [ "Proposal with ambiguity and recovery plan" ], "preconditions": [ "Read permission", "No automatic identity collapse" ], "effects": [ "No CRM merge execution; approval and transaction remain with master" ], "source_refs": [ "SRC-002", "SRC-005", "SRC-006" ] }, { "id": "export-customer-projection", "name": "Export permitted projection", "description": "Map only authorized relationship fields.", "inputs": [ "Allowed fields", "Pinned target kind/profile", "Loss definitions" ], "outputs": [ "Minimized projection or refusal" ], "preconditions": [ "Disclosure authority", "Mapping constraints checked" ], "effects": [ "No publication or external transmission without authority; unresolved semantics yield warning/refusal" ], "source_refs": [ "SRC-001", "SRC-002", "SRC-003", "SRC-004" ] } ], "composition": [ { "target": "WM-ORG-012", "relation": "REFERENCE", "purpose": "Proposed inter-organization link for business customers; not an approved hierarchy or universal party master.", "required": false, "source_refs": [ "SRC-001", "SRC-002" ] }, { "target": "https://raw.githubusercontent.com/tmforum-apis/TMF629_CustomerManagement/main/TMF629-Customer_Management-v5.0.1.oas.yaml", "relation": "ALIGN", "purpose": "Candidate TMF629 mapping; full schema conformance is not claimed.", "required": false, "source_refs": [ "SRC-001" ] }, { "target": "https://www.w3.org/TR/prov-o/", "relation": "ALIGN", "purpose": "Candidate record attribution and derivation vocabulary.", "required": false, "source_refs": [ "SRC-005" ] } ], "serviceLayers": { "dimension": { "owner_package_requirements": [ "Identify CRM relationship owner and accountable steward.", "Declare party, billing, agreement, consent and support masters.", "Bind purpose, access, retention and cross-Dimension disclosure rules." ], "namespace_guidance": "Customer ID is master-qualified and seller/service-scoped. Never merge identities by email or display name alone.", "registry_links": [ "Customer relationship registry", "Party and seller registries", "Commercial-master references", "Policy and revision registries" ] }, "canon_and_patch": { "canonicalization_rules": [ "Preserve source record kind, scope and lifecycle scheme.", "Keep contact preferences, communication authority and commercial authority separate." ], "patch_rules": [ "Use namespaced additive profiles pinned to base version and digest.", "Expected-head writes append corrections and lineage; conflicting source claims remain explicit." ], "compatibility_rules": [ "Changed customer kind, hierarchy cardinality or preference semantics require migration and loss report.", "Absent flags are not permission; date-only facts are not fabricated instants." ] }, "artifact_rules": { "identity_priority": [ "Authoritative master-qualified identifier", "Governed issuer-qualified URI", "Dimension-issued UUID" ], "timestamp_rule": "RFC 3339 with seconds and explicit offset or Z for recording and observation instants; retain date-only or uncertain source effect separately.", "serial_naming_rule": "Customer record-kind prefix plus escaped stable ID and revision; no private names or emails in filenames.", "integrity_rule": "Verify exact-byte digest and expected revision. Integrity does not establish commercial truth or contact consent." }, "policies": [ "Do not infer consent or authority from contact association, account grouping or permissive defaults.", "Keep financial, service and eligibility decisions with their authorized masters.", "Minimize personal information; do not infer sensitive traits or unexplained customer worth scores.", "Treat duplicate detection as evidence-based proposal; preserve separate seller scopes and correction paths." ], "crud": { "read": [ "Read Dimension purpose, source kind, scope, provenance, validity and assurance before using the record." ], "create": [ "Create only an authorized scoped relationship assertion with explicit unknowns and referenced masters." ], "update": [ "Append authorized evidence and changed source states under expected-head checks; do not mutate billing or messaging systems." ], "delete": [ "Apply approved retention/correction and justified holds; a local tombstone does not cancel contracts, debt or party identity." ] }, "roles": [ { "name": "Dimension owner", "responsibilities": [ "Defines purpose and delegation." ] }, { "name": "Customer-data steward", "responsibilities": [ "Maintains scope, mastership and lifecycle attribution." ] }, { "name": "Contributor", "responsibilities": [ "Records authorized minimal evidence." ] }, { "name": "Reviewer", "responsibilities": [ "Checks ambiguous identity, grouping, preferences and proposed reconciliation." ] }, { "name": "Custodian", "responsibilities": [ "Enforces retention, field disclosure and audit controls." ] } ], "access": { "default_rule": "Deny unless purpose-specific access is delegated by the owning Dimension; CRM access does not grant billing or private-party access.", "scopes": [ "bundle", "layer", "finding", "artifact" ], "exceptions": [ "Explicit time-limited delegated exceptions must name fields, purpose and approving authority." ], "audit_requirements": [ "Log actor, authorized operation, reference, revision and decision without secrets or private payloads." ] }, "agents_bootstrap": { "filename": "AGENTS.md", "required_fields": [ "Name", "Type", "Specification URL", "Storage type URL", "Interface URL", "Processes URL" ], "read_order": [ "Dimension policy and relationship mastership", "Pinned specification, source record kind and seller scope", "Role, lifecycle, references, authority evidence and time", "Safe record operations, validation, extension and retention" ] } }, "coverage": { "claim": "Bounded customer relationship context contract with twelve records and thirty-six questions; no independent review or executed CRM integration.", "confidence": "medium", "checklist": [ { "dimension": "identity", "status": "covered", "notes": "Master-qualified relationship, distinct from party." }, { "dimension": "classification", "status": "covered", "notes": "Explicit CRM/customer/contact/billing kind." }, { "dimension": "direct properties", "status": "covered", "notes": "Role, scope and attributed state; no invented physical geometry." }, { "dimension": "recognition", "status": "covered", "notes": "Evidence-based customer definition, not email equality." }, { "dimension": "capabilities", "status": "covered", "notes": "Six scoped record operations, no commerce execution." }, { "dimension": "lifecycle", "status": "covered", "notes": "Source-qualified state and distinct closure meanings." }, { "dimension": "relationships", "status": "covered", "notes": "Participant and commercial references preserve mastership." }, { "dimension": "temporal", "status": "covered", "notes": "Effect, observation and recording precision separated." }, { "dimension": "provenance", "status": "covered", "notes": "Field source and reconciliation lineage retained." }, { "dimension": "ownership", "status": "covered", "notes": "Steward and participant authority are separate." }, { "dimension": "access", "status": "covered", "notes": "Purpose-specific field scopes and disclosure controls." }, { "dimension": "retention", "status": "covered", "notes": "Correction, minimization and justified history." }, { "dimension": "interoperability", "status": "covered", "notes": "Version/kind-specific mappings with loss reporting." }, { "dimension": "validation", "status": "gap", "notes": "Structural validator only; nested runtime constraints, merge recovery, privacy and round-trip fixtures remain to implement." }, { "dimension": "Physical material and geometry", "status": "not-applicable", "notes": "Commercial relationship is abstract; physical party/object attributes remain elsewhere." } ], "known_omissions": [ "Claude and Grok each timed out once; Codex-only reviewable-draft without independent review.", "Selected source clauses only; full required-field graph, exact release/commit pins and licenses unverified.", "No executable nested schemas, CRM adapters, consent verifier or merge/round-trip fixtures delivered.", "Customer industry/jurisdiction profiles and approved composition ledger edges remain pending." ], "conflicts": [], "regional_assumptions": [ "TM Forum, Microsoft and Stripe model different system scopes. No vendor schema is asserted as universal law or permission for contact, credit or billing." ], "adversarial_checks": [ "Same email cannot merge different sellers or parties.", "Default allow-email flag is not consent.", "CRM grouping does not imply legal control or data-sharing rights.", "Closed relationship does not cancel debt or a contract.", "Contact link does not grant purchasing authority.", "Prospect existence does not universally establish customer status.", "Mistaken merge needs compensating lineage, not overwritten evidence.", "Payment status is an attributed snapshot, not customer identity." ] }, "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": "relationship", "status": "accepted", "rationale": "Seller-scoped CRM relationship, not party, login, billing identity or universal customer lifecycle." }, "decisions": [ { "concept": "Customer identity", "disposition": "accepted", "rationale": "Master and seller scope preserve multiple relationships per party; email alone never merges identities." }, { "concept": "State and hierarchy", "disposition": "accepted with limitations", "rationale": "Vendor-specific kind, state and grouping semantics remain attributed; neither debt cancellation nor legal control follows." }, { "concept": "Preferences and authority", "disposition": "accepted", "rationale": "Default flags, contact roles, consent and purchasing authority are distinct." }, { "concept": "Record functions", "disposition": "accepted with limitations", "rationale": "Bounded context operations exclude messaging, charging, eligibility and CRM merge execution." }, { "concept": "Executable mappings", "disposition": "deferred", "rationale": "Nested schemas, pinned vendor profiles and negative/round-trip fixtures are not delivered." }, { "concept": "Independent review", "disposition": "accepted with mandatory hold", "rationale": "Both bounded providers timed out; frozen Codex self-audit is not independent review." } ], "publicationHolds": [ "Claude and Grok each timed out once; Codex-only self-reviewed result remains reviewable-draft, not canonical.", "Selected source clauses only; complete constraints, release/commit pins and licenses remain unverified.", "No executable nested schemas, CRM/consent adapters, merge recovery or privacy/round-trip fixtures delivered.", "Industry/jurisdiction profiles, approved composition edges and independent review remain pending.", "Independent external review was explicitly waived by the repository owner; this codex-only result remains a reviewable draft." ], "deferredResearch": [ "Independent review and exact source/license pins.", "Executable kind, preference, merge-recovery and round-trip fixtures.", "Approved composition and industry-specific customer profiles." ] }, "statistics": { "sources": 6, "bundles": 6, "layers": 12, "findings": 12, "questions": 36, "artifacts": 12, "functions": 6 } }