domain_manifest.json (7994B)
1 { 2 "schema_version": 1, 3 "program": "hyf_http_v1", 4 "revision": "hyf_ops_v2", 5 "note": "Schema-to-domain mapping for the corrected three operations. Every v2 business object maps to an existing approved domain type or an explicitly named future owner; no new business capability is introduced by C004.", 6 "mappings": [ 7 {"schema_path": "context", "domain": "hyf_core.operation_context.OperationContext", "owner": "C004", "status": "parsed_strictly"}, 8 {"schema_path": "context.versions", "domain": "hyf_core.operation_context.OperationVersions", "owner": "C004", "status": "closed_seven_axes"}, 9 {"schema_path": "input.source", "domain": "hyf_application.context.InterpretationSource", "owner": "C008/C009", "status": "schema_bound"}, 10 {"schema_path": "input.references.taxonomy", "domain": "hyf_core.normalization.candidates.Candidate discovery terms", "owner": "C008/C009/C023", "status": "schema_bound"}, 11 {"schema_path": "input.references.normalization.units", "domain": "hyf_core.domain.units.unit_dimension", "owner": "C008/C009/C023", "status": "schema_bound"}, 12 {"schema_path": "input.references.normalization.conversions", "domain": "hyf_core.domain.units.ConversionRule / conversion_rule", "owner": "C008/C009/C023", "status": "schema_bound"}, 13 {"schema_path": "input.references.normalization.packs", "domain": "hyf_core.domain.pack.PackRule / pack_rule", "owner": "C008/C009/C023", "status": "schema_bound"}, 14 {"schema_path": "input.prior_records", "domain": "hyf_core.domain.source.Revision (immutable record_id/revision/role) + per-record farm_id ownership", "owner": "C008/C009/C023", "status": "schema_bound; C023 compares each prior_records[].farm_id with context.farm_id"}, 15 {"schema_path": "input.clarification.source_id", "domain": "hyf_core.domain.clarification.ClarificationEvidence.source_id (clarification-source identity)", "owner": "C008/C009/C023", "status": "schema_bound"}, 16 {"schema_path": "input.clarification.revision", "domain": "hyf_core.domain.clarification.ClarificationEvidence.revision (clarification-source revision, NOT the target revision)", "owner": "C008/C009/C023", "status": "schema_bound; C009/C023 migration: clarification_is_stale currently compares this clarification-source revision to the current revision and must be migrated to compare expected_revision"}, 17 {"schema_path": "input.clarification.expected_revision", "domain": "primary input.source.revision linkage (ADR-0026 CR02)", "owner": "C008/C009/C023", "status": "schema_bound; C023 validates the linkage before application; C009 maps it. No runtime constructor change in C004."}, 18 {"schema_path": "input.clarification.target_field", "domain": "hyf_core.domain.clarification.ClarificationEvidence.target_field (approved field, not arbitrary mutation)", "owner": "C008/C009/C023", "status": "schema_bound"}, 19 {"schema_path": "input.clarification.text", "domain": "hyf_core.domain.clarification.ClarificationEvidence.text", "owner": "C008/C009", "status": "schema_bound"}, 20 {"schema_path": "input.need", "domain": "hyf_core.domain.demand.DemandLine", "owner": "C008/C009/C023", "status": "schema_bound"}, 21 {"schema_path": "input.need.actor_id", "domain": "hyf_core.domain.source.ActorId", "owner": "C023", "status": "schema_bound"}, 22 {"schema_path": "input.snapshots", "domain": "hyf_core.domain.snapshot.SupplySnapshot", "owner": "C008/C009/C023", "status": "schema_bound"}, 23 {"schema_path": "input.coverage", "domain": "hyf_core.domain.coverage.Coverage", "owner": "C008/C009/C023", "status": "schema_bound"}, 24 {"schema_path": "*.quantity.value", "domain": "hyf_core.domain.quantity.Quantity value/scale (D23 decimal-string grammar)", "owner": "C004/C009", "status": "schema_bound"}, 25 {"schema_path": "*.evidence", "domain": "hyf_core.domain.evidence.EvidenceRef closed span|record_field union (UTF-8 byte span; trusted_record provenance)", "owner": "C008/C009/C023", "status": "schema_bound"}, 26 {"schema_path": "output.claims/proposed_changes", "domain": "hyf_application.farm_review_output", "owner": "C008/C009/C030", "status": "schema_bound"}, 27 {"schema_path": "output.demand_lines", "domain": "hyf_application.buyer_needs", "owner": "C008/C009/C038", "status": "schema_bound"}, 28 {"schema_path": "output.assessments/plans/limitations", "domain": "hyf_application.match_checks / match_plan / match_index", "owner": "C008/C009/C041", "status": "schema_bound"}, 29 {"schema_path": "output.execution", "domain": "hyf_core.domain.execution.execution_state", "owner": "C008/C009", "status": "schema_bound"}, 30 {"schema_path": "input.snapshots[].price", "domain": "hyf_core.domain.price PriceCondition/known_price scaled amount/scale/currency/basis (D23 scaled money, distinct from the reported_quantity decimal projection)", "owner": "C009/C023", "status": "schema_bound; the wire state/amount/scale/currency/basis maps to the existing scaled money representation; no conversion, FX, minimum-order or fee inference"}, 31 {"schema_path": "input.snapshots[].price.fees", "domain": "schemas/hyf_v1_jev/money.schema.json properties.fees closed {kind,amount,scale,currency} family", "owner": "C009", "status": "schema_bound; optional closed family, legacy money schema retained unchanged as provenance"}, 32 {"schema_path": "output.provenance (farm_update.interpret)", "domain": "immutable source/clarification/prior-record identities actually used", "owner": "C009/C023/C030", "status": "schema_bound; required on every success independently of context.return_provenance"}, 33 {"schema_path": "output.provenance (buyer_request.interpret)", "domain": "immutable source/clarification identities actually used", "owner": "C009/C023/C038", "status": "schema_bound; required on every success; farm-only prior_records forbidden"}, 34 {"schema_path": "output.provenance (buyer_request.match)", "domain": "immutable need and evaluated snapshot identities actually used", "owner": "C009/C023/C041", "status": "schema_bound; required on every success, including no-match/zero-plan results; coverage/allocation identities must agree"} 35 ], 36 "authority_integration": "docs/spec/hyf_v1_jev/specs/AUTHORITY_INTEGRATION.md: HYF is read-only; supplied records are host-authorized preconditions, HYF validates consistency but performs no writes and claims no authentication.", 37 "clarification_reconciliation": "ADR-0026 D46 CR02 separates the clarification source identity/revision (input.clarification.revision) from the primary target revision (input.clarification.expected_revision, which equals input.source.revision). The legacy ClarificationEvidence constructor is preserved unchanged until its planned C009/C023 migration; the schema binding and this mapping are the C004 obligation.", 38 "money_reconciliation": "ADR-0027 D47 BP01: the v2 snapshot.price copy binds the existing scaled money representation as canonical nonnegative integer amount/scale 0..9/nonblank currency/closed basis. Wire state=unknown with null amount/scale/currency maps mechanically to the existing explicit unknown Price alternative (whose internal placeholders are 0/0/empty); state governs unknown and no numeric zero or free price is inferred. schemas/hyf_v1_jev/money.schema.json and the domain constructors are unchanged and are not reused as the strict v2 validator.", 39 "provenance_reconciliation": "ADR-0027 D47 BP01: output.provenance is required on every successful v2 result and carries only the immutable identities actually used. It is independent of optional detailed evidence and of context.return_provenance; the flag continues to govern optional detailed evidence only. Identity equality, actual use, uniqueness and coverage/allocation agreement are semantic obligations owned by C009/C023/C030/C038/C041; C004 binds the closed wire shapes and executes the paired controls.", 40 "unavailability": "C004 parses the corrected context and then refuses dispatch with capability_unavailable until C042-C046 activate the operations." 41 }