xoonya 3.0.0 → 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/phase_5_gate_pack.js
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
const { summarizePhase5CompletionPack } = require("./phase_5_completion_pack");
|
|
5
|
-
const { summarizePhase5FreezeReviewPack } = require("./phase_5_freeze_review_pack");
|
|
6
|
-
|
|
7
|
-
function buildPhase5GatePack() {
|
|
8
|
-
const completion = summarizePhase5CompletionPack();
|
|
9
|
-
const freezeReview = summarizePhase5FreezeReviewPack();
|
|
10
|
-
const unsatisfiedGateCount =
|
|
11
|
-
completion.unsatisfied_criteria_count +
|
|
12
|
-
freezeReview.unsatisfied_resolution_count;
|
|
13
|
-
|
|
14
|
-
return {
|
|
15
|
-
ok: true,
|
|
16
|
-
product: packageJson.name,
|
|
17
|
-
category: "proof-phase-5-gate-pack",
|
|
18
|
-
phase_ref: "phase_5",
|
|
19
|
-
posture: "phase_gate",
|
|
20
|
-
gate: {
|
|
21
|
-
decision: unsatisfiedGateCount === 0 ? "ready_for_phase_6" : "hold_phase_5",
|
|
22
|
-
ready_for_next_phase: unsatisfiedGateCount === 0,
|
|
23
|
-
satisfied_gate_count:
|
|
24
|
-
completion.satisfied_criteria_count +
|
|
25
|
-
freezeReview.satisfied_resolution_count,
|
|
26
|
-
unsatisfied_gate_count: unsatisfiedGateCount,
|
|
27
|
-
blockers: unsatisfiedGateCount === 0 ? [] : [
|
|
28
|
-
"next-phase gate review has not been explicitly recorded"
|
|
29
|
-
],
|
|
30
|
-
advance_when: [
|
|
31
|
-
"freeze decision is explicitly recorded",
|
|
32
|
-
"gate review is explicitly recorded",
|
|
33
|
-
"completion and freeze-review surfaces both show no unsatisfied gate criteria"
|
|
34
|
-
]
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function summarizePhase5GatePack() {
|
|
40
|
-
const pack = buildPhase5GatePack();
|
|
41
|
-
return {
|
|
42
|
-
ok: true,
|
|
43
|
-
product: pack.product,
|
|
44
|
-
category: pack.category,
|
|
45
|
-
phase_ref: pack.phase_ref,
|
|
46
|
-
satisfied_gate_count: pack.gate.satisfied_gate_count,
|
|
47
|
-
unsatisfied_gate_count: pack.gate.unsatisfied_gate_count,
|
|
48
|
-
blocker_count: pack.gate.blockers.length,
|
|
49
|
-
advance_when_count: pack.gate.advance_when.length,
|
|
50
|
-
decision: pack.gate.decision,
|
|
51
|
-
ready_for_next_phase: pack.gate.ready_for_next_phase
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
module.exports = {
|
|
56
|
-
buildPhase5GatePack,
|
|
57
|
-
summarizePhase5GatePack
|
|
58
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
const { summarizePhase5CompletionPack } = require("./phase_5_completion_pack");
|
|
5
|
+
const { summarizePhase5FreezeReviewPack } = require("./phase_5_freeze_review_pack");
|
|
6
|
+
|
|
7
|
+
function buildPhase5GatePack() {
|
|
8
|
+
const completion = summarizePhase5CompletionPack();
|
|
9
|
+
const freezeReview = summarizePhase5FreezeReviewPack();
|
|
10
|
+
const unsatisfiedGateCount =
|
|
11
|
+
completion.unsatisfied_criteria_count +
|
|
12
|
+
freezeReview.unsatisfied_resolution_count;
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
ok: true,
|
|
16
|
+
product: packageJson.name,
|
|
17
|
+
category: "proof-phase-5-gate-pack",
|
|
18
|
+
phase_ref: "phase_5",
|
|
19
|
+
posture: "phase_gate",
|
|
20
|
+
gate: {
|
|
21
|
+
decision: unsatisfiedGateCount === 0 ? "ready_for_phase_6" : "hold_phase_5",
|
|
22
|
+
ready_for_next_phase: unsatisfiedGateCount === 0,
|
|
23
|
+
satisfied_gate_count:
|
|
24
|
+
completion.satisfied_criteria_count +
|
|
25
|
+
freezeReview.satisfied_resolution_count,
|
|
26
|
+
unsatisfied_gate_count: unsatisfiedGateCount,
|
|
27
|
+
blockers: unsatisfiedGateCount === 0 ? [] : [
|
|
28
|
+
"next-phase gate review has not been explicitly recorded"
|
|
29
|
+
],
|
|
30
|
+
advance_when: [
|
|
31
|
+
"freeze decision is explicitly recorded",
|
|
32
|
+
"gate review is explicitly recorded",
|
|
33
|
+
"completion and freeze-review surfaces both show no unsatisfied gate criteria"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function summarizePhase5GatePack() {
|
|
40
|
+
const pack = buildPhase5GatePack();
|
|
41
|
+
return {
|
|
42
|
+
ok: true,
|
|
43
|
+
product: pack.product,
|
|
44
|
+
category: pack.category,
|
|
45
|
+
phase_ref: pack.phase_ref,
|
|
46
|
+
satisfied_gate_count: pack.gate.satisfied_gate_count,
|
|
47
|
+
unsatisfied_gate_count: pack.gate.unsatisfied_gate_count,
|
|
48
|
+
blocker_count: pack.gate.blockers.length,
|
|
49
|
+
advance_when_count: pack.gate.advance_when.length,
|
|
50
|
+
decision: pack.gate.decision,
|
|
51
|
+
ready_for_next_phase: pack.gate.ready_for_next_phase
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
module.exports = {
|
|
56
|
+
buildPhase5GatePack,
|
|
57
|
+
summarizePhase5GatePack
|
|
58
|
+
};
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildPhase5MajorRailsContinuityPack() {
|
|
6
|
-
return {
|
|
7
|
-
ok: true,
|
|
8
|
-
product: packageJson.name,
|
|
9
|
-
category: "proof-phase-5-major-rails-continuity-pack",
|
|
10
|
-
phase_ref: "phase_5",
|
|
11
|
-
posture: "continuity_review",
|
|
12
|
-
continuity: {
|
|
13
|
-
lane_refs: [
|
|
14
|
-
"/v1/phases/phase-5/solana/proof/summary",
|
|
15
|
-
"/v1/phases/phase-5/antelope/proof/summary",
|
|
16
|
-
"/v1/phases/phase-5/proton-xpr/proof/summary"
|
|
17
|
-
],
|
|
18
|
-
continuity_refs: ["/v1/phases/phase-5/summary"],
|
|
19
|
-
proof_modes: ["solana_settlement_carry", "antelope_settlement_carry", "proton_xpr_settlement_carry"],
|
|
20
|
-
solana_modes: ["signature_capture", "slot_capture", "fee_payer_carry"],
|
|
21
|
-
permission_modes: ["account_permission", "signer_resolution", "irreversible_capture"],
|
|
22
|
-
account_modes: ["account_capture", "resource_capture", "settlement_accounting"],
|
|
23
|
-
evidence_modes: ["transaction_capture", "block_capture", "settlement_capture"],
|
|
24
|
-
proof_surfaces: [
|
|
25
|
-
"/v1/proof-center/bridge/summary",
|
|
26
|
-
"/v1/release-center/summary",
|
|
27
|
-
"/v1/phases/phase-5/summary"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
completion_shape: {
|
|
31
|
-
completion_checks: [
|
|
32
|
-
"all current major rail proof lanes are public and inspectable",
|
|
33
|
-
"proof posture is visible at phase level",
|
|
34
|
-
"cross-rail continuity is explicit across the Phase 5 proof lane family",
|
|
35
|
-
"release-center summary reflects the major rails proof family as one coherent slice"
|
|
36
|
-
]
|
|
37
|
-
},
|
|
38
|
-
first_path: {
|
|
39
|
-
purpose: "show that the major rail family is coherent across proof settlement lanes rather than isolated summaries",
|
|
40
|
-
first_http_sequence: [
|
|
41
|
-
"/v1/phases/phase-5/summary",
|
|
42
|
-
"/v1/phases/phase-5/major-rails-continuity/summary",
|
|
43
|
-
"/v1/release-center/summary",
|
|
44
|
-
"/v1/proof-center/bridge/summary"
|
|
45
|
-
],
|
|
46
|
-
first_cli_sequence: [
|
|
47
|
-
"xoonya-release --phase-5-major-rails-continuity --summary",
|
|
48
|
-
"xoonya-release --phase-5 --summary"
|
|
49
|
-
],
|
|
50
|
-
expected_signals: [
|
|
51
|
-
"Solana, Antelope, and Proton/XPR proof lanes are linked as one major-rails family",
|
|
52
|
-
"proof roles are legible without collapsing into one lane",
|
|
53
|
-
"proof surfaces stay attached to the Phase 5 rail family",
|
|
54
|
-
"Phase 5 reads as one coherent major-rails proof slice"
|
|
55
|
-
]
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function summarizePhase5MajorRailsContinuityPack() {
|
|
61
|
-
const pack = buildPhase5MajorRailsContinuityPack();
|
|
62
|
-
return {
|
|
63
|
-
ok: true,
|
|
64
|
-
product: pack.product,
|
|
65
|
-
category: pack.category,
|
|
66
|
-
phase_ref: pack.phase_ref,
|
|
67
|
-
lane_count: pack.continuity.lane_refs.length,
|
|
68
|
-
continuity_ref_count: pack.continuity.continuity_refs.length,
|
|
69
|
-
proof_mode_count: pack.continuity.proof_modes.length,
|
|
70
|
-
solana_mode_count: pack.continuity.solana_modes.length,
|
|
71
|
-
permission_mode_count: pack.continuity.permission_modes.length,
|
|
72
|
-
account_mode_count: pack.continuity.account_modes.length,
|
|
73
|
-
evidence_mode_count: pack.continuity.evidence_modes.length,
|
|
74
|
-
proof_surface_count: pack.continuity.proof_surfaces.length,
|
|
75
|
-
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
76
|
-
http_step_count: pack.first_path.first_http_sequence.length,
|
|
77
|
-
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
78
|
-
signal_count: pack.first_path.expected_signals.length,
|
|
79
|
-
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
module.exports = {
|
|
84
|
-
buildPhase5MajorRailsContinuityPack,
|
|
85
|
-
summarizePhase5MajorRailsContinuityPack
|
|
86
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase5MajorRailsContinuityPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-5-major-rails-continuity-pack",
|
|
10
|
+
phase_ref: "phase_5",
|
|
11
|
+
posture: "continuity_review",
|
|
12
|
+
continuity: {
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-5/solana/proof/summary",
|
|
15
|
+
"/v1/phases/phase-5/antelope/proof/summary",
|
|
16
|
+
"/v1/phases/phase-5/proton-xpr/proof/summary"
|
|
17
|
+
],
|
|
18
|
+
continuity_refs: ["/v1/phases/phase-5/summary"],
|
|
19
|
+
proof_modes: ["solana_settlement_carry", "antelope_settlement_carry", "proton_xpr_settlement_carry"],
|
|
20
|
+
solana_modes: ["signature_capture", "slot_capture", "fee_payer_carry"],
|
|
21
|
+
permission_modes: ["account_permission", "signer_resolution", "irreversible_capture"],
|
|
22
|
+
account_modes: ["account_capture", "resource_capture", "settlement_accounting"],
|
|
23
|
+
evidence_modes: ["transaction_capture", "block_capture", "settlement_capture"],
|
|
24
|
+
proof_surfaces: [
|
|
25
|
+
"/v1/proof-center/bridge/summary",
|
|
26
|
+
"/v1/release-center/summary",
|
|
27
|
+
"/v1/phases/phase-5/summary"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
completion_shape: {
|
|
31
|
+
completion_checks: [
|
|
32
|
+
"all current major rail proof lanes are public and inspectable",
|
|
33
|
+
"proof posture is visible at phase level",
|
|
34
|
+
"cross-rail continuity is explicit across the Phase 5 proof lane family",
|
|
35
|
+
"release-center summary reflects the major rails proof family as one coherent slice"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
first_path: {
|
|
39
|
+
purpose: "show that the major rail family is coherent across proof settlement lanes rather than isolated summaries",
|
|
40
|
+
first_http_sequence: [
|
|
41
|
+
"/v1/phases/phase-5/summary",
|
|
42
|
+
"/v1/phases/phase-5/major-rails-continuity/summary",
|
|
43
|
+
"/v1/release-center/summary",
|
|
44
|
+
"/v1/proof-center/bridge/summary"
|
|
45
|
+
],
|
|
46
|
+
first_cli_sequence: [
|
|
47
|
+
"xoonya-release --phase-5-major-rails-continuity --summary",
|
|
48
|
+
"xoonya-release --phase-5 --summary"
|
|
49
|
+
],
|
|
50
|
+
expected_signals: [
|
|
51
|
+
"Solana, Antelope, and Proton/XPR proof lanes are linked as one major-rails family",
|
|
52
|
+
"proof roles are legible without collapsing into one lane",
|
|
53
|
+
"proof surfaces stay attached to the Phase 5 rail family",
|
|
54
|
+
"Phase 5 reads as one coherent major-rails proof slice"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function summarizePhase5MajorRailsContinuityPack() {
|
|
61
|
+
const pack = buildPhase5MajorRailsContinuityPack();
|
|
62
|
+
return {
|
|
63
|
+
ok: true,
|
|
64
|
+
product: pack.product,
|
|
65
|
+
category: pack.category,
|
|
66
|
+
phase_ref: pack.phase_ref,
|
|
67
|
+
lane_count: pack.continuity.lane_refs.length,
|
|
68
|
+
continuity_ref_count: pack.continuity.continuity_refs.length,
|
|
69
|
+
proof_mode_count: pack.continuity.proof_modes.length,
|
|
70
|
+
solana_mode_count: pack.continuity.solana_modes.length,
|
|
71
|
+
permission_mode_count: pack.continuity.permission_modes.length,
|
|
72
|
+
account_mode_count: pack.continuity.account_modes.length,
|
|
73
|
+
evidence_mode_count: pack.continuity.evidence_modes.length,
|
|
74
|
+
proof_surface_count: pack.continuity.proof_surfaces.length,
|
|
75
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
76
|
+
http_step_count: pack.first_path.first_http_sequence.length,
|
|
77
|
+
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
78
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
79
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
module.exports = {
|
|
84
|
+
buildPhase5MajorRailsContinuityPack,
|
|
85
|
+
summarizePhase5MajorRailsContinuityPack
|
|
86
|
+
};
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildPhase5MajorRailsPack() {
|
|
6
|
-
return {
|
|
7
|
-
ok: true,
|
|
8
|
-
product: packageJson.name,
|
|
9
|
-
category: "proof-phase-5-major-rails-pack",
|
|
10
|
-
phase_ref: "phase_5",
|
|
11
|
-
status: "active",
|
|
12
|
-
ecosystems: ["solana", "antelope", "greymass", "eosio", "proton_xpr"],
|
|
13
|
-
lane_refs: [
|
|
14
|
-
"/v1/phases/phase-5/solana/proof/summary",
|
|
15
|
-
"/v1/phases/phase-5/antelope/proof/summary",
|
|
16
|
-
"/v1/phases/phase-5/proton-xpr/proof/summary"
|
|
17
|
-
],
|
|
18
|
-
rail_shape: {
|
|
19
|
-
proof_modes: ["solana_settlement_carry", "antelope_settlement_carry", "proton_xpr_settlement_carry"],
|
|
20
|
-
solana_modes: ["signature_capture", "slot_capture", "fee_payer_carry"],
|
|
21
|
-
permission_modes: ["account_permission", "signer_resolution", "irreversible_capture"],
|
|
22
|
-
account_modes: ["account_capture", "resource_capture", "settlement_accounting"],
|
|
23
|
-
evidence_modes: ["transaction_capture", "block_capture", "settlement_capture"],
|
|
24
|
-
proof_artifacts: ["transaction_receipt", "block_receipt", "settlement_receipt"],
|
|
25
|
-
proof_surfaces: [
|
|
26
|
-
"/v1/proof-center/bridge/summary",
|
|
27
|
-
"/v1/release-center/summary",
|
|
28
|
-
"/v1/phases/phase-5/solana/proof/summary"
|
|
29
|
-
]
|
|
30
|
-
},
|
|
31
|
-
completion_shape: {
|
|
32
|
-
completion_checks: [
|
|
33
|
-
"broad Phase 5 major rails proof pack is public and inspectable",
|
|
34
|
-
"the first Solana proof lane is public and inspectable",
|
|
35
|
-
"proof posture is visible at phase level",
|
|
36
|
-
"proof surfaces stay attached to the Phase 5 rail family",
|
|
37
|
-
"release-center summary reflects Phase 5 activation and the first major proof lane"
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
done_means: [
|
|
41
|
-
"Phase 4 is no longer the active proof-side program slice",
|
|
42
|
-
"Phase 5 has a public proof-facing entry path",
|
|
43
|
-
"Solana is visible as the first explicit major proof lane",
|
|
44
|
-
"the first major proof lane feels operational rather than like a placeholder"
|
|
45
|
-
]
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function summarizePhase5MajorRailsPack() {
|
|
50
|
-
const pack = buildPhase5MajorRailsPack();
|
|
51
|
-
return {
|
|
52
|
-
ok: true,
|
|
53
|
-
product: pack.product,
|
|
54
|
-
category: pack.category,
|
|
55
|
-
phase_ref: pack.phase_ref,
|
|
56
|
-
ecosystem_count: pack.ecosystems.length,
|
|
57
|
-
lane_count: pack.lane_refs.length,
|
|
58
|
-
proof_mode_count: pack.rail_shape.proof_modes.length,
|
|
59
|
-
solana_mode_count: pack.rail_shape.solana_modes.length,
|
|
60
|
-
permission_mode_count: pack.rail_shape.permission_modes.length,
|
|
61
|
-
account_mode_count: pack.rail_shape.account_modes.length,
|
|
62
|
-
evidence_mode_count: pack.rail_shape.evidence_modes.length,
|
|
63
|
-
proof_artifact_count: pack.rail_shape.proof_artifacts.length,
|
|
64
|
-
proof_surface_count: pack.rail_shape.proof_surfaces.length,
|
|
65
|
-
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
66
|
-
done_mean_count: pack.done_means.length,
|
|
67
|
-
first_ecosystem: pack.ecosystems[0] || null
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
module.exports = {
|
|
72
|
-
buildPhase5MajorRailsPack,
|
|
73
|
-
summarizePhase5MajorRailsPack
|
|
74
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase5MajorRailsPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-5-major-rails-pack",
|
|
10
|
+
phase_ref: "phase_5",
|
|
11
|
+
status: "active",
|
|
12
|
+
ecosystems: ["solana", "antelope", "greymass", "eosio", "proton_xpr"],
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-5/solana/proof/summary",
|
|
15
|
+
"/v1/phases/phase-5/antelope/proof/summary",
|
|
16
|
+
"/v1/phases/phase-5/proton-xpr/proof/summary"
|
|
17
|
+
],
|
|
18
|
+
rail_shape: {
|
|
19
|
+
proof_modes: ["solana_settlement_carry", "antelope_settlement_carry", "proton_xpr_settlement_carry"],
|
|
20
|
+
solana_modes: ["signature_capture", "slot_capture", "fee_payer_carry"],
|
|
21
|
+
permission_modes: ["account_permission", "signer_resolution", "irreversible_capture"],
|
|
22
|
+
account_modes: ["account_capture", "resource_capture", "settlement_accounting"],
|
|
23
|
+
evidence_modes: ["transaction_capture", "block_capture", "settlement_capture"],
|
|
24
|
+
proof_artifacts: ["transaction_receipt", "block_receipt", "settlement_receipt"],
|
|
25
|
+
proof_surfaces: [
|
|
26
|
+
"/v1/proof-center/bridge/summary",
|
|
27
|
+
"/v1/release-center/summary",
|
|
28
|
+
"/v1/phases/phase-5/solana/proof/summary"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
completion_shape: {
|
|
32
|
+
completion_checks: [
|
|
33
|
+
"broad Phase 5 major rails proof pack is public and inspectable",
|
|
34
|
+
"the first Solana proof lane is public and inspectable",
|
|
35
|
+
"proof posture is visible at phase level",
|
|
36
|
+
"proof surfaces stay attached to the Phase 5 rail family",
|
|
37
|
+
"release-center summary reflects Phase 5 activation and the first major proof lane"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
done_means: [
|
|
41
|
+
"Phase 4 is no longer the active proof-side program slice",
|
|
42
|
+
"Phase 5 has a public proof-facing entry path",
|
|
43
|
+
"Solana is visible as the first explicit major proof lane",
|
|
44
|
+
"the first major proof lane feels operational rather than like a placeholder"
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function summarizePhase5MajorRailsPack() {
|
|
50
|
+
const pack = buildPhase5MajorRailsPack();
|
|
51
|
+
return {
|
|
52
|
+
ok: true,
|
|
53
|
+
product: pack.product,
|
|
54
|
+
category: pack.category,
|
|
55
|
+
phase_ref: pack.phase_ref,
|
|
56
|
+
ecosystem_count: pack.ecosystems.length,
|
|
57
|
+
lane_count: pack.lane_refs.length,
|
|
58
|
+
proof_mode_count: pack.rail_shape.proof_modes.length,
|
|
59
|
+
solana_mode_count: pack.rail_shape.solana_modes.length,
|
|
60
|
+
permission_mode_count: pack.rail_shape.permission_modes.length,
|
|
61
|
+
account_mode_count: pack.rail_shape.account_modes.length,
|
|
62
|
+
evidence_mode_count: pack.rail_shape.evidence_modes.length,
|
|
63
|
+
proof_artifact_count: pack.rail_shape.proof_artifacts.length,
|
|
64
|
+
proof_surface_count: pack.rail_shape.proof_surfaces.length,
|
|
65
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
66
|
+
done_mean_count: pack.done_means.length,
|
|
67
|
+
first_ecosystem: pack.ecosystems[0] || null
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
module.exports = {
|
|
72
|
+
buildPhase5MajorRailsPack,
|
|
73
|
+
summarizePhase5MajorRailsPack
|
|
74
|
+
};
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildPhase5ProtonXprProofPack() {
|
|
6
|
-
return {
|
|
7
|
-
ok: true,
|
|
8
|
-
product: packageJson.name,
|
|
9
|
-
category: "proof-phase-5-proton-xpr-proof-pack",
|
|
10
|
-
phase_ref: "phase_5",
|
|
11
|
-
ecosystem_refs: ["proton_xpr"],
|
|
12
|
-
posture: "proof_path",
|
|
13
|
-
rail_shape: {
|
|
14
|
-
proof_modes: ["proton_xpr_settlement_carry"],
|
|
15
|
-
account_modes: ["account_capture", "resource_capture", "settlement_accounting"],
|
|
16
|
-
evidence_modes: ["transaction_capture", "account_capture", "settlement_capture"],
|
|
17
|
-
proof_artifacts: ["transaction_receipt", "account_receipt", "settlement_receipt"],
|
|
18
|
-
proof_surfaces: [
|
|
19
|
-
"/v1/proof-center/bridge/summary",
|
|
20
|
-
"/v1/release-center/summary",
|
|
21
|
-
"/v1/phases/phase-5/summary"
|
|
22
|
-
]
|
|
23
|
-
},
|
|
24
|
-
completion_shape: {
|
|
25
|
-
completion_checks: [
|
|
26
|
-
"the Proton/XPR proof lane is public and inspectable",
|
|
27
|
-
"settlement proof posture stays attached to the proof lane",
|
|
28
|
-
"proof surfaces remain available for settlement review",
|
|
29
|
-
"Phase 5 includes a dedicated Proton/XPR proof lane"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
first_path: {
|
|
33
|
-
purpose: "show the Proton/XPR-linked major proof lane for settlement and account carry",
|
|
34
|
-
first_http_sequence: [
|
|
35
|
-
"/v1/phases/phase-5/summary",
|
|
36
|
-
"/v1/proof-center/bridge/summary",
|
|
37
|
-
"/v1/release-center/summary"
|
|
38
|
-
],
|
|
39
|
-
first_cli_sequence: [
|
|
40
|
-
"xoonya-release --phase-5-proton-xpr-proof --summary",
|
|
41
|
-
"xoonya-release --phase-5 --summary"
|
|
42
|
-
],
|
|
43
|
-
expected_signals: [
|
|
44
|
-
"Proton/XPR is visible as an explicit Phase 5 proof lane",
|
|
45
|
-
"settlement proof posture is inspectable from a stable route",
|
|
46
|
-
"Phase 5 is broadening into multiple major rail proof families"
|
|
47
|
-
]
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function summarizePhase5ProtonXprProofPack() {
|
|
53
|
-
const pack = buildPhase5ProtonXprProofPack();
|
|
54
|
-
return {
|
|
55
|
-
ok: true,
|
|
56
|
-
product: pack.product,
|
|
57
|
-
category: pack.category,
|
|
58
|
-
phase_ref: pack.phase_ref,
|
|
59
|
-
ecosystem_count: pack.ecosystem_refs.length,
|
|
60
|
-
proof_mode_count: pack.rail_shape.proof_modes.length,
|
|
61
|
-
account_mode_count: pack.rail_shape.account_modes.length,
|
|
62
|
-
evidence_mode_count: pack.rail_shape.evidence_modes.length,
|
|
63
|
-
proof_artifact_count: pack.rail_shape.proof_artifacts.length,
|
|
64
|
-
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
65
|
-
http_step_count: pack.first_path.first_http_sequence.length,
|
|
66
|
-
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
67
|
-
signal_count: pack.first_path.expected_signals.length,
|
|
68
|
-
proof_surface_count: pack.rail_shape.proof_surfaces.length,
|
|
69
|
-
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
module.exports = {
|
|
74
|
-
buildPhase5ProtonXprProofPack,
|
|
75
|
-
summarizePhase5ProtonXprProofPack
|
|
76
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase5ProtonXprProofPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-5-proton-xpr-proof-pack",
|
|
10
|
+
phase_ref: "phase_5",
|
|
11
|
+
ecosystem_refs: ["proton_xpr"],
|
|
12
|
+
posture: "proof_path",
|
|
13
|
+
rail_shape: {
|
|
14
|
+
proof_modes: ["proton_xpr_settlement_carry"],
|
|
15
|
+
account_modes: ["account_capture", "resource_capture", "settlement_accounting"],
|
|
16
|
+
evidence_modes: ["transaction_capture", "account_capture", "settlement_capture"],
|
|
17
|
+
proof_artifacts: ["transaction_receipt", "account_receipt", "settlement_receipt"],
|
|
18
|
+
proof_surfaces: [
|
|
19
|
+
"/v1/proof-center/bridge/summary",
|
|
20
|
+
"/v1/release-center/summary",
|
|
21
|
+
"/v1/phases/phase-5/summary"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
completion_shape: {
|
|
25
|
+
completion_checks: [
|
|
26
|
+
"the Proton/XPR proof lane is public and inspectable",
|
|
27
|
+
"settlement proof posture stays attached to the proof lane",
|
|
28
|
+
"proof surfaces remain available for settlement review",
|
|
29
|
+
"Phase 5 includes a dedicated Proton/XPR proof lane"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
first_path: {
|
|
33
|
+
purpose: "show the Proton/XPR-linked major proof lane for settlement and account carry",
|
|
34
|
+
first_http_sequence: [
|
|
35
|
+
"/v1/phases/phase-5/summary",
|
|
36
|
+
"/v1/proof-center/bridge/summary",
|
|
37
|
+
"/v1/release-center/summary"
|
|
38
|
+
],
|
|
39
|
+
first_cli_sequence: [
|
|
40
|
+
"xoonya-release --phase-5-proton-xpr-proof --summary",
|
|
41
|
+
"xoonya-release --phase-5 --summary"
|
|
42
|
+
],
|
|
43
|
+
expected_signals: [
|
|
44
|
+
"Proton/XPR is visible as an explicit Phase 5 proof lane",
|
|
45
|
+
"settlement proof posture is inspectable from a stable route",
|
|
46
|
+
"Phase 5 is broadening into multiple major rail proof families"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function summarizePhase5ProtonXprProofPack() {
|
|
53
|
+
const pack = buildPhase5ProtonXprProofPack();
|
|
54
|
+
return {
|
|
55
|
+
ok: true,
|
|
56
|
+
product: pack.product,
|
|
57
|
+
category: pack.category,
|
|
58
|
+
phase_ref: pack.phase_ref,
|
|
59
|
+
ecosystem_count: pack.ecosystem_refs.length,
|
|
60
|
+
proof_mode_count: pack.rail_shape.proof_modes.length,
|
|
61
|
+
account_mode_count: pack.rail_shape.account_modes.length,
|
|
62
|
+
evidence_mode_count: pack.rail_shape.evidence_modes.length,
|
|
63
|
+
proof_artifact_count: pack.rail_shape.proof_artifacts.length,
|
|
64
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
65
|
+
http_step_count: pack.first_path.first_http_sequence.length,
|
|
66
|
+
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
67
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
68
|
+
proof_surface_count: pack.rail_shape.proof_surfaces.length,
|
|
69
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
module.exports = {
|
|
74
|
+
buildPhase5ProtonXprProofPack,
|
|
75
|
+
summarizePhase5ProtonXprProofPack
|
|
76
|
+
};
|