xoonya 3.0.1 → 3.1.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.
Files changed (246) hide show
  1. package/.env.example +2 -2
  2. package/CARRIED_HANDOFF_DEMO.md +60 -60
  3. package/COMPATIBILITY_NOTE.md +27 -27
  4. package/CROSS_RUNTIME_POSTURE.md +77 -77
  5. package/EXAMPLE_PATHS.md +53 -53
  6. package/FINAL_CONTRACT.md +445 -445
  7. package/LICENSE +201 -201
  8. package/NOTICE +3 -3
  9. package/OPERATIONS_RUNBOOK.md +50 -0
  10. package/OPERATOR_START_HERE.md +67 -0
  11. package/PARTNER_READY_PATH.md +67 -67
  12. package/PROGRAM_COMPLETE_RELEASE.md +52 -0
  13. package/PROGRAM_STATUS.md +57 -0
  14. package/PUBLIC_DEMO_SCRIPT.md +79 -79
  15. package/PUBLISH_PLAN.md +25 -0
  16. package/README.md +807 -732
  17. package/RELEASE_CHECKLIST.md +16 -0
  18. package/RELEASE_NOTES.md +15 -15
  19. package/SERVICE_CONTRACT.md +207 -195
  20. package/START_HERE.md +159 -150
  21. package/TERMINOLOGY.md +55 -55
  22. package/WHY_XYTARA_XOONYA.md +43 -43
  23. package/XNYA_CONFORMANCE_MARK.md +78 -78
  24. package/XNYA_REFERENCE_IMPLEMENTATIONS.md +157 -157
  25. package/XOONYA_DEFAULT_PATH_MODEL.md +63 -63
  26. package/XOONYA_FOLLOWTHROUGH_TRUTH_MODEL.md +63 -63
  27. package/XOONYA_NATIVE_ATOM_SPEC.md +184 -184
  28. package/XOONYA_NATIVE_PROOF_FORMAT.md +527 -527
  29. package/XOONYA_NATIVE_STANDARD_GOVERNANCE.md +119 -119
  30. package/XOONYA_PROOF_TRUTH_MODEL.md +58 -58
  31. package/bin/xoonya-first-run.js +184 -184
  32. package/bin/xoonya-release.js +1367 -1367
  33. package/bin/xoonya-review.js +70 -70
  34. package/bin/xoonya.js +82 -82
  35. package/examples/integration_boundary_walkthrough.js +37 -37
  36. package/examples/package_quickstart.js +1007 -1007
  37. package/examples/partner_proof_walkthrough.js +68 -68
  38. package/examples/proof_review_walkthrough.js +66 -66
  39. package/examples/review_carried_handoff.js +72 -72
  40. package/index.js +31 -22
  41. package/integrations/PROOF_INTEGRATION_PROCESS.md +45 -45
  42. package/integrations/examples/example-third-party-verifier-registration.record.json +22 -22
  43. package/integrations/registration-record.schema.json +99 -99
  44. package/integrations/registry-snapshot.schema.json +36 -36
  45. package/integrations/registry.js +636 -636
  46. package/integrations/views.js +36 -36
  47. package/lib/adapter_certification_contract.js +90 -0
  48. package/lib/announcement_pack.js +61 -61
  49. package/lib/artifact_distribution_lane_contract.js +54 -54
  50. package/lib/asyncapi_contract.js +135 -135
  51. package/lib/auth_interop_contract.js +69 -69
  52. package/lib/authority_binding_lifecycle_contract.js +182 -0
  53. package/lib/bridge_intelligence.js +102 -102
  54. package/lib/cloudevents_contract.js +79 -79
  55. package/lib/crypto_agility_matrix.js +125 -0
  56. package/lib/default_path_contract.js +380 -380
  57. package/lib/ecosystem_entry.js +64 -64
  58. package/lib/erc8004_proof_lane_contract.js +64 -64
  59. package/lib/event_system_lane_contract.js +76 -76
  60. package/lib/external_proof_import_lane_contract.js +87 -87
  61. package/lib/feature_control_lane_contract.js +54 -54
  62. package/lib/followthrough_truth_contract.js +214 -214
  63. package/lib/framework_lane_contract.js +76 -76
  64. package/lib/governance_disputes_summary.js +36 -36
  65. package/lib/governance_intelligence.js +108 -108
  66. package/lib/identity_interop_contract.js +83 -83
  67. package/lib/integration_matrix_contract.js +81 -81
  68. package/lib/launch_narrative.js +53 -53
  69. package/lib/machine_identity_registry_contract.js +199 -0
  70. package/lib/major_rails_proof_lane_contract.js +87 -87
  71. package/lib/offline_verifiability_recovery_contract.js +155 -0
  72. package/lib/openapi_contract.js +227 -227
  73. package/lib/operational_receipt_contract.js +165 -0
  74. package/lib/outreach_proof.js +71 -71
  75. package/lib/phase_10_closeout_pack.js +45 -45
  76. package/lib/phase_10_completion_pack.js +76 -76
  77. package/lib/phase_10_decision_record_pack.js +54 -54
  78. package/lib/phase_10_decision_resolution_pack.js +53 -53
  79. package/lib/phase_10_demand_signal_adapters_proof_pack.js +74 -74
  80. package/lib/phase_10_ecosystem_backlog_triage_proof_pack.js +74 -74
  81. package/lib/phase_10_freeze_baseline_pack.js +67 -67
  82. package/lib/phase_10_freeze_review_pack.js +64 -64
  83. package/lib/phase_10_gate_pack.js +57 -57
  84. package/lib/phase_10_long_tail_continuity_pack.js +80 -80
  85. package/lib/phase_10_long_tail_ecosystem_pack.js +68 -68
  86. package/lib/phase_10_niche_extension_registry_proof_pack.js +74 -74
  87. package/lib/phase_1_claude_mcp_pack.js +60 -60
  88. package/lib/phase_1_claude_mcp_proof_pack.js +57 -57
  89. package/lib/phase_1_ecosystem_pack.js +51 -51
  90. package/lib/phase_1_openai_codex_pack.js +60 -60
  91. package/lib/phase_1_openai_codex_proof_pack.js +57 -57
  92. package/lib/phase_2_base_proof_pack.js +71 -71
  93. package/lib/phase_2_base_usdc_proof_pack.js +72 -72
  94. package/lib/phase_2_closeout_pack.js +65 -65
  95. package/lib/phase_2_completion_pack.js +113 -113
  96. package/lib/phase_2_decision_record_pack.js +66 -66
  97. package/lib/phase_2_decision_resolution_pack.js +69 -69
  98. package/lib/phase_2_eth_proof_pack.js +70 -70
  99. package/lib/phase_2_evm_base_proof_pack.js +73 -73
  100. package/lib/phase_2_evm_proof_pack.js +71 -71
  101. package/lib/phase_2_flip_preview_pack.js +60 -60
  102. package/lib/phase_2_freeze_review_pack.js +99 -99
  103. package/lib/phase_2_gate_pack.js +77 -77
  104. package/lib/phase_2_payment_rails_pack.js +71 -71
  105. package/lib/phase_2_usdc_proof_pack.js +71 -71
  106. package/lib/phase_3_brc_proof_pack.js +81 -81
  107. package/lib/phase_3_bsv_teranode_proof_pack.js +81 -81
  108. package/lib/phase_3_closeout_pack.js +62 -62
  109. package/lib/phase_3_completion_pack.js +92 -92
  110. package/lib/phase_3_decision_record_pack.js +64 -64
  111. package/lib/phase_3_decision_resolution_pack.js +69 -69
  112. package/lib/phase_3_freeze_baseline_pack.js +67 -67
  113. package/lib/phase_3_freeze_review_pack.js +80 -80
  114. package/lib/phase_3_gate_pack.js +76 -76
  115. package/lib/phase_3_metanet_proof_pack.js +81 -81
  116. package/lib/phase_3_native_bsv_pack.js +89 -89
  117. package/lib/phase_3_native_continuity_pack.js +82 -82
  118. package/lib/phase_4_attestation_proof_pack.js +75 -75
  119. package/lib/phase_4_closeout_pack.js +45 -45
  120. package/lib/phase_4_completion_pack.js +82 -82
  121. package/lib/phase_4_decision_record_pack.js +54 -54
  122. package/lib/phase_4_decision_resolution_pack.js +45 -45
  123. package/lib/phase_4_erc8004_proof_pack.js +76 -76
  124. package/lib/phase_4_freeze_baseline_pack.js +67 -67
  125. package/lib/phase_4_freeze_review_pack.js +68 -68
  126. package/lib/phase_4_gate_pack.js +58 -58
  127. package/lib/phase_4_identity_registry_proof_pack.js +75 -75
  128. package/lib/phase_4_identity_trust_pack.js +73 -73
  129. package/lib/phase_4_trust_continuity_pack.js +86 -86
  130. package/lib/phase_5_antelope_proof_pack.js +76 -76
  131. package/lib/phase_5_closeout_pack.js +44 -44
  132. package/lib/phase_5_completion_pack.js +82 -82
  133. package/lib/phase_5_decision_record_pack.js +54 -54
  134. package/lib/phase_5_decision_resolution_pack.js +45 -45
  135. package/lib/phase_5_freeze_baseline_pack.js +67 -67
  136. package/lib/phase_5_freeze_review_pack.js +68 -68
  137. package/lib/phase_5_gate_pack.js +58 -58
  138. package/lib/phase_5_major_rails_continuity_pack.js +86 -86
  139. package/lib/phase_5_major_rails_pack.js +74 -74
  140. package/lib/phase_5_proton_xpr_proof_pack.js +76 -76
  141. package/lib/phase_5_solana_proof_pack.js +76 -76
  142. package/lib/phase_6_autogen_proof_pack.js +74 -74
  143. package/lib/phase_6_closeout_pack.js +46 -46
  144. package/lib/phase_6_completion_pack.js +77 -77
  145. package/lib/phase_6_decision_record_pack.js +54 -54
  146. package/lib/phase_6_decision_resolution_pack.js +53 -53
  147. package/lib/phase_6_framework_continuity_pack.js +81 -81
  148. package/lib/phase_6_framework_runtime_pack.js +68 -68
  149. package/lib/phase_6_freeze_baseline_pack.js +68 -68
  150. package/lib/phase_6_freeze_review_pack.js +65 -65
  151. package/lib/phase_6_gate_pack.js +59 -59
  152. package/lib/phase_6_langchain_proof_pack.js +74 -74
  153. package/lib/phase_6_langgraph_proof_pack.js +74 -74
  154. package/lib/phase_6_semantic_kernel_proof_pack.js +74 -74
  155. package/lib/phase_7_closeout_pack.js +45 -45
  156. package/lib/phase_7_completion_pack.js +85 -85
  157. package/lib/phase_7_decision_record_pack.js +53 -53
  158. package/lib/phase_7_decision_resolution_pack.js +53 -53
  159. package/lib/phase_7_event_system_continuity_pack.js +89 -89
  160. package/lib/phase_7_event_system_pack.js +76 -76
  161. package/lib/phase_7_freeze_baseline_pack.js +74 -74
  162. package/lib/phase_7_freeze_review_pack.js +65 -65
  163. package/lib/phase_7_gate_pack.js +58 -58
  164. package/lib/phase_7_kafka_proof_pack.js +76 -76
  165. package/lib/phase_7_mqtt_proof_pack.js +76 -76
  166. package/lib/phase_7_nats_proof_pack.js +76 -76
  167. package/lib/phase_7_webhook_event_bus_proof_pack.js +76 -76
  168. package/lib/phase_8_closeout_pack.js +46 -46
  169. package/lib/phase_8_completion_pack.js +82 -82
  170. package/lib/phase_8_decision_record_pack.js +54 -54
  171. package/lib/phase_8_decision_resolution_pack.js +53 -53
  172. package/lib/phase_8_external_receipt_import_proof_pack.js +74 -74
  173. package/lib/phase_8_external_result_import_proof_pack.js +74 -74
  174. package/lib/phase_8_freeze_baseline_pack.js +71 -71
  175. package/lib/phase_8_freeze_review_pack.js +64 -64
  176. package/lib/phase_8_gate_pack.js +58 -58
  177. package/lib/phase_8_proof_bridge_continuity_pack.js +86 -86
  178. package/lib/phase_8_proof_bridges_pack.js +72 -72
  179. package/lib/phase_8_proof_bundle_normalization_proof_pack.js +74 -74
  180. package/lib/phase_9_closeout_pack.js +46 -46
  181. package/lib/phase_9_completion_pack.js +82 -82
  182. package/lib/phase_9_custody_refs_proof_pack.js +74 -74
  183. package/lib/phase_9_decision_record_pack.js +54 -54
  184. package/lib/phase_9_decision_resolution_pack.js +53 -53
  185. package/lib/phase_9_freeze_baseline_pack.js +71 -71
  186. package/lib/phase_9_freeze_review_pack.js +64 -64
  187. package/lib/phase_9_gate_pack.js +58 -58
  188. package/lib/phase_9_operator_accounting_bridges_proof_pack.js +74 -74
  189. package/lib/phase_9_treasury_connectivity_pack.js +72 -72
  190. package/lib/phase_9_treasury_continuity_pack.js +86 -86
  191. package/lib/phase_9_treasury_destinations_proof_pack.js +74 -74
  192. package/lib/phase_program_pack.js +47 -47
  193. package/lib/proof_bridge_lane_contract.js +82 -82
  194. package/lib/proof_truth_contract.js +224 -224
  195. package/lib/provenance_lane_contract.js +54 -54
  196. package/lib/provider_lane_contract.js +67 -67
  197. package/lib/public_surface_policy_contract.js +111 -0
  198. package/lib/publish_plan.js +51 -51
  199. package/lib/release_candidate.js +50 -50
  200. package/lib/release_center.js +1037 -1037
  201. package/lib/release_history.js +206 -206
  202. package/lib/release_manifest.js +114 -114
  203. package/lib/release_pack.js +391 -391
  204. package/lib/result_package_trust_lane_contract.js +74 -74
  205. package/lib/review_intelligence.js +100 -100
  206. package/lib/role_freeze.js +436 -436
  207. package/lib/shared_signals_lane_contract.js +54 -54
  208. package/lib/signed_audit_provenance_contract.js +93 -0
  209. package/lib/telemetry_lane_contract.js +54 -54
  210. package/lib/treasury_proof_lane_contract.js +83 -83
  211. package/lib/trust_intelligence.js +106 -106
  212. package/lib/trust_portability_boundary_contract.js +66 -0
  213. package/lib/trust_portability_pack.js +224 -224
  214. package/lib/verification_service_pack.js +149 -149
  215. package/package.json +97 -95
  216. package/proof_sdk.js +6265 -6265
  217. package/reference/python/README.md +35 -35
  218. package/reference/python/requirements-optional.txt +1 -1
  219. package/reference/python/verify_vectors.py +223 -223
  220. package/reference/python/xnya_reference.py +810 -810
  221. package/reference/rust/Cargo.toml +11 -11
  222. package/reference/rust/README.md +28 -28
  223. package/reference/rust/src/lib.rs +87 -87
  224. package/scripts/registry_cli.js +157 -157
  225. package/scripts/verify_all.js +603 -603
  226. package/scripts/verify_control_plane_contracts.js +34 -0
  227. package/scripts/verify_control_plane_routes.js +70 -0
  228. package/scripts/verify_examples.js +19 -19
  229. package/scripts/verify_external_proof_import_gate.js +84 -84
  230. package/scripts/verify_integrations.js +170 -170
  231. package/scripts/verify_native_hybrid_design_gate.js +114 -114
  232. package/scripts/verify_reference_promotion_gate.js +74 -74
  233. package/scripts/verify_reference_python.js +49 -49
  234. package/scripts/verify_reference_python_crypto.js +87 -87
  235. package/scripts/verify_reference_rust_scaffold.js +50 -50
  236. package/scripts/verify_release_candidate.js +131 -131
  237. package/scripts/verify_service.js +2940 -2940
  238. package/scripts/verify_tooling.js +1251 -1251
  239. package/scripts/verify_trust_portability.js +56 -56
  240. package/scripts/verify_vectors.js +192 -192
  241. package/scripts/verify_verification_services.js +56 -56
  242. package/server.js +4099 -3997
  243. package/vectors/adversarial-vectors.json +552 -552
  244. package/vectors/conformance-vectors.json +446 -446
  245. package/vectors/native-atom-vectors.json +101 -101
  246. package/vectors/native-payload-profile-vectors.json +50 -50
@@ -1,69 +1,69 @@
1
- "use strict";
2
-
3
- const pkg = require("../package.json");
4
-
5
- function buildAuthInteropContract() {
6
- return {
7
- product: "xoonya",
8
- category: "proof-auth-interop-contract",
9
- contract_version: "xoonya-auth-interop-contract-v1",
10
- service_version: pkg.version,
11
- primary_posture: "proof_verification_with_oauth_oidc_and_token_exchange_interop",
12
- supported_interop_profiles: [
13
- {
14
- profile_id: "proof_verifier_client_credentials",
15
- standards: ["oauth_2_0", "oidc_optional"],
16
- intended_use: "machine verifier access to proof verification surfaces",
17
- primary_routes: ["/v1/receipts/verify", "/v1/proof-bundles/verify"]
18
- },
19
- {
20
- profile_id: "runtime_to_proof_handoff_token_exchange",
21
- standards: ["oauth_2_0_token_exchange", "jwt_bearer_optional"],
22
- intended_use: "map runtime-side bearer posture into bounded proof-side review and bridge intake",
23
- primary_routes: ["/v1/proof-center/bridge/economic-handoff"]
24
- },
25
- {
26
- profile_id: "proof_role_governance_interop",
27
- standards: ["oauth_2_0", "oidc"],
28
- intended_use: "operator and reviewer access to frozen proof-role and governance surfaces",
29
- primary_routes: ["/v1/role-freeze", "/v1/role-freeze/package"]
30
- }
31
- ],
32
- native_proof_mapping: {
33
- proof_verify: "/v1/proof-bundles/verify",
34
- receipt_verify: "/v1/receipts/verify",
35
- bridge_economic_handoff: "/v1/proof-center/bridge/economic-handoff",
36
- role_freeze_package: "/v1/role-freeze/package"
37
- },
38
- guardrails: [
39
- "proof verification semantics remain canonical inside xoonya rather than inside bearer tokens",
40
- "token exchange may convey bounded review posture but must not redefine proof truth",
41
- "bridge intake auth must remain subordinate to proof-side review and governance checks"
42
- ],
43
- linked_surfaces: {
44
- openapi_ref: "/openapi.json",
45
- asyncapi_ref: "/asyncapi.json",
46
- cloudevents_ref: "/cloudevents.json",
47
- service_contract_ref: "SERVICE_CONTRACT.md"
48
- }
49
- };
50
- }
51
-
52
- function summarizeAuthInteropContract() {
53
- const contract = buildAuthInteropContract();
54
- return {
55
- product: "xoonya",
56
- category: "proof-auth-interop-contract-summary",
57
- summary_version: "xoonya-auth-interop-contract-summary-v1",
58
- contract_version: contract.contract_version,
59
- profile_count: contract.supported_interop_profiles.length,
60
- primary_posture: contract.primary_posture,
61
- primary_protocol_lanes: ["proof_verify", "receipt_verify", "bridge"],
62
- linked_surfaces: contract.linked_surfaces
63
- };
64
- }
65
-
66
- module.exports = {
67
- buildAuthInteropContract,
68
- summarizeAuthInteropContract
69
- };
1
+ "use strict";
2
+
3
+ const pkg = require("../package.json");
4
+
5
+ function buildAuthInteropContract() {
6
+ return {
7
+ product: "xoonya",
8
+ category: "proof-auth-interop-contract",
9
+ contract_version: "xoonya-auth-interop-contract-v1",
10
+ service_version: pkg.version,
11
+ primary_posture: "proof_verification_with_oauth_oidc_and_token_exchange_interop",
12
+ supported_interop_profiles: [
13
+ {
14
+ profile_id: "proof_verifier_client_credentials",
15
+ standards: ["oauth_2_0", "oidc_optional"],
16
+ intended_use: "machine verifier access to proof verification surfaces",
17
+ primary_routes: ["/v1/receipts/verify", "/v1/proof-bundles/verify"]
18
+ },
19
+ {
20
+ profile_id: "runtime_to_proof_handoff_token_exchange",
21
+ standards: ["oauth_2_0_token_exchange", "jwt_bearer_optional"],
22
+ intended_use: "map runtime-side bearer posture into bounded proof-side review and bridge intake",
23
+ primary_routes: ["/v1/proof-center/bridge/economic-handoff"]
24
+ },
25
+ {
26
+ profile_id: "proof_role_governance_interop",
27
+ standards: ["oauth_2_0", "oidc"],
28
+ intended_use: "operator and reviewer access to frozen proof-role and governance surfaces",
29
+ primary_routes: ["/v1/role-freeze", "/v1/role-freeze/package"]
30
+ }
31
+ ],
32
+ native_proof_mapping: {
33
+ proof_verify: "/v1/proof-bundles/verify",
34
+ receipt_verify: "/v1/receipts/verify",
35
+ bridge_economic_handoff: "/v1/proof-center/bridge/economic-handoff",
36
+ role_freeze_package: "/v1/role-freeze/package"
37
+ },
38
+ guardrails: [
39
+ "proof verification semantics remain canonical inside xoonya rather than inside bearer tokens",
40
+ "token exchange may convey bounded review posture but must not redefine proof truth",
41
+ "bridge intake auth must remain subordinate to proof-side review and governance checks"
42
+ ],
43
+ linked_surfaces: {
44
+ openapi_ref: "/openapi.json",
45
+ asyncapi_ref: "/asyncapi.json",
46
+ cloudevents_ref: "/cloudevents.json",
47
+ service_contract_ref: "SERVICE_CONTRACT.md"
48
+ }
49
+ };
50
+ }
51
+
52
+ function summarizeAuthInteropContract() {
53
+ const contract = buildAuthInteropContract();
54
+ return {
55
+ product: "xoonya",
56
+ category: "proof-auth-interop-contract-summary",
57
+ summary_version: "xoonya-auth-interop-contract-summary-v1",
58
+ contract_version: contract.contract_version,
59
+ profile_count: contract.supported_interop_profiles.length,
60
+ primary_posture: contract.primary_posture,
61
+ primary_protocol_lanes: ["proof_verify", "receipt_verify", "bridge"],
62
+ linked_surfaces: contract.linked_surfaces
63
+ };
64
+ }
65
+
66
+ module.exports = {
67
+ buildAuthInteropContract,
68
+ summarizeAuthInteropContract
69
+ };
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+
3
+ const packageJson = require("../package.json");
4
+
5
+ function buildAuthorityBindingLifecycleContractPack() {
6
+ return {
7
+ ok: true,
8
+ product: packageJson.name,
9
+ category: "naxytra-authority-binding-lifecycle-contract",
10
+ pack_version: "naxytra-authority-binding-lifecycle-contract-v1",
11
+ doctrine: "xoonya_reviews_binding_lifecycle_state_without_claiming_universal_external_identity_authority_or_custody_truth",
12
+ model_state: "core_now",
13
+ core_claim: "binding lifecycle state is the proof-linked record for identity bindings authority bindings spend credentials and delegated signing",
14
+ binding_kinds: [
15
+ {
16
+ binding_kind: "identity_binding",
17
+ description: "binds a subject to an identity posture"
18
+ },
19
+ {
20
+ binding_kind: "authority_binding",
21
+ description: "binds a subject to an authority posture"
22
+ },
23
+ {
24
+ binding_kind: "spend_credential",
25
+ description: "binds a subject to a spend credential or delegated spend posture"
26
+ },
27
+ {
28
+ binding_kind: "delegation_grant",
29
+ description: "records a delegated capability grant"
30
+ },
31
+ {
32
+ binding_kind: "delegation_revocation",
33
+ description: "records that a delegation has been revoked"
34
+ },
35
+ {
36
+ binding_kind: "key_binding",
37
+ description: "binds a subject to a key or public-key reference"
38
+ }
39
+ ],
40
+ lifecycle_states: [
41
+ { state: "active", description: "usable and currently in force" },
42
+ { state: "rotated", description: "superseded by a successor binding" },
43
+ { state: "revoked", description: "disabled before natural expiry" },
44
+ { state: "expired", description: "no longer valid because the validity window ended" },
45
+ { state: "suspended", description: "temporarily unusable pending review" }
46
+ ],
47
+ canonical_objects: [
48
+ {
49
+ object_id: "binding_lifecycle_record",
50
+ role: "versioned_lineage_preserving_state_record_for_a_binding_or_credential",
51
+ required_fields: [
52
+ "version",
53
+ "binding_id",
54
+ "binding_kind",
55
+ "subject_id",
56
+ "status",
57
+ "issued_by",
58
+ "issued_at_iso"
59
+ ],
60
+ recommended_fields: [
61
+ "expires_at_iso",
62
+ "rotated_from_binding_id",
63
+ "replaced_by_binding_id",
64
+ "revoked_at_iso",
65
+ "revoke_reason",
66
+ "scope",
67
+ "key_ref",
68
+ "signature_suite",
69
+ "proof_ref",
70
+ "anchor_ref"
71
+ ],
72
+ optional_fields: [
73
+ "delegation_ref",
74
+ "controller_id",
75
+ "previous_binding_id",
76
+ "metadata"
77
+ ],
78
+ primary_surfaces: [
79
+ "/v1/phases/phase-4/identity-registry/proof",
80
+ "/v1/phases/phase-4/identity-registry/proof/summary",
81
+ "/v1/phases/phase-4/attestation/proof",
82
+ "/v1/proof-center/trust-portability",
83
+ "/v1/proof-center/trust-portability/summary"
84
+ ]
85
+ }
86
+ ],
87
+ transition_rules: [
88
+ "issue_creates_a_new_active_binding",
89
+ "renew_extends_expiry_without_breaking_lineage",
90
+ "rotate_creates_a_successor_binding_and_preserves_predecessor_lineage",
91
+ "revoke_disables_the_binding_and_preserves_auditability",
92
+ "expire_marks_the_binding_inactive_when_the_validity_window_ends",
93
+ "narrow_scope_must_not_silently_broaden_access"
94
+ ],
95
+ delegated_signing_rules: [
96
+ "delegated_signing_must_be_explicit",
97
+ "delegated_signing_must_be_scope_bounded",
98
+ "delegated_signing_must_be_time_bounded_unless_a_product_decision_says_otherwise",
99
+ "delegated_signing_must_preserve_subject_and_issuer_lineage",
100
+ "delegated_signing_must_not_become_hidden_shared_secret_magic"
101
+ ],
102
+ lineage_model: [
103
+ {
104
+ layer_id: "binding_review",
105
+ order_index: 1,
106
+ objects: ["binding_lifecycle_record"],
107
+ invariants: [
108
+ "issuance_is_explicit",
109
+ "binding_ids_are_versioned_and_auditable"
110
+ ]
111
+ },
112
+ {
113
+ layer_id: "binding_portability",
114
+ order_index: 2,
115
+ objects: ["binding_lifecycle_record"],
116
+ invariants: [
117
+ "predecessor_and_successor_linkage_is_preserved",
118
+ "revocation_history_remains_visible"
119
+ ]
120
+ },
121
+ {
122
+ layer_id: "proof_followthrough",
123
+ order_index: 3,
124
+ objects: ["binding_lifecycle_record"],
125
+ invariants: [
126
+ "binding_lineage_can_be_carried_into_proof_without_becoming_proof_truth_itself",
127
+ "optional_proof_and_anchor_refs_do_not_change_base_binding_meaning"
128
+ ]
129
+ }
130
+ ],
131
+ invariants: [
132
+ "binding_state_changes_are_explicit_and_versioned",
133
+ "rotation_preserves_lineage",
134
+ "revocation_preserves_auditability",
135
+ "delegated_signing_remains_bounded",
136
+ "binding_lifecycle_is_a_proof_followthrough_concept_not_a_general_web_token_story"
137
+ ],
138
+ linked_surfaces: {
139
+ identity_binding_proof_ref: "/v1/phases/phase-4/identity-registry/proof",
140
+ identity_binding_proof_summary_ref: "/v1/phases/phase-4/identity-registry/proof/summary",
141
+ attestation_proof_ref: "/v1/phases/phase-4/attestation/proof",
142
+ trust_portability_ref: "/v1/proof-center/trust-portability",
143
+ trust_portability_summary_ref: "/v1/proof-center/trust-portability/summary"
144
+ },
145
+ claim_boundary: "claim_the_xoonya_binding_lifecycle_followthrough_only_without_claiming_universal_external_identity_authority_or_custody_truth"
146
+ };
147
+ }
148
+
149
+ function summarizeAuthorityBindingLifecycleContractPack() {
150
+ const pack = buildAuthorityBindingLifecycleContractPack();
151
+ return {
152
+ ok: true,
153
+ product: pack.product,
154
+ category: pack.category,
155
+ summary_version: "naxytra-authority-binding-lifecycle-contract-summary-v1",
156
+ pack_version: pack.pack_version,
157
+ model_state: pack.model_state,
158
+ binding_kind_count: pack.binding_kinds.length,
159
+ lifecycle_state_count: pack.lifecycle_states.length,
160
+ canonical_object_count: pack.canonical_objects.length,
161
+ transition_rule_count: pack.transition_rules.length,
162
+ delegated_signing_rule_count: pack.delegated_signing_rules.length,
163
+ linked_surfaces: pack.linked_surfaces
164
+ };
165
+ }
166
+
167
+ function getAuthorityBindingKindDetail(bindingKind) {
168
+ const normalized = String(bindingKind || "").trim().toLowerCase();
169
+ return (buildAuthorityBindingLifecycleContractPack().binding_kinds || []).find((entry) => entry.binding_kind === normalized) || null;
170
+ }
171
+
172
+ function getAuthorityLifecycleStateDetail(state) {
173
+ const normalized = String(state || "").trim().toLowerCase();
174
+ return (buildAuthorityBindingLifecycleContractPack().lifecycle_states || []).find((entry) => entry.state === normalized) || null;
175
+ }
176
+
177
+ module.exports = {
178
+ buildAuthorityBindingLifecycleContractPack,
179
+ summarizeAuthorityBindingLifecycleContractPack,
180
+ getAuthorityBindingKindDetail,
181
+ getAuthorityLifecycleStateDetail
182
+ };
@@ -1,102 +1,102 @@
1
- "use strict";
2
-
3
- const packageJson = require("../package.json");
4
- const proofSdk = require("../proof_sdk");
5
-
6
- function classifyBridgeCoverageState(bridgeSummary) {
7
- if (bridgeSummary.capability_count >= 8 && bridgeSummary.profile_count >= 3) return "broad";
8
- if (bridgeSummary.capability_count >= 4 && bridgeSummary.profile_count >= 2) return "working";
9
- return "thin";
10
- }
11
-
12
- function classifyCompatibilityStrengthState(compatibilityPack) {
13
- const preservedRouteCount = Array.isArray(compatibilityPack.preserved_routes)
14
- ? compatibilityPack.preserved_routes.length
15
- : 0;
16
- const preservedHelperCount = Array.isArray(compatibilityPack.preserved_helpers)
17
- ? compatibilityPack.preserved_helpers.length
18
- : 0;
19
- if (preservedRouteCount >= 5 && preservedHelperCount >= 8) return "strong";
20
- if (preservedRouteCount >= 3 && preservedHelperCount >= 5) return "working";
21
- return "thin";
22
- }
23
-
24
- function classifyHandoffDependencyState(operatorReviewPack, handoffCenterSummary) {
25
- const includedSectionCount = Array.isArray(operatorReviewPack.included_sections)
26
- ? operatorReviewPack.included_sections.length
27
- : 0;
28
- if (includedSectionCount >= 6 && handoffCenterSummary.source_ref_count >= 3) return "strong";
29
- if (includedSectionCount >= 4 && handoffCenterSummary.source_ref_count >= 2) return "working";
30
- return "thin";
31
- }
32
-
33
- function buildBridgeIntelligencePack(input) {
34
- const payload = input && typeof input === "object" && !Array.isArray(input) ? input : {};
35
- const bridgeSummary = proofSdk.summarizeBridgeCenter();
36
- const compatibilityPack = proofSdk.buildBridgeCompatibilityPack(payload);
37
- const operatorReviewPack = proofSdk.buildBridgeOperatorReviewPack(payload);
38
- const handoffCenterSummary = proofSdk.summarizeInteractionResultPackageHandoffCenter();
39
-
40
- const bridgeCoverageState = classifyBridgeCoverageState(bridgeSummary);
41
- const compatibilityStrengthState = classifyCompatibilityStrengthState(compatibilityPack);
42
- const handoffDependencyState = classifyHandoffDependencyState(operatorReviewPack, handoffCenterSummary);
43
-
44
- let nextBestAction = "continue_bridge_review_motion";
45
- if (bridgeCoverageState === "thin") {
46
- nextBestAction = "strengthen_bridge_coverage";
47
- } else if (compatibilityStrengthState === "thin") {
48
- nextBestAction = "strengthen_compatibility_posture";
49
- } else if (handoffDependencyState !== "strong") {
50
- nextBestAction = "strengthen_bridge_handoff_continuity";
51
- } else if (compatibilityStrengthState === "working" || handoffDependencyState === "working") {
52
- nextBestAction = "inspect_bridge_operator_pack";
53
- }
54
-
55
- return {
56
- ok: true,
57
- product: packageJson.name,
58
- category: "proof-bridge-intelligence-pack",
59
- bridge_coverage_state: bridgeCoverageState,
60
- compatibility_strength_state: compatibilityStrengthState,
61
- handoff_dependency_state: handoffDependencyState,
62
- recommended_bridge_motion: "bridge_operator_review_and_handoff_followthrough",
63
- next_best_action: nextBestAction,
64
- explanation_signals: {
65
- bridge_capability_count: bridgeSummary.capability_count,
66
- bridge_profile_count: bridgeSummary.profile_count,
67
- compatibility_route_count: Array.isArray(compatibilityPack.preserved_routes) ? compatibilityPack.preserved_routes.length : 0,
68
- compatibility_helper_count: Array.isArray(compatibilityPack.preserved_helpers) ? compatibilityPack.preserved_helpers.length : 0,
69
- compatibility_profile_version_count: Array.isArray(compatibilityPack.profile_versions) ? compatibilityPack.profile_versions.length : 0,
70
- operator_pack_section_count: Array.isArray(operatorReviewPack.included_sections) ? operatorReviewPack.included_sections.length : 0,
71
- handoff_source_ref_count: handoffCenterSummary.source_ref_count,
72
- handoff_mode_count: handoffCenterSummary.handoff_mode_count
73
- },
74
- linked_surfaces: {
75
- bridge_summary_ref: "/v1/proof-center/bridge/summary",
76
- bridge_operator_review_pack_ref: "/v1/proof-center/bridge/operator-review-pack",
77
- bridge_compatibility_pack_ref: "/v1/proof-center/bridge/compatibility-pack",
78
- bridge_workflow_pack_ref: "/v1/proof-center/bridge/workflow-pack",
79
- result_package_handoff_summary_ref: "/v1/proof-center/result-package-handoff/summary",
80
- result_package_handoff_run_ref: "/v1/proof-center/result-package-handoff/run"
81
- }
82
- };
83
- }
84
-
85
- function summarizeBridgeIntelligencePack(input) {
86
- const pack = buildBridgeIntelligencePack(input);
87
- return {
88
- ok: true,
89
- product: pack.product,
90
- category: pack.category,
91
- bridge_coverage_state: pack.bridge_coverage_state,
92
- compatibility_strength_state: pack.compatibility_strength_state,
93
- handoff_dependency_state: pack.handoff_dependency_state,
94
- next_best_action: pack.next_best_action,
95
- signal_count: Object.keys(pack.explanation_signals).length
96
- };
97
- }
98
-
99
- module.exports = {
100
- buildBridgeIntelligencePack,
101
- summarizeBridgeIntelligencePack
102
- };
1
+ "use strict";
2
+
3
+ const packageJson = require("../package.json");
4
+ const proofSdk = require("../proof_sdk");
5
+
6
+ function classifyBridgeCoverageState(bridgeSummary) {
7
+ if (bridgeSummary.capability_count >= 8 && bridgeSummary.profile_count >= 3) return "broad";
8
+ if (bridgeSummary.capability_count >= 4 && bridgeSummary.profile_count >= 2) return "working";
9
+ return "thin";
10
+ }
11
+
12
+ function classifyCompatibilityStrengthState(compatibilityPack) {
13
+ const preservedRouteCount = Array.isArray(compatibilityPack.preserved_routes)
14
+ ? compatibilityPack.preserved_routes.length
15
+ : 0;
16
+ const preservedHelperCount = Array.isArray(compatibilityPack.preserved_helpers)
17
+ ? compatibilityPack.preserved_helpers.length
18
+ : 0;
19
+ if (preservedRouteCount >= 5 && preservedHelperCount >= 8) return "strong";
20
+ if (preservedRouteCount >= 3 && preservedHelperCount >= 5) return "working";
21
+ return "thin";
22
+ }
23
+
24
+ function classifyHandoffDependencyState(operatorReviewPack, handoffCenterSummary) {
25
+ const includedSectionCount = Array.isArray(operatorReviewPack.included_sections)
26
+ ? operatorReviewPack.included_sections.length
27
+ : 0;
28
+ if (includedSectionCount >= 6 && handoffCenterSummary.source_ref_count >= 3) return "strong";
29
+ if (includedSectionCount >= 4 && handoffCenterSummary.source_ref_count >= 2) return "working";
30
+ return "thin";
31
+ }
32
+
33
+ function buildBridgeIntelligencePack(input) {
34
+ const payload = input && typeof input === "object" && !Array.isArray(input) ? input : {};
35
+ const bridgeSummary = proofSdk.summarizeBridgeCenter();
36
+ const compatibilityPack = proofSdk.buildBridgeCompatibilityPack(payload);
37
+ const operatorReviewPack = proofSdk.buildBridgeOperatorReviewPack(payload);
38
+ const handoffCenterSummary = proofSdk.summarizeInteractionResultPackageHandoffCenter();
39
+
40
+ const bridgeCoverageState = classifyBridgeCoverageState(bridgeSummary);
41
+ const compatibilityStrengthState = classifyCompatibilityStrengthState(compatibilityPack);
42
+ const handoffDependencyState = classifyHandoffDependencyState(operatorReviewPack, handoffCenterSummary);
43
+
44
+ let nextBestAction = "continue_bridge_review_motion";
45
+ if (bridgeCoverageState === "thin") {
46
+ nextBestAction = "strengthen_bridge_coverage";
47
+ } else if (compatibilityStrengthState === "thin") {
48
+ nextBestAction = "strengthen_compatibility_posture";
49
+ } else if (handoffDependencyState !== "strong") {
50
+ nextBestAction = "strengthen_bridge_handoff_continuity";
51
+ } else if (compatibilityStrengthState === "working" || handoffDependencyState === "working") {
52
+ nextBestAction = "inspect_bridge_operator_pack";
53
+ }
54
+
55
+ return {
56
+ ok: true,
57
+ product: packageJson.name,
58
+ category: "proof-bridge-intelligence-pack",
59
+ bridge_coverage_state: bridgeCoverageState,
60
+ compatibility_strength_state: compatibilityStrengthState,
61
+ handoff_dependency_state: handoffDependencyState,
62
+ recommended_bridge_motion: "bridge_operator_review_and_handoff_followthrough",
63
+ next_best_action: nextBestAction,
64
+ explanation_signals: {
65
+ bridge_capability_count: bridgeSummary.capability_count,
66
+ bridge_profile_count: bridgeSummary.profile_count,
67
+ compatibility_route_count: Array.isArray(compatibilityPack.preserved_routes) ? compatibilityPack.preserved_routes.length : 0,
68
+ compatibility_helper_count: Array.isArray(compatibilityPack.preserved_helpers) ? compatibilityPack.preserved_helpers.length : 0,
69
+ compatibility_profile_version_count: Array.isArray(compatibilityPack.profile_versions) ? compatibilityPack.profile_versions.length : 0,
70
+ operator_pack_section_count: Array.isArray(operatorReviewPack.included_sections) ? operatorReviewPack.included_sections.length : 0,
71
+ handoff_source_ref_count: handoffCenterSummary.source_ref_count,
72
+ handoff_mode_count: handoffCenterSummary.handoff_mode_count
73
+ },
74
+ linked_surfaces: {
75
+ bridge_summary_ref: "/v1/proof-center/bridge/summary",
76
+ bridge_operator_review_pack_ref: "/v1/proof-center/bridge/operator-review-pack",
77
+ bridge_compatibility_pack_ref: "/v1/proof-center/bridge/compatibility-pack",
78
+ bridge_workflow_pack_ref: "/v1/proof-center/bridge/workflow-pack",
79
+ result_package_handoff_summary_ref: "/v1/proof-center/result-package-handoff/summary",
80
+ result_package_handoff_run_ref: "/v1/proof-center/result-package-handoff/run"
81
+ }
82
+ };
83
+ }
84
+
85
+ function summarizeBridgeIntelligencePack(input) {
86
+ const pack = buildBridgeIntelligencePack(input);
87
+ return {
88
+ ok: true,
89
+ product: pack.product,
90
+ category: pack.category,
91
+ bridge_coverage_state: pack.bridge_coverage_state,
92
+ compatibility_strength_state: pack.compatibility_strength_state,
93
+ handoff_dependency_state: pack.handoff_dependency_state,
94
+ next_best_action: pack.next_best_action,
95
+ signal_count: Object.keys(pack.explanation_signals).length
96
+ };
97
+ }
98
+
99
+ module.exports = {
100
+ buildBridgeIntelligencePack,
101
+ summarizeBridgeIntelligencePack
102
+ };