xoonya 3.0.1 → 3.1.1
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/.env.example +8 -0
- package/README.md +107 -1
- package/RELEASE_NOTES.md +12 -9
- package/SERVICE_CONTRACT.md +12 -0
- package/START_HERE.md +9 -0
- package/XOONYA_NATIVE_PROOF_FORMAT.md +52 -9
- package/index.js +12 -3
- package/lib/adapter_certification_contract.js +90 -0
- package/lib/authority_binding_lifecycle_contract.js +182 -0
- package/lib/crypto_agility_matrix.js +125 -0
- package/lib/machine_identity_registry_contract.js +199 -0
- package/lib/offline_verifiability_recovery_contract.js +155 -0
- package/lib/operational_receipt_contract.js +165 -0
- package/lib/public_surface_policy_contract.js +111 -0
- package/lib/signed_audit_provenance_contract.js +93 -0
- package/lib/trust_portability_boundary_contract.js +66 -0
- package/package.json +5 -2
- package/proof_sdk.js +327 -31
- package/reference/python/__pycache__/xnya_reference.cpython-314.pyc +0 -0
- package/scripts/verify_control_plane_contracts.js +34 -0
- package/scripts/verify_control_plane_routes.js +70 -0
- package/scripts/verify_forgery_resistance.js +281 -0
- package/scripts/verify_service.js +98 -0
- package/server.js +242 -16
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildOperationalReceiptContractPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "naxytra-operational-receipt-contract",
|
|
10
|
+
pack_version: "naxytra-operational-receipt-contract-v1",
|
|
11
|
+
doctrine: "xoonya_verifies_shared_operational_receipts_as_proof_side_input_without_reabsorbing_runtime_or_treasury_ownership",
|
|
12
|
+
model_state: "core_now",
|
|
13
|
+
core_claim: "operational receipts are the shared evidence record that can be reviewed, verified, and carried into proof followthrough",
|
|
14
|
+
canonical_objects: [
|
|
15
|
+
{
|
|
16
|
+
object_id: "operational_receipt",
|
|
17
|
+
role: "signed_minimal_evidence_record_for_one_important_action",
|
|
18
|
+
required_fields: [
|
|
19
|
+
"version",
|
|
20
|
+
"receipt_id",
|
|
21
|
+
"timestamp_ns",
|
|
22
|
+
"actor_id",
|
|
23
|
+
"action_type",
|
|
24
|
+
"payload_hash",
|
|
25
|
+
"signature"
|
|
26
|
+
],
|
|
27
|
+
recommended_fields: [
|
|
28
|
+
"signature_suite",
|
|
29
|
+
"source_system",
|
|
30
|
+
"correlation_id",
|
|
31
|
+
"parent_receipt_id",
|
|
32
|
+
"reference_kind",
|
|
33
|
+
"reference_id"
|
|
34
|
+
],
|
|
35
|
+
optional_fields: [
|
|
36
|
+
"proof_ref",
|
|
37
|
+
"anchor_ref",
|
|
38
|
+
"settlement_ref",
|
|
39
|
+
"ledger_ref",
|
|
40
|
+
"payload_uri",
|
|
41
|
+
"payload_hash_alg",
|
|
42
|
+
"actor_role",
|
|
43
|
+
"metadata"
|
|
44
|
+
],
|
|
45
|
+
primary_surfaces: [
|
|
46
|
+
"/v1/receipts/emit",
|
|
47
|
+
"/v1/receipts/verify",
|
|
48
|
+
"/v1/proof-bundles/build",
|
|
49
|
+
"/v1/proof-bundles/verify",
|
|
50
|
+
"/v1/proof-center/result-package-handoff/review"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
receipt_kinds: [
|
|
55
|
+
{
|
|
56
|
+
receipt_kind: "document_published",
|
|
57
|
+
description: "binds a published document or release artifact to a signed evidence record"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
receipt_kind: "api_request_completed",
|
|
61
|
+
description: "binds a completed machine request or API call to a signed evidence record"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
receipt_kind: "payment_received",
|
|
65
|
+
description: "binds an incoming payment or credited admission event to a signed evidence record"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
receipt_kind: "file_generated",
|
|
69
|
+
description: "binds a generated file or artifact to a signed evidence record"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
receipt_kind: "agent_task_executed",
|
|
73
|
+
description: "binds an executed agent task or workflow step to a signed evidence record"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
receipt_kind: "repo_release_created",
|
|
77
|
+
description: "binds a release tag or package release event to a signed evidence record"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
receipt_kind: "proposal_sent",
|
|
81
|
+
description: "binds a proposal or offer dispatch to a signed evidence record"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
receipt_kind: "invoice_issued",
|
|
85
|
+
description: "binds an issued invoice or billable statement to a signed evidence record"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
receipt_kind: "partner_handoff_completed",
|
|
89
|
+
description: "binds a partner handoff or transfer completion to a signed evidence record"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
lineage_model: [
|
|
93
|
+
{
|
|
94
|
+
layer_id: "receipt_verification",
|
|
95
|
+
order_index: 1,
|
|
96
|
+
objects: ["operational_receipt"],
|
|
97
|
+
invariants: [
|
|
98
|
+
"the_receipt_can_be_verified_as_minimal_evidence",
|
|
99
|
+
"the_receipt_does_not_need_a_full_proof_bundle_to_be_valid"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
layer_id: "proof_portability",
|
|
104
|
+
order_index: 2,
|
|
105
|
+
objects: ["operational_receipt"],
|
|
106
|
+
invariants: [
|
|
107
|
+
"the_receipt_can_be_captured_into_a_proof_bundle_or_review_flow",
|
|
108
|
+
"proof_layers_may_add_anchors_attestations_and_settlement_refs_without_changing_the_receipt_core"
|
|
109
|
+
]
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
layer_id: "followthrough",
|
|
113
|
+
order_index: 3,
|
|
114
|
+
objects: ["operational_receipt"],
|
|
115
|
+
invariants: [
|
|
116
|
+
"xoonya_can_preserve_reviewable_context_without_claiming_runtime_ownership",
|
|
117
|
+
"optional_external_refs_are_followthrough_not_core_validity"
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
invariants: [
|
|
122
|
+
"payload_hash_is_bound_to_the_canonical_payload_or_source_artifact",
|
|
123
|
+
"signature_covers_the_canonical_receipt_body_without_the_signature_field",
|
|
124
|
+
"timestamp_ns_is_capture_time_not_authoritative_ordering",
|
|
125
|
+
"optional_reference_fields_do_not_change_base_receipt_validity",
|
|
126
|
+
"operational_receipts_are_a_shared_evidence_substrate_not_a_new_proof_standard"
|
|
127
|
+
],
|
|
128
|
+
linked_surfaces: {
|
|
129
|
+
receipt_emit_ref: "/v1/receipts/emit",
|
|
130
|
+
receipt_verify_ref: "/v1/receipts/verify",
|
|
131
|
+
proof_bundle_build_ref: "/v1/proof-bundles/build",
|
|
132
|
+
proof_bundle_verify_ref: "/v1/proof-bundles/verify",
|
|
133
|
+
proof_result_package_review_ref: "/v1/proof-center/result-package-handoff/review"
|
|
134
|
+
},
|
|
135
|
+
claim_boundary: "claim_the_shared_operational_receipt_review_and_verification_contract_only_without_claiming_runtime_ownership_treasury_ownership_or_universal_identity_truth"
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function summarizeOperationalReceiptContractPack() {
|
|
140
|
+
const pack = buildOperationalReceiptContractPack();
|
|
141
|
+
return {
|
|
142
|
+
ok: true,
|
|
143
|
+
product: pack.product,
|
|
144
|
+
category: pack.category,
|
|
145
|
+
summary_version: "naxytra-operational-receipt-contract-summary-v1",
|
|
146
|
+
pack_version: pack.pack_version,
|
|
147
|
+
model_state: pack.model_state,
|
|
148
|
+
receipt_kind_count: pack.receipt_kinds.length,
|
|
149
|
+
canonical_object_count: pack.canonical_objects.length,
|
|
150
|
+
layer_count: pack.lineage_model.length,
|
|
151
|
+
invariant_count: pack.invariants.length,
|
|
152
|
+
linked_surfaces: pack.linked_surfaces
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
function getOperationalReceiptKindDetail(receiptKind) {
|
|
157
|
+
const normalized = String(receiptKind || "").trim().toLowerCase();
|
|
158
|
+
return (buildOperationalReceiptContractPack().receipt_kinds || []).find((entry) => entry.receipt_kind === normalized) || null;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
module.exports = {
|
|
162
|
+
buildOperationalReceiptContractPack,
|
|
163
|
+
summarizeOperationalReceiptContractPack,
|
|
164
|
+
getOperationalReceiptKindDetail
|
|
165
|
+
};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPublicSurfacePolicyContractPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "naxytra-public-surface-policy-contract",
|
|
10
|
+
pack_version: "naxytra-public-surface-policy-contract-v1",
|
|
11
|
+
doctrine: "xoonya_respects_public_surface_classification_before_accepting_or_reviewing_any_surface",
|
|
12
|
+
model_state: "core_now",
|
|
13
|
+
core_claim: "every public surface must declare discovery paid proof_review or operator_only policy before it is treated as part of the public stack",
|
|
14
|
+
surface_classes: [
|
|
15
|
+
{
|
|
16
|
+
surface_class: "discovery_only",
|
|
17
|
+
description: "public informational and machine-discoverable surfaces",
|
|
18
|
+
examples: [
|
|
19
|
+
"/health",
|
|
20
|
+
"/server.json",
|
|
21
|
+
"/.well-known/mcp-server.json",
|
|
22
|
+
"/.well-known/glama.json",
|
|
23
|
+
"/v1/agent-discovery-index",
|
|
24
|
+
"/v1/agent-discovery-index/summary"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
surface_class: "paid",
|
|
29
|
+
description: "machine work or runtime invocation surfaces",
|
|
30
|
+
examples: [
|
|
31
|
+
"POST /v1/commands/execute",
|
|
32
|
+
"POST /x402/commands/execute",
|
|
33
|
+
"POST /v1/mcp/tools/invoke",
|
|
34
|
+
"POST /x402/mcp/tools/invoke"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
surface_class: "proof_review",
|
|
39
|
+
description: "proof and evidence review surfaces",
|
|
40
|
+
examples: [
|
|
41
|
+
"/v1/proof-truth",
|
|
42
|
+
"/v1/proof-truth/summary",
|
|
43
|
+
"/v1/followthrough-truth",
|
|
44
|
+
"/v1/followthrough-truth/summary",
|
|
45
|
+
"/v1/receipts",
|
|
46
|
+
"/v1/receipts/:receipt_id"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
surface_class: "operator_only",
|
|
51
|
+
description: "internal control or mutable operator surfaces",
|
|
52
|
+
examples: [
|
|
53
|
+
"/v1/business-cockpit",
|
|
54
|
+
"/business-cockpit",
|
|
55
|
+
"/v1/operator-shell",
|
|
56
|
+
"/v1/agent-accounts"
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
enforcement_rules: [
|
|
61
|
+
"discovery_only_surfaces_must_not_require_payment",
|
|
62
|
+
"paid_surfaces_must_carry_payment_or_challenge_metadata_when_public",
|
|
63
|
+
"proof_review_surfaces_must_not_mutate_runtime_or_treasury_truth",
|
|
64
|
+
"operator_only_surfaces_must_not_be_listed_as_public_discovery",
|
|
65
|
+
"every_new_surface_must_choose_a_class_before_release"
|
|
66
|
+
],
|
|
67
|
+
route_fields: [
|
|
68
|
+
"surface_path",
|
|
69
|
+
"surface_class",
|
|
70
|
+
"requires_payment",
|
|
71
|
+
"requires_operator_auth",
|
|
72
|
+
"proof_boundary",
|
|
73
|
+
"claim_boundary"
|
|
74
|
+
],
|
|
75
|
+
linked_surfaces: {
|
|
76
|
+
discovery_index_ref: "/v1/agent-discovery-index",
|
|
77
|
+
discovery_index_summary_ref: "/v1/agent-discovery-index/summary",
|
|
78
|
+
proof_truth_ref: "/v1/proof-truth",
|
|
79
|
+
followthrough_truth_ref: "/v1/followthrough-truth",
|
|
80
|
+
operator_cockpit_ref: "/v1/business-cockpit"
|
|
81
|
+
},
|
|
82
|
+
claim_boundary: "claim_the_public_surface_policy_for_xoonya_only_without_claiming_runtime_payment_or_proof_truth_beyond_the_listed_surfaces"
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function summarizePublicSurfacePolicyContractPack() {
|
|
87
|
+
const pack = buildPublicSurfacePolicyContractPack();
|
|
88
|
+
return {
|
|
89
|
+
ok: true,
|
|
90
|
+
product: pack.product,
|
|
91
|
+
category: pack.category,
|
|
92
|
+
summary_version: "naxytra-public-surface-policy-contract-summary-v1",
|
|
93
|
+
pack_version: pack.pack_version,
|
|
94
|
+
model_state: pack.model_state,
|
|
95
|
+
surface_class_count: pack.surface_classes.length,
|
|
96
|
+
rule_count: pack.enforcement_rules.length,
|
|
97
|
+
route_field_count: pack.route_fields.length,
|
|
98
|
+
linked_surfaces: pack.linked_surfaces
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function getPublicSurfaceClassDetail(surfaceClass) {
|
|
103
|
+
const normalized = String(surfaceClass || "").trim().toLowerCase();
|
|
104
|
+
return (buildPublicSurfacePolicyContractPack().surface_classes || []).find((entry) => entry.surface_class === normalized) || null;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
module.exports = {
|
|
108
|
+
buildPublicSurfacePolicyContractPack,
|
|
109
|
+
summarizePublicSurfacePolicyContractPack,
|
|
110
|
+
getPublicSurfaceClassDetail
|
|
111
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
const { buildProvenanceLanePack, summarizeProvenanceLanePack } = require("./provenance_lane_contract");
|
|
5
|
+
const { summarizeTrustPortabilityPack } = require("./trust_portability_pack");
|
|
6
|
+
|
|
7
|
+
function buildSignedAuditProvenanceContractPack() {
|
|
8
|
+
const provenanceLanePack = buildProvenanceLanePack();
|
|
9
|
+
const provenanceLaneSummary = summarizeProvenanceLanePack();
|
|
10
|
+
const trustPortabilitySummary = summarizeTrustPortabilityPack();
|
|
11
|
+
|
|
12
|
+
return {
|
|
13
|
+
ok: true,
|
|
14
|
+
product: packageJson.name,
|
|
15
|
+
category: "naxytra-signed-audit-provenance-contract",
|
|
16
|
+
pack_version: "naxytra-signed-audit-provenance-contract-v1",
|
|
17
|
+
doctrine: "xoonya_signs_selected_audit_and_provenance_surfaces_without_collapsing_all_telemetry_into_evidence_truth",
|
|
18
|
+
model_state: "core_now",
|
|
19
|
+
core_claim: "selected audit and provenance surfaces are signed, exportable, and reviewable evidence channels",
|
|
20
|
+
evidence_surfaces: [
|
|
21
|
+
{ surface_id: "proof_provenance_lane", surface_label: "proof provenance lane", surface_ref: "/v1/provenance", evidence_class: "proof_provenance" },
|
|
22
|
+
{ surface_id: "proof_bridge_review", surface_label: "proof bridge review", surface_ref: "/v1/proof-bridge", evidence_class: "proof_bridge_review" },
|
|
23
|
+
{ surface_id: "release_provenance", surface_label: "release provenance", surface_ref: "/v1/provenance", evidence_class: "release_supply_chain_provenance" },
|
|
24
|
+
{ surface_id: "artifact_distribution_provenance", surface_label: "artifact distribution provenance", surface_ref: "/v1/artifact-distribution", evidence_class: "artifact_supply_chain_provenance" },
|
|
25
|
+
{ surface_id: "shared_signal_export", surface_label: "shared signal export", surface_ref: "/v1/shared-signals", evidence_class: "shared_signal_export" },
|
|
26
|
+
{ surface_id: "external_proof_import_review", surface_label: "external proof import review", surface_ref: "/v1/proof-center/result-package-handoff/review/summary", evidence_class: "proof_import_review" }
|
|
27
|
+
],
|
|
28
|
+
required_fields: [
|
|
29
|
+
"timestamp",
|
|
30
|
+
"actor_id",
|
|
31
|
+
"action_type",
|
|
32
|
+
"source_surface",
|
|
33
|
+
"payload_hash",
|
|
34
|
+
"signature",
|
|
35
|
+
"version"
|
|
36
|
+
],
|
|
37
|
+
optional_fields: [
|
|
38
|
+
"correlation_id",
|
|
39
|
+
"proof_ref",
|
|
40
|
+
"anchor_ref",
|
|
41
|
+
"settlement_ref",
|
|
42
|
+
"metadata"
|
|
43
|
+
],
|
|
44
|
+
export_rules: [
|
|
45
|
+
"signed_audit_records_may_be_exported_as_evidence",
|
|
46
|
+
"provenance_records_may_strengthen_release_and_proof_review",
|
|
47
|
+
"logs_without_an_explicit_evidence_class_remain_operational_only",
|
|
48
|
+
"signed_records_must_not_silently_become_proof_validity_themselves"
|
|
49
|
+
],
|
|
50
|
+
linked_surfaces: {
|
|
51
|
+
provenance_ref: "/v1/provenance",
|
|
52
|
+
provenance_summary_ref: "/v1/provenance/summary",
|
|
53
|
+
proof_bridge_ref: "/v1/proof-bridge",
|
|
54
|
+
trust_portability_ref: "/v1/proof-center/trust-portability",
|
|
55
|
+
artifact_distribution_ref: "/v1/artifact-distribution",
|
|
56
|
+
shared_signals_ref: "/v1/shared-signals"
|
|
57
|
+
},
|
|
58
|
+
supporting_summary: {
|
|
59
|
+
provenance_lane_summary: provenanceLaneSummary,
|
|
60
|
+
trust_portability_summary: trustPortabilitySummary
|
|
61
|
+
},
|
|
62
|
+
claim_boundary: "claim_only_selected_audit_and_provenance_surfaces_as_signed_exportable_evidence_without_claiming_all_logs_are_evidence_grade"
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function summarizeSignedAuditProvenanceContractPack() {
|
|
67
|
+
const pack = buildSignedAuditProvenanceContractPack();
|
|
68
|
+
return {
|
|
69
|
+
ok: true,
|
|
70
|
+
product: pack.product,
|
|
71
|
+
category: pack.category,
|
|
72
|
+
summary_version: "naxytra-signed-audit-provenance-contract-summary-v1",
|
|
73
|
+
pack_version: pack.pack_version,
|
|
74
|
+
model_state: pack.model_state,
|
|
75
|
+
evidence_surface_count: pack.evidence_surfaces.length,
|
|
76
|
+
required_field_count: pack.required_fields.length,
|
|
77
|
+
optional_field_count: pack.optional_fields.length,
|
|
78
|
+
export_rule_count: pack.export_rules.length,
|
|
79
|
+
linked_surfaces: pack.linked_surfaces
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function getSignedAuditProvenanceSurfaceDetail(surfaceId) {
|
|
84
|
+
const normalized = String(surfaceId || "").trim().toLowerCase();
|
|
85
|
+
return (buildSignedAuditProvenanceContractPack().evidence_surfaces || []).find((entry) => entry.surface_id === normalized) || null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
module.exports = {
|
|
89
|
+
buildSignedAuditProvenanceContractPack,
|
|
90
|
+
summarizeSignedAuditProvenanceContractPack,
|
|
91
|
+
getSignedAuditProvenanceSurfaceDetail
|
|
92
|
+
};
|
|
93
|
+
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
const { buildTrustPortabilityPack, summarizeTrustPortabilityPack } = require("./trust_portability_pack");
|
|
5
|
+
|
|
6
|
+
function buildTrustPortabilityBoundaryContractPack() {
|
|
7
|
+
const trustPortabilityPack = buildTrustPortabilityPack();
|
|
8
|
+
const trustPortabilitySummary = summarizeTrustPortabilityPack();
|
|
9
|
+
|
|
10
|
+
return {
|
|
11
|
+
ok: true,
|
|
12
|
+
product: packageJson.name,
|
|
13
|
+
category: "naxytra-trust-portability-boundary-contract",
|
|
14
|
+
pack_version: "naxytra-trust-portability-boundary-contract-v1",
|
|
15
|
+
doctrine: "xoonya_treats_trust_portability_as_bounded_followthrough_and_not_as_global_identity_or_custody_truth",
|
|
16
|
+
model_state: "core_now",
|
|
17
|
+
core_claim: "trust portability is portable evidence across bounded axes, not universal authority or universal login truth",
|
|
18
|
+
portable_axes: trustPortabilityPack.portability_profiles,
|
|
19
|
+
non_claims: trustPortabilityPack.public_claim_boundaries,
|
|
20
|
+
evidence_requirements: [
|
|
21
|
+
"identity_interop_surface",
|
|
22
|
+
"auth_interop_surface",
|
|
23
|
+
"result_package_or_handoff_review_surface",
|
|
24
|
+
"proof_bridge_or_proof_followthrough_surface",
|
|
25
|
+
"receipt_or_verification_surface"
|
|
26
|
+
],
|
|
27
|
+
linked_surfaces: {
|
|
28
|
+
trust_portability_ref: "/v1/proof-center/trust-portability",
|
|
29
|
+
trust_portability_summary_ref: "/v1/proof-center/trust-portability/summary",
|
|
30
|
+
identity_interop_ref: "/v1/identity-interop",
|
|
31
|
+
auth_interop_ref: "/v1/auth-profiles",
|
|
32
|
+
result_package_trust_ref: "/v1/result-package-trust",
|
|
33
|
+
verification_services_ref: "/v1/proof-center/verification-services"
|
|
34
|
+
},
|
|
35
|
+
supporting_summary: trustPortabilitySummary,
|
|
36
|
+
claim_boundary: "claim_only_the_listed_portable_axes_and_listed_surfaces_without_claiming_universal_login_session_or_custody_truth"
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function summarizeTrustPortabilityBoundaryContractPack() {
|
|
41
|
+
const pack = buildTrustPortabilityBoundaryContractPack();
|
|
42
|
+
return {
|
|
43
|
+
ok: true,
|
|
44
|
+
product: pack.product,
|
|
45
|
+
category: pack.category,
|
|
46
|
+
summary_version: "naxytra-trust-portability-boundary-contract-summary-v1",
|
|
47
|
+
pack_version: pack.pack_version,
|
|
48
|
+
model_state: pack.model_state,
|
|
49
|
+
portable_axis_count: Array.isArray(pack.portable_axes) ? pack.portable_axes.length : 0,
|
|
50
|
+
non_claim_count: Array.isArray(pack.non_claims) ? pack.non_claims.length : 0,
|
|
51
|
+
evidence_requirement_count: Array.isArray(pack.evidence_requirements) ? pack.evidence_requirements.length : 0,
|
|
52
|
+
linked_surfaces: pack.linked_surfaces
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function getTrustPortabilityAxisDetail(axisId) {
|
|
57
|
+
const normalized = String(axisId || "").trim().toLowerCase();
|
|
58
|
+
return (buildTrustPortabilityBoundaryContractPack().portable_axes || []).find((entry) => entry.profile_id === normalized || entry.portability_axis === normalized) || null;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = {
|
|
62
|
+
buildTrustPortabilityBoundaryContractPack,
|
|
63
|
+
summarizeTrustPortabilityBoundaryContractPack,
|
|
64
|
+
getTrustPortabilityAxisDetail
|
|
65
|
+
};
|
|
66
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xoonya",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"description": "Deterministic proof and review engine for receipts, handoffs, governance, and verification.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -85,11 +85,14 @@
|
|
|
85
85
|
"verify:native-hybrid-gate": "node scripts/verify_native_hybrid_design_gate.js",
|
|
86
86
|
"verify:verification-services": "node scripts/verify_verification_services.js",
|
|
87
87
|
"verify:trust-portability": "node scripts/verify_trust_portability.js",
|
|
88
|
+
"verify:control-plane-contracts": "node scripts/verify_control_plane_contracts.js",
|
|
89
|
+
"verify:control-plane-routes": "node scripts/verify_control_plane_routes.js",
|
|
88
90
|
"verify:vectors": "node scripts/verify_vectors.js",
|
|
89
91
|
"verify:examples": "node scripts/verify_examples.js",
|
|
90
92
|
"verify:service": "node scripts/verify_service.js",
|
|
93
|
+
"verify:forgery-resistance": "node scripts/verify_forgery_resistance.js",
|
|
91
94
|
"verify:release-candidate": "node scripts/verify_release_candidate.js",
|
|
92
|
-
"verify:all": "node scripts/verify_all.js && node scripts/verify_external_proof_import_gate.js && node scripts/verify_integrations.js && node scripts/verify_tooling.js && node scripts/verify_vectors.js && node scripts/verify_reference_python.js && node scripts/verify_reference_promotion_gate.js && node scripts/verify_reference_rust_scaffold.js && node scripts/verify_native_hybrid_design_gate.js && node scripts/verify_verification_services.js && node scripts/verify_trust_portability.js && node scripts/verify_examples.js && node scripts/verify_service.js",
|
|
95
|
+
"verify:all": "node scripts/verify_all.js && node scripts/verify_external_proof_import_gate.js && node scripts/verify_integrations.js && node scripts/verify_tooling.js && node scripts/verify_vectors.js && node scripts/verify_reference_python.js && node scripts/verify_reference_promotion_gate.js && node scripts/verify_reference_rust_scaffold.js && node scripts/verify_native_hybrid_design_gate.js && node scripts/verify_verification_services.js && node scripts/verify_trust_portability.js && node scripts/verify_control_plane_contracts.js && node scripts/verify_control_plane_routes.js && node scripts/verify_examples.js && node scripts/verify_service.js && node scripts/verify_forgery_resistance.js",
|
|
93
96
|
"prepublishOnly": "npm run verify:release-candidate"
|
|
94
97
|
}
|
|
95
98
|
}
|