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.
- package/.env.example +2 -2
- package/CARRIED_HANDOFF_DEMO.md +60 -60
- package/COMPATIBILITY_NOTE.md +27 -27
- package/CROSS_RUNTIME_POSTURE.md +77 -77
- package/EXAMPLE_PATHS.md +53 -53
- package/FINAL_CONTRACT.md +445 -445
- package/LICENSE +201 -201
- package/NOTICE +3 -3
- package/OPERATIONS_RUNBOOK.md +50 -0
- package/OPERATOR_START_HERE.md +67 -0
- package/PARTNER_READY_PATH.md +67 -67
- package/PROGRAM_COMPLETE_RELEASE.md +52 -0
- package/PROGRAM_STATUS.md +57 -0
- package/PUBLIC_DEMO_SCRIPT.md +79 -79
- package/PUBLISH_PLAN.md +25 -0
- package/README.md +807 -732
- package/RELEASE_CHECKLIST.md +16 -0
- package/RELEASE_NOTES.md +15 -15
- package/SERVICE_CONTRACT.md +207 -195
- package/START_HERE.md +159 -150
- package/TERMINOLOGY.md +55 -55
- package/WHY_XYTARA_XOONYA.md +43 -43
- package/XNYA_CONFORMANCE_MARK.md +78 -78
- package/XNYA_REFERENCE_IMPLEMENTATIONS.md +157 -157
- package/XOONYA_DEFAULT_PATH_MODEL.md +63 -63
- package/XOONYA_FOLLOWTHROUGH_TRUTH_MODEL.md +63 -63
- package/XOONYA_NATIVE_ATOM_SPEC.md +184 -184
- package/XOONYA_NATIVE_PROOF_FORMAT.md +527 -527
- package/XOONYA_NATIVE_STANDARD_GOVERNANCE.md +119 -119
- package/XOONYA_PROOF_TRUTH_MODEL.md +58 -58
- package/bin/xoonya-first-run.js +184 -184
- package/bin/xoonya-release.js +1367 -1367
- package/bin/xoonya-review.js +70 -70
- package/bin/xoonya.js +82 -82
- package/examples/integration_boundary_walkthrough.js +37 -37
- package/examples/package_quickstart.js +1007 -1007
- package/examples/partner_proof_walkthrough.js +68 -68
- package/examples/proof_review_walkthrough.js +66 -66
- package/examples/review_carried_handoff.js +72 -72
- package/index.js +31 -22
- package/integrations/PROOF_INTEGRATION_PROCESS.md +45 -45
- package/integrations/examples/example-third-party-verifier-registration.record.json +22 -22
- package/integrations/registration-record.schema.json +99 -99
- package/integrations/registry-snapshot.schema.json +36 -36
- package/integrations/registry.js +636 -636
- package/integrations/views.js +36 -36
- package/lib/adapter_certification_contract.js +90 -0
- package/lib/announcement_pack.js +61 -61
- package/lib/artifact_distribution_lane_contract.js +54 -54
- package/lib/asyncapi_contract.js +135 -135
- package/lib/auth_interop_contract.js +69 -69
- package/lib/authority_binding_lifecycle_contract.js +182 -0
- package/lib/bridge_intelligence.js +102 -102
- package/lib/cloudevents_contract.js +79 -79
- package/lib/crypto_agility_matrix.js +125 -0
- package/lib/default_path_contract.js +380 -380
- package/lib/ecosystem_entry.js +64 -64
- package/lib/erc8004_proof_lane_contract.js +64 -64
- package/lib/event_system_lane_contract.js +76 -76
- package/lib/external_proof_import_lane_contract.js +87 -87
- package/lib/feature_control_lane_contract.js +54 -54
- package/lib/followthrough_truth_contract.js +214 -214
- package/lib/framework_lane_contract.js +76 -76
- package/lib/governance_disputes_summary.js +36 -36
- package/lib/governance_intelligence.js +108 -108
- package/lib/identity_interop_contract.js +83 -83
- package/lib/integration_matrix_contract.js +81 -81
- package/lib/launch_narrative.js +53 -53
- package/lib/machine_identity_registry_contract.js +199 -0
- package/lib/major_rails_proof_lane_contract.js +87 -87
- package/lib/offline_verifiability_recovery_contract.js +155 -0
- package/lib/openapi_contract.js +227 -227
- package/lib/operational_receipt_contract.js +165 -0
- package/lib/outreach_proof.js +71 -71
- package/lib/phase_10_closeout_pack.js +45 -45
- package/lib/phase_10_completion_pack.js +76 -76
- package/lib/phase_10_decision_record_pack.js +54 -54
- package/lib/phase_10_decision_resolution_pack.js +53 -53
- package/lib/phase_10_demand_signal_adapters_proof_pack.js +74 -74
- package/lib/phase_10_ecosystem_backlog_triage_proof_pack.js +74 -74
- package/lib/phase_10_freeze_baseline_pack.js +67 -67
- package/lib/phase_10_freeze_review_pack.js +64 -64
- package/lib/phase_10_gate_pack.js +57 -57
- package/lib/phase_10_long_tail_continuity_pack.js +80 -80
- package/lib/phase_10_long_tail_ecosystem_pack.js +68 -68
- package/lib/phase_10_niche_extension_registry_proof_pack.js +74 -74
- package/lib/phase_1_claude_mcp_pack.js +60 -60
- package/lib/phase_1_claude_mcp_proof_pack.js +57 -57
- package/lib/phase_1_ecosystem_pack.js +51 -51
- package/lib/phase_1_openai_codex_pack.js +60 -60
- package/lib/phase_1_openai_codex_proof_pack.js +57 -57
- package/lib/phase_2_base_proof_pack.js +71 -71
- package/lib/phase_2_base_usdc_proof_pack.js +72 -72
- package/lib/phase_2_closeout_pack.js +65 -65
- package/lib/phase_2_completion_pack.js +113 -113
- package/lib/phase_2_decision_record_pack.js +66 -66
- package/lib/phase_2_decision_resolution_pack.js +69 -69
- package/lib/phase_2_eth_proof_pack.js +70 -70
- package/lib/phase_2_evm_base_proof_pack.js +73 -73
- package/lib/phase_2_evm_proof_pack.js +71 -71
- package/lib/phase_2_flip_preview_pack.js +60 -60
- package/lib/phase_2_freeze_review_pack.js +99 -99
- package/lib/phase_2_gate_pack.js +77 -77
- package/lib/phase_2_payment_rails_pack.js +71 -71
- package/lib/phase_2_usdc_proof_pack.js +71 -71
- package/lib/phase_3_brc_proof_pack.js +81 -81
- package/lib/phase_3_bsv_teranode_proof_pack.js +81 -81
- package/lib/phase_3_closeout_pack.js +62 -62
- package/lib/phase_3_completion_pack.js +92 -92
- package/lib/phase_3_decision_record_pack.js +64 -64
- package/lib/phase_3_decision_resolution_pack.js +69 -69
- package/lib/phase_3_freeze_baseline_pack.js +67 -67
- package/lib/phase_3_freeze_review_pack.js +80 -80
- package/lib/phase_3_gate_pack.js +76 -76
- package/lib/phase_3_metanet_proof_pack.js +81 -81
- package/lib/phase_3_native_bsv_pack.js +89 -89
- package/lib/phase_3_native_continuity_pack.js +82 -82
- package/lib/phase_4_attestation_proof_pack.js +75 -75
- package/lib/phase_4_closeout_pack.js +45 -45
- package/lib/phase_4_completion_pack.js +82 -82
- package/lib/phase_4_decision_record_pack.js +54 -54
- package/lib/phase_4_decision_resolution_pack.js +45 -45
- package/lib/phase_4_erc8004_proof_pack.js +76 -76
- package/lib/phase_4_freeze_baseline_pack.js +67 -67
- package/lib/phase_4_freeze_review_pack.js +68 -68
- package/lib/phase_4_gate_pack.js +58 -58
- package/lib/phase_4_identity_registry_proof_pack.js +75 -75
- package/lib/phase_4_identity_trust_pack.js +73 -73
- package/lib/phase_4_trust_continuity_pack.js +86 -86
- package/lib/phase_5_antelope_proof_pack.js +76 -76
- package/lib/phase_5_closeout_pack.js +44 -44
- package/lib/phase_5_completion_pack.js +82 -82
- package/lib/phase_5_decision_record_pack.js +54 -54
- package/lib/phase_5_decision_resolution_pack.js +45 -45
- package/lib/phase_5_freeze_baseline_pack.js +67 -67
- package/lib/phase_5_freeze_review_pack.js +68 -68
- package/lib/phase_5_gate_pack.js +58 -58
- package/lib/phase_5_major_rails_continuity_pack.js +86 -86
- package/lib/phase_5_major_rails_pack.js +74 -74
- package/lib/phase_5_proton_xpr_proof_pack.js +76 -76
- package/lib/phase_5_solana_proof_pack.js +76 -76
- package/lib/phase_6_autogen_proof_pack.js +74 -74
- package/lib/phase_6_closeout_pack.js +46 -46
- package/lib/phase_6_completion_pack.js +77 -77
- package/lib/phase_6_decision_record_pack.js +54 -54
- package/lib/phase_6_decision_resolution_pack.js +53 -53
- package/lib/phase_6_framework_continuity_pack.js +81 -81
- package/lib/phase_6_framework_runtime_pack.js +68 -68
- package/lib/phase_6_freeze_baseline_pack.js +68 -68
- package/lib/phase_6_freeze_review_pack.js +65 -65
- package/lib/phase_6_gate_pack.js +59 -59
- package/lib/phase_6_langchain_proof_pack.js +74 -74
- package/lib/phase_6_langgraph_proof_pack.js +74 -74
- package/lib/phase_6_semantic_kernel_proof_pack.js +74 -74
- package/lib/phase_7_closeout_pack.js +45 -45
- package/lib/phase_7_completion_pack.js +85 -85
- package/lib/phase_7_decision_record_pack.js +53 -53
- package/lib/phase_7_decision_resolution_pack.js +53 -53
- package/lib/phase_7_event_system_continuity_pack.js +89 -89
- package/lib/phase_7_event_system_pack.js +76 -76
- package/lib/phase_7_freeze_baseline_pack.js +74 -74
- package/lib/phase_7_freeze_review_pack.js +65 -65
- package/lib/phase_7_gate_pack.js +58 -58
- package/lib/phase_7_kafka_proof_pack.js +76 -76
- package/lib/phase_7_mqtt_proof_pack.js +76 -76
- package/lib/phase_7_nats_proof_pack.js +76 -76
- package/lib/phase_7_webhook_event_bus_proof_pack.js +76 -76
- package/lib/phase_8_closeout_pack.js +46 -46
- package/lib/phase_8_completion_pack.js +82 -82
- package/lib/phase_8_decision_record_pack.js +54 -54
- package/lib/phase_8_decision_resolution_pack.js +53 -53
- package/lib/phase_8_external_receipt_import_proof_pack.js +74 -74
- package/lib/phase_8_external_result_import_proof_pack.js +74 -74
- package/lib/phase_8_freeze_baseline_pack.js +71 -71
- package/lib/phase_8_freeze_review_pack.js +64 -64
- package/lib/phase_8_gate_pack.js +58 -58
- package/lib/phase_8_proof_bridge_continuity_pack.js +86 -86
- package/lib/phase_8_proof_bridges_pack.js +72 -72
- package/lib/phase_8_proof_bundle_normalization_proof_pack.js +74 -74
- package/lib/phase_9_closeout_pack.js +46 -46
- package/lib/phase_9_completion_pack.js +82 -82
- package/lib/phase_9_custody_refs_proof_pack.js +74 -74
- package/lib/phase_9_decision_record_pack.js +54 -54
- package/lib/phase_9_decision_resolution_pack.js +53 -53
- package/lib/phase_9_freeze_baseline_pack.js +71 -71
- package/lib/phase_9_freeze_review_pack.js +64 -64
- package/lib/phase_9_gate_pack.js +58 -58
- package/lib/phase_9_operator_accounting_bridges_proof_pack.js +74 -74
- package/lib/phase_9_treasury_connectivity_pack.js +72 -72
- package/lib/phase_9_treasury_continuity_pack.js +86 -86
- package/lib/phase_9_treasury_destinations_proof_pack.js +74 -74
- package/lib/phase_program_pack.js +47 -47
- package/lib/proof_bridge_lane_contract.js +82 -82
- package/lib/proof_truth_contract.js +224 -224
- package/lib/provenance_lane_contract.js +54 -54
- package/lib/provider_lane_contract.js +67 -67
- package/lib/public_surface_policy_contract.js +111 -0
- package/lib/publish_plan.js +51 -51
- package/lib/release_candidate.js +50 -50
- package/lib/release_center.js +1037 -1037
- package/lib/release_history.js +206 -206
- package/lib/release_manifest.js +114 -114
- package/lib/release_pack.js +391 -391
- package/lib/result_package_trust_lane_contract.js +74 -74
- package/lib/review_intelligence.js +100 -100
- package/lib/role_freeze.js +436 -436
- package/lib/shared_signals_lane_contract.js +54 -54
- package/lib/signed_audit_provenance_contract.js +93 -0
- package/lib/telemetry_lane_contract.js +54 -54
- package/lib/treasury_proof_lane_contract.js +83 -83
- package/lib/trust_intelligence.js +106 -106
- package/lib/trust_portability_boundary_contract.js +66 -0
- package/lib/trust_portability_pack.js +224 -224
- package/lib/verification_service_pack.js +149 -149
- package/package.json +97 -95
- package/proof_sdk.js +6265 -6265
- package/reference/python/README.md +35 -35
- package/reference/python/requirements-optional.txt +1 -1
- package/reference/python/verify_vectors.py +223 -223
- package/reference/python/xnya_reference.py +810 -810
- package/reference/rust/Cargo.toml +11 -11
- package/reference/rust/README.md +28 -28
- package/reference/rust/src/lib.rs +87 -87
- package/scripts/registry_cli.js +157 -157
- package/scripts/verify_all.js +603 -603
- package/scripts/verify_control_plane_contracts.js +34 -0
- package/scripts/verify_control_plane_routes.js +70 -0
- package/scripts/verify_examples.js +19 -19
- package/scripts/verify_external_proof_import_gate.js +84 -84
- package/scripts/verify_integrations.js +170 -170
- package/scripts/verify_native_hybrid_design_gate.js +114 -114
- package/scripts/verify_reference_promotion_gate.js +74 -74
- package/scripts/verify_reference_python.js +49 -49
- package/scripts/verify_reference_python_crypto.js +87 -87
- package/scripts/verify_reference_rust_scaffold.js +50 -50
- package/scripts/verify_release_candidate.js +131 -131
- package/scripts/verify_service.js +2940 -2940
- package/scripts/verify_tooling.js +1251 -1251
- package/scripts/verify_trust_portability.js +56 -56
- package/scripts/verify_vectors.js +192 -192
- package/scripts/verify_verification_services.js +56 -56
- package/server.js +4099 -3997
- package/vectors/adversarial-vectors.json +552 -552
- package/vectors/conformance-vectors.json +446 -446
- package/vectors/native-atom-vectors.json +101 -101
- package/vectors/native-payload-profile-vectors.json +50 -50
package/lib/ecosystem_entry.js
CHANGED
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildEcosystemEntryPack() {
|
|
6
|
-
return {
|
|
7
|
-
ok: true,
|
|
8
|
-
product: packageJson.name,
|
|
9
|
-
category: "proof-ecosystem-entry",
|
|
10
|
-
audiences: [
|
|
11
|
-
{
|
|
12
|
-
audience_ref: "proof_operator",
|
|
13
|
-
why_now: "needs a direct first review path for carried runtime handoff bundles",
|
|
14
|
-
first_path_ref: "scenario.carried_handoff.review",
|
|
15
|
-
first_http_entrypoint: "/v1/proof-center/result-package-handoff/review/summary",
|
|
16
|
-
first_cli_entrypoint: "xoonya-review --file ./handoff.json --summary"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
audience_ref: "runtime_builder_needing_verification",
|
|
20
|
-
why_now: "needs a stable proof continuation after runtime output crosses trust boundaries",
|
|
21
|
-
first_path_ref: "scenario.result_package.followthrough",
|
|
22
|
-
first_http_entrypoint: "/v1/proof-center/result-package-handoff/review/summary",
|
|
23
|
-
first_cli_entrypoint: "xoonya-release --scenarios --summary"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
audience_ref: "adapter_integrator",
|
|
27
|
-
why_now: "needs a proof contract that survives changing runtimes and settlement choices",
|
|
28
|
-
first_path_ref: "scenario.default_proof.loop",
|
|
29
|
-
first_http_entrypoint: "/v1/proof-center/default-loops/summary",
|
|
30
|
-
first_cli_entrypoint: "xoonya-release --launch --summary"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
audience_ref: "governance_or_audit_team",
|
|
34
|
-
why_now: "needs handoff and governance posture before trusting proof-native followthrough",
|
|
35
|
-
first_path_ref: "scenario.carried_handoff.review",
|
|
36
|
-
first_http_entrypoint: "/v1/release-center/summary",
|
|
37
|
-
first_cli_entrypoint: "xoonya-release --center --summary"
|
|
38
|
-
}
|
|
39
|
-
],
|
|
40
|
-
public_lead_sequence: [
|
|
41
|
-
"identify the proof-side audience and first success path",
|
|
42
|
-
"show the smallest review or proof loop entrypoint",
|
|
43
|
-
"show the matching comparison and adoption summary",
|
|
44
|
-
"show the release center when trust, breadth, and maturity need one compact artifact"
|
|
45
|
-
]
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function summarizeEcosystemEntryPack() {
|
|
50
|
-
const pack = buildEcosystemEntryPack();
|
|
51
|
-
return {
|
|
52
|
-
ok: true,
|
|
53
|
-
product: pack.product,
|
|
54
|
-
category: pack.category,
|
|
55
|
-
audience_count: pack.audiences.length,
|
|
56
|
-
first_audience: pack.audiences[0] ? pack.audiences[0].audience_ref : null,
|
|
57
|
-
lead_step_count: pack.public_lead_sequence.length
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
module.exports = {
|
|
62
|
-
buildEcosystemEntryPack,
|
|
63
|
-
summarizeEcosystemEntryPack
|
|
64
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildEcosystemEntryPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-ecosystem-entry",
|
|
10
|
+
audiences: [
|
|
11
|
+
{
|
|
12
|
+
audience_ref: "proof_operator",
|
|
13
|
+
why_now: "needs a direct first review path for carried runtime handoff bundles",
|
|
14
|
+
first_path_ref: "scenario.carried_handoff.review",
|
|
15
|
+
first_http_entrypoint: "/v1/proof-center/result-package-handoff/review/summary",
|
|
16
|
+
first_cli_entrypoint: "xoonya-review --file ./handoff.json --summary"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
audience_ref: "runtime_builder_needing_verification",
|
|
20
|
+
why_now: "needs a stable proof continuation after runtime output crosses trust boundaries",
|
|
21
|
+
first_path_ref: "scenario.result_package.followthrough",
|
|
22
|
+
first_http_entrypoint: "/v1/proof-center/result-package-handoff/review/summary",
|
|
23
|
+
first_cli_entrypoint: "xoonya-release --scenarios --summary"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
audience_ref: "adapter_integrator",
|
|
27
|
+
why_now: "needs a proof contract that survives changing runtimes and settlement choices",
|
|
28
|
+
first_path_ref: "scenario.default_proof.loop",
|
|
29
|
+
first_http_entrypoint: "/v1/proof-center/default-loops/summary",
|
|
30
|
+
first_cli_entrypoint: "xoonya-release --launch --summary"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
audience_ref: "governance_or_audit_team",
|
|
34
|
+
why_now: "needs handoff and governance posture before trusting proof-native followthrough",
|
|
35
|
+
first_path_ref: "scenario.carried_handoff.review",
|
|
36
|
+
first_http_entrypoint: "/v1/release-center/summary",
|
|
37
|
+
first_cli_entrypoint: "xoonya-release --center --summary"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
public_lead_sequence: [
|
|
41
|
+
"identify the proof-side audience and first success path",
|
|
42
|
+
"show the smallest review or proof loop entrypoint",
|
|
43
|
+
"show the matching comparison and adoption summary",
|
|
44
|
+
"show the release center when trust, breadth, and maturity need one compact artifact"
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function summarizeEcosystemEntryPack() {
|
|
50
|
+
const pack = buildEcosystemEntryPack();
|
|
51
|
+
return {
|
|
52
|
+
ok: true,
|
|
53
|
+
product: pack.product,
|
|
54
|
+
category: pack.category,
|
|
55
|
+
audience_count: pack.audiences.length,
|
|
56
|
+
first_audience: pack.audiences[0] ? pack.audiences[0].audience_ref : null,
|
|
57
|
+
lead_step_count: pack.public_lead_sequence.length
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = {
|
|
62
|
+
buildEcosystemEntryPack,
|
|
63
|
+
summarizeEcosystemEntryPack
|
|
64
|
+
};
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const {
|
|
4
|
-
buildPhase4Erc8004ProofPack,
|
|
5
|
-
summarizePhase4Erc8004ProofPack
|
|
6
|
-
} = require("./phase_4_erc8004_proof_pack");
|
|
7
|
-
|
|
8
|
-
function buildErc8004ProofLanePack() {
|
|
9
|
-
const phasePack = buildPhase4Erc8004ProofPack();
|
|
10
|
-
return {
|
|
11
|
-
product: "xoonya",
|
|
12
|
-
category: "proof-erc8004-lane-pack",
|
|
13
|
-
pack_version: "xoonya-erc8004-lane-pack-v1",
|
|
14
|
-
lane_state: "first_party_erc8004_proof_present",
|
|
15
|
-
posture: "identity_and_attestation_proof_interop_lane",
|
|
16
|
-
phase_alignment: {
|
|
17
|
-
phase_ref: phasePack.phase_ref,
|
|
18
|
-
phase_proof_pack: phasePack,
|
|
19
|
-
phase_proof_summary: summarizePhase4Erc8004ProofPack()
|
|
20
|
-
},
|
|
21
|
-
supported_surfaces: {
|
|
22
|
-
phase_proof_ref: "/v1/phases/phase-4/erc8004/proof",
|
|
23
|
-
phase_proof_summary_ref: "/v1/phases/phase-4/erc8004/proof/summary",
|
|
24
|
-
identity_interop_ref: "/v1/identity-interop",
|
|
25
|
-
bridge_summary_ref: "/v1/proof-center/bridge/summary",
|
|
26
|
-
trust_intelligence_ref: "/v1/trust-intelligence/summary"
|
|
27
|
-
},
|
|
28
|
-
first_run_flows: [
|
|
29
|
-
{
|
|
30
|
-
flow_ref: "erc8004.attestation_proof_view",
|
|
31
|
-
recommended_reason: "best first proof-facing trust lane for attestation, subject binding, and policy carry review",
|
|
32
|
-
sequence: [
|
|
33
|
-
"inspect_erc8004_proof_lane_summary",
|
|
34
|
-
"inspect_identity_interop_contract",
|
|
35
|
-
"inspect_bridge_summary",
|
|
36
|
-
"inspect_trust_intelligence_summary"
|
|
37
|
-
]
|
|
38
|
-
}
|
|
39
|
-
],
|
|
40
|
-
guardrails: [
|
|
41
|
-
"erc8004 is an interop lane rather than the canonical source of proof truth",
|
|
42
|
-
"native proof review and attestation semantics remain canonical inside xoonya",
|
|
43
|
-
"erc8004 posture should improve external verifier trust without turning xoonya into a generic credential wallet"
|
|
44
|
-
]
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function summarizeErc8004ProofLanePack() {
|
|
49
|
-
const pack = buildErc8004ProofLanePack();
|
|
50
|
-
return {
|
|
51
|
-
product: "xoonya",
|
|
52
|
-
category: "proof-erc8004-lane-pack-summary",
|
|
53
|
-
summary_version: "xoonya-erc8004-lane-pack-summary-v1",
|
|
54
|
-
lane_state: pack.lane_state,
|
|
55
|
-
posture: pack.posture,
|
|
56
|
-
first_run_flow_count: pack.first_run_flows.length,
|
|
57
|
-
linked_surfaces: pack.supported_surfaces
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
module.exports = {
|
|
62
|
-
buildErc8004ProofLanePack,
|
|
63
|
-
summarizeErc8004ProofLanePack
|
|
64
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const {
|
|
4
|
+
buildPhase4Erc8004ProofPack,
|
|
5
|
+
summarizePhase4Erc8004ProofPack
|
|
6
|
+
} = require("./phase_4_erc8004_proof_pack");
|
|
7
|
+
|
|
8
|
+
function buildErc8004ProofLanePack() {
|
|
9
|
+
const phasePack = buildPhase4Erc8004ProofPack();
|
|
10
|
+
return {
|
|
11
|
+
product: "xoonya",
|
|
12
|
+
category: "proof-erc8004-lane-pack",
|
|
13
|
+
pack_version: "xoonya-erc8004-lane-pack-v1",
|
|
14
|
+
lane_state: "first_party_erc8004_proof_present",
|
|
15
|
+
posture: "identity_and_attestation_proof_interop_lane",
|
|
16
|
+
phase_alignment: {
|
|
17
|
+
phase_ref: phasePack.phase_ref,
|
|
18
|
+
phase_proof_pack: phasePack,
|
|
19
|
+
phase_proof_summary: summarizePhase4Erc8004ProofPack()
|
|
20
|
+
},
|
|
21
|
+
supported_surfaces: {
|
|
22
|
+
phase_proof_ref: "/v1/phases/phase-4/erc8004/proof",
|
|
23
|
+
phase_proof_summary_ref: "/v1/phases/phase-4/erc8004/proof/summary",
|
|
24
|
+
identity_interop_ref: "/v1/identity-interop",
|
|
25
|
+
bridge_summary_ref: "/v1/proof-center/bridge/summary",
|
|
26
|
+
trust_intelligence_ref: "/v1/trust-intelligence/summary"
|
|
27
|
+
},
|
|
28
|
+
first_run_flows: [
|
|
29
|
+
{
|
|
30
|
+
flow_ref: "erc8004.attestation_proof_view",
|
|
31
|
+
recommended_reason: "best first proof-facing trust lane for attestation, subject binding, and policy carry review",
|
|
32
|
+
sequence: [
|
|
33
|
+
"inspect_erc8004_proof_lane_summary",
|
|
34
|
+
"inspect_identity_interop_contract",
|
|
35
|
+
"inspect_bridge_summary",
|
|
36
|
+
"inspect_trust_intelligence_summary"
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
guardrails: [
|
|
41
|
+
"erc8004 is an interop lane rather than the canonical source of proof truth",
|
|
42
|
+
"native proof review and attestation semantics remain canonical inside xoonya",
|
|
43
|
+
"erc8004 posture should improve external verifier trust without turning xoonya into a generic credential wallet"
|
|
44
|
+
]
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function summarizeErc8004ProofLanePack() {
|
|
49
|
+
const pack = buildErc8004ProofLanePack();
|
|
50
|
+
return {
|
|
51
|
+
product: "xoonya",
|
|
52
|
+
category: "proof-erc8004-lane-pack-summary",
|
|
53
|
+
summary_version: "xoonya-erc8004-lane-pack-summary-v1",
|
|
54
|
+
lane_state: pack.lane_state,
|
|
55
|
+
posture: pack.posture,
|
|
56
|
+
first_run_flow_count: pack.first_run_flows.length,
|
|
57
|
+
linked_surfaces: pack.supported_surfaces
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = {
|
|
62
|
+
buildErc8004ProofLanePack,
|
|
63
|
+
summarizeErc8004ProofLanePack
|
|
64
|
+
};
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const {
|
|
4
|
-
buildPhase7EventSystemPack,
|
|
5
|
-
summarizePhase7EventSystemPack
|
|
6
|
-
} = require("./phase_7_event_system_pack");
|
|
7
|
-
const {
|
|
8
|
-
buildPhase7NatsProofPack,
|
|
9
|
-
summarizePhase7NatsProofPack
|
|
10
|
-
} = require("./phase_7_nats_proof_pack");
|
|
11
|
-
|
|
12
|
-
function buildEventSystemLanePack() {
|
|
13
|
-
const phasePack = buildPhase7EventSystemPack();
|
|
14
|
-
const natsPack = buildPhase7NatsProofPack();
|
|
15
|
-
return {
|
|
16
|
-
product: "xoonya",
|
|
17
|
-
category: "proof-event-system-lane-pack",
|
|
18
|
-
pack_version: "xoonya-event-system-lane-pack-v1",
|
|
19
|
-
lane_state: "first_party_event_system_family_present",
|
|
20
|
-
posture: "event_and_system_integration_proof_lane",
|
|
21
|
-
phase_alignment: {
|
|
22
|
-
phase_ref: phasePack.phase_ref,
|
|
23
|
-
phase_pack: phasePack,
|
|
24
|
-
phase_summary: summarizePhase7EventSystemPack(),
|
|
25
|
-
featured_lane: {
|
|
26
|
-
pack: natsPack,
|
|
27
|
-
summary: summarizePhase7NatsProofPack()
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
supported_surfaces: {
|
|
31
|
-
phase_summary_ref: "/v1/phases/phase-7/summary",
|
|
32
|
-
nats_proof_summary_ref: "/v1/phases/phase-7/nats/proof/summary",
|
|
33
|
-
kafka_proof_summary_ref: "/v1/phases/phase-7/kafka/proof/summary",
|
|
34
|
-
mqtt_proof_summary_ref: "/v1/phases/phase-7/mqtt/proof/summary",
|
|
35
|
-
webhook_proof_summary_ref: "/v1/phases/phase-7/webhook-event-bus/proof/summary",
|
|
36
|
-
continuity_summary_ref: "/v1/phases/phase-7/event-system-continuity/summary",
|
|
37
|
-
asyncapi_ref: "/asyncapi.json",
|
|
38
|
-
cloudevents_ref: "/cloudevents.json",
|
|
39
|
-
proof_bridge_ref: "/v1/proof-bridge/summary"
|
|
40
|
-
},
|
|
41
|
-
first_run_flows: [
|
|
42
|
-
{
|
|
43
|
-
flow_ref: "nats_subject_mesh_proof",
|
|
44
|
-
recommended_reason: "best first durable event-system lane for proof-bearing subject ingress and ack-carry review with NATS plus JetStream-style persistence posture",
|
|
45
|
-
sequence: [
|
|
46
|
-
"inspect_event_system_lane_summary",
|
|
47
|
-
"inspect_nats_proof_summary",
|
|
48
|
-
"inspect_asyncapi_and_cloudevents_contracts",
|
|
49
|
-
"inspect_proof_bridge_summary_for_followthrough"
|
|
50
|
-
]
|
|
51
|
-
}
|
|
52
|
-
],
|
|
53
|
-
guardrails: [
|
|
54
|
-
"event-system proof lanes extend bridge and followthrough rather than replace canonical proof review",
|
|
55
|
-
"nats and jetstream style durability should improve external proof interoperability without widening xoonya into a generic event bus"
|
|
56
|
-
]
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function summarizeEventSystemLanePack() {
|
|
61
|
-
const pack = buildEventSystemLanePack();
|
|
62
|
-
return {
|
|
63
|
-
product: "xoonya",
|
|
64
|
-
category: "proof-event-system-lane-pack-summary",
|
|
65
|
-
summary_version: "xoonya-event-system-lane-pack-summary-v1",
|
|
66
|
-
lane_state: pack.lane_state,
|
|
67
|
-
posture: pack.posture,
|
|
68
|
-
first_run_flow_count: pack.first_run_flows.length,
|
|
69
|
-
linked_surfaces: pack.supported_surfaces
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
module.exports = {
|
|
74
|
-
buildEventSystemLanePack,
|
|
75
|
-
summarizeEventSystemLanePack
|
|
76
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const {
|
|
4
|
+
buildPhase7EventSystemPack,
|
|
5
|
+
summarizePhase7EventSystemPack
|
|
6
|
+
} = require("./phase_7_event_system_pack");
|
|
7
|
+
const {
|
|
8
|
+
buildPhase7NatsProofPack,
|
|
9
|
+
summarizePhase7NatsProofPack
|
|
10
|
+
} = require("./phase_7_nats_proof_pack");
|
|
11
|
+
|
|
12
|
+
function buildEventSystemLanePack() {
|
|
13
|
+
const phasePack = buildPhase7EventSystemPack();
|
|
14
|
+
const natsPack = buildPhase7NatsProofPack();
|
|
15
|
+
return {
|
|
16
|
+
product: "xoonya",
|
|
17
|
+
category: "proof-event-system-lane-pack",
|
|
18
|
+
pack_version: "xoonya-event-system-lane-pack-v1",
|
|
19
|
+
lane_state: "first_party_event_system_family_present",
|
|
20
|
+
posture: "event_and_system_integration_proof_lane",
|
|
21
|
+
phase_alignment: {
|
|
22
|
+
phase_ref: phasePack.phase_ref,
|
|
23
|
+
phase_pack: phasePack,
|
|
24
|
+
phase_summary: summarizePhase7EventSystemPack(),
|
|
25
|
+
featured_lane: {
|
|
26
|
+
pack: natsPack,
|
|
27
|
+
summary: summarizePhase7NatsProofPack()
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
supported_surfaces: {
|
|
31
|
+
phase_summary_ref: "/v1/phases/phase-7/summary",
|
|
32
|
+
nats_proof_summary_ref: "/v1/phases/phase-7/nats/proof/summary",
|
|
33
|
+
kafka_proof_summary_ref: "/v1/phases/phase-7/kafka/proof/summary",
|
|
34
|
+
mqtt_proof_summary_ref: "/v1/phases/phase-7/mqtt/proof/summary",
|
|
35
|
+
webhook_proof_summary_ref: "/v1/phases/phase-7/webhook-event-bus/proof/summary",
|
|
36
|
+
continuity_summary_ref: "/v1/phases/phase-7/event-system-continuity/summary",
|
|
37
|
+
asyncapi_ref: "/asyncapi.json",
|
|
38
|
+
cloudevents_ref: "/cloudevents.json",
|
|
39
|
+
proof_bridge_ref: "/v1/proof-bridge/summary"
|
|
40
|
+
},
|
|
41
|
+
first_run_flows: [
|
|
42
|
+
{
|
|
43
|
+
flow_ref: "nats_subject_mesh_proof",
|
|
44
|
+
recommended_reason: "best first durable event-system lane for proof-bearing subject ingress and ack-carry review with NATS plus JetStream-style persistence posture",
|
|
45
|
+
sequence: [
|
|
46
|
+
"inspect_event_system_lane_summary",
|
|
47
|
+
"inspect_nats_proof_summary",
|
|
48
|
+
"inspect_asyncapi_and_cloudevents_contracts",
|
|
49
|
+
"inspect_proof_bridge_summary_for_followthrough"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
guardrails: [
|
|
54
|
+
"event-system proof lanes extend bridge and followthrough rather than replace canonical proof review",
|
|
55
|
+
"nats and jetstream style durability should improve external proof interoperability without widening xoonya into a generic event bus"
|
|
56
|
+
]
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function summarizeEventSystemLanePack() {
|
|
61
|
+
const pack = buildEventSystemLanePack();
|
|
62
|
+
return {
|
|
63
|
+
product: "xoonya",
|
|
64
|
+
category: "proof-event-system-lane-pack-summary",
|
|
65
|
+
summary_version: "xoonya-event-system-lane-pack-summary-v1",
|
|
66
|
+
lane_state: pack.lane_state,
|
|
67
|
+
posture: pack.posture,
|
|
68
|
+
first_run_flow_count: pack.first_run_flows.length,
|
|
69
|
+
linked_surfaces: pack.supported_surfaces
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
module.exports = {
|
|
74
|
+
buildEventSystemLanePack,
|
|
75
|
+
summarizeEventSystemLanePack
|
|
76
|
+
};
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const {
|
|
4
|
-
buildPhase8ExternalResultImportProofPack,
|
|
5
|
-
summarizePhase8ExternalResultImportProofPack
|
|
6
|
-
} = require("./phase_8_external_result_import_proof_pack");
|
|
7
|
-
const {
|
|
8
|
-
buildPhase8ExternalReceiptImportProofPack,
|
|
9
|
-
summarizePhase8ExternalReceiptImportProofPack
|
|
10
|
-
} = require("./phase_8_external_receipt_import_proof_pack");
|
|
11
|
-
const {
|
|
12
|
-
buildPhase8ProofBundleNormalizationProofPack,
|
|
13
|
-
summarizePhase8ProofBundleNormalizationProofPack
|
|
14
|
-
} = require("./phase_8_proof_bundle_normalization_proof_pack");
|
|
15
|
-
const {
|
|
16
|
-
buildProofBridgeLanePack,
|
|
17
|
-
summarizeProofBridgeLanePack
|
|
18
|
-
} = require("./proof_bridge_lane_contract");
|
|
19
|
-
|
|
20
|
-
function buildExternalProofImportLanePack() {
|
|
21
|
-
return {
|
|
22
|
-
product: "xoonya",
|
|
23
|
-
category: "proof-external-proof-import-lane-pack",
|
|
24
|
-
pack_version: "xoonya-external-proof-import-lane-pack-v1",
|
|
25
|
-
lane_state: "first_party_external_proof_import_family_present",
|
|
26
|
-
posture: "external_result_receipt_and_bundle_import_followthrough_lane",
|
|
27
|
-
phase_alignment: {
|
|
28
|
-
external_result_import: {
|
|
29
|
-
pack: buildPhase8ExternalResultImportProofPack(),
|
|
30
|
-
summary: summarizePhase8ExternalResultImportProofPack()
|
|
31
|
-
},
|
|
32
|
-
external_receipt_import: {
|
|
33
|
-
pack: buildPhase8ExternalReceiptImportProofPack(),
|
|
34
|
-
summary: summarizePhase8ExternalReceiptImportProofPack()
|
|
35
|
-
},
|
|
36
|
-
proof_bundle_normalization: {
|
|
37
|
-
pack: buildPhase8ProofBundleNormalizationProofPack(),
|
|
38
|
-
summary: summarizePhase8ProofBundleNormalizationProofPack()
|
|
39
|
-
},
|
|
40
|
-
proof_bridge: {
|
|
41
|
-
pack: buildProofBridgeLanePack(),
|
|
42
|
-
summary: summarizeProofBridgeLanePack()
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
supported_surfaces: {
|
|
46
|
-
phase_summary_ref: "/v1/phases/phase-8/summary",
|
|
47
|
-
external_result_import_ref: "/v1/phases/phase-8/external-result-import/proof/summary",
|
|
48
|
-
external_receipt_import_ref: "/v1/phases/phase-8/external-receipt-import/proof/summary",
|
|
49
|
-
proof_bundle_normalization_ref: "/v1/phases/phase-8/proof-bundle-normalization/proof/summary",
|
|
50
|
-
proof_bridge_ref: "/v1/proof-bridge/summary"
|
|
51
|
-
},
|
|
52
|
-
first_run_flows: [
|
|
53
|
-
{
|
|
54
|
-
flow_ref: "external_proof_import_review",
|
|
55
|
-
recommended_reason: "best first path for showing outside builders that imported result, receipt, and bundle material can enter xoonya cleanly",
|
|
56
|
-
sequence: [
|
|
57
|
-
"inspect_external_proof_import_lane_summary",
|
|
58
|
-
"inspect_result_and_receipt_import_summaries",
|
|
59
|
-
"inspect_bundle_normalization_summary",
|
|
60
|
-
"inspect_proof_bridge_followthrough"
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
],
|
|
64
|
-
guardrails: [
|
|
65
|
-
"external proof import should strengthen builder trust rather than widen xoonya into arbitrary ingestion",
|
|
66
|
-
"imported material remains subordinate to review, governance, and bridge compatibility posture"
|
|
67
|
-
]
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
function summarizeExternalProofImportLanePack() {
|
|
72
|
-
const pack = buildExternalProofImportLanePack();
|
|
73
|
-
return {
|
|
74
|
-
product: "xoonya",
|
|
75
|
-
category: "proof-external-proof-import-lane-pack-summary",
|
|
76
|
-
summary_version: "xoonya-external-proof-import-lane-pack-summary-v1",
|
|
77
|
-
lane_state: pack.lane_state,
|
|
78
|
-
phase_surface_count: Object.keys(pack.supported_surfaces).length,
|
|
79
|
-
first_run_flow_count: pack.first_run_flows.length,
|
|
80
|
-
linked_surfaces: pack.supported_surfaces
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
module.exports = {
|
|
85
|
-
buildExternalProofImportLanePack,
|
|
86
|
-
summarizeExternalProofImportLanePack
|
|
87
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const {
|
|
4
|
+
buildPhase8ExternalResultImportProofPack,
|
|
5
|
+
summarizePhase8ExternalResultImportProofPack
|
|
6
|
+
} = require("./phase_8_external_result_import_proof_pack");
|
|
7
|
+
const {
|
|
8
|
+
buildPhase8ExternalReceiptImportProofPack,
|
|
9
|
+
summarizePhase8ExternalReceiptImportProofPack
|
|
10
|
+
} = require("./phase_8_external_receipt_import_proof_pack");
|
|
11
|
+
const {
|
|
12
|
+
buildPhase8ProofBundleNormalizationProofPack,
|
|
13
|
+
summarizePhase8ProofBundleNormalizationProofPack
|
|
14
|
+
} = require("./phase_8_proof_bundle_normalization_proof_pack");
|
|
15
|
+
const {
|
|
16
|
+
buildProofBridgeLanePack,
|
|
17
|
+
summarizeProofBridgeLanePack
|
|
18
|
+
} = require("./proof_bridge_lane_contract");
|
|
19
|
+
|
|
20
|
+
function buildExternalProofImportLanePack() {
|
|
21
|
+
return {
|
|
22
|
+
product: "xoonya",
|
|
23
|
+
category: "proof-external-proof-import-lane-pack",
|
|
24
|
+
pack_version: "xoonya-external-proof-import-lane-pack-v1",
|
|
25
|
+
lane_state: "first_party_external_proof_import_family_present",
|
|
26
|
+
posture: "external_result_receipt_and_bundle_import_followthrough_lane",
|
|
27
|
+
phase_alignment: {
|
|
28
|
+
external_result_import: {
|
|
29
|
+
pack: buildPhase8ExternalResultImportProofPack(),
|
|
30
|
+
summary: summarizePhase8ExternalResultImportProofPack()
|
|
31
|
+
},
|
|
32
|
+
external_receipt_import: {
|
|
33
|
+
pack: buildPhase8ExternalReceiptImportProofPack(),
|
|
34
|
+
summary: summarizePhase8ExternalReceiptImportProofPack()
|
|
35
|
+
},
|
|
36
|
+
proof_bundle_normalization: {
|
|
37
|
+
pack: buildPhase8ProofBundleNormalizationProofPack(),
|
|
38
|
+
summary: summarizePhase8ProofBundleNormalizationProofPack()
|
|
39
|
+
},
|
|
40
|
+
proof_bridge: {
|
|
41
|
+
pack: buildProofBridgeLanePack(),
|
|
42
|
+
summary: summarizeProofBridgeLanePack()
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
supported_surfaces: {
|
|
46
|
+
phase_summary_ref: "/v1/phases/phase-8/summary",
|
|
47
|
+
external_result_import_ref: "/v1/phases/phase-8/external-result-import/proof/summary",
|
|
48
|
+
external_receipt_import_ref: "/v1/phases/phase-8/external-receipt-import/proof/summary",
|
|
49
|
+
proof_bundle_normalization_ref: "/v1/phases/phase-8/proof-bundle-normalization/proof/summary",
|
|
50
|
+
proof_bridge_ref: "/v1/proof-bridge/summary"
|
|
51
|
+
},
|
|
52
|
+
first_run_flows: [
|
|
53
|
+
{
|
|
54
|
+
flow_ref: "external_proof_import_review",
|
|
55
|
+
recommended_reason: "best first path for showing outside builders that imported result, receipt, and bundle material can enter xoonya cleanly",
|
|
56
|
+
sequence: [
|
|
57
|
+
"inspect_external_proof_import_lane_summary",
|
|
58
|
+
"inspect_result_and_receipt_import_summaries",
|
|
59
|
+
"inspect_bundle_normalization_summary",
|
|
60
|
+
"inspect_proof_bridge_followthrough"
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
guardrails: [
|
|
65
|
+
"external proof import should strengthen builder trust rather than widen xoonya into arbitrary ingestion",
|
|
66
|
+
"imported material remains subordinate to review, governance, and bridge compatibility posture"
|
|
67
|
+
]
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function summarizeExternalProofImportLanePack() {
|
|
72
|
+
const pack = buildExternalProofImportLanePack();
|
|
73
|
+
return {
|
|
74
|
+
product: "xoonya",
|
|
75
|
+
category: "proof-external-proof-import-lane-pack-summary",
|
|
76
|
+
summary_version: "xoonya-external-proof-import-lane-pack-summary-v1",
|
|
77
|
+
lane_state: pack.lane_state,
|
|
78
|
+
phase_surface_count: Object.keys(pack.supported_surfaces).length,
|
|
79
|
+
first_run_flow_count: pack.first_run_flows.length,
|
|
80
|
+
linked_surfaces: pack.supported_surfaces
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
module.exports = {
|
|
85
|
+
buildExternalProofImportLanePack,
|
|
86
|
+
summarizeExternalProofImportLanePack
|
|
87
|
+
};
|