xoonya 2.13.0 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/RELEASE_NOTES.md +7 -4
- package/START_HERE.md +23 -0
- package/XOONYA_DEFAULT_PATH_MODEL.md +63 -0
- package/XOONYA_FOLLOWTHROUGH_TRUTH_MODEL.md +63 -0
- package/XOONYA_PROOF_TRUTH_MODEL.md +58 -0
- package/index.js +4 -0
- package/lib/default_path_contract.js +380 -0
- package/lib/followthrough_truth_contract.js +214 -0
- package/lib/governance_disputes_summary.js +36 -0
- package/lib/proof_truth_contract.js +224 -0
- package/lib/release_history.js +26 -0
- package/package.json +4 -1
- package/scripts/verify_service.js +65 -0
- package/server.js +109 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
const proofSdk = require("../proof_sdk");
|
|
5
|
+
const { summarizeProofTruthModelPack } = require("./proof_truth_contract");
|
|
6
|
+
const { summarizeDefaultPathPack } = require("./default_path_contract");
|
|
7
|
+
const { summarizeVerificationServicesPack } = require("./verification_service_pack");
|
|
8
|
+
const { summarizeTrustPortabilityPack } = require("./trust_portability_pack");
|
|
9
|
+
|
|
10
|
+
function uniqueSorted(values) {
|
|
11
|
+
return Array.from(new Set((Array.isArray(values) ? values : []).filter(Boolean))).sort();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function buildProfile(entry) {
|
|
15
|
+
return {
|
|
16
|
+
profile_id: entry.profile_id,
|
|
17
|
+
profile_label: entry.profile_label,
|
|
18
|
+
followthrough_axis: entry.followthrough_axis,
|
|
19
|
+
claim_status: entry.claim_status,
|
|
20
|
+
public_claim_allowed: entry.public_claim_allowed !== false,
|
|
21
|
+
real_time_ready: true,
|
|
22
|
+
primary_surfaces: uniqueSorted(entry.primary_surfaces),
|
|
23
|
+
supporting_surfaces: uniqueSorted(entry.supporting_surfaces),
|
|
24
|
+
actor_classes: uniqueSorted(entry.actor_classes),
|
|
25
|
+
continuity_outputs: uniqueSorted(entry.continuity_outputs),
|
|
26
|
+
expected_launch_outcome: entry.expected_launch_outcome,
|
|
27
|
+
claim_boundary: entry.claim_boundary
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function buildFollowthroughTruthPack() {
|
|
32
|
+
const proofTruthSummary = summarizeProofTruthModelPack();
|
|
33
|
+
const defaultPathSummary = summarizeDefaultPathPack();
|
|
34
|
+
const verificationServicesSummary = summarizeVerificationServicesPack();
|
|
35
|
+
const trustPortabilitySummary = summarizeTrustPortabilityPack();
|
|
36
|
+
const bridgeSummary = proofSdk.summarizeBridgeCenter();
|
|
37
|
+
const governanceSummary = proofSdk.summarizeGovernanceCenter();
|
|
38
|
+
|
|
39
|
+
const profiles = [
|
|
40
|
+
buildProfile({
|
|
41
|
+
profile_id: "verification_services",
|
|
42
|
+
profile_label: "Verification services",
|
|
43
|
+
followthrough_axis: "verification_and_replay",
|
|
44
|
+
claim_status: "live",
|
|
45
|
+
primary_surfaces: [
|
|
46
|
+
"/v1/proof-center/verification-services",
|
|
47
|
+
"/v1/proof-center/verification-services/summary",
|
|
48
|
+
"/v1/proof-bundles/verify",
|
|
49
|
+
"/v1/receipts/verify"
|
|
50
|
+
],
|
|
51
|
+
supporting_surfaces: [
|
|
52
|
+
"/v1/proof-truth/summary",
|
|
53
|
+
"/v1/default-path/summary",
|
|
54
|
+
"/v1/proof-center/result-package-handoff/summary"
|
|
55
|
+
],
|
|
56
|
+
actor_classes: ["agent", "developer", "enterprise", "human", "machine", "operator"],
|
|
57
|
+
continuity_outputs: ["bundle_verify", "delivery_verify", "identity_link_verify", "settlement_verify"],
|
|
58
|
+
expected_launch_outcome: "proof outputs can be verified, replayed, and inspected from the same public proof spine",
|
|
59
|
+
claim_boundary: "verification_services_claim_only_the_listed_bundle_delivery_identity_and_settlement_binding_surfaces_not_external_chain_identity_or_legal_judgment_truth"
|
|
60
|
+
}),
|
|
61
|
+
buildProfile({
|
|
62
|
+
profile_id: "trust_portability",
|
|
63
|
+
profile_label: "Trust portability",
|
|
64
|
+
followthrough_axis: "cross_venue_portability",
|
|
65
|
+
claim_status: "bounded_live",
|
|
66
|
+
primary_surfaces: [
|
|
67
|
+
"/v1/proof-center/trust-portability",
|
|
68
|
+
"/v1/proof-center/trust-portability/summary",
|
|
69
|
+
"/v1/identity-interop",
|
|
70
|
+
"/v1/result-package-trust"
|
|
71
|
+
],
|
|
72
|
+
supporting_surfaces: [
|
|
73
|
+
"/v1/auth-profiles/summary",
|
|
74
|
+
"/v1/proof-center/verification-services/summary",
|
|
75
|
+
"/v1/phases/phase-4/trust-continuity/summary"
|
|
76
|
+
],
|
|
77
|
+
actor_classes: ["agent", "developer", "enterprise", "human", "machine", "operator"],
|
|
78
|
+
continuity_outputs: [
|
|
79
|
+
"agent_identity_portability",
|
|
80
|
+
"delegation_capability_portability",
|
|
81
|
+
"delivery_history_portability",
|
|
82
|
+
"settlement_linked_trust_portability"
|
|
83
|
+
],
|
|
84
|
+
expected_launch_outcome: "identity, delegation, delivery, and settlement-linked trust remain portable without redefining runtime or custody truth",
|
|
85
|
+
claim_boundary: "trust_portability_claim_only_the_listed_identity_delegation_delivery_and_settlement_linked_review_surfaces_not_global_identity_session_or_custody_truth"
|
|
86
|
+
}),
|
|
87
|
+
buildProfile({
|
|
88
|
+
profile_id: "bridge_followthrough",
|
|
89
|
+
profile_label: "Bridge followthrough",
|
|
90
|
+
followthrough_axis: "bridge_and_compatibility_carry",
|
|
91
|
+
claim_status: "bounded_live",
|
|
92
|
+
primary_surfaces: [
|
|
93
|
+
"/v1/proof-center/bridge",
|
|
94
|
+
"/v1/proof-center/bridge/summary",
|
|
95
|
+
"/v1/proof-center/bridge/economic-handoff",
|
|
96
|
+
"/v1/proof-center/bridge/operator-review-pack",
|
|
97
|
+
"/v1/proof-center/bridge/compatibility-pack"
|
|
98
|
+
],
|
|
99
|
+
supporting_surfaces: [
|
|
100
|
+
"/v1/proof-center/result-package-handoff/review/bridge-summary",
|
|
101
|
+
"/v1/proof-center/result-package-handoff/review/bridge-run",
|
|
102
|
+
"/v1/proof-center/governance/review-link"
|
|
103
|
+
],
|
|
104
|
+
actor_classes: ["agent", "enterprise", "machine", "operator"],
|
|
105
|
+
continuity_outputs: [
|
|
106
|
+
"receipt_ledger_handoff",
|
|
107
|
+
"economic_consequence_handoff",
|
|
108
|
+
"compatibility_packaging",
|
|
109
|
+
"operator_review_packaging"
|
|
110
|
+
],
|
|
111
|
+
expected_launch_outcome: "bridge-facing review and carry stay attached to the proof center without widening xoonya into runtime execution ownership",
|
|
112
|
+
claim_boundary: "bridge_followthrough_claim_only_the_listed_receipt_ledger_economic_carry_operator_and_compatibility_surfaces_not_generic_runtime_or_external_validator_truth"
|
|
113
|
+
}),
|
|
114
|
+
buildProfile({
|
|
115
|
+
profile_id: "governance_followthrough",
|
|
116
|
+
profile_label: "Governance followthrough",
|
|
117
|
+
followthrough_axis: "governance_dispute_and_signoff",
|
|
118
|
+
claim_status: "bounded_live",
|
|
119
|
+
primary_surfaces: [
|
|
120
|
+
"/v1/proof-center/governance",
|
|
121
|
+
"/v1/proof-center/governance/summary",
|
|
122
|
+
"/v1/proof-center/governance/disputes/summary",
|
|
123
|
+
"/v1/proof-center/governance/review-link",
|
|
124
|
+
"/v1/proof-center/governance/handoff-bundle"
|
|
125
|
+
],
|
|
126
|
+
supporting_surfaces: [
|
|
127
|
+
"/v1/proof-center/result-package-handoff/review/summary",
|
|
128
|
+
"/v1/proof-center/bridge/summary",
|
|
129
|
+
"/v1/proof-center/verification-services/summary"
|
|
130
|
+
],
|
|
131
|
+
actor_classes: ["enterprise", "human", "operator"],
|
|
132
|
+
continuity_outputs: [
|
|
133
|
+
"interpretation_validation",
|
|
134
|
+
"governance_coordination",
|
|
135
|
+
"dispute_review",
|
|
136
|
+
"signoff_packaging",
|
|
137
|
+
"operator_handoff_bundle"
|
|
138
|
+
],
|
|
139
|
+
expected_launch_outcome: "operators can interpret, escalate, sign off, and preserve review linkage without breaking the canonical proof story",
|
|
140
|
+
claim_boundary: "governance_followthrough_claim_only_the_listed_interpretation_coordination_dispute_signoff_and_review_link_surfaces_not_external_legal_or_regulatory_judgment_truth"
|
|
141
|
+
})
|
|
142
|
+
];
|
|
143
|
+
|
|
144
|
+
return {
|
|
145
|
+
ok: true,
|
|
146
|
+
product: packageJson.name,
|
|
147
|
+
category: "xoonya-followthrough-truth-model",
|
|
148
|
+
pack_version: "xoonya-followthrough-truth-model-v1",
|
|
149
|
+
posture: "bridge_governance_and_trust_followthrough_claim_boundary",
|
|
150
|
+
model_state: "frozen_for_3_0_0_closeout",
|
|
151
|
+
doctrine: "xoonya_should_make_verification_trust_portability_bridge_carry_and_governance_followthrough_publicly_claimable_only_where_the_proof_center_exposes_a_real_bounded_callable_surface",
|
|
152
|
+
core_claim: "xoonya keeps proof-side followthrough real and multi-surface without overclaiming runtime, external chain, custody, identity, or legal judgment truth",
|
|
153
|
+
profile_count: profiles.length,
|
|
154
|
+
live_profile_count: profiles.filter((entry) => entry.claim_status === "live").length,
|
|
155
|
+
bounded_live_profile_count: profiles.filter((entry) => entry.claim_status === "bounded_live").length,
|
|
156
|
+
public_claim_allowed_profile_count: profiles.filter((entry) => entry.public_claim_allowed).length,
|
|
157
|
+
profiles,
|
|
158
|
+
universal_invariants: [
|
|
159
|
+
"followthrough_truth_must_converge_back_into_the_same_proof_truth_model",
|
|
160
|
+
"bridge_and_governance_surfaces_must_stay_reviewable_before_claiming_completion",
|
|
161
|
+
"trust_portability_must_remain_bounded_to_the_listed_surfaces_and_profiles",
|
|
162
|
+
"verification_services_must_not_overclaim_external_chain_identity_or_legal_truth",
|
|
163
|
+
"operator_exports_must_preserve_review_linkage_without_mutating_proof_semantics"
|
|
164
|
+
],
|
|
165
|
+
linked_summaries: {
|
|
166
|
+
proof_truth_summary: proofTruthSummary,
|
|
167
|
+
default_path_summary: defaultPathSummary,
|
|
168
|
+
verification_services_summary: verificationServicesSummary,
|
|
169
|
+
trust_portability_summary: trustPortabilitySummary,
|
|
170
|
+
bridge_summary: bridgeSummary,
|
|
171
|
+
governance_summary: governanceSummary
|
|
172
|
+
},
|
|
173
|
+
linked_surfaces: {
|
|
174
|
+
proof_truth_ref: "/v1/proof-truth",
|
|
175
|
+
default_path_ref: "/v1/default-path",
|
|
176
|
+
verification_services_ref: "/v1/proof-center/verification-services",
|
|
177
|
+
trust_portability_ref: "/v1/proof-center/trust-portability",
|
|
178
|
+
bridge_ref: "/v1/proof-center/bridge",
|
|
179
|
+
bridge_summary_ref: "/v1/proof-center/bridge/summary",
|
|
180
|
+
governance_ref: "/v1/proof-center/governance",
|
|
181
|
+
governance_summary_ref: "/v1/proof-center/governance/summary",
|
|
182
|
+
governance_review_link_ref: "/v1/proof-center/governance/review-link"
|
|
183
|
+
},
|
|
184
|
+
claim_boundary: "claim_only_the_listed_followthrough_profiles_and_surfaces_as_public_xoonya_truth_without_implying_unbounded_runtime_external_chain_identity_custody_or_legal_judgment_scope"
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
function summarizeFollowthroughTruthPack() {
|
|
189
|
+
const pack = buildFollowthroughTruthPack();
|
|
190
|
+
return {
|
|
191
|
+
ok: true,
|
|
192
|
+
product: pack.product,
|
|
193
|
+
category: pack.category,
|
|
194
|
+
summary_version: "xoonya-followthrough-truth-model-summary-v1",
|
|
195
|
+
pack_version: pack.pack_version,
|
|
196
|
+
model_state: pack.model_state,
|
|
197
|
+
profile_count: pack.profile_count,
|
|
198
|
+
live_profile_count: pack.live_profile_count,
|
|
199
|
+
bounded_live_profile_count: pack.bounded_live_profile_count,
|
|
200
|
+
public_claim_allowed_profile_count: pack.public_claim_allowed_profile_count,
|
|
201
|
+
linked_surfaces: pack.linked_surfaces
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
function getFollowthroughTruthProfileDetail(profileId) {
|
|
206
|
+
const normalized = String(profileId || "").trim().toLowerCase();
|
|
207
|
+
return (buildFollowthroughTruthPack().profiles || []).find((entry) => entry.profile_id === normalized) || null;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
module.exports = {
|
|
211
|
+
buildFollowthroughTruthPack,
|
|
212
|
+
summarizeFollowthroughTruthPack,
|
|
213
|
+
getFollowthroughTruthProfileDetail
|
|
214
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
const proofSdk = require("../proof_sdk");
|
|
5
|
+
|
|
6
|
+
function buildGovernanceDisputesSummaryPack(input) {
|
|
7
|
+
return {
|
|
8
|
+
...proofSdk.summarizeGovernanceDisputes(input),
|
|
9
|
+
product: packageJson.name,
|
|
10
|
+
category: "xoonya-governance-disputes-summary-pack",
|
|
11
|
+
summary_version: "xoonya-governance-disputes-summary-pack-v1",
|
|
12
|
+
linked_surfaces: {
|
|
13
|
+
case_review_ref: "/v1/proof-center/governance/disputes/case-review",
|
|
14
|
+
case_bundle_ref: "/v1/proof-center/governance/disputes/case-bundle",
|
|
15
|
+
resolution_pack_ref: "/v1/proof-center/governance/disputes/resolution-pack"
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function summarizeGovernanceDisputesSummaryPack(input) {
|
|
21
|
+
const pack = buildGovernanceDisputesSummaryPack(input);
|
|
22
|
+
return {
|
|
23
|
+
ok: true,
|
|
24
|
+
product: pack.product,
|
|
25
|
+
category: pack.category,
|
|
26
|
+
summary_version: pack.summary_version,
|
|
27
|
+
case_count: Number(pack.case_count || 0),
|
|
28
|
+
open_case_count: Number(pack.open_case_count || 0),
|
|
29
|
+
linked_surface_count: Object.keys(pack.linked_surfaces || {}).length
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
module.exports = {
|
|
34
|
+
buildGovernanceDisputesSummaryPack,
|
|
35
|
+
summarizeGovernanceDisputesSummaryPack
|
|
36
|
+
};
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
const proofSdk = require("../proof_sdk");
|
|
5
|
+
const { summarizeVerificationServicesPack } = require("./verification_service_pack");
|
|
6
|
+
const { summarizeTrustPortabilityPack } = require("./trust_portability_pack");
|
|
7
|
+
|
|
8
|
+
function buildProofTruthModelPack() {
|
|
9
|
+
const proofCenter = proofSdk.summarizeDefaultProofCenter();
|
|
10
|
+
const nativeStandard = proofSdk.summarizexoonyaNativeProofStandard();
|
|
11
|
+
const nativeAtom = proofSdk.summarizexoonyaNativeAtomSpec();
|
|
12
|
+
const nativePayloadProfile = proofSdk.summarizexoonyaNativePayloadProfilePack();
|
|
13
|
+
const nativeAnchorProfile = proofSdk.summarizexoonyaNativeAnchorProfile();
|
|
14
|
+
const verificationServices = summarizeVerificationServicesPack();
|
|
15
|
+
const trustPortability = summarizeTrustPortabilityPack();
|
|
16
|
+
const transactionHandoff = proofSdk.summarizeTransactionProofHandoffCenter();
|
|
17
|
+
const interactionHandoff = proofSdk.summarizeInteractionSpineProofHandoffCenter();
|
|
18
|
+
const resultPackageHandoff = proofSdk.summarizeInteractionResultPackageHandoffCenter();
|
|
19
|
+
const bridge = proofSdk.summarizeBridgeCenter();
|
|
20
|
+
const governance = proofSdk.summarizeGovernanceCenter();
|
|
21
|
+
|
|
22
|
+
return {
|
|
23
|
+
ok: true,
|
|
24
|
+
product: packageJson.name,
|
|
25
|
+
category: "xoonya-proof-truth-model",
|
|
26
|
+
pack_version: "xoonya-proof-truth-model-v1",
|
|
27
|
+
posture: "deterministic_proof_truth_plus_reviewable_followthrough",
|
|
28
|
+
model_state: "frozen_for_3_0_0_closeout",
|
|
29
|
+
doctrine: "xoonya_owns_proof_truth_verification_reviewable_handoff_followthrough_and_governance_without_reabsorbing_runtime_commerce_semantics",
|
|
30
|
+
core_claim: "xoonya is the canonical proof-side fact model linking canonical events, receipts, proof bundles, native XNYA artifacts, verification services, handoff continuation, bridge carry, and governance followthrough",
|
|
31
|
+
canonical_objects: [
|
|
32
|
+
{
|
|
33
|
+
object_id: "canonical_event_bundle",
|
|
34
|
+
role: "deterministic_hot_input_for_proof_construction",
|
|
35
|
+
required_fields: [
|
|
36
|
+
"event",
|
|
37
|
+
"event_hash_sha256"
|
|
38
|
+
],
|
|
39
|
+
primary_surfaces: [
|
|
40
|
+
"/v1/events/canonicalize",
|
|
41
|
+
"/v1/events/hash"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
object_id: "receipt",
|
|
46
|
+
role: "canonical_intermediate_statement_of_what_is_being_proved",
|
|
47
|
+
required_fields: [
|
|
48
|
+
"receipt_id",
|
|
49
|
+
"event_hash_sha256",
|
|
50
|
+
"verification_method"
|
|
51
|
+
],
|
|
52
|
+
primary_surfaces: [
|
|
53
|
+
"/v1/receipts/emit",
|
|
54
|
+
"/v1/receipts/verify"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
object_id: "proof_bundle",
|
|
59
|
+
role: "portable_replayable_verifiable_proof_output",
|
|
60
|
+
required_fields: [
|
|
61
|
+
"version",
|
|
62
|
+
"ceb",
|
|
63
|
+
"receipt",
|
|
64
|
+
"proof"
|
|
65
|
+
],
|
|
66
|
+
primary_surfaces: [
|
|
67
|
+
"/v1/proof-bundles/build",
|
|
68
|
+
"/v1/proof-bundles/verify"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
object_id: "xnya_native_artifact",
|
|
73
|
+
role: "native_compact_machine_evidence_artifact",
|
|
74
|
+
required_fields: [
|
|
75
|
+
"method",
|
|
76
|
+
"native_atom_magic",
|
|
77
|
+
"payload_hash_or_binding"
|
|
78
|
+
],
|
|
79
|
+
primary_surfaces: [
|
|
80
|
+
"/v1/proof-center/native-standard",
|
|
81
|
+
"/v1/proof-center/native-atom-spec",
|
|
82
|
+
"/v1/proof-center/native-payload-profile",
|
|
83
|
+
"/v1/proof-center/native-anchor-profile"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
object_id: "proof_handoff_review",
|
|
88
|
+
role: "reviewable_runtime_to_proof_continuation_boundary",
|
|
89
|
+
required_fields: [
|
|
90
|
+
"source_ref",
|
|
91
|
+
"proof_ref",
|
|
92
|
+
"review_summary"
|
|
93
|
+
],
|
|
94
|
+
primary_surfaces: [
|
|
95
|
+
"/v1/proof-center/transaction-handoff/summary",
|
|
96
|
+
"/v1/proof-center/interaction-spine-handoff/summary",
|
|
97
|
+
"/v1/proof-center/result-package-handoff/review/summary"
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
object_id: "bridge_and_governance_followthrough",
|
|
102
|
+
role: "operator_review_bridge_and_dispute_followthrough_bundle",
|
|
103
|
+
required_fields: [
|
|
104
|
+
"bridge_ref_or_bundle",
|
|
105
|
+
"governance_review_ref_or_case"
|
|
106
|
+
],
|
|
107
|
+
primary_surfaces: [
|
|
108
|
+
"/v1/proof-center/bridge/summary",
|
|
109
|
+
"/v1/proof-center/governance/summary",
|
|
110
|
+
"/v1/proof-center/governance/disputes/summary"
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
layer_model: [
|
|
115
|
+
{
|
|
116
|
+
layer_id: "proof_core",
|
|
117
|
+
order_index: 1,
|
|
118
|
+
objects: ["canonical_event_bundle", "receipt", "proof_bundle"],
|
|
119
|
+
invariants: [
|
|
120
|
+
"proof_core_stays_deterministic_portable_and_replayable",
|
|
121
|
+
"proof_bundle_verification_is_canonical_xoonya_truth"
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
layer_id: "native_xnya",
|
|
126
|
+
order_index: 2,
|
|
127
|
+
objects: ["xnya_native_artifact"],
|
|
128
|
+
invariants: [
|
|
129
|
+
"xnya_is_the_native_compact_machine_evidence_family",
|
|
130
|
+
"native_artifacts_do_not_replace_runtime_or_identity_control_planes"
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
layer_id: "verification_services",
|
|
135
|
+
order_index: 3,
|
|
136
|
+
objects: ["proof_bundle", "proof_handoff_review"],
|
|
137
|
+
invariants: [
|
|
138
|
+
"verification_surfaces_stay_first_class_services",
|
|
139
|
+
"external_signature_or_chain_truth_requires_bounded_claim_language"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
layer_id: "handoff_and_bridge_continuity",
|
|
144
|
+
order_index: 4,
|
|
145
|
+
objects: ["proof_handoff_review", "bridge_and_governance_followthrough"],
|
|
146
|
+
invariants: [
|
|
147
|
+
"runtime_outputs_can_continue_into_proof_without_dead_end_loss",
|
|
148
|
+
"bridge_carry_preserves_reviewable_context_without_becoming_runtime_truth"
|
|
149
|
+
]
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
layer_id: "governance_followthrough",
|
|
153
|
+
order_index: 5,
|
|
154
|
+
objects: ["bridge_and_governance_followthrough"],
|
|
155
|
+
invariants: [
|
|
156
|
+
"governance_preserves_reviewable_dispute_and_resolution_posture",
|
|
157
|
+
"xoonya_does_not_claim_universal_external_judgment_truth"
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
proof_truth_invariants: [
|
|
162
|
+
"canonical_event_bundle_precedes_receipt_and_bundle_verification",
|
|
163
|
+
"receipt_is_a_canonical_proof_intermediate_not_runtime_commerce_truth",
|
|
164
|
+
"proof_bundle_is_the_portable_verifiable_output",
|
|
165
|
+
"xnya_is_the_native_compact_evidence_family",
|
|
166
|
+
"handoff_review_is_first_class_not_optional_afterthought",
|
|
167
|
+
"bridge_and_governance_surfaces_extend_proof_followthrough_without_redefining_runtime_truth"
|
|
168
|
+
],
|
|
169
|
+
linked_summaries: {
|
|
170
|
+
proof_center_summary: proofCenter,
|
|
171
|
+
native_standard_summary: nativeStandard,
|
|
172
|
+
native_atom_summary: nativeAtom,
|
|
173
|
+
native_payload_profile_summary: nativePayloadProfile,
|
|
174
|
+
native_anchor_profile_summary: nativeAnchorProfile,
|
|
175
|
+
verification_services_summary: verificationServices,
|
|
176
|
+
trust_portability_summary: trustPortability,
|
|
177
|
+
transaction_handoff_summary: transactionHandoff,
|
|
178
|
+
interaction_handoff_summary: interactionHandoff,
|
|
179
|
+
result_package_handoff_summary: resultPackageHandoff,
|
|
180
|
+
bridge_summary: bridge,
|
|
181
|
+
governance_summary: governance
|
|
182
|
+
},
|
|
183
|
+
linked_surfaces: {
|
|
184
|
+
proof_center_ref: "/v1/proof-center",
|
|
185
|
+
proof_center_summary_ref: "/v1/proof-center/summary",
|
|
186
|
+
native_standard_summary_ref: "/v1/proof-center/native-standard/summary",
|
|
187
|
+
verification_services_summary_ref: "/v1/proof-center/verification-services/summary",
|
|
188
|
+
trust_portability_summary_ref: "/v1/proof-center/trust-portability/summary",
|
|
189
|
+
transaction_handoff_summary_ref: "/v1/proof-center/transaction-handoff/summary",
|
|
190
|
+
interaction_handoff_summary_ref: "/v1/proof-center/interaction-spine-handoff/summary",
|
|
191
|
+
result_package_handoff_review_summary_ref: "/v1/proof-center/result-package-handoff/review/summary",
|
|
192
|
+
bridge_summary_ref: "/v1/proof-center/bridge/summary",
|
|
193
|
+
governance_summary_ref: "/v1/proof-center/governance/summary"
|
|
194
|
+
},
|
|
195
|
+
claim_boundary: "claim_the_proof_side_fact_model_verification_and_reviewable_followthrough_only_without_reclaiming_runtime_commerce_truth_or_unbounded_external_chain_identity_or_judgment_truth"
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
function summarizeProofTruthModelPack() {
|
|
200
|
+
const pack = buildProofTruthModelPack();
|
|
201
|
+
return {
|
|
202
|
+
ok: true,
|
|
203
|
+
product: pack.product,
|
|
204
|
+
category: pack.category,
|
|
205
|
+
summary_version: "xoonya-proof-truth-model-summary-v1",
|
|
206
|
+
pack_version: pack.pack_version,
|
|
207
|
+
model_state: pack.model_state,
|
|
208
|
+
canonical_object_count: pack.canonical_objects.length,
|
|
209
|
+
layer_count: pack.layer_model.length,
|
|
210
|
+
invariant_count: pack.proof_truth_invariants.length,
|
|
211
|
+
linked_surfaces: pack.linked_surfaces
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function getProofTruthObjectDetail(objectId) {
|
|
216
|
+
const normalized = String(objectId || "").trim().toLowerCase();
|
|
217
|
+
return (buildProofTruthModelPack().canonical_objects || []).find((entry) => entry.object_id === normalized) || null;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
module.exports = {
|
|
221
|
+
buildProofTruthModelPack,
|
|
222
|
+
summarizeProofTruthModelPack,
|
|
223
|
+
getProofTruthObjectDetail
|
|
224
|
+
};
|
package/lib/release_history.js
CHANGED
|
@@ -10,6 +10,32 @@ function buildReleaseHistory() {
|
|
|
10
10
|
current_version: packageJson.version,
|
|
11
11
|
release_track: "public_release",
|
|
12
12
|
history: [
|
|
13
|
+
{
|
|
14
|
+
version: "2.15.0",
|
|
15
|
+
channel: "public_release",
|
|
16
|
+
maturity_posture: "final_intermediary_closeout",
|
|
17
|
+
headline: "final intermediary closeout release with frozen proof truth, default-path, and followthrough surfaces plus an explicit 3.0.0 claim boundary",
|
|
18
|
+
milestone_refs: [
|
|
19
|
+
"proof_truth_model",
|
|
20
|
+
"default_path_model",
|
|
21
|
+
"followthrough_truth_model",
|
|
22
|
+
"umbrella_first_contact_alignment",
|
|
23
|
+
"synchronized_2_15_release_prep"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
version: "2.14.0",
|
|
28
|
+
channel: "public_release",
|
|
29
|
+
maturity_posture: "lifecycle_and_continuity_hardened",
|
|
30
|
+
headline: "lifecycle-and-continuity release with trust-portability, governance-dispute visibility, and stronger runtime-to-proof followthrough",
|
|
31
|
+
milestone_refs: [
|
|
32
|
+
"trust_portability",
|
|
33
|
+
"governance_disputes_visibility",
|
|
34
|
+
"runtime_to_proof_followthrough",
|
|
35
|
+
"proof_side_continuity",
|
|
36
|
+
"synchronized_2_14_release_prep"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
13
39
|
{
|
|
14
40
|
version: "2.13.0",
|
|
15
41
|
channel: "public_release",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xoonya",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.15.0",
|
|
4
4
|
"description": "Deterministic proof and review engine for receipts, handoffs, governance, and verification.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -31,6 +31,9 @@
|
|
|
31
31
|
"RELEASE_NOTES.md",
|
|
32
32
|
".env.example",
|
|
33
33
|
"README.md",
|
|
34
|
+
"XOONYA_PROOF_TRUTH_MODEL.md",
|
|
35
|
+
"XOONYA_DEFAULT_PATH_MODEL.md",
|
|
36
|
+
"XOONYA_FOLLOWTHROUGH_TRUTH_MODEL.md",
|
|
34
37
|
"XOONYA_NATIVE_PROOF_FORMAT.md",
|
|
35
38
|
"XOONYA_NATIVE_ATOM_SPEC.md",
|
|
36
39
|
"XOONYA_NATIVE_STANDARD_GOVERNANCE.md",
|
|
@@ -117,10 +117,75 @@ async function main() {
|
|
|
117
117
|
assert.strictEqual(trustPortabilitySummaryResponse.json.product, 'xoonya', 'trust portability summary product missing');
|
|
118
118
|
assert.strictEqual(trustPortabilitySummaryResponse.json.profile_count >= 4, true, 'trust portability summary profile count missing');
|
|
119
119
|
|
|
120
|
+
const governanceDisputesSummaryResponse = await getJson(baseUrl, '/v1/proof-center/governance/disputes/summary');
|
|
121
|
+
assert.strictEqual(governanceDisputesSummaryResponse.status, 200, 'governance disputes summary route failed');
|
|
122
|
+
assert.strictEqual(governanceDisputesSummaryResponse.json.ok, true, 'governance disputes summary ok missing');
|
|
123
|
+
assert.strictEqual(typeof governanceDisputesSummaryResponse.json.case_count, 'number', 'governance disputes summary case count missing');
|
|
124
|
+
assert.strictEqual(typeof governanceDisputesSummaryResponse.json.open_case_count, 'number', 'governance disputes summary open case count missing');
|
|
125
|
+
|
|
120
126
|
const trustPortabilityDetailResponse = await getJson(baseUrl, '/v1/proof-center/trust-portability/agent_identity_portability');
|
|
121
127
|
assert.strictEqual(trustPortabilityDetailResponse.status, 200, 'trust portability detail route failed');
|
|
122
128
|
assert.strictEqual(trustPortabilityDetailResponse.json.profile.profile_id, 'agent_identity_portability', 'trust portability detail profile missing');
|
|
123
129
|
|
|
130
|
+
const proofTruthResponse = await getJson(baseUrl, '/v1/proof-truth');
|
|
131
|
+
assert.strictEqual(proofTruthResponse.status, 200, 'proof truth route failed');
|
|
132
|
+
assert.strictEqual(proofTruthResponse.json.category, 'xoonya-proof-truth-model', 'proof truth category missing');
|
|
133
|
+
assert.strictEqual(proofTruthResponse.json.pack_version, 'xoonya-proof-truth-model-v1', 'proof truth version missing');
|
|
134
|
+
assert.strictEqual(proofTruthResponse.json.canonical_objects.length >= 6, true, 'proof truth object count missing');
|
|
135
|
+
|
|
136
|
+
const proofTruthSummaryResponse = await getJson(baseUrl, '/v1/proof-truth/summary');
|
|
137
|
+
assert.strictEqual(proofTruthSummaryResponse.status, 200, 'proof truth summary route failed');
|
|
138
|
+
assert.strictEqual(proofTruthSummaryResponse.json.category, 'xoonya-proof-truth-model', 'proof truth summary category missing');
|
|
139
|
+
assert.strictEqual(proofTruthSummaryResponse.json.pack_version, 'xoonya-proof-truth-model-v1', 'proof truth summary version missing');
|
|
140
|
+
|
|
141
|
+
const proofBundleTruthDetailResponse = await getJson(baseUrl, '/v1/proof-truth/proof_bundle');
|
|
142
|
+
assert.strictEqual(proofBundleTruthDetailResponse.status, 200, 'proof truth proof_bundle detail route failed');
|
|
143
|
+
assert.strictEqual(proofBundleTruthDetailResponse.json.object.object_id, 'proof_bundle', 'proof truth proof_bundle detail missing');
|
|
144
|
+
|
|
145
|
+
const xnyaTruthDetailResponse = await getJson(baseUrl, '/v1/proof-truth/xnya_native_artifact');
|
|
146
|
+
assert.strictEqual(xnyaTruthDetailResponse.status, 200, 'proof truth xnya detail route failed');
|
|
147
|
+
assert.strictEqual(xnyaTruthDetailResponse.json.object.object_id, 'xnya_native_artifact', 'proof truth xnya detail missing');
|
|
148
|
+
|
|
149
|
+
const defaultPathResponse = await getJson(baseUrl, '/v1/default-path');
|
|
150
|
+
assert.strictEqual(defaultPathResponse.status, 200, 'default path route failed');
|
|
151
|
+
assert.strictEqual(defaultPathResponse.json.category, 'xoonya-default-path-model', 'default path category missing');
|
|
152
|
+
assert.strictEqual(defaultPathResponse.json.pack_version, 'xoonya-default-path-model-v1', 'default path version missing');
|
|
153
|
+
assert.strictEqual(defaultPathResponse.json.supported_surface_count >= 5, true, 'default path surface count missing');
|
|
154
|
+
|
|
155
|
+
const defaultPathSummaryResponse = await getJson(baseUrl, '/v1/default-path/summary');
|
|
156
|
+
assert.strictEqual(defaultPathSummaryResponse.status, 200, 'default path summary route failed');
|
|
157
|
+
assert.strictEqual(defaultPathSummaryResponse.json.category, 'xoonya-default-path-model', 'default path summary category missing');
|
|
158
|
+
assert.strictEqual(defaultPathSummaryResponse.json.pack_version, 'xoonya-default-path-model-v1', 'default path summary version missing');
|
|
159
|
+
assert.strictEqual(defaultPathSummaryResponse.json.default_path_stage_count, 7, 'default path stage count missing');
|
|
160
|
+
|
|
161
|
+
const cliDefaultPathDetailResponse = await getJson(baseUrl, '/v1/default-path/cli_terminal');
|
|
162
|
+
assert.strictEqual(cliDefaultPathDetailResponse.status, 200, 'cli default path detail route failed');
|
|
163
|
+
assert.strictEqual(cliDefaultPathDetailResponse.json.surface.surface_id, 'cli_terminal', 'cli default path detail missing');
|
|
164
|
+
|
|
165
|
+
const handoffDefaultPathDetailResponse = await getJson(baseUrl, '/v1/default-path/carried_handoff_review');
|
|
166
|
+
assert.strictEqual(handoffDefaultPathDetailResponse.status, 200, 'carried handoff default path detail route failed');
|
|
167
|
+
assert.strictEqual(handoffDefaultPathDetailResponse.json.surface.surface_id, 'carried_handoff_review', 'carried handoff default path detail missing');
|
|
168
|
+
|
|
169
|
+
const followthroughTruthResponse = await getJson(baseUrl, '/v1/followthrough-truth');
|
|
170
|
+
assert.strictEqual(followthroughTruthResponse.status, 200, 'followthrough truth route failed');
|
|
171
|
+
assert.strictEqual(followthroughTruthResponse.json.category, 'xoonya-followthrough-truth-model', 'followthrough truth category missing');
|
|
172
|
+
assert.strictEqual(followthroughTruthResponse.json.pack_version, 'xoonya-followthrough-truth-model-v1', 'followthrough truth version missing');
|
|
173
|
+
assert.strictEqual(followthroughTruthResponse.json.profile_count >= 4, true, 'followthrough truth profile count missing');
|
|
174
|
+
|
|
175
|
+
const followthroughTruthSummaryResponse = await getJson(baseUrl, '/v1/followthrough-truth/summary');
|
|
176
|
+
assert.strictEqual(followthroughTruthSummaryResponse.status, 200, 'followthrough truth summary route failed');
|
|
177
|
+
assert.strictEqual(followthroughTruthSummaryResponse.json.category, 'xoonya-followthrough-truth-model', 'followthrough truth summary category missing');
|
|
178
|
+
assert.strictEqual(followthroughTruthSummaryResponse.json.pack_version, 'xoonya-followthrough-truth-model-v1', 'followthrough truth summary version missing');
|
|
179
|
+
assert.strictEqual(followthroughTruthSummaryResponse.json.bounded_live_profile_count >= 3, true, 'followthrough truth bounded live count missing');
|
|
180
|
+
|
|
181
|
+
const bridgeFollowthroughDetailResponse = await getJson(baseUrl, '/v1/followthrough-truth/bridge_followthrough');
|
|
182
|
+
assert.strictEqual(bridgeFollowthroughDetailResponse.status, 200, 'bridge followthrough detail route failed');
|
|
183
|
+
assert.strictEqual(bridgeFollowthroughDetailResponse.json.profile.profile_id, 'bridge_followthrough', 'bridge followthrough detail missing');
|
|
184
|
+
|
|
185
|
+
const governanceFollowthroughDetailResponse = await getJson(baseUrl, '/v1/followthrough-truth/governance_followthrough');
|
|
186
|
+
assert.strictEqual(governanceFollowthroughDetailResponse.status, 200, 'governance followthrough detail route failed');
|
|
187
|
+
assert.strictEqual(governanceFollowthroughDetailResponse.json.profile.profile_id, 'governance_followthrough', 'governance followthrough detail missing');
|
|
188
|
+
|
|
124
189
|
const providerLaneResponse = await getJson(baseUrl, '/v1/providers');
|
|
125
190
|
assert.strictEqual(providerLaneResponse.status, 200, 'provider lane route failed');
|
|
126
191
|
assert.strictEqual(providerLaneResponse.json.product, 'xoonya', 'provider lane product missing');
|