xoonya 3.1.17 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -74
- package/RELEASE_NOTES.md +7 -1
- package/START_HERE.md +38 -134
- package/bin/xoonya-first-run.js +22 -10
- package/bin/xoonya.js +61 -29
- package/lib/native_verify.js +1918 -0
- package/package.json +19 -42
- package/scripts/verify_release_candidate.js +243 -116
- package/scripts/verify_vectors.js +351 -104
- package/verify.js +95 -0
- package/.env.example +0 -10
- package/CARRIED_HANDOFF_DEMO.md +0 -60
- package/COMPATIBILITY_NOTE.md +0 -27
- package/CROSS_RUNTIME_POSTURE.md +0 -77
- package/EXAMPLE_PATHS.md +0 -53
- package/FINAL_CONTRACT.md +0 -445
- package/PARTNER_READY_PATH.md +0 -67
- package/PUBLIC_DEMO_SCRIPT.md +0 -79
- package/SERVICE_CONTRACT.md +0 -207
- package/TERMINOLOGY.md +0 -55
- package/WHY_XYTARA_XOONYA.md +0 -43
- package/XNYA_CONFORMANCE_MARK.md +0 -78
- package/XNYA_REFERENCE_IMPLEMENTATIONS.md +0 -157
- package/XOONYA_DEFAULT_PATH_MODEL.md +0 -63
- package/XOONYA_FOLLOWTHROUGH_TRUTH_MODEL.md +0 -63
- package/XOONYA_NATIVE_ATOM_SPEC.md +0 -184
- package/XOONYA_NATIVE_PROOF_FORMAT.md +0 -570
- package/XOONYA_NATIVE_STANDARD_GOVERNANCE.md +0 -119
- package/XOONYA_PROOF_TRUTH_MODEL.md +0 -58
- package/bin/xoonya-release.js +0 -1367
- package/bin/xoonya-review.js +0 -70
- package/examples/integration_boundary_walkthrough.js +0 -37
- package/examples/package_quickstart.js +0 -1007
- package/examples/partner_proof_walkthrough.js +0 -68
- package/examples/proof_review_walkthrough.js +0 -66
- package/examples/review_carried_handoff.js +0 -72
- package/index.js +0 -31
- package/integrations/PROOF_INTEGRATION_PROCESS.md +0 -45
- package/integrations/examples/example-third-party-verifier-registration.record.json +0 -22
- package/integrations/registration-record.schema.json +0 -99
- package/integrations/registry-snapshot.schema.json +0 -36
- package/integrations/registry.js +0 -636
- package/integrations/views.js +0 -36
- package/lib/adapter_certification_contract.js +0 -90
- package/lib/announcement_pack.js +0 -61
- package/lib/artifact_distribution_lane_contract.js +0 -54
- package/lib/asyncapi_contract.js +0 -135
- package/lib/auth_interop_contract.js +0 -69
- package/lib/authority_binding_lifecycle_contract.js +0 -182
- package/lib/bridge_intelligence.js +0 -102
- package/lib/cloudevents_contract.js +0 -79
- package/lib/crypto_agility_matrix.js +0 -131
- package/lib/default_path_contract.js +0 -380
- package/lib/ecosystem_entry.js +0 -64
- package/lib/erc8004_proof_lane_contract.js +0 -64
- package/lib/event_system_lane_contract.js +0 -76
- package/lib/external_proof_import_lane_contract.js +0 -87
- package/lib/feature_control_lane_contract.js +0 -54
- package/lib/followthrough_truth_contract.js +0 -214
- package/lib/framework_lane_contract.js +0 -76
- package/lib/governance_disputes_summary.js +0 -36
- package/lib/governance_intelligence.js +0 -108
- package/lib/identity_interop_contract.js +0 -83
- package/lib/integration_matrix_contract.js +0 -81
- package/lib/launch_narrative.js +0 -53
- package/lib/machine_identity_registry_contract.js +0 -199
- package/lib/major_rails_proof_lane_contract.js +0 -87
- package/lib/offline_verifiability_recovery_contract.js +0 -155
- package/lib/openapi_contract.js +0 -227
- package/lib/operational_receipt_contract.js +0 -165
- package/lib/outreach_proof.js +0 -71
- package/lib/phase_10_closeout_pack.js +0 -45
- package/lib/phase_10_completion_pack.js +0 -76
- package/lib/phase_10_decision_record_pack.js +0 -54
- package/lib/phase_10_decision_resolution_pack.js +0 -53
- package/lib/phase_10_demand_signal_adapters_proof_pack.js +0 -74
- package/lib/phase_10_ecosystem_backlog_triage_proof_pack.js +0 -74
- package/lib/phase_10_freeze_baseline_pack.js +0 -67
- package/lib/phase_10_freeze_review_pack.js +0 -64
- package/lib/phase_10_gate_pack.js +0 -57
- package/lib/phase_10_long_tail_continuity_pack.js +0 -80
- package/lib/phase_10_long_tail_ecosystem_pack.js +0 -68
- package/lib/phase_10_niche_extension_registry_proof_pack.js +0 -74
- package/lib/phase_1_claude_mcp_pack.js +0 -60
- package/lib/phase_1_claude_mcp_proof_pack.js +0 -57
- package/lib/phase_1_ecosystem_pack.js +0 -51
- package/lib/phase_1_openai_codex_pack.js +0 -60
- package/lib/phase_1_openai_codex_proof_pack.js +0 -57
- package/lib/phase_2_base_proof_pack.js +0 -71
- package/lib/phase_2_base_usdc_proof_pack.js +0 -72
- package/lib/phase_2_closeout_pack.js +0 -65
- package/lib/phase_2_completion_pack.js +0 -113
- package/lib/phase_2_decision_record_pack.js +0 -66
- package/lib/phase_2_decision_resolution_pack.js +0 -69
- package/lib/phase_2_eth_proof_pack.js +0 -70
- package/lib/phase_2_evm_base_proof_pack.js +0 -73
- package/lib/phase_2_evm_proof_pack.js +0 -71
- package/lib/phase_2_flip_preview_pack.js +0 -60
- package/lib/phase_2_freeze_review_pack.js +0 -99
- package/lib/phase_2_gate_pack.js +0 -77
- package/lib/phase_2_payment_rails_pack.js +0 -71
- package/lib/phase_2_usdc_proof_pack.js +0 -71
- package/lib/phase_3_brc_proof_pack.js +0 -81
- package/lib/phase_3_bsv_teranode_proof_pack.js +0 -81
- package/lib/phase_3_closeout_pack.js +0 -62
- package/lib/phase_3_completion_pack.js +0 -92
- package/lib/phase_3_decision_record_pack.js +0 -64
- package/lib/phase_3_decision_resolution_pack.js +0 -69
- package/lib/phase_3_freeze_baseline_pack.js +0 -67
- package/lib/phase_3_freeze_review_pack.js +0 -80
- package/lib/phase_3_gate_pack.js +0 -76
- package/lib/phase_3_metanet_proof_pack.js +0 -81
- package/lib/phase_3_native_bsv_pack.js +0 -89
- package/lib/phase_3_native_continuity_pack.js +0 -82
- package/lib/phase_4_attestation_proof_pack.js +0 -75
- package/lib/phase_4_closeout_pack.js +0 -45
- package/lib/phase_4_completion_pack.js +0 -82
- package/lib/phase_4_decision_record_pack.js +0 -54
- package/lib/phase_4_decision_resolution_pack.js +0 -45
- package/lib/phase_4_erc8004_proof_pack.js +0 -76
- package/lib/phase_4_freeze_baseline_pack.js +0 -67
- package/lib/phase_4_freeze_review_pack.js +0 -68
- package/lib/phase_4_gate_pack.js +0 -58
- package/lib/phase_4_identity_registry_proof_pack.js +0 -75
- package/lib/phase_4_identity_trust_pack.js +0 -73
- package/lib/phase_4_trust_continuity_pack.js +0 -86
- package/lib/phase_5_antelope_proof_pack.js +0 -76
- package/lib/phase_5_closeout_pack.js +0 -44
- package/lib/phase_5_completion_pack.js +0 -82
- package/lib/phase_5_decision_record_pack.js +0 -54
- package/lib/phase_5_decision_resolution_pack.js +0 -45
- package/lib/phase_5_freeze_baseline_pack.js +0 -67
- package/lib/phase_5_freeze_review_pack.js +0 -68
- package/lib/phase_5_gate_pack.js +0 -58
- package/lib/phase_5_major_rails_continuity_pack.js +0 -86
- package/lib/phase_5_major_rails_pack.js +0 -74
- package/lib/phase_5_proton_xpr_proof_pack.js +0 -76
- package/lib/phase_5_solana_proof_pack.js +0 -76
- package/lib/phase_6_autogen_proof_pack.js +0 -74
- package/lib/phase_6_closeout_pack.js +0 -46
- package/lib/phase_6_completion_pack.js +0 -77
- package/lib/phase_6_decision_record_pack.js +0 -54
- package/lib/phase_6_decision_resolution_pack.js +0 -53
- package/lib/phase_6_framework_continuity_pack.js +0 -81
- package/lib/phase_6_framework_runtime_pack.js +0 -68
- package/lib/phase_6_freeze_baseline_pack.js +0 -68
- package/lib/phase_6_freeze_review_pack.js +0 -65
- package/lib/phase_6_gate_pack.js +0 -59
- package/lib/phase_6_langchain_proof_pack.js +0 -74
- package/lib/phase_6_langgraph_proof_pack.js +0 -74
- package/lib/phase_6_semantic_kernel_proof_pack.js +0 -74
- package/lib/phase_7_closeout_pack.js +0 -45
- package/lib/phase_7_completion_pack.js +0 -85
- package/lib/phase_7_decision_record_pack.js +0 -53
- package/lib/phase_7_decision_resolution_pack.js +0 -53
- package/lib/phase_7_event_system_continuity_pack.js +0 -89
- package/lib/phase_7_event_system_pack.js +0 -76
- package/lib/phase_7_freeze_baseline_pack.js +0 -74
- package/lib/phase_7_freeze_review_pack.js +0 -65
- package/lib/phase_7_gate_pack.js +0 -58
- package/lib/phase_7_kafka_proof_pack.js +0 -76
- package/lib/phase_7_mqtt_proof_pack.js +0 -76
- package/lib/phase_7_nats_proof_pack.js +0 -76
- package/lib/phase_7_webhook_event_bus_proof_pack.js +0 -76
- package/lib/phase_8_closeout_pack.js +0 -46
- package/lib/phase_8_completion_pack.js +0 -82
- package/lib/phase_8_decision_record_pack.js +0 -54
- package/lib/phase_8_decision_resolution_pack.js +0 -53
- package/lib/phase_8_external_receipt_import_proof_pack.js +0 -74
- package/lib/phase_8_external_result_import_proof_pack.js +0 -74
- package/lib/phase_8_freeze_baseline_pack.js +0 -71
- package/lib/phase_8_freeze_review_pack.js +0 -64
- package/lib/phase_8_gate_pack.js +0 -58
- package/lib/phase_8_proof_bridge_continuity_pack.js +0 -86
- package/lib/phase_8_proof_bridges_pack.js +0 -72
- package/lib/phase_8_proof_bundle_normalization_proof_pack.js +0 -74
- package/lib/phase_9_closeout_pack.js +0 -46
- package/lib/phase_9_completion_pack.js +0 -82
- package/lib/phase_9_custody_refs_proof_pack.js +0 -74
- package/lib/phase_9_decision_record_pack.js +0 -54
- package/lib/phase_9_decision_resolution_pack.js +0 -53
- package/lib/phase_9_freeze_baseline_pack.js +0 -71
- package/lib/phase_9_freeze_review_pack.js +0 -64
- package/lib/phase_9_gate_pack.js +0 -58
- package/lib/phase_9_operator_accounting_bridges_proof_pack.js +0 -74
- package/lib/phase_9_treasury_connectivity_pack.js +0 -72
- package/lib/phase_9_treasury_continuity_pack.js +0 -86
- package/lib/phase_9_treasury_destinations_proof_pack.js +0 -74
- package/lib/phase_program_pack.js +0 -47
- package/lib/proof_bridge_lane_contract.js +0 -82
- package/lib/proof_truth_contract.js +0 -224
- package/lib/provenance_lane_contract.js +0 -54
- package/lib/provider_lane_contract.js +0 -67
- package/lib/public_surface_policy_contract.js +0 -111
- package/lib/publish_plan.js +0 -51
- package/lib/release_candidate.js +0 -50
- package/lib/release_center.js +0 -1037
- package/lib/release_history.js +0 -206
- package/lib/release_manifest.js +0 -114
- package/lib/release_pack.js +0 -391
- package/lib/result_package_trust_lane_contract.js +0 -74
- package/lib/review_intelligence.js +0 -100
- package/lib/role_freeze.js +0 -436
- package/lib/shared_signals_lane_contract.js +0 -54
- package/lib/signed_audit_provenance_contract.js +0 -93
- package/lib/telemetry_lane_contract.js +0 -54
- package/lib/treasury_proof_lane_contract.js +0 -83
- package/lib/trust_intelligence.js +0 -106
- package/lib/trust_portability_boundary_contract.js +0 -66
- package/lib/trust_portability_pack.js +0 -224
- package/lib/verification_service_pack.js +0 -149
- package/proof_sdk.js +0 -6692
- package/reference/python/README.md +0 -35
- package/reference/python/requirements-optional.txt +0 -1
- package/reference/python/verify_vectors.py +0 -223
- package/reference/python/xnya_reference.py +0 -810
- package/reference/rust/Cargo.toml +0 -11
- package/reference/rust/README.md +0 -28
- package/reference/rust/src/lib.rs +0 -87
- package/scripts/registry_cli.js +0 -157
- package/scripts/verify_all.js +0 -603
- package/scripts/verify_control_plane_contracts.js +0 -34
- package/scripts/verify_control_plane_routes.js +0 -70
- package/scripts/verify_examples.js +0 -19
- package/scripts/verify_external_proof_import_gate.js +0 -84
- package/scripts/verify_external_proof_signature.js +0 -142
- package/scripts/verify_forgery_resistance.js +0 -281
- package/scripts/verify_integrations.js +0 -170
- package/scripts/verify_native_hybrid_design_gate.js +0 -114
- package/scripts/verify_paid_execute.js +0 -133
- package/scripts/verify_paywall_flag.js +0 -86
- package/scripts/verify_reference_promotion_gate.js +0 -74
- package/scripts/verify_reference_python.js +0 -49
- package/scripts/verify_reference_python_crypto.js +0 -87
- package/scripts/verify_reference_rust_scaffold.js +0 -50
- package/scripts/verify_service.js +0 -3038
- package/scripts/verify_tooling.js +0 -1251
- package/scripts/verify_trust_portability.js +0 -56
- package/scripts/verify_verification_services.js +0 -56
- package/server.js +0 -4430
|
@@ -1,3038 +0,0 @@
|
|
|
1
|
-
const assert = require('assert');
|
|
2
|
-
const http = require('http');
|
|
3
|
-
const { createServer } = require('../server.js');
|
|
4
|
-
const sdk = require('../index.js');
|
|
5
|
-
|
|
6
|
-
async function postJson(baseUrl, path, payload) {
|
|
7
|
-
const response = await fetch(`${baseUrl}${path}`, {
|
|
8
|
-
method: 'POST',
|
|
9
|
-
headers: {
|
|
10
|
-
'content-type': 'application/json',
|
|
11
|
-
},
|
|
12
|
-
body: JSON.stringify(payload),
|
|
13
|
-
});
|
|
14
|
-
return {
|
|
15
|
-
status: response.status,
|
|
16
|
-
json: await response.json(),
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
async function getJson(baseUrl, path) {
|
|
21
|
-
const response = await fetch(`${baseUrl}${path}`);
|
|
22
|
-
return {
|
|
23
|
-
status: response.status,
|
|
24
|
-
json: await response.json(),
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function canonicalize(value) {
|
|
29
|
-
if (Array.isArray(value)) {
|
|
30
|
-
return `[${value.map((item) => canonicalize(item)).join(',')}]`;
|
|
31
|
-
}
|
|
32
|
-
if (value && typeof value === 'object') {
|
|
33
|
-
const keys = Object.keys(value).sort();
|
|
34
|
-
return `{${keys.map((key) => `${JSON.stringify(key)}:${canonicalize(value[key])}`).join(',')}}`;
|
|
35
|
-
}
|
|
36
|
-
return JSON.stringify(value);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async function main() {
|
|
40
|
-
const server = createServer();
|
|
41
|
-
await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve));
|
|
42
|
-
const address = server.address();
|
|
43
|
-
const baseUrl = `http://127.0.0.1:${address.port}`;
|
|
44
|
-
|
|
45
|
-
try {
|
|
46
|
-
const healthResponse = await fetch(`${baseUrl}/health`);
|
|
47
|
-
const healthJson = await healthResponse.json();
|
|
48
|
-
assert.strictEqual(healthResponse.status, 200, 'health endpoint failed');
|
|
49
|
-
assert.strictEqual(healthJson.status, 'ok', 'health payload invalid');
|
|
50
|
-
|
|
51
|
-
const openApiResponse = await getJson(baseUrl, '/openapi.json');
|
|
52
|
-
assert.strictEqual(openApiResponse.status, 200, 'openapi route failed');
|
|
53
|
-
assert.strictEqual(openApiResponse.json.openapi, '3.1.0', 'openapi version missing');
|
|
54
|
-
assert.strictEqual(openApiResponse.json.info.title, 'xoonya Public HTTP Contract', 'openapi title missing');
|
|
55
|
-
assert.strictEqual(typeof openApiResponse.json.paths['/v1/proof-bundles/verify'], 'object', 'openapi proof route missing');
|
|
56
|
-
|
|
57
|
-
const openApiSummaryResponse = await getJson(baseUrl, '/v1/openapi/summary');
|
|
58
|
-
assert.strictEqual(openApiSummaryResponse.status, 200, 'openapi summary route failed');
|
|
59
|
-
assert.strictEqual(openApiSummaryResponse.json.product, 'xoonya', 'openapi summary product missing');
|
|
60
|
-
assert.strictEqual(openApiSummaryResponse.json.path_count >= 10, true, 'openapi summary path count missing');
|
|
61
|
-
|
|
62
|
-
const asyncApiResponse = await getJson(baseUrl, '/asyncapi.json');
|
|
63
|
-
assert.strictEqual(asyncApiResponse.status, 200, 'asyncapi route failed');
|
|
64
|
-
assert.strictEqual(asyncApiResponse.json.asyncapi, '3.0.0', 'asyncapi version missing');
|
|
65
|
-
assert.strictEqual(asyncApiResponse.json.info.title, 'xoonya Event Contract', 'asyncapi title missing');
|
|
66
|
-
assert.strictEqual(typeof asyncApiResponse.json.channels['proof/bundles/build'], 'object', 'asyncapi proof channel missing');
|
|
67
|
-
|
|
68
|
-
const asyncApiSummaryResponse = await getJson(baseUrl, '/v1/asyncapi/summary');
|
|
69
|
-
assert.strictEqual(asyncApiSummaryResponse.status, 200, 'asyncapi summary route failed');
|
|
70
|
-
assert.strictEqual(asyncApiSummaryResponse.json.product, 'xoonya', 'asyncapi summary product missing');
|
|
71
|
-
assert.strictEqual(asyncApiSummaryResponse.json.channel_count >= 5, true, 'asyncapi summary channel count missing');
|
|
72
|
-
|
|
73
|
-
const cloudeventsResponse = await getJson(baseUrl, '/cloudevents.json');
|
|
74
|
-
assert.strictEqual(cloudeventsResponse.status, 200, 'cloudevents route failed');
|
|
75
|
-
assert.strictEqual(cloudeventsResponse.json.specversion, '1.0', 'cloudevents specversion missing');
|
|
76
|
-
assert.strictEqual(cloudeventsResponse.json.product, 'xoonya', 'cloudevents product missing');
|
|
77
|
-
assert.strictEqual(Array.isArray(cloudeventsResponse.json.event_families), true, 'cloudevents event families missing');
|
|
78
|
-
assert.strictEqual(cloudeventsResponse.json.event_families.length >= 5, true, 'cloudevents event family count missing');
|
|
79
|
-
|
|
80
|
-
const cloudeventsSummaryResponse = await getJson(baseUrl, '/v1/cloudevents/summary');
|
|
81
|
-
assert.strictEqual(cloudeventsSummaryResponse.status, 200, 'cloudevents summary route failed');
|
|
82
|
-
assert.strictEqual(cloudeventsSummaryResponse.json.product, 'xoonya', 'cloudevents summary product missing');
|
|
83
|
-
assert.strictEqual(cloudeventsSummaryResponse.json.stable_surface_count >= 5, true, 'cloudevents summary stable surface count missing');
|
|
84
|
-
|
|
85
|
-
const authProfilesResponse = await getJson(baseUrl, '/v1/auth-profiles');
|
|
86
|
-
assert.strictEqual(authProfilesResponse.status, 200, 'auth profiles route failed');
|
|
87
|
-
assert.strictEqual(authProfilesResponse.json.product, 'xoonya', 'auth profiles product missing');
|
|
88
|
-
assert.strictEqual(authProfilesResponse.json.primary_posture, 'proof_verification_with_oauth_oidc_and_token_exchange_interop', 'auth profiles posture missing');
|
|
89
|
-
assert.strictEqual(Array.isArray(authProfilesResponse.json.supported_interop_profiles), true, 'auth profile list missing');
|
|
90
|
-
assert.strictEqual(authProfilesResponse.json.supported_interop_profiles.length >= 3, true, 'auth profile count missing');
|
|
91
|
-
|
|
92
|
-
const authProfilesSummaryResponse = await getJson(baseUrl, '/v1/auth-profiles/summary');
|
|
93
|
-
assert.strictEqual(authProfilesSummaryResponse.status, 200, 'auth profiles summary route failed');
|
|
94
|
-
assert.strictEqual(authProfilesSummaryResponse.json.product, 'xoonya', 'auth profiles summary product missing');
|
|
95
|
-
assert.strictEqual(authProfilesSummaryResponse.json.profile_count >= 3, true, 'auth profiles summary count missing');
|
|
96
|
-
|
|
97
|
-
const identityInteropResponse = await getJson(baseUrl, '/v1/identity-interop');
|
|
98
|
-
assert.strictEqual(identityInteropResponse.status, 200, 'identity interop route failed');
|
|
99
|
-
assert.strictEqual(identityInteropResponse.json.product, 'xoonya', 'identity interop product missing');
|
|
100
|
-
assert.strictEqual(identityInteropResponse.json.primary_posture, 'native_proof_and_attestation_followthrough_with_jwt_and_did_vc_interop', 'identity interop posture missing');
|
|
101
|
-
assert.strictEqual(Array.isArray(identityInteropResponse.json.supported_interop_profiles), true, 'identity interop profiles missing');
|
|
102
|
-
assert.strictEqual(identityInteropResponse.json.supported_interop_profiles.length >= 4, true, 'identity interop profile count missing');
|
|
103
|
-
|
|
104
|
-
const identityInteropSummaryResponse = await getJson(baseUrl, '/v1/identity-interop/summary');
|
|
105
|
-
assert.strictEqual(identityInteropSummaryResponse.status, 200, 'identity interop summary route failed');
|
|
106
|
-
assert.strictEqual(identityInteropSummaryResponse.json.product, 'xoonya', 'identity interop summary product missing');
|
|
107
|
-
assert.strictEqual(identityInteropSummaryResponse.json.profile_count >= 4, true, 'identity interop summary count missing');
|
|
108
|
-
|
|
109
|
-
const trustPortabilityResponse = await getJson(baseUrl, '/v1/proof-center/trust-portability');
|
|
110
|
-
assert.strictEqual(trustPortabilityResponse.status, 200, 'trust portability route failed');
|
|
111
|
-
assert.strictEqual(trustPortabilityResponse.json.product, 'xoonya', 'trust portability product missing');
|
|
112
|
-
assert.strictEqual(trustPortabilityResponse.json.category, 'xoonya-trust-portability-pack', 'trust portability category missing');
|
|
113
|
-
assert.strictEqual(Array.isArray(trustPortabilityResponse.json.portability_profiles), true, 'trust portability profiles missing');
|
|
114
|
-
assert.strictEqual(trustPortabilityResponse.json.portability_profiles.length >= 4, true, 'trust portability profile count missing');
|
|
115
|
-
|
|
116
|
-
const trustPortabilitySummaryResponse = await getJson(baseUrl, '/v1/proof-center/trust-portability/summary');
|
|
117
|
-
assert.strictEqual(trustPortabilitySummaryResponse.status, 200, 'trust portability summary route failed');
|
|
118
|
-
assert.strictEqual(trustPortabilitySummaryResponse.json.product, 'xoonya', 'trust portability summary product missing');
|
|
119
|
-
assert.strictEqual(trustPortabilitySummaryResponse.json.profile_count >= 4, true, 'trust portability summary profile count missing');
|
|
120
|
-
|
|
121
|
-
const governanceDisputesSummaryResponse = await getJson(baseUrl, '/v1/proof-center/governance/disputes/summary');
|
|
122
|
-
assert.strictEqual(governanceDisputesSummaryResponse.status, 200, 'governance disputes summary route failed');
|
|
123
|
-
assert.strictEqual(governanceDisputesSummaryResponse.json.ok, true, 'governance disputes summary ok missing');
|
|
124
|
-
assert.strictEqual(typeof governanceDisputesSummaryResponse.json.case_count, 'number', 'governance disputes summary case count missing');
|
|
125
|
-
assert.strictEqual(typeof governanceDisputesSummaryResponse.json.open_case_count, 'number', 'governance disputes summary open case count missing');
|
|
126
|
-
|
|
127
|
-
const trustPortabilityDetailResponse = await getJson(baseUrl, '/v1/proof-center/trust-portability/agent_identity_portability');
|
|
128
|
-
assert.strictEqual(trustPortabilityDetailResponse.status, 200, 'trust portability detail route failed');
|
|
129
|
-
assert.strictEqual(trustPortabilityDetailResponse.json.profile.profile_id, 'agent_identity_portability', 'trust portability detail profile missing');
|
|
130
|
-
|
|
131
|
-
const proofTruthResponse = await getJson(baseUrl, '/v1/proof-truth');
|
|
132
|
-
assert.strictEqual(proofTruthResponse.status, 200, 'proof truth route failed');
|
|
133
|
-
assert.strictEqual(proofTruthResponse.json.category, 'xoonya-proof-truth-model', 'proof truth category missing');
|
|
134
|
-
assert.strictEqual(proofTruthResponse.json.pack_version, 'xoonya-proof-truth-model-v1', 'proof truth version missing');
|
|
135
|
-
assert.strictEqual(proofTruthResponse.json.canonical_objects.length >= 6, true, 'proof truth object count missing');
|
|
136
|
-
|
|
137
|
-
const proofTruthSummaryResponse = await getJson(baseUrl, '/v1/proof-truth/summary');
|
|
138
|
-
assert.strictEqual(proofTruthSummaryResponse.status, 200, 'proof truth summary route failed');
|
|
139
|
-
assert.strictEqual(proofTruthSummaryResponse.json.category, 'xoonya-proof-truth-model', 'proof truth summary category missing');
|
|
140
|
-
assert.strictEqual(proofTruthSummaryResponse.json.pack_version, 'xoonya-proof-truth-model-v1', 'proof truth summary version missing');
|
|
141
|
-
|
|
142
|
-
const proofBundleTruthDetailResponse = await getJson(baseUrl, '/v1/proof-truth/proof_bundle');
|
|
143
|
-
assert.strictEqual(proofBundleTruthDetailResponse.status, 200, 'proof truth proof_bundle detail route failed');
|
|
144
|
-
assert.strictEqual(proofBundleTruthDetailResponse.json.object.object_id, 'proof_bundle', 'proof truth proof_bundle detail missing');
|
|
145
|
-
|
|
146
|
-
const xnyaTruthDetailResponse = await getJson(baseUrl, '/v1/proof-truth/xnya_native_artifact');
|
|
147
|
-
assert.strictEqual(xnyaTruthDetailResponse.status, 200, 'proof truth xnya detail route failed');
|
|
148
|
-
assert.strictEqual(xnyaTruthDetailResponse.json.object.object_id, 'xnya_native_artifact', 'proof truth xnya detail missing');
|
|
149
|
-
|
|
150
|
-
const defaultPathResponse = await getJson(baseUrl, '/v1/default-path');
|
|
151
|
-
assert.strictEqual(defaultPathResponse.status, 200, 'default path route failed');
|
|
152
|
-
assert.strictEqual(defaultPathResponse.json.category, 'xoonya-default-path-model', 'default path category missing');
|
|
153
|
-
assert.strictEqual(defaultPathResponse.json.pack_version, 'xoonya-default-path-model-v1', 'default path version missing');
|
|
154
|
-
assert.strictEqual(defaultPathResponse.json.supported_surface_count >= 5, true, 'default path surface count missing');
|
|
155
|
-
|
|
156
|
-
const defaultPathSummaryResponse = await getJson(baseUrl, '/v1/default-path/summary');
|
|
157
|
-
assert.strictEqual(defaultPathSummaryResponse.status, 200, 'default path summary route failed');
|
|
158
|
-
assert.strictEqual(defaultPathSummaryResponse.json.category, 'xoonya-default-path-model', 'default path summary category missing');
|
|
159
|
-
assert.strictEqual(defaultPathSummaryResponse.json.pack_version, 'xoonya-default-path-model-v1', 'default path summary version missing');
|
|
160
|
-
assert.strictEqual(defaultPathSummaryResponse.json.default_path_stage_count, 7, 'default path stage count missing');
|
|
161
|
-
|
|
162
|
-
const cliDefaultPathDetailResponse = await getJson(baseUrl, '/v1/default-path/cli_terminal');
|
|
163
|
-
assert.strictEqual(cliDefaultPathDetailResponse.status, 200, 'cli default path detail route failed');
|
|
164
|
-
assert.strictEqual(cliDefaultPathDetailResponse.json.surface.surface_id, 'cli_terminal', 'cli default path detail missing');
|
|
165
|
-
|
|
166
|
-
const handoffDefaultPathDetailResponse = await getJson(baseUrl, '/v1/default-path/carried_handoff_review');
|
|
167
|
-
assert.strictEqual(handoffDefaultPathDetailResponse.status, 200, 'carried handoff default path detail route failed');
|
|
168
|
-
assert.strictEqual(handoffDefaultPathDetailResponse.json.surface.surface_id, 'carried_handoff_review', 'carried handoff default path detail missing');
|
|
169
|
-
|
|
170
|
-
const followthroughTruthResponse = await getJson(baseUrl, '/v1/followthrough-truth');
|
|
171
|
-
assert.strictEqual(followthroughTruthResponse.status, 200, 'followthrough truth route failed');
|
|
172
|
-
assert.strictEqual(followthroughTruthResponse.json.category, 'xoonya-followthrough-truth-model', 'followthrough truth category missing');
|
|
173
|
-
assert.strictEqual(followthroughTruthResponse.json.pack_version, 'xoonya-followthrough-truth-model-v1', 'followthrough truth version missing');
|
|
174
|
-
assert.strictEqual(followthroughTruthResponse.json.profile_count >= 4, true, 'followthrough truth profile count missing');
|
|
175
|
-
|
|
176
|
-
const followthroughTruthSummaryResponse = await getJson(baseUrl, '/v1/followthrough-truth/summary');
|
|
177
|
-
assert.strictEqual(followthroughTruthSummaryResponse.status, 200, 'followthrough truth summary route failed');
|
|
178
|
-
assert.strictEqual(followthroughTruthSummaryResponse.json.category, 'xoonya-followthrough-truth-model', 'followthrough truth summary category missing');
|
|
179
|
-
assert.strictEqual(followthroughTruthSummaryResponse.json.pack_version, 'xoonya-followthrough-truth-model-v1', 'followthrough truth summary version missing');
|
|
180
|
-
assert.strictEqual(followthroughTruthSummaryResponse.json.bounded_live_profile_count >= 3, true, 'followthrough truth bounded live count missing');
|
|
181
|
-
|
|
182
|
-
const bridgeFollowthroughDetailResponse = await getJson(baseUrl, '/v1/followthrough-truth/bridge_followthrough');
|
|
183
|
-
assert.strictEqual(bridgeFollowthroughDetailResponse.status, 200, 'bridge followthrough detail route failed');
|
|
184
|
-
assert.strictEqual(bridgeFollowthroughDetailResponse.json.profile.profile_id, 'bridge_followthrough', 'bridge followthrough detail missing');
|
|
185
|
-
|
|
186
|
-
const governanceFollowthroughDetailResponse = await getJson(baseUrl, '/v1/followthrough-truth/governance_followthrough');
|
|
187
|
-
assert.strictEqual(governanceFollowthroughDetailResponse.status, 200, 'governance followthrough detail route failed');
|
|
188
|
-
assert.strictEqual(governanceFollowthroughDetailResponse.json.profile.profile_id, 'governance_followthrough', 'governance followthrough detail missing');
|
|
189
|
-
|
|
190
|
-
const providerLaneResponse = await getJson(baseUrl, '/v1/providers');
|
|
191
|
-
assert.strictEqual(providerLaneResponse.status, 200, 'provider lane route failed');
|
|
192
|
-
assert.strictEqual(providerLaneResponse.json.product, 'xoonya', 'provider lane product missing');
|
|
193
|
-
assert.strictEqual(providerLaneResponse.json.lane_state, 'first_party_provider_family_present', 'provider lane state missing');
|
|
194
|
-
|
|
195
|
-
const providerLaneSummaryResponse = await getJson(baseUrl, '/v1/providers/summary');
|
|
196
|
-
assert.strictEqual(providerLaneSummaryResponse.status, 200, 'provider lane summary route failed');
|
|
197
|
-
assert.strictEqual(providerLaneSummaryResponse.json.featured_provider_count >= 2, true, 'provider lane count missing');
|
|
198
|
-
|
|
199
|
-
const frameworkLaneResponse = await getJson(baseUrl, '/v1/frameworks');
|
|
200
|
-
assert.strictEqual(frameworkLaneResponse.status, 200, 'framework lane route failed');
|
|
201
|
-
assert.strictEqual(frameworkLaneResponse.json.product, 'xoonya', 'framework lane product missing');
|
|
202
|
-
assert.strictEqual(frameworkLaneResponse.json.lane_state, 'first_party_framework_family_present', 'framework lane state missing');
|
|
203
|
-
|
|
204
|
-
const frameworkLaneSummaryResponse = await getJson(baseUrl, '/v1/frameworks/summary');
|
|
205
|
-
assert.strictEqual(frameworkLaneSummaryResponse.status, 200, 'framework lane summary route failed');
|
|
206
|
-
assert.strictEqual(frameworkLaneSummaryResponse.json.featured_framework_count >= 4, true, 'framework lane count missing');
|
|
207
|
-
|
|
208
|
-
const integrationMatrixResponse = await getJson(baseUrl, '/v1/integration-matrix');
|
|
209
|
-
assert.strictEqual(integrationMatrixResponse.status, 200, 'integration matrix route failed');
|
|
210
|
-
assert.strictEqual(integrationMatrixResponse.json.product, 'xoonya', 'integration matrix product missing');
|
|
211
|
-
assert.strictEqual(integrationMatrixResponse.json.counts.integration_count >= 5, true, 'integration matrix count missing');
|
|
212
|
-
|
|
213
|
-
const integrationMatrixSummaryResponse = await getJson(baseUrl, '/v1/integration-matrix/summary');
|
|
214
|
-
assert.strictEqual(integrationMatrixSummaryResponse.status, 200, 'integration matrix summary route failed');
|
|
215
|
-
assert.strictEqual(integrationMatrixSummaryResponse.json.lane_count >= 14, true, 'integration matrix lane count missing');
|
|
216
|
-
|
|
217
|
-
const telemetryLaneResponse = await getJson(baseUrl, '/v1/telemetry');
|
|
218
|
-
assert.strictEqual(telemetryLaneResponse.status, 200, 'telemetry lane route failed');
|
|
219
|
-
assert.strictEqual(telemetryLaneResponse.json.core_signals.length >= 4, true, 'telemetry lane signal count missing');
|
|
220
|
-
|
|
221
|
-
const provenanceLaneResponse = await getJson(baseUrl, '/v1/provenance');
|
|
222
|
-
assert.strictEqual(provenanceLaneResponse.status, 200, 'provenance lane route failed');
|
|
223
|
-
assert.strictEqual(provenanceLaneResponse.json.standards.includes('slsa'), true, 'provenance lane standard missing');
|
|
224
|
-
|
|
225
|
-
const artifactDistributionLaneResponse = await getJson(baseUrl, '/v1/artifact-distribution');
|
|
226
|
-
assert.strictEqual(artifactDistributionLaneResponse.status, 200, 'artifact distribution lane route failed');
|
|
227
|
-
assert.strictEqual(artifactDistributionLaneResponse.json.artifact_families.length >= 4, true, 'artifact distribution family count missing');
|
|
228
|
-
|
|
229
|
-
const sharedSignalsLaneResponse = await getJson(baseUrl, '/v1/shared-signals');
|
|
230
|
-
assert.strictEqual(sharedSignalsLaneResponse.status, 200, 'shared signals lane route failed');
|
|
231
|
-
assert.strictEqual(sharedSignalsLaneResponse.json.standards.includes('caep'), true, 'shared signals standard missing');
|
|
232
|
-
|
|
233
|
-
const featureControlLaneResponse = await getJson(baseUrl, '/v1/feature-control');
|
|
234
|
-
assert.strictEqual(featureControlLaneResponse.status, 200, 'feature control lane route failed');
|
|
235
|
-
assert.strictEqual(featureControlLaneResponse.json.standards.includes('openfeature'), true, 'feature control standard missing');
|
|
236
|
-
|
|
237
|
-
const majorRailsLaneResponse = await getJson(baseUrl, '/v1/major-rails');
|
|
238
|
-
assert.strictEqual(majorRailsLaneResponse.status, 200, 'major rails lane route failed');
|
|
239
|
-
assert.strictEqual(majorRailsLaneResponse.json.product, 'xoonya', 'major rails lane product missing');
|
|
240
|
-
assert.strictEqual(majorRailsLaneResponse.json.lane_state, 'first_party_major_rails_proof_family_present', 'major rails lane state missing');
|
|
241
|
-
|
|
242
|
-
const majorRailsLaneSummaryResponse = await getJson(baseUrl, '/v1/major-rails/summary');
|
|
243
|
-
assert.strictEqual(majorRailsLaneSummaryResponse.status, 200, 'major rails lane summary route failed');
|
|
244
|
-
assert.strictEqual(majorRailsLaneSummaryResponse.json.featured_lane_count >= 3, true, 'major rails lane summary count missing');
|
|
245
|
-
|
|
246
|
-
const treasuryLaneResponse = await getJson(baseUrl, '/v1/treasury');
|
|
247
|
-
assert.strictEqual(treasuryLaneResponse.status, 200, 'treasury lane route failed');
|
|
248
|
-
assert.strictEqual(treasuryLaneResponse.json.product, 'xoonya', 'treasury lane product missing');
|
|
249
|
-
assert.strictEqual(treasuryLaneResponse.json.lane_state, 'first_party_treasury_proof_connectivity_present', 'treasury lane state missing');
|
|
250
|
-
assert.strictEqual(treasuryLaneResponse.json.reserve_doctrine.optional_hidden_privacy_reserve, 'monero', 'treasury lane privacy reserve missing');
|
|
251
|
-
|
|
252
|
-
const treasuryLaneSummaryResponse = await getJson(baseUrl, '/v1/treasury/summary');
|
|
253
|
-
assert.strictEqual(treasuryLaneSummaryResponse.status, 200, 'treasury lane summary route failed');
|
|
254
|
-
assert.strictEqual(treasuryLaneSummaryResponse.json.stable_reserve_count >= 2, true, 'treasury lane stable reserve count missing');
|
|
255
|
-
|
|
256
|
-
const erc8004LaneResponse = await getJson(baseUrl, '/v1/erc8004');
|
|
257
|
-
assert.strictEqual(erc8004LaneResponse.status, 200, 'erc8004 lane route failed');
|
|
258
|
-
assert.strictEqual(erc8004LaneResponse.json.product, 'xoonya', 'erc8004 lane product missing');
|
|
259
|
-
assert.strictEqual(erc8004LaneResponse.json.lane_state, 'first_party_erc8004_proof_present', 'erc8004 lane state missing');
|
|
260
|
-
|
|
261
|
-
const erc8004LaneSummaryResponse = await getJson(baseUrl, '/v1/erc8004/summary');
|
|
262
|
-
assert.strictEqual(erc8004LaneSummaryResponse.status, 200, 'erc8004 lane summary route failed');
|
|
263
|
-
assert.strictEqual(erc8004LaneSummaryResponse.json.product, 'xoonya', 'erc8004 lane summary product missing');
|
|
264
|
-
assert.strictEqual(erc8004LaneSummaryResponse.json.first_run_flow_count >= 1, true, 'erc8004 lane summary flow count missing');
|
|
265
|
-
|
|
266
|
-
const proofBridgeLaneResponse = await getJson(baseUrl, '/v1/proof-bridge');
|
|
267
|
-
assert.strictEqual(proofBridgeLaneResponse.status, 200, 'proof bridge lane route failed');
|
|
268
|
-
assert.strictEqual(proofBridgeLaneResponse.json.product, 'xoonya', 'proof bridge lane product missing');
|
|
269
|
-
assert.strictEqual(proofBridgeLaneResponse.json.lane_state, 'first_party_proof_bridge_present', 'proof bridge lane state missing');
|
|
270
|
-
|
|
271
|
-
const proofBridgeLaneSummaryResponse = await getJson(baseUrl, '/v1/proof-bridge/summary');
|
|
272
|
-
assert.strictEqual(proofBridgeLaneSummaryResponse.status, 200, 'proof bridge lane summary route failed');
|
|
273
|
-
assert.strictEqual(proofBridgeLaneSummaryResponse.json.product, 'xoonya', 'proof bridge lane summary product missing');
|
|
274
|
-
assert.strictEqual(proofBridgeLaneSummaryResponse.json.first_run_flow_count >= 2, true, 'proof bridge lane summary flow count missing');
|
|
275
|
-
|
|
276
|
-
const verificationServicesResponse = await getJson(baseUrl, '/v1/proof-center/verification-services');
|
|
277
|
-
assert.strictEqual(verificationServicesResponse.status, 200, 'verification services route failed');
|
|
278
|
-
assert.strictEqual(verificationServicesResponse.json.category, 'xoonya-verification-services-pack', 'verification services category missing');
|
|
279
|
-
assert.strictEqual(verificationServicesResponse.json.service_count >= 6, true, 'verification services count missing');
|
|
280
|
-
|
|
281
|
-
const verificationServicesSummaryResponse = await getJson(baseUrl, '/v1/proof-center/verification-services/summary');
|
|
282
|
-
assert.strictEqual(verificationServicesSummaryResponse.status, 200, 'verification services summary route failed');
|
|
283
|
-
assert.strictEqual(verificationServicesSummaryResponse.json.category, 'xoonya-verification-services-summary', 'verification services summary category missing');
|
|
284
|
-
assert.strictEqual(verificationServicesSummaryResponse.json.service_count >= 6, true, 'verification services summary count missing');
|
|
285
|
-
|
|
286
|
-
const externalProofImportResponse = await getJson(baseUrl, '/v1/external-proof-import');
|
|
287
|
-
assert.strictEqual(externalProofImportResponse.status, 200, 'external proof import lane route failed');
|
|
288
|
-
assert.strictEqual(externalProofImportResponse.json.product, 'xoonya', 'external proof import lane product missing');
|
|
289
|
-
assert.strictEqual(externalProofImportResponse.json.lane_state, 'first_party_external_proof_import_family_present', 'external proof import lane state missing');
|
|
290
|
-
|
|
291
|
-
const externalProofImportSummaryResponse = await getJson(baseUrl, '/v1/external-proof-import/summary');
|
|
292
|
-
assert.strictEqual(externalProofImportSummaryResponse.status, 200, 'external proof import lane summary route failed');
|
|
293
|
-
assert.strictEqual(externalProofImportSummaryResponse.json.first_run_flow_count >= 1, true, 'external proof import lane summary flow count missing');
|
|
294
|
-
|
|
295
|
-
const resultPackageTrustResponse = await getJson(baseUrl, '/v1/result-package-trust');
|
|
296
|
-
assert.strictEqual(resultPackageTrustResponse.status, 200, 'result package trust lane route failed');
|
|
297
|
-
assert.strictEqual(resultPackageTrustResponse.json.product, 'xoonya', 'result package trust lane product missing');
|
|
298
|
-
assert.strictEqual(resultPackageTrustResponse.json.lane_state, 'first_party_result_package_trust_continuity_present', 'result package trust lane state missing');
|
|
299
|
-
|
|
300
|
-
const resultPackageTrustSummaryResponse = await getJson(baseUrl, '/v1/result-package-trust/summary');
|
|
301
|
-
assert.strictEqual(resultPackageTrustSummaryResponse.status, 200, 'result package trust lane summary route failed');
|
|
302
|
-
assert.strictEqual(resultPackageTrustSummaryResponse.json.first_run_flow_count >= 1, true, 'result package trust lane summary flow count missing');
|
|
303
|
-
|
|
304
|
-
const eventSystemsLaneResponse = await getJson(baseUrl, '/v1/event-systems');
|
|
305
|
-
assert.strictEqual(eventSystemsLaneResponse.status, 200, 'event systems lane route failed');
|
|
306
|
-
assert.strictEqual(eventSystemsLaneResponse.json.product, 'xoonya', 'event systems lane product missing');
|
|
307
|
-
assert.strictEqual(eventSystemsLaneResponse.json.lane_state, 'first_party_event_system_family_present', 'event systems lane state missing');
|
|
308
|
-
|
|
309
|
-
const eventSystemsLaneSummaryResponse = await getJson(baseUrl, '/v1/event-systems/summary');
|
|
310
|
-
assert.strictEqual(eventSystemsLaneSummaryResponse.status, 200, 'event systems lane summary route failed');
|
|
311
|
-
assert.strictEqual(eventSystemsLaneSummaryResponse.json.product, 'xoonya', 'event systems lane summary product missing');
|
|
312
|
-
assert.strictEqual(eventSystemsLaneSummaryResponse.json.first_run_flow_count >= 1, true, 'event systems lane summary flow count missing');
|
|
313
|
-
|
|
314
|
-
const releasePackResponse = await getJson(baseUrl, '/v1/release-pack');
|
|
315
|
-
assert.strictEqual(releasePackResponse.status, 200, 'release pack route failed');
|
|
316
|
-
assert.strictEqual(releasePackResponse.json.product.name, 'xoonya', 'release pack product missing');
|
|
317
|
-
assert.strictEqual(
|
|
318
|
-
releasePackResponse.json.result_package_handoff_summary.supported_source_refs.includes('result.spine.job.commitment'),
|
|
319
|
-
true,
|
|
320
|
-
'release pack result package handoff missing'
|
|
321
|
-
);
|
|
322
|
-
|
|
323
|
-
const releasePackSummaryResponse = await getJson(baseUrl, '/v1/release-pack/summary');
|
|
324
|
-
assert.strictEqual(releasePackSummaryResponse.status, 200, 'release pack summary route failed');
|
|
325
|
-
assert.strictEqual(releasePackSummaryResponse.json.product, 'xoonya', 'release pack summary product missing');
|
|
326
|
-
assert.strictEqual(releasePackSummaryResponse.json.proof_bundle_version, 'proof-bundle/v1', 'release pack summary bundle version missing');
|
|
327
|
-
assert.strictEqual(releasePackSummaryResponse.json.loop_count >= 2, true, 'release pack summary loop count missing');
|
|
328
|
-
const comparisonPackResponse = await getJson(baseUrl, '/v1/release-pack/comparison');
|
|
329
|
-
assert.strictEqual(comparisonPackResponse.status, 200, 'comparison pack route failed');
|
|
330
|
-
assert.strictEqual(comparisonPackResponse.json.product, 'xoonya', 'comparison pack product missing');
|
|
331
|
-
assert.strictEqual(comparisonPackResponse.json.comparisons.length >= 3, true, 'comparison pack breadth missing');
|
|
332
|
-
const comparisonPackSummaryResponse = await getJson(baseUrl, '/v1/release-pack/comparison/summary');
|
|
333
|
-
assert.strictEqual(comparisonPackSummaryResponse.status, 200, 'comparison pack summary route failed');
|
|
334
|
-
assert.strictEqual(comparisonPackSummaryResponse.json.comparison_count >= 3, true, 'comparison pack summary count missing');
|
|
335
|
-
const adoptionPackResponse = await getJson(baseUrl, '/v1/release-pack/adoption');
|
|
336
|
-
assert.strictEqual(adoptionPackResponse.status, 200, 'adoption pack route failed');
|
|
337
|
-
assert.strictEqual(adoptionPackResponse.json.product, 'xoonya', 'adoption pack product missing');
|
|
338
|
-
assert.strictEqual(adoptionPackResponse.json.initial_adoption_targets.length >= 4, true, 'adoption pack target breadth missing');
|
|
339
|
-
const adoptionPackSummaryResponse = await getJson(baseUrl, '/v1/release-pack/adoption/summary');
|
|
340
|
-
assert.strictEqual(adoptionPackSummaryResponse.status, 200, 'adoption pack summary route failed');
|
|
341
|
-
assert.strictEqual(adoptionPackSummaryResponse.json.target_count >= 4, true, 'adoption pack summary count missing');
|
|
342
|
-
const scenarioPackResponse = await getJson(baseUrl, '/v1/release-pack/scenarios');
|
|
343
|
-
assert.strictEqual(scenarioPackResponse.status, 200, 'scenario pack route failed');
|
|
344
|
-
assert.strictEqual(scenarioPackResponse.json.product, 'xoonya', 'scenario pack product missing');
|
|
345
|
-
assert.strictEqual(scenarioPackResponse.json.scenarios.length >= 3, true, 'scenario pack breadth missing');
|
|
346
|
-
const scenarioPackSummaryResponse = await getJson(baseUrl, '/v1/release-pack/scenarios/summary');
|
|
347
|
-
assert.strictEqual(scenarioPackSummaryResponse.status, 200, 'scenario pack summary route failed');
|
|
348
|
-
assert.strictEqual(scenarioPackSummaryResponse.json.scenario_count >= 3, true, 'scenario pack summary count missing');
|
|
349
|
-
const launchPackResponse = await getJson(baseUrl, '/v1/release-pack/launch');
|
|
350
|
-
assert.strictEqual(launchPackResponse.status, 200, 'launch pack route failed');
|
|
351
|
-
assert.strictEqual(launchPackResponse.json.product, 'xoonya', 'launch pack product missing');
|
|
352
|
-
assert.strictEqual(Array.isArray(launchPackResponse.json.launch_operator_checks), true, 'launch pack operator checks missing');
|
|
353
|
-
const launchPackSummaryResponse = await getJson(baseUrl, '/v1/release-pack/launch/summary');
|
|
354
|
-
assert.strictEqual(launchPackSummaryResponse.status, 200, 'launch pack summary route failed');
|
|
355
|
-
assert.strictEqual(launchPackSummaryResponse.json.category, 'proof-launch-pack', 'launch pack summary category missing');
|
|
356
|
-
assert.strictEqual(launchPackSummaryResponse.json.operator_check_count >= 7, true, 'launch pack operator check count missing');
|
|
357
|
-
const releaseManifestResponse = await getJson(baseUrl, '/v1/release-manifest');
|
|
358
|
-
assert.strictEqual(releaseManifestResponse.status, 200, 'release manifest route failed');
|
|
359
|
-
assert.strictEqual(releaseManifestResponse.json.product, 'xoonya', 'release manifest product missing');
|
|
360
|
-
const releaseManifestSummaryResponse = await getJson(baseUrl, '/v1/release-manifest/summary');
|
|
361
|
-
assert.strictEqual(releaseManifestSummaryResponse.status, 200, 'release manifest summary route failed');
|
|
362
|
-
assert.strictEqual(releaseManifestSummaryResponse.json.release_track, 'public_release', 'release manifest track missing');
|
|
363
|
-
const releaseNotesResponse = await getJson(baseUrl, '/v1/release-notes');
|
|
364
|
-
assert.strictEqual(releaseNotesResponse.status, 200, 'release notes route failed');
|
|
365
|
-
assert.strictEqual(releaseNotesResponse.json.product, 'xoonya', 'release notes product missing');
|
|
366
|
-
const releaseNotesSummaryResponse = await getJson(baseUrl, '/v1/release-notes/summary');
|
|
367
|
-
assert.strictEqual(releaseNotesSummaryResponse.status, 200, 'release notes summary route failed');
|
|
368
|
-
assert.strictEqual(releaseNotesSummaryResponse.json.operator_check_count >= 5, true, 'release notes summary checks missing');
|
|
369
|
-
const releaseCenterResponse = await getJson(baseUrl, '/v1/release-center');
|
|
370
|
-
assert.strictEqual(releaseCenterResponse.status, 200, 'release center route failed');
|
|
371
|
-
assert.strictEqual(releaseCenterResponse.json.product, 'xoonya', 'release center product missing');
|
|
372
|
-
assert.strictEqual(releaseCenterResponse.json.quickstart.first_cli_entrypoint, 'xoonya-release --center --summary', 'release center cli missing');
|
|
373
|
-
const releaseCenterSummaryResponse = await getJson(baseUrl, '/v1/release-center/summary');
|
|
374
|
-
assert.strictEqual(releaseCenterSummaryResponse.status, 200, 'release center summary route failed');
|
|
375
|
-
assert.strictEqual(releaseCenterSummaryResponse.json.category, 'proof-release-center', 'release center summary category missing');
|
|
376
|
-
assert.strictEqual(releaseCenterSummaryResponse.json.verification_surface_count >= 6, true, 'release center summary verification count missing');
|
|
377
|
-
const releaseHistoryResponse = await getJson(baseUrl, '/v1/release-history');
|
|
378
|
-
assert.strictEqual(releaseHistoryResponse.status, 200, 'release history route failed');
|
|
379
|
-
assert.strictEqual(releaseHistoryResponse.json.product, 'xoonya', 'release history product missing');
|
|
380
|
-
assert.strictEqual(releaseHistoryResponse.json.history.length >= 2, true, 'release history breadth missing');
|
|
381
|
-
const releaseHistorySummaryResponse = await getJson(baseUrl, '/v1/release-history/summary');
|
|
382
|
-
assert.strictEqual(releaseHistorySummaryResponse.status, 200, 'release history summary route failed');
|
|
383
|
-
assert.strictEqual(releaseHistorySummaryResponse.json.category, 'proof-release-history', 'release history summary category missing');
|
|
384
|
-
assert.strictEqual(releaseHistorySummaryResponse.json.release_count >= 2, true, 'release history summary count missing');
|
|
385
|
-
const phaseProgramResponse = await getJson(baseUrl, '/v1/phases');
|
|
386
|
-
assert.strictEqual(phaseProgramResponse.status, 200, 'phase program route failed');
|
|
387
|
-
assert.strictEqual(phaseProgramResponse.json.product, 'xoonya', 'phase program product missing');
|
|
388
|
-
assert.strictEqual(phaseProgramResponse.json.phases.length >= 10, true, 'phase program phases missing');
|
|
389
|
-
const phaseProgramSummaryResponse = await getJson(baseUrl, '/v1/phases/summary');
|
|
390
|
-
assert.strictEqual(phaseProgramSummaryResponse.status, 200, 'phase program summary route failed');
|
|
391
|
-
assert.strictEqual(phaseProgramSummaryResponse.json.category, 'proof-phase-program-pack', 'phase program summary category missing');
|
|
392
|
-
assert.strictEqual(phaseProgramSummaryResponse.json.phase_count >= 10, true, 'phase program summary phase count missing');
|
|
393
|
-
assert.strictEqual(phaseProgramSummaryResponse.json.current_phase, 'program_closed', 'phase program current phase missing');
|
|
394
|
-
const phase1Response = await getJson(baseUrl, '/v1/phases/phase-1');
|
|
395
|
-
assert.strictEqual(phase1Response.status, 200, 'phase 1 route failed');
|
|
396
|
-
assert.strictEqual(phase1Response.json.product, 'xoonya', 'phase 1 product missing');
|
|
397
|
-
assert.strictEqual(phase1Response.json.ecosystems.length >= 2, true, 'phase 1 ecosystems missing');
|
|
398
|
-
const phase1SummaryResponse = await getJson(baseUrl, '/v1/phases/phase-1/summary');
|
|
399
|
-
assert.strictEqual(phase1SummaryResponse.status, 200, 'phase 1 summary route failed');
|
|
400
|
-
assert.strictEqual(phase1SummaryResponse.json.category, 'proof-phase-1-ecosystem-pack', 'phase 1 summary category missing');
|
|
401
|
-
assert.strictEqual(phase1SummaryResponse.json.active_count >= 2, true, 'phase 1 summary active count missing');
|
|
402
|
-
const phase1OpenaiCodexResponse = await getJson(baseUrl, '/v1/phases/phase-1/openai-codex');
|
|
403
|
-
assert.strictEqual(phase1OpenaiCodexResponse.status, 200, 'phase 1 openai/codex route failed');
|
|
404
|
-
assert.strictEqual(phase1OpenaiCodexResponse.json.category, 'proof-phase-1-openai-codex-pack', 'phase 1 openai/codex category missing');
|
|
405
|
-
assert.strictEqual(phase1OpenaiCodexResponse.json.scope.first_surfaces.length >= 4, true, 'phase 1 openai/codex surfaces missing');
|
|
406
|
-
const phase1OpenaiCodexSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-1/openai-codex/summary');
|
|
407
|
-
assert.strictEqual(phase1OpenaiCodexSummaryResponse.status, 200, 'phase 1 openai/codex summary route failed');
|
|
408
|
-
assert.strictEqual(phase1OpenaiCodexSummaryResponse.json.surface_count >= 4, true, 'phase 1 openai/codex summary count missing');
|
|
409
|
-
const phase1OpenaiCodexProofResponse = await getJson(baseUrl, '/v1/phases/phase-1/openai-codex/proof');
|
|
410
|
-
assert.strictEqual(phase1OpenaiCodexProofResponse.status, 200, 'phase 1 openai/codex proof route failed');
|
|
411
|
-
assert.strictEqual(phase1OpenaiCodexProofResponse.json.category, 'proof-phase-1-openai-codex-proof-pack', 'phase 1 openai/codex proof category missing');
|
|
412
|
-
assert.strictEqual(phase1OpenaiCodexProofResponse.json.first_path.first_http_sequence.length >= 3, true, 'phase 1 openai/codex proof steps missing');
|
|
413
|
-
const phase1OpenaiCodexProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-1/openai-codex/proof/summary');
|
|
414
|
-
assert.strictEqual(phase1OpenaiCodexProofSummaryResponse.status, 200, 'phase 1 openai/codex proof summary route failed');
|
|
415
|
-
assert.strictEqual(phase1OpenaiCodexProofSummaryResponse.json.http_step_count >= 3, true, 'phase 1 openai/codex proof summary count missing');
|
|
416
|
-
const phase1ClaudeMcpResponse = await getJson(baseUrl, '/v1/phases/phase-1/claude-mcp');
|
|
417
|
-
assert.strictEqual(phase1ClaudeMcpResponse.status, 200, 'phase 1 claude/mcp route failed');
|
|
418
|
-
assert.strictEqual(phase1ClaudeMcpResponse.json.category, 'proof-phase-1-claude-mcp-pack', 'phase 1 claude/mcp category missing');
|
|
419
|
-
assert.strictEqual(phase1ClaudeMcpResponse.json.scope.first_surfaces.length >= 4, true, 'phase 1 claude/mcp surfaces missing');
|
|
420
|
-
const phase1ClaudeMcpSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-1/claude-mcp/summary');
|
|
421
|
-
assert.strictEqual(phase1ClaudeMcpSummaryResponse.status, 200, 'phase 1 claude/mcp summary route failed');
|
|
422
|
-
assert.strictEqual(phase1ClaudeMcpSummaryResponse.json.surface_count >= 4, true, 'phase 1 claude/mcp summary count missing');
|
|
423
|
-
const phase1ClaudeMcpProofResponse = await getJson(baseUrl, '/v1/phases/phase-1/claude-mcp/proof');
|
|
424
|
-
assert.strictEqual(phase1ClaudeMcpProofResponse.status, 200, 'phase 1 claude/mcp proof route failed');
|
|
425
|
-
assert.strictEqual(phase1ClaudeMcpProofResponse.json.category, 'proof-phase-1-claude-mcp-proof-pack', 'phase 1 claude/mcp proof category missing');
|
|
426
|
-
assert.strictEqual(phase1ClaudeMcpProofResponse.json.first_path.first_http_sequence.length >= 3, true, 'phase 1 claude/mcp proof steps missing');
|
|
427
|
-
const phase1ClaudeMcpProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-1/claude-mcp/proof/summary');
|
|
428
|
-
assert.strictEqual(phase1ClaudeMcpProofSummaryResponse.status, 200, 'phase 1 claude/mcp proof summary route failed');
|
|
429
|
-
assert.strictEqual(phase1ClaudeMcpProofSummaryResponse.json.http_step_count >= 3, true, 'phase 1 claude/mcp proof summary count missing');
|
|
430
|
-
const phase2Response = await getJson(baseUrl, '/v1/phases/phase-2');
|
|
431
|
-
assert.strictEqual(phase2Response.status, 200, 'phase 2 route failed');
|
|
432
|
-
assert.strictEqual(phase2Response.json.category, 'proof-phase-2-payment-rails-pack', 'phase 2 category missing');
|
|
433
|
-
assert.strictEqual(phase2Response.json.ecosystems.length >= 4, true, 'phase 2 ecosystems missing');
|
|
434
|
-
const phase2SummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/summary');
|
|
435
|
-
assert.strictEqual(phase2SummaryResponse.status, 200, 'phase 2 summary route failed');
|
|
436
|
-
assert.strictEqual(phase2SummaryResponse.json.ecosystem_count >= 4, true, 'phase 2 summary ecosystem count missing');
|
|
437
|
-
assert.strictEqual(phase2SummaryResponse.json.proof_mode_count >= 1, true, 'phase 2 summary proof mode count missing');
|
|
438
|
-
const phase2CompletionResponse = await getJson(baseUrl, '/v1/phases/phase-2/completion');
|
|
439
|
-
assert.strictEqual(phase2CompletionResponse.status, 200, 'phase 2 completion route failed');
|
|
440
|
-
assert.strictEqual(phase2CompletionResponse.json.category, 'proof-phase-2-completion-pack', 'phase 2 completion category missing');
|
|
441
|
-
const phase2CompletionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/completion/summary');
|
|
442
|
-
assert.strictEqual(phase2CompletionSummaryResponse.status, 200, 'phase 2 completion summary route failed');
|
|
443
|
-
assert.strictEqual(phase2CompletionSummaryResponse.json.completion_check_count >= 5, true, 'phase 2 completion summary check count missing');
|
|
444
|
-
const phase2FreezeReviewResponse = await getJson(baseUrl, '/v1/phases/phase-2/freeze-review');
|
|
445
|
-
assert.strictEqual(phase2FreezeReviewResponse.status, 200, 'phase 2 freeze review route failed');
|
|
446
|
-
assert.strictEqual(phase2FreezeReviewResponse.json.category, 'proof-phase-2-freeze-review-pack', 'phase 2 freeze review category missing');
|
|
447
|
-
const phase2FreezeReviewSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/freeze-review/summary');
|
|
448
|
-
assert.strictEqual(phase2FreezeReviewSummaryResponse.status, 200, 'phase 2 freeze review summary route failed');
|
|
449
|
-
assert.strictEqual(phase2FreezeReviewSummaryResponse.json.blocker_count, 0, 'phase 2 freeze review blocker count mismatch');
|
|
450
|
-
const phase2GateResponse = await getJson(baseUrl, '/v1/phases/phase-2/gate');
|
|
451
|
-
assert.strictEqual(phase2GateResponse.status, 200, 'phase 2 gate route failed');
|
|
452
|
-
assert.strictEqual(phase2GateResponse.json.category, 'proof-phase-2-gate-pack', 'phase 2 gate category missing');
|
|
453
|
-
const phase2GateSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/gate/summary');
|
|
454
|
-
assert.strictEqual(phase2GateSummaryResponse.status, 200, 'phase 2 gate summary route failed');
|
|
455
|
-
assert.strictEqual(phase2GateSummaryResponse.json.unsatisfied_gate_count, 0, 'phase 2 gate unsatisfied count mismatch');
|
|
456
|
-
assert.strictEqual(phase2GateSummaryResponse.json.ready_for_next_phase, true, 'phase 2 gate ready state missing');
|
|
457
|
-
const phase2CloseoutResponse = await getJson(baseUrl, '/v1/phases/phase-2/closeout');
|
|
458
|
-
assert.strictEqual(phase2CloseoutResponse.status, 200, 'phase 2 closeout route failed');
|
|
459
|
-
assert.strictEqual(phase2CloseoutResponse.json.category, 'proof-phase-2-closeout-pack', 'phase 2 closeout category missing');
|
|
460
|
-
const phase2CloseoutSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/closeout/summary');
|
|
461
|
-
assert.strictEqual(phase2CloseoutSummaryResponse.status, 200, 'phase 2 closeout summary route failed');
|
|
462
|
-
assert.strictEqual(phase2CloseoutSummaryResponse.json.blocking_action_count, 0, 'phase 2 closeout blocking action count mismatch');
|
|
463
|
-
assert.strictEqual(phase2CloseoutSummaryResponse.json.current_decision, 'ready_for_phase_3', 'phase 2 closeout decision mismatch');
|
|
464
|
-
const phase2DecisionRecordResponse = await getJson(baseUrl, '/v1/phases/phase-2/decision-record');
|
|
465
|
-
assert.strictEqual(phase2DecisionRecordResponse.status, 200, 'phase 2 decision-record route failed');
|
|
466
|
-
assert.strictEqual(phase2DecisionRecordResponse.json.category, 'proof-phase-2-decision-record-pack', 'phase 2 decision-record category missing');
|
|
467
|
-
const phase2DecisionRecordSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/decision-record/summary');
|
|
468
|
-
assert.strictEqual(phase2DecisionRecordSummaryResponse.status, 200, 'phase 2 decision-record summary route failed');
|
|
469
|
-
assert.strictEqual(phase2DecisionRecordSummaryResponse.json.pending_record_count, 0, 'phase 2 decision-record pending count mismatch');
|
|
470
|
-
assert.strictEqual(phase2DecisionRecordSummaryResponse.json.freeze_decision_status, 'recorded', 'phase 2 freeze decision status mismatch');
|
|
471
|
-
assert.strictEqual(phase2DecisionRecordSummaryResponse.json.gate_review_status, 'recorded', 'phase 2 gate review status mismatch');
|
|
472
|
-
const phase2DecisionResolutionResponse = await getJson(baseUrl, '/v1/phases/phase-2/decision-resolution');
|
|
473
|
-
assert.strictEqual(phase2DecisionResolutionResponse.status, 200, 'phase 2 decision-resolution route failed');
|
|
474
|
-
assert.strictEqual(phase2DecisionResolutionResponse.json.category, 'proof-phase-2-decision-resolution-pack', 'phase 2 decision-resolution category missing');
|
|
475
|
-
const phase2DecisionResolutionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/decision-resolution/summary');
|
|
476
|
-
assert.strictEqual(phase2DecisionResolutionSummaryResponse.status, 200, 'phase 2 decision-resolution summary route failed');
|
|
477
|
-
assert.strictEqual(phase2DecisionResolutionSummaryResponse.json.transition_count >= 2, true, 'phase 2 decision-resolution transition count missing');
|
|
478
|
-
const phase2FlipPreviewResponse = await getJson(baseUrl, '/v1/phases/phase-2/flip-preview');
|
|
479
|
-
assert.strictEqual(phase2FlipPreviewResponse.status, 200, 'phase 2 flip-preview route failed');
|
|
480
|
-
assert.strictEqual(phase2FlipPreviewResponse.json.category, 'proof-phase-2-flip-preview-pack', 'phase 2 flip-preview category missing');
|
|
481
|
-
const phase2FlipPreviewSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/flip-preview/summary');
|
|
482
|
-
assert.strictEqual(phase2FlipPreviewSummaryResponse.status, 200, 'phase 2 flip-preview summary route failed');
|
|
483
|
-
assert.strictEqual(phase2FlipPreviewSummaryResponse.json.ready_for_next_phase, true, 'phase 2 flip-preview ready state missing');
|
|
484
|
-
const phase2EvmBaseProofResponse = await getJson(baseUrl, '/v1/phases/phase-2/evm-base/proof');
|
|
485
|
-
assert.strictEqual(phase2EvmBaseProofResponse.status, 200, 'phase 2 evm/base proof route failed');
|
|
486
|
-
assert.strictEqual(phase2EvmBaseProofResponse.json.category, 'proof-phase-2-evm-base-proof-pack', 'phase 2 evm/base proof category missing');
|
|
487
|
-
assert.strictEqual(phase2EvmBaseProofResponse.json.first_path.first_http_sequence.length >= 3, true, 'phase 2 evm/base proof steps missing');
|
|
488
|
-
const phase2EvmBaseProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/evm-base/proof/summary');
|
|
489
|
-
assert.strictEqual(phase2EvmBaseProofSummaryResponse.status, 200, 'phase 2 evm/base proof summary route failed');
|
|
490
|
-
assert.strictEqual(phase2EvmBaseProofSummaryResponse.json.http_step_count >= 3, true, 'phase 2 evm/base proof summary count missing');
|
|
491
|
-
const phase2BaseUsdcProofResponse = await getJson(baseUrl, '/v1/phases/phase-2/base-usdc/proof');
|
|
492
|
-
assert.strictEqual(phase2BaseUsdcProofResponse.status, 200, 'phase 2 base/usdc proof route failed');
|
|
493
|
-
assert.strictEqual(phase2BaseUsdcProofResponse.json.category, 'proof-phase-2-base-usdc-proof-pack', 'phase 2 base/usdc proof category missing');
|
|
494
|
-
assert.strictEqual(phase2BaseUsdcProofResponse.json.first_path.first_http_sequence.length >= 3, true, 'phase 2 base/usdc proof steps missing');
|
|
495
|
-
const phase2BaseUsdcProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/base-usdc/proof/summary');
|
|
496
|
-
assert.strictEqual(phase2BaseUsdcProofSummaryResponse.status, 200, 'phase 2 base/usdc proof summary route failed');
|
|
497
|
-
assert.strictEqual(phase2BaseUsdcProofSummaryResponse.json.http_step_count >= 3, true, 'phase 2 base/usdc proof summary count missing');
|
|
498
|
-
assert.strictEqual(phase2BaseUsdcProofSummaryResponse.json.signal_count >= 3, true, 'phase 2 base/usdc proof summary signal count missing');
|
|
499
|
-
const phase2EthProofResponse = await getJson(baseUrl, '/v1/phases/phase-2/eth/proof');
|
|
500
|
-
assert.strictEqual(phase2EthProofResponse.status, 200, 'phase 2 eth proof route failed');
|
|
501
|
-
assert.strictEqual(phase2EthProofResponse.json.category, 'proof-phase-2-eth-proof-pack', 'phase 2 eth proof category missing');
|
|
502
|
-
assert.strictEqual(phase2EthProofResponse.json.settlement_shape.proof_surfaces.length >= 2, true, 'phase 2 eth proof surfaces missing');
|
|
503
|
-
const phase2EthProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/eth/proof/summary');
|
|
504
|
-
assert.strictEqual(phase2EthProofSummaryResponse.status, 200, 'phase 2 eth proof summary route failed');
|
|
505
|
-
assert.strictEqual(phase2EthProofSummaryResponse.json.proof_surface_count >= 2, true, 'phase 2 eth proof summary surface count missing');
|
|
506
|
-
const phase2EvmProofResponse = await getJson(baseUrl, '/v1/phases/phase-2/evm/proof');
|
|
507
|
-
assert.strictEqual(phase2EvmProofResponse.status, 200, 'phase 2 evm proof route failed');
|
|
508
|
-
assert.strictEqual(phase2EvmProofResponse.json.category, 'proof-phase-2-evm-proof-pack', 'phase 2 evm proof category missing');
|
|
509
|
-
assert.strictEqual(phase2EvmProofResponse.json.settlement_shape.proof_modes.length >= 1, true, 'phase 2 evm proof modes missing');
|
|
510
|
-
const phase2EvmProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/evm/proof/summary');
|
|
511
|
-
assert.strictEqual(phase2EvmProofSummaryResponse.status, 200, 'phase 2 evm proof summary route failed');
|
|
512
|
-
assert.strictEqual(phase2EvmProofSummaryResponse.json.proof_mode_count >= 1, true, 'phase 2 evm proof summary mode count missing');
|
|
513
|
-
const phase2BaseProofResponse = await getJson(baseUrl, '/v1/phases/phase-2/base/proof');
|
|
514
|
-
assert.strictEqual(phase2BaseProofResponse.status, 200, 'phase 2 base proof route failed');
|
|
515
|
-
assert.strictEqual(phase2BaseProofResponse.json.category, 'proof-phase-2-base-proof-pack', 'phase 2 base proof category missing');
|
|
516
|
-
assert.strictEqual(phase2BaseProofResponse.json.settlement_shape.proof_surfaces.length >= 2, true, 'phase 2 base proof surfaces missing');
|
|
517
|
-
const phase2BaseProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/base/proof/summary');
|
|
518
|
-
assert.strictEqual(phase2BaseProofSummaryResponse.status, 200, 'phase 2 base proof summary route failed');
|
|
519
|
-
assert.strictEqual(phase2BaseProofSummaryResponse.json.proof_surface_count >= 2, true, 'phase 2 base proof summary surface count missing');
|
|
520
|
-
const phase2UsdcProofResponse = await getJson(baseUrl, '/v1/phases/phase-2/usdc/proof');
|
|
521
|
-
assert.strictEqual(phase2UsdcProofResponse.status, 200, 'phase 2 usdc proof route failed');
|
|
522
|
-
assert.strictEqual(phase2UsdcProofResponse.json.category, 'proof-phase-2-usdc-proof-pack', 'phase 2 usdc proof category missing');
|
|
523
|
-
assert.strictEqual(phase2UsdcProofResponse.json.settlement_shape.proof_surfaces.length >= 2, true, 'phase 2 usdc proof surfaces missing');
|
|
524
|
-
const phase2UsdcProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-2/usdc/proof/summary');
|
|
525
|
-
assert.strictEqual(phase2UsdcProofSummaryResponse.status, 200, 'phase 2 usdc proof summary route failed');
|
|
526
|
-
assert.strictEqual(phase2UsdcProofSummaryResponse.json.proof_surface_count >= 2, true, 'phase 2 usdc proof summary surface count missing');
|
|
527
|
-
const phase3Response = await getJson(baseUrl, '/v1/phases/phase-3');
|
|
528
|
-
assert.strictEqual(phase3Response.status, 200, 'phase 3 route failed');
|
|
529
|
-
assert.strictEqual(phase3Response.json.category, 'proof-phase-3-native-bsv-pack', 'phase 3 category missing');
|
|
530
|
-
assert.strictEqual(phase3Response.json.ecosystems.length >= 4, true, 'phase 3 ecosystems missing');
|
|
531
|
-
const phase3SummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/summary');
|
|
532
|
-
assert.strictEqual(phase3SummaryResponse.status, 200, 'phase 3 summary route failed');
|
|
533
|
-
assert.strictEqual(phase3SummaryResponse.json.ecosystem_count >= 4, true, 'phase 3 summary ecosystem count missing');
|
|
534
|
-
assert.strictEqual(phase3SummaryResponse.json.identity_layer_count >= 2, true, 'phase 3 summary identity layer count missing');
|
|
535
|
-
const phase3NativeContinuityResponse = await getJson(baseUrl, '/v1/phases/phase-3/native-continuity');
|
|
536
|
-
assert.strictEqual(phase3NativeContinuityResponse.status, 200, 'phase 3 native continuity route failed');
|
|
537
|
-
assert.strictEqual(phase3NativeContinuityResponse.json.category, 'proof-phase-3-native-continuity-pack', 'phase 3 native continuity category missing');
|
|
538
|
-
const phase3NativeContinuitySummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/native-continuity/summary');
|
|
539
|
-
assert.strictEqual(phase3NativeContinuitySummaryResponse.status, 200, 'phase 3 native continuity summary route failed');
|
|
540
|
-
assert.strictEqual(phase3NativeContinuitySummaryResponse.json.signal_count >= 4, true, 'phase 3 native continuity signal count missing');
|
|
541
|
-
const phase3FreezeBaselineResponse = await getJson(baseUrl, '/v1/phases/phase-3/freeze-baseline');
|
|
542
|
-
assert.strictEqual(phase3FreezeBaselineResponse.status, 200, 'phase 3 freeze baseline route failed');
|
|
543
|
-
assert.strictEqual(phase3FreezeBaselineResponse.json.category, 'proof-phase-3-freeze-baseline-pack', 'phase 3 freeze baseline category missing');
|
|
544
|
-
const phase3FreezeBaselineSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/freeze-baseline/summary');
|
|
545
|
-
assert.strictEqual(phase3FreezeBaselineSummaryResponse.status, 200, 'phase 3 freeze baseline summary route failed');
|
|
546
|
-
assert.strictEqual(phase3FreezeBaselineSummaryResponse.json.baseline_status, 'recorded', 'phase 3 freeze baseline status mismatch');
|
|
547
|
-
const phase3CompletionResponse = await getJson(baseUrl, '/v1/phases/phase-3/completion');
|
|
548
|
-
assert.strictEqual(phase3CompletionResponse.status, 200, 'phase 3 completion route failed');
|
|
549
|
-
assert.strictEqual(phase3CompletionResponse.json.category, 'proof-phase-3-completion-pack', 'phase 3 completion category missing');
|
|
550
|
-
const phase3CompletionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/completion/summary');
|
|
551
|
-
assert.strictEqual(phase3CompletionSummaryResponse.status, 200, 'phase 3 completion summary route failed');
|
|
552
|
-
assert.strictEqual(phase3CompletionSummaryResponse.json.completion_check_count >= 5, true, 'phase 3 completion summary check count missing');
|
|
553
|
-
const phase3FreezeReviewResponse = await getJson(baseUrl, '/v1/phases/phase-3/freeze-review');
|
|
554
|
-
assert.strictEqual(phase3FreezeReviewResponse.status, 200, 'phase 3 freeze review route failed');
|
|
555
|
-
assert.strictEqual(phase3FreezeReviewResponse.json.category, 'proof-phase-3-freeze-review-pack', 'phase 3 freeze review category missing');
|
|
556
|
-
const phase3FreezeReviewSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/freeze-review/summary');
|
|
557
|
-
assert.strictEqual(phase3FreezeReviewSummaryResponse.status, 200, 'phase 3 freeze review summary route failed');
|
|
558
|
-
assert.strictEqual(phase3FreezeReviewSummaryResponse.json.blocker_count, 0, 'phase 3 freeze review blocker count mismatch');
|
|
559
|
-
const phase3GateResponse = await getJson(baseUrl, '/v1/phases/phase-3/gate');
|
|
560
|
-
assert.strictEqual(phase3GateResponse.status, 200, 'phase 3 gate route failed');
|
|
561
|
-
assert.strictEqual(phase3GateResponse.json.category, 'proof-phase-3-gate-pack', 'phase 3 gate category missing');
|
|
562
|
-
const phase3GateSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/gate/summary');
|
|
563
|
-
assert.strictEqual(phase3GateSummaryResponse.status, 200, 'phase 3 gate summary route failed');
|
|
564
|
-
assert.strictEqual(phase3GateSummaryResponse.json.unsatisfied_gate_count, 0, 'phase 3 gate unsatisfied count mismatch');
|
|
565
|
-
const phase3CloseoutResponse = await getJson(baseUrl, '/v1/phases/phase-3/closeout');
|
|
566
|
-
assert.strictEqual(phase3CloseoutResponse.status, 200, 'phase 3 closeout route failed');
|
|
567
|
-
assert.strictEqual(phase3CloseoutResponse.json.category, 'proof-phase-3-closeout-pack', 'phase 3 closeout category missing');
|
|
568
|
-
const phase3CloseoutSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/closeout/summary');
|
|
569
|
-
assert.strictEqual(phase3CloseoutSummaryResponse.status, 200, 'phase 3 closeout summary route failed');
|
|
570
|
-
assert.strictEqual(phase3CloseoutSummaryResponse.json.blocking_action_count, 0, 'phase 3 closeout blocking action count mismatch');
|
|
571
|
-
const phase3DecisionRecordResponse = await getJson(baseUrl, '/v1/phases/phase-3/decision-record');
|
|
572
|
-
assert.strictEqual(phase3DecisionRecordResponse.status, 200, 'phase 3 decision-record route failed');
|
|
573
|
-
assert.strictEqual(phase3DecisionRecordResponse.json.category, 'proof-phase-3-decision-record-pack', 'phase 3 decision-record category missing');
|
|
574
|
-
const phase3DecisionRecordSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/decision-record/summary');
|
|
575
|
-
assert.strictEqual(phase3DecisionRecordSummaryResponse.status, 200, 'phase 3 decision-record summary route failed');
|
|
576
|
-
assert.strictEqual(phase3DecisionRecordSummaryResponse.json.pending_record_count, 0, 'phase 3 decision-record pending count mismatch');
|
|
577
|
-
const phase3DecisionResolutionResponse = await getJson(baseUrl, '/v1/phases/phase-3/decision-resolution');
|
|
578
|
-
assert.strictEqual(phase3DecisionResolutionResponse.status, 200, 'phase 3 decision-resolution route failed');
|
|
579
|
-
assert.strictEqual(phase3DecisionResolutionResponse.json.category, 'proof-phase-3-decision-resolution-pack', 'phase 3 decision-resolution category missing');
|
|
580
|
-
const phase3DecisionResolutionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/decision-resolution/summary');
|
|
581
|
-
assert.strictEqual(phase3DecisionResolutionSummaryResponse.status, 200, 'phase 3 decision-resolution summary route failed');
|
|
582
|
-
assert.strictEqual(phase3DecisionResolutionSummaryResponse.json.transition_count >= 2, true, 'phase 3 decision-resolution transition count missing');
|
|
583
|
-
const phase3BsvTeranodeProofResponse = await getJson(baseUrl, '/v1/phases/phase-3/bsv-teranode/proof');
|
|
584
|
-
assert.strictEqual(phase3BsvTeranodeProofResponse.status, 200, 'phase 3 bsv/teranode proof route failed');
|
|
585
|
-
assert.strictEqual(phase3BsvTeranodeProofResponse.json.category, 'proof-phase-3-bsv-teranode-proof-pack', 'phase 3 bsv/teranode proof category missing');
|
|
586
|
-
assert.strictEqual(phase3BsvTeranodeProofResponse.json.first_path.first_http_sequence.length >= 3, true, 'phase 3 bsv/teranode proof steps missing');
|
|
587
|
-
const phase3BsvTeranodeProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/bsv-teranode/proof/summary');
|
|
588
|
-
assert.strictEqual(phase3BsvTeranodeProofSummaryResponse.status, 200, 'phase 3 bsv/teranode proof summary route failed');
|
|
589
|
-
assert.strictEqual(phase3BsvTeranodeProofSummaryResponse.json.http_step_count >= 3, true, 'phase 3 bsv/teranode proof summary count missing');
|
|
590
|
-
const phase3MetanetProofResponse = await getJson(baseUrl, '/v1/phases/phase-3/metanet/proof');
|
|
591
|
-
assert.strictEqual(phase3MetanetProofResponse.status, 200, 'phase 3 metanet proof route failed');
|
|
592
|
-
assert.strictEqual(phase3MetanetProofResponse.json.category, 'proof-phase-3-metanet-proof-pack', 'phase 3 metanet proof category missing');
|
|
593
|
-
const phase3MetanetProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/metanet/proof/summary');
|
|
594
|
-
assert.strictEqual(phase3MetanetProofSummaryResponse.status, 200, 'phase 3 metanet proof summary route failed');
|
|
595
|
-
assert.strictEqual(phase3MetanetProofSummaryResponse.json.http_step_count >= 3, true, 'phase 3 metanet proof summary count missing');
|
|
596
|
-
const phase3BrcProofResponse = await getJson(baseUrl, '/v1/phases/phase-3/brc/proof');
|
|
597
|
-
assert.strictEqual(phase3BrcProofResponse.status, 200, 'phase 3 brc proof route failed');
|
|
598
|
-
assert.strictEqual(phase3BrcProofResponse.json.category, 'proof-phase-3-brc-proof-pack', 'phase 3 brc proof category missing');
|
|
599
|
-
const phase3BrcProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-3/brc/proof/summary');
|
|
600
|
-
assert.strictEqual(phase3BrcProofSummaryResponse.status, 200, 'phase 3 brc proof summary route failed');
|
|
601
|
-
assert.strictEqual(phase3BrcProofSummaryResponse.json.http_step_count >= 3, true, 'phase 3 brc proof summary count missing');
|
|
602
|
-
const phase4Response = await getJson(baseUrl, '/v1/phases/phase-4');
|
|
603
|
-
assert.strictEqual(phase4Response.status, 200, 'phase 4 route failed');
|
|
604
|
-
assert.strictEqual(phase4Response.json.category, 'proof-phase-4-identity-trust-pack', 'phase 4 category missing');
|
|
605
|
-
const phase4SummaryResponse = await getJson(baseUrl, '/v1/phases/phase-4/summary');
|
|
606
|
-
assert.strictEqual(phase4SummaryResponse.status, 200, 'phase 4 summary route failed');
|
|
607
|
-
assert.strictEqual(phase4SummaryResponse.json.ecosystem_count >= 3, true, 'phase 4 ecosystem count missing');
|
|
608
|
-
assert.strictEqual(phase4SummaryResponse.json.erc8004_mode_count >= 3, true, 'phase 4 erc8004 mode count missing');
|
|
609
|
-
const phase4Erc8004ProofResponse = await getJson(baseUrl, '/v1/phases/phase-4/erc8004/proof');
|
|
610
|
-
assert.strictEqual(phase4Erc8004ProofResponse.status, 200, 'phase 4 erc8004 proof route failed');
|
|
611
|
-
assert.strictEqual(phase4Erc8004ProofResponse.json.category, 'proof-phase-4-erc8004-proof-pack', 'phase 4 erc8004 proof category missing');
|
|
612
|
-
const phase4Erc8004ProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-4/erc8004/proof/summary');
|
|
613
|
-
assert.strictEqual(phase4Erc8004ProofSummaryResponse.status, 200, 'phase 4 erc8004 proof summary route failed');
|
|
614
|
-
assert.strictEqual(phase4Erc8004ProofSummaryResponse.json.http_step_count >= 3, true, 'phase 4 erc8004 proof summary count missing');
|
|
615
|
-
assert.strictEqual(phase4Erc8004ProofSummaryResponse.json.erc8004_mode_count >= 3, true, 'phase 4 erc8004 proof mode detail missing');
|
|
616
|
-
const phase4IdentityRegistryProofResponse = await getJson(baseUrl, '/v1/phases/phase-4/identity-registry/proof');
|
|
617
|
-
assert.strictEqual(phase4IdentityRegistryProofResponse.status, 200, 'phase 4 identity registry proof route failed');
|
|
618
|
-
assert.strictEqual(phase4IdentityRegistryProofResponse.json.category, 'proof-phase-4-identity-registry-proof-pack', 'phase 4 identity registry proof category missing');
|
|
619
|
-
const phase4IdentityRegistryProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-4/identity-registry/proof/summary');
|
|
620
|
-
assert.strictEqual(phase4IdentityRegistryProofSummaryResponse.status, 200, 'phase 4 identity registry proof summary route failed');
|
|
621
|
-
assert.strictEqual(phase4IdentityRegistryProofSummaryResponse.json.http_step_count >= 3, true, 'phase 4 identity registry proof summary count missing');
|
|
622
|
-
assert.strictEqual(phase4IdentityRegistryProofSummaryResponse.json.resolution_mode_count >= 3, true, 'phase 4 identity registry proof resolution detail missing');
|
|
623
|
-
const phase4AttestationProofResponse = await getJson(baseUrl, '/v1/phases/phase-4/attestation/proof');
|
|
624
|
-
assert.strictEqual(phase4AttestationProofResponse.status, 200, 'phase 4 attestation proof route failed');
|
|
625
|
-
assert.strictEqual(phase4AttestationProofResponse.json.category, 'proof-phase-4-attestation-proof-pack', 'phase 4 attestation proof category missing');
|
|
626
|
-
const phase4AttestationProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-4/attestation/proof/summary');
|
|
627
|
-
assert.strictEqual(phase4AttestationProofSummaryResponse.status, 200, 'phase 4 attestation proof summary route failed');
|
|
628
|
-
assert.strictEqual(phase4AttestationProofSummaryResponse.json.http_step_count >= 3, true, 'phase 4 attestation proof summary count missing');
|
|
629
|
-
assert.strictEqual(phase4AttestationProofSummaryResponse.json.review_mode_count >= 3, true, 'phase 4 attestation proof review detail missing');
|
|
630
|
-
const phase4TrustContinuityResponse = await getJson(baseUrl, '/v1/phases/phase-4/trust-continuity');
|
|
631
|
-
assert.strictEqual(phase4TrustContinuityResponse.status, 200, 'phase 4 trust continuity route failed');
|
|
632
|
-
assert.strictEqual(phase4TrustContinuityResponse.json.category, 'proof-phase-4-trust-continuity-pack', 'phase 4 trust continuity category missing');
|
|
633
|
-
const phase4CompletionResponse = await getJson(baseUrl, '/v1/phases/phase-4/completion/summary');
|
|
634
|
-
assert.strictEqual(phase4CompletionResponse.status, 200, 'phase 4 completion summary route failed');
|
|
635
|
-
assert.strictEqual(phase4CompletionResponse.json.readiness_criteria_count >= 6, true, 'phase 4 completion criteria missing');
|
|
636
|
-
const phase4FreezeBaselineResponse = await getJson(baseUrl, '/v1/phases/phase-4/freeze-baseline/summary');
|
|
637
|
-
assert.strictEqual(phase4FreezeBaselineResponse.status, 200, 'phase 4 freeze baseline summary route failed');
|
|
638
|
-
assert.strictEqual(phase4FreezeBaselineResponse.json.baseline_status, 'recorded', 'phase 4 freeze baseline status missing');
|
|
639
|
-
const phase4GateResponse = await getJson(baseUrl, '/v1/phases/phase-4/gate/summary');
|
|
640
|
-
assert.strictEqual(phase4GateResponse.status, 200, 'phase 4 gate summary route failed');
|
|
641
|
-
assert.strictEqual(typeof phase4GateResponse.json.decision, 'string', 'phase 4 gate decision missing');
|
|
642
|
-
assert.strictEqual(phase4GateResponse.json.decision, 'ready_for_phase_5', 'phase 4 gate decision mismatch');
|
|
643
|
-
const phase5Response = await getJson(baseUrl, '/v1/phases/phase-5');
|
|
644
|
-
assert.strictEqual(phase5Response.status, 200, 'phase 5 route failed');
|
|
645
|
-
assert.strictEqual(phase5Response.json.category, 'proof-phase-5-major-rails-pack', 'phase 5 category missing');
|
|
646
|
-
const phase5ContinuitySummaryResponse = await getJson(baseUrl, '/v1/phases/phase-5/major-rails-continuity/summary');
|
|
647
|
-
assert.strictEqual(phase5ContinuitySummaryResponse.status, 200, 'phase 5 continuity summary route failed');
|
|
648
|
-
assert.strictEqual(phase5ContinuitySummaryResponse.json.signal_count >= 4, true, 'phase 5 continuity signals missing');
|
|
649
|
-
const phase5CompletionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-5/completion/summary');
|
|
650
|
-
assert.strictEqual(phase5CompletionSummaryResponse.status, 200, 'phase 5 completion summary route failed');
|
|
651
|
-
assert.strictEqual(phase5CompletionSummaryResponse.json.unsatisfied_criteria_count, 0, 'phase 5 completion state mismatch');
|
|
652
|
-
const phase5FreezeBaselineSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-5/freeze-baseline/summary');
|
|
653
|
-
assert.strictEqual(phase5FreezeBaselineSummaryResponse.status, 200, 'phase 5 freeze baseline summary route failed');
|
|
654
|
-
assert.strictEqual(phase5FreezeBaselineSummaryResponse.json.baseline_status, 'recorded', 'phase 5 freeze baseline status missing');
|
|
655
|
-
const phase5GateSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-5/gate/summary');
|
|
656
|
-
assert.strictEqual(phase5GateSummaryResponse.status, 200, 'phase 5 gate summary route failed');
|
|
657
|
-
assert.strictEqual(phase5GateSummaryResponse.json.decision, 'ready_for_phase_6', 'phase 5 gate decision mismatch');
|
|
658
|
-
const phase6Response = await getJson(baseUrl, '/v1/phases/phase-6');
|
|
659
|
-
assert.strictEqual(phase6Response.status, 200, 'phase 6 route failed');
|
|
660
|
-
assert.strictEqual(phase6Response.json.category, 'proof-phase-6-framework-runtime-pack', 'phase 6 category missing');
|
|
661
|
-
const phase6SummaryResponse = await getJson(baseUrl, '/v1/phases/phase-6/summary');
|
|
662
|
-
assert.strictEqual(phase6SummaryResponse.status, 200, 'phase 6 summary route failed');
|
|
663
|
-
assert.strictEqual(phase6SummaryResponse.json.proof_mode_count >= 3, true, 'phase 6 proof mode count missing');
|
|
664
|
-
const phase6LanggraphProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-6/langgraph/proof/summary');
|
|
665
|
-
assert.strictEqual(phase6LanggraphProofSummaryResponse.status, 200, 'phase 6 langgraph proof summary route failed');
|
|
666
|
-
assert.strictEqual(phase6LanggraphProofSummaryResponse.json.category, 'proof-phase-6-langgraph-proof-pack', 'phase 6 langgraph proof category missing');
|
|
667
|
-
assert.strictEqual(phase6LanggraphProofSummaryResponse.json.followthrough_mode_count >= 3, true, 'phase 6 langgraph followthrough mode count missing');
|
|
668
|
-
const phase6LangchainProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-6/langchain/proof/summary');
|
|
669
|
-
assert.strictEqual(phase6LangchainProofSummaryResponse.status, 200, 'phase 6 langchain proof summary route failed');
|
|
670
|
-
assert.strictEqual(phase6LangchainProofSummaryResponse.json.category, 'proof-phase-6-langchain-proof-pack', 'phase 6 langchain proof category missing');
|
|
671
|
-
assert.strictEqual(phase6LangchainProofSummaryResponse.json.followthrough_mode_count >= 3, true, 'phase 6 langchain followthrough mode count missing');
|
|
672
|
-
const phase6AutogenProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-6/autogen/proof/summary');
|
|
673
|
-
assert.strictEqual(phase6AutogenProofSummaryResponse.status, 200, 'phase 6 autogen proof summary route failed');
|
|
674
|
-
assert.strictEqual(phase6AutogenProofSummaryResponse.json.category, 'proof-phase-6-autogen-proof-pack', 'phase 6 autogen proof category missing');
|
|
675
|
-
assert.strictEqual(phase6AutogenProofSummaryResponse.json.followthrough_mode_count >= 3, true, 'phase 6 autogen followthrough mode count missing');
|
|
676
|
-
const phase6SemanticKernelProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-6/semantic-kernel/proof/summary');
|
|
677
|
-
assert.strictEqual(phase6SemanticKernelProofSummaryResponse.status, 200, 'phase 6 semantic kernel proof summary route failed');
|
|
678
|
-
assert.strictEqual(phase6SemanticKernelProofSummaryResponse.json.category, 'proof-phase-6-semantic-kernel-proof-pack', 'phase 6 semantic kernel proof category missing');
|
|
679
|
-
assert.strictEqual(phase6SemanticKernelProofSummaryResponse.json.followthrough_mode_count >= 3, true, 'phase 6 semantic kernel followthrough mode count missing');
|
|
680
|
-
const phase6ContinuitySummaryResponse = await getJson(baseUrl, '/v1/phases/phase-6/framework-continuity/summary');
|
|
681
|
-
assert.strictEqual(phase6ContinuitySummaryResponse.status, 200, 'phase 6 continuity summary route failed');
|
|
682
|
-
assert.strictEqual(phase6ContinuitySummaryResponse.json.category, 'proof-phase-6-framework-continuity-pack', 'phase 6 continuity category missing');
|
|
683
|
-
assert.strictEqual(phase6ContinuitySummaryResponse.json.signal_count >= 4, true, 'phase 6 continuity signal count missing');
|
|
684
|
-
const phase6CompletionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-6/completion/summary');
|
|
685
|
-
assert.strictEqual(phase6CompletionSummaryResponse.status, 200, 'phase 6 completion summary route failed');
|
|
686
|
-
assert.strictEqual(phase6CompletionSummaryResponse.json.unsatisfied_criteria_count, 0, 'phase 6 completion state mismatch');
|
|
687
|
-
const phase6FreezeBaselineSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-6/freeze-baseline/summary');
|
|
688
|
-
assert.strictEqual(phase6FreezeBaselineSummaryResponse.status, 200, 'phase 6 freeze baseline summary route failed');
|
|
689
|
-
assert.strictEqual(phase6FreezeBaselineSummaryResponse.json.category, 'proof-phase-6-freeze-baseline-pack', 'phase 6 freeze baseline category mismatch');
|
|
690
|
-
assert.strictEqual(phase6FreezeBaselineSummaryResponse.json.baseline_status, 'recorded', 'phase 6 freeze baseline state mismatch');
|
|
691
|
-
const phase6GateSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-6/gate/summary');
|
|
692
|
-
assert.strictEqual(phase6GateSummaryResponse.status, 200, 'phase 6 gate summary route failed');
|
|
693
|
-
assert.strictEqual(phase6GateSummaryResponse.json.decision, 'ready_for_phase_7', 'phase 6 gate decision mismatch');
|
|
694
|
-
const phase7Response = await getJson(baseUrl, '/v1/phases/phase-7');
|
|
695
|
-
assert.strictEqual(phase7Response.status, 200, 'phase 7 route failed');
|
|
696
|
-
assert.strictEqual(phase7Response.json.category, 'proof-phase-7-event-system-pack', 'phase 7 category missing');
|
|
697
|
-
const phase7SummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/summary');
|
|
698
|
-
assert.strictEqual(phase7SummaryResponse.status, 200, 'phase 7 summary route failed');
|
|
699
|
-
assert.strictEqual(phase7SummaryResponse.json.proof_mode_count >= 3, true, 'phase 7 proof mode count missing');
|
|
700
|
-
assert.strictEqual(phase7SummaryResponse.json.lane_count >= 4, true, 'phase 7 lane count missing');
|
|
701
|
-
const phase7KafkaProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/kafka/proof/summary');
|
|
702
|
-
assert.strictEqual(phase7KafkaProofSummaryResponse.status, 200, 'phase 7 kafka proof summary route failed');
|
|
703
|
-
assert.strictEqual(phase7KafkaProofSummaryResponse.json.category, 'proof-phase-7-kafka-proof-pack', 'phase 7 kafka proof category missing');
|
|
704
|
-
assert.strictEqual(phase7KafkaProofSummaryResponse.json.evidence_mode_count >= 3, true, 'phase 7 kafka evidence mode count missing');
|
|
705
|
-
const phase7NatsProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/nats/proof/summary');
|
|
706
|
-
assert.strictEqual(phase7NatsProofSummaryResponse.status, 200, 'phase 7 nats proof summary route failed');
|
|
707
|
-
assert.strictEqual(phase7NatsProofSummaryResponse.json.category, 'proof-phase-7-nats-proof-pack', 'phase 7 nats proof category missing');
|
|
708
|
-
assert.strictEqual(phase7NatsProofSummaryResponse.json.evidence_mode_count >= 3, true, 'phase 7 nats evidence mode count missing');
|
|
709
|
-
const phase7MqttProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/mqtt/proof/summary');
|
|
710
|
-
assert.strictEqual(phase7MqttProofSummaryResponse.status, 200, 'phase 7 mqtt proof summary route failed');
|
|
711
|
-
assert.strictEqual(phase7MqttProofSummaryResponse.json.category, 'proof-phase-7-mqtt-proof-pack', 'phase 7 mqtt proof category missing');
|
|
712
|
-
assert.strictEqual(phase7MqttProofSummaryResponse.json.evidence_mode_count >= 3, true, 'phase 7 mqtt evidence mode count missing');
|
|
713
|
-
const phase7WebhookEventBusProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/webhook-event-bus/proof/summary');
|
|
714
|
-
assert.strictEqual(phase7WebhookEventBusProofSummaryResponse.status, 200, 'phase 7 webhook event bus proof summary route failed');
|
|
715
|
-
assert.strictEqual(
|
|
716
|
-
phase7WebhookEventBusProofSummaryResponse.json.category,
|
|
717
|
-
'proof-phase-7-webhook-event-bus-proof-pack',
|
|
718
|
-
'phase 7 webhook event bus proof category missing'
|
|
719
|
-
);
|
|
720
|
-
assert.strictEqual(phase7WebhookEventBusProofSummaryResponse.json.evidence_mode_count >= 3, true, 'phase 7 webhook event bus evidence mode count missing');
|
|
721
|
-
const phase7ContinuitySummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/event-system-continuity/summary');
|
|
722
|
-
assert.strictEqual(phase7ContinuitySummaryResponse.status, 200, 'phase 7 continuity summary route failed');
|
|
723
|
-
assert.strictEqual(phase7ContinuitySummaryResponse.json.category, 'proof-phase-7-event-system-continuity-pack', 'phase 7 continuity category missing');
|
|
724
|
-
const phase7CompletionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/completion/summary');
|
|
725
|
-
assert.strictEqual(phase7CompletionSummaryResponse.status, 200, 'phase 7 completion summary route failed');
|
|
726
|
-
assert.strictEqual(phase7CompletionSummaryResponse.json.category, 'proof-phase-7-completion-pack', 'phase 7 completion category missing');
|
|
727
|
-
assert.strictEqual(phase7CompletionSummaryResponse.json.unsatisfied_criteria_count, 0, 'phase 7 completion state mismatch');
|
|
728
|
-
const phase7FreezeBaselineSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/freeze-baseline/summary');
|
|
729
|
-
assert.strictEqual(phase7FreezeBaselineSummaryResponse.status, 200, 'phase 7 freeze baseline summary route failed');
|
|
730
|
-
assert.strictEqual(phase7FreezeBaselineSummaryResponse.json.category, 'proof-phase-7-freeze-baseline-pack', 'phase 7 freeze baseline category missing');
|
|
731
|
-
const phase7FreezeReviewSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/freeze-review/summary');
|
|
732
|
-
assert.strictEqual(phase7FreezeReviewSummaryResponse.status, 200, 'phase 7 freeze review summary route failed');
|
|
733
|
-
assert.strictEqual(phase7FreezeReviewSummaryResponse.json.category, 'proof-phase-7-freeze-review-pack', 'phase 7 freeze review category missing');
|
|
734
|
-
const phase7GateSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/gate/summary');
|
|
735
|
-
assert.strictEqual(phase7GateSummaryResponse.status, 200, 'phase 7 gate summary route failed');
|
|
736
|
-
assert.strictEqual(phase7GateSummaryResponse.json.category, 'proof-phase-7-gate-pack', 'phase 7 gate category missing');
|
|
737
|
-
assert.strictEqual(phase7GateSummaryResponse.json.decision, 'ready_for_phase_8', 'phase 7 gate decision mismatch');
|
|
738
|
-
assert.strictEqual(phase7GateSummaryResponse.json.unsatisfied_gate_count, 0, 'phase 7 gate state mismatch');
|
|
739
|
-
const phase7CloseoutSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/closeout/summary');
|
|
740
|
-
assert.strictEqual(phase7CloseoutSummaryResponse.status, 200, 'phase 7 closeout summary route failed');
|
|
741
|
-
assert.strictEqual(phase7CloseoutSummaryResponse.json.category, 'proof-phase-7-closeout-pack', 'phase 7 closeout category missing');
|
|
742
|
-
const phase7DecisionRecordSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-7/decision-record/summary');
|
|
743
|
-
assert.strictEqual(phase7DecisionRecordSummaryResponse.status, 200, 'phase 7 decision-record summary route failed');
|
|
744
|
-
assert.strictEqual(phase7DecisionRecordSummaryResponse.json.category, 'proof-phase-7-decision-record-pack', 'phase 7 decision-record category missing');
|
|
745
|
-
assert.strictEqual(phase7DecisionRecordSummaryResponse.json.pending_record_count, 0, 'phase 7 decision-record state mismatch');
|
|
746
|
-
const phase8SummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/summary');
|
|
747
|
-
assert.strictEqual(phase8SummaryResponse.status, 200, 'phase 8 summary route failed');
|
|
748
|
-
assert.strictEqual(phase8SummaryResponse.json.category, 'proof-phase-8-proof-bridges-pack', 'phase 8 category missing');
|
|
749
|
-
const phase8ProofBridgeContinuitySummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/proof-bridge-continuity/summary');
|
|
750
|
-
assert.strictEqual(phase8ProofBridgeContinuitySummaryResponse.status, 200, 'phase 8 proof-bridge continuity summary route failed');
|
|
751
|
-
assert.strictEqual(phase8ProofBridgeContinuitySummaryResponse.json.category, 'proof-phase-8-proof-bridge-continuity-pack', 'phase 8 proof-bridge continuity category missing');
|
|
752
|
-
const phase8CompletionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/completion/summary');
|
|
753
|
-
assert.strictEqual(phase8CompletionSummaryResponse.status, 200, 'phase 8 completion summary route failed');
|
|
754
|
-
assert.strictEqual(phase8CompletionSummaryResponse.json.category, 'proof-phase-8-completion-pack', 'phase 8 completion category missing');
|
|
755
|
-
assert.strictEqual(phase8CompletionSummaryResponse.json.unsatisfied_criteria_count, 0, 'phase 8 completion state mismatch');
|
|
756
|
-
const phase8FreezeBaselineSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/freeze-baseline/summary');
|
|
757
|
-
assert.strictEqual(phase8FreezeBaselineSummaryResponse.status, 200, 'phase 8 freeze baseline summary route failed');
|
|
758
|
-
assert.strictEqual(phase8FreezeBaselineSummaryResponse.json.category, 'proof-phase-8-freeze-baseline-pack', 'phase 8 freeze baseline category missing');
|
|
759
|
-
assert.strictEqual(phase8FreezeBaselineSummaryResponse.json.baseline_status, 'recorded', 'phase 8 freeze baseline status mismatch');
|
|
760
|
-
const phase8FreezeReviewSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/freeze-review/summary');
|
|
761
|
-
assert.strictEqual(phase8FreezeReviewSummaryResponse.status, 200, 'phase 8 freeze review summary route failed');
|
|
762
|
-
assert.strictEqual(phase8FreezeReviewSummaryResponse.json.category, 'proof-phase-8-freeze-review-pack', 'phase 8 freeze review category missing');
|
|
763
|
-
const phase8GateSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/gate/summary');
|
|
764
|
-
assert.strictEqual(phase8GateSummaryResponse.status, 200, 'phase 8 gate summary route failed');
|
|
765
|
-
assert.strictEqual(phase8GateSummaryResponse.json.category, 'proof-phase-8-gate-pack', 'phase 8 gate category missing');
|
|
766
|
-
assert.strictEqual(phase8GateSummaryResponse.json.decision, 'ready_for_phase_9', 'phase 8 gate decision mismatch');
|
|
767
|
-
assert.strictEqual(phase8GateSummaryResponse.json.unsatisfied_gate_count, 0, 'phase 8 gate state mismatch');
|
|
768
|
-
const phase8CloseoutSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/closeout/summary');
|
|
769
|
-
assert.strictEqual(phase8CloseoutSummaryResponse.status, 200, 'phase 8 closeout summary route failed');
|
|
770
|
-
assert.strictEqual(phase8CloseoutSummaryResponse.json.category, 'proof-phase-8-closeout-pack', 'phase 8 closeout category missing');
|
|
771
|
-
const phase8DecisionRecordSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/decision-record/summary');
|
|
772
|
-
assert.strictEqual(phase8DecisionRecordSummaryResponse.status, 200, 'phase 8 decision-record summary route failed');
|
|
773
|
-
assert.strictEqual(phase8DecisionRecordSummaryResponse.json.category, 'proof-phase-8-decision-record-pack', 'phase 8 decision-record category missing');
|
|
774
|
-
assert.strictEqual(phase8DecisionRecordSummaryResponse.json.pending_record_count, 0, 'phase 8 decision-record state mismatch');
|
|
775
|
-
const phase8DecisionResolutionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/decision-resolution/summary');
|
|
776
|
-
assert.strictEqual(phase8DecisionResolutionSummaryResponse.status, 200, 'phase 8 decision-resolution summary route failed');
|
|
777
|
-
assert.strictEqual(phase8DecisionResolutionSummaryResponse.json.category, 'proof-phase-8-decision-resolution-pack', 'phase 8 decision-resolution category missing');
|
|
778
|
-
const phase8ExternalResultImportSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/external-result-import/proof/summary');
|
|
779
|
-
assert.strictEqual(phase8ExternalResultImportSummaryResponse.status, 200, 'phase 8 external-result-import summary route failed');
|
|
780
|
-
assert.strictEqual(phase8ExternalResultImportSummaryResponse.json.category, 'proof-phase-8-external-result-import-proof-pack', 'phase 8 external-result-import category missing');
|
|
781
|
-
const phase8ExternalReceiptImportSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/external-receipt-import/proof/summary');
|
|
782
|
-
assert.strictEqual(phase8ExternalReceiptImportSummaryResponse.status, 200, 'phase 8 external-receipt-import summary route failed');
|
|
783
|
-
assert.strictEqual(phase8ExternalReceiptImportSummaryResponse.json.category, 'proof-phase-8-external-receipt-import-proof-pack', 'phase 8 external-receipt-import category missing');
|
|
784
|
-
const phase8BundleNormalizationSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-8/proof-bundle-normalization/proof/summary');
|
|
785
|
-
assert.strictEqual(phase8BundleNormalizationSummaryResponse.status, 200, 'phase 8 proof-bundle-normalization summary route failed');
|
|
786
|
-
assert.strictEqual(phase8BundleNormalizationSummaryResponse.json.category, 'proof-phase-8-proof-bundle-normalization-proof-pack', 'phase 8 proof-bundle-normalization category missing');
|
|
787
|
-
const phase9SummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/summary');
|
|
788
|
-
assert.strictEqual(phase9SummaryResponse.status, 200, 'phase 9 summary route failed');
|
|
789
|
-
assert.strictEqual(phase9SummaryResponse.json.category, 'proof-phase-9-treasury-connectivity-pack', 'phase 9 category missing');
|
|
790
|
-
assert.strictEqual(phase9SummaryResponse.json.destination_mode_count >= 3, true, 'phase 9 destination mode count missing');
|
|
791
|
-
assert.strictEqual(phase9SummaryResponse.json.custody_mode_count >= 3, true, 'phase 9 custody mode count missing');
|
|
792
|
-
assert.strictEqual(phase9SummaryResponse.json.accounting_mode_count >= 3, true, 'phase 9 accounting mode count missing');
|
|
793
|
-
const phase9TreasuryContinuitySummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/treasury-continuity/summary');
|
|
794
|
-
assert.strictEqual(phase9TreasuryContinuitySummaryResponse.status, 200, 'phase 9 treasury continuity summary route failed');
|
|
795
|
-
assert.strictEqual(phase9TreasuryContinuitySummaryResponse.json.category, 'proof-phase-9-treasury-continuity-pack', 'phase 9 treasury continuity category missing');
|
|
796
|
-
const phase9CompletionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/completion/summary');
|
|
797
|
-
assert.strictEqual(phase9CompletionSummaryResponse.status, 200, 'phase 9 completion summary route failed');
|
|
798
|
-
assert.strictEqual(phase9CompletionSummaryResponse.json.category, 'proof-phase-9-completion-pack', 'phase 9 completion category missing');
|
|
799
|
-
assert.strictEqual(phase9CompletionSummaryResponse.json.unsatisfied_criteria_count, 0, 'phase 9 completion state mismatch');
|
|
800
|
-
const phase9FreezeBaselineSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/freeze-baseline/summary');
|
|
801
|
-
assert.strictEqual(phase9FreezeBaselineSummaryResponse.status, 200, 'phase 9 freeze baseline summary route failed');
|
|
802
|
-
assert.strictEqual(phase9FreezeBaselineSummaryResponse.json.category, 'proof-phase-9-freeze-baseline-pack', 'phase 9 freeze baseline category missing');
|
|
803
|
-
assert.strictEqual(phase9FreezeBaselineSummaryResponse.json.baseline_status, 'recorded', 'phase 9 freeze baseline status mismatch');
|
|
804
|
-
const phase9FreezeReviewSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/freeze-review/summary');
|
|
805
|
-
assert.strictEqual(phase9FreezeReviewSummaryResponse.status, 200, 'phase 9 freeze review summary route failed');
|
|
806
|
-
assert.strictEqual(phase9FreezeReviewSummaryResponse.json.category, 'proof-phase-9-freeze-review-pack', 'phase 9 freeze review category missing');
|
|
807
|
-
const phase9GateSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/gate/summary');
|
|
808
|
-
assert.strictEqual(phase9GateSummaryResponse.status, 200, 'phase 9 gate summary route failed');
|
|
809
|
-
assert.strictEqual(phase9GateSummaryResponse.json.category, 'proof-phase-9-gate-pack', 'phase 9 gate category missing');
|
|
810
|
-
assert.strictEqual(phase9GateSummaryResponse.json.decision, 'ready_for_phase_10', 'phase 9 gate decision mismatch');
|
|
811
|
-
assert.strictEqual(phase9GateSummaryResponse.json.unsatisfied_gate_count, 0, 'phase 9 gate state mismatch');
|
|
812
|
-
const phase9CloseoutSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/closeout/summary');
|
|
813
|
-
assert.strictEqual(phase9CloseoutSummaryResponse.status, 200, 'phase 9 closeout summary route failed');
|
|
814
|
-
assert.strictEqual(phase9CloseoutSummaryResponse.json.category, 'proof-phase-9-closeout-pack', 'phase 9 closeout category missing');
|
|
815
|
-
const phase9DecisionRecordSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/decision-record/summary');
|
|
816
|
-
assert.strictEqual(phase9DecisionRecordSummaryResponse.status, 200, 'phase 9 decision-record summary route failed');
|
|
817
|
-
assert.strictEqual(phase9DecisionRecordSummaryResponse.json.category, 'proof-phase-9-decision-record-pack', 'phase 9 decision-record category missing');
|
|
818
|
-
assert.strictEqual(phase9DecisionRecordSummaryResponse.json.pending_record_count, 0, 'phase 9 decision-record state mismatch');
|
|
819
|
-
const phase9DecisionResolutionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/decision-resolution/summary');
|
|
820
|
-
assert.strictEqual(phase9DecisionResolutionSummaryResponse.status, 200, 'phase 9 decision-resolution summary route failed');
|
|
821
|
-
assert.strictEqual(phase9DecisionResolutionSummaryResponse.json.category, 'proof-phase-9-decision-resolution-pack', 'phase 9 decision-resolution category missing');
|
|
822
|
-
const phase9TreasuryDestinationsSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/treasury-destinations/proof/summary');
|
|
823
|
-
assert.strictEqual(phase9TreasuryDestinationsSummaryResponse.status, 200, 'phase 9 treasury-destinations summary route failed');
|
|
824
|
-
assert.strictEqual(phase9TreasuryDestinationsSummaryResponse.json.category, 'proof-phase-9-treasury-destinations-proof-pack', 'phase 9 treasury-destinations category missing');
|
|
825
|
-
assert.strictEqual(phase9TreasuryDestinationsSummaryResponse.json.destination_mode_count >= 3, true, 'phase 9 treasury-destinations destination count missing');
|
|
826
|
-
const phase9CustodyRefsSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/custody-refs/proof/summary');
|
|
827
|
-
assert.strictEqual(phase9CustodyRefsSummaryResponse.status, 200, 'phase 9 custody-refs summary route failed');
|
|
828
|
-
assert.strictEqual(phase9CustodyRefsSummaryResponse.json.category, 'proof-phase-9-custody-refs-proof-pack', 'phase 9 custody-refs category missing');
|
|
829
|
-
assert.strictEqual(phase9CustodyRefsSummaryResponse.json.custody_mode_count >= 3, true, 'phase 9 custody mode count missing');
|
|
830
|
-
const phase9OperatorAccountingBridgesSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-9/operator-accounting-bridges/proof/summary');
|
|
831
|
-
assert.strictEqual(phase9OperatorAccountingBridgesSummaryResponse.status, 200, 'phase 9 operator-accounting-bridges summary route failed');
|
|
832
|
-
assert.strictEqual(phase9OperatorAccountingBridgesSummaryResponse.json.category, 'proof-phase-9-operator-accounting-bridges-proof-pack', 'phase 9 operator-accounting-bridges category missing');
|
|
833
|
-
assert.strictEqual(phase9OperatorAccountingBridgesSummaryResponse.json.accounting_mode_count >= 3, true, 'phase 9 accounting bridge mode count missing');
|
|
834
|
-
const phase10SummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/summary');
|
|
835
|
-
assert.strictEqual(phase10SummaryResponse.status, 200, 'phase 10 summary route failed');
|
|
836
|
-
assert.strictEqual(phase10SummaryResponse.json.category, 'proof-phase-10-long-tail-ecosystem-pack', 'phase 10 category missing');
|
|
837
|
-
assert.strictEqual(phase10SummaryResponse.json.lane_count >= 3, true, 'phase 10 lane count missing');
|
|
838
|
-
assert.strictEqual(phase10SummaryResponse.json.proof_mode_count >= 3, true, 'phase 10 proof mode count missing');
|
|
839
|
-
const phase10DemandSignalAdaptersSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/demand-signal-adapters/proof/summary');
|
|
840
|
-
assert.strictEqual(phase10DemandSignalAdaptersSummaryResponse.status, 200, 'phase 10 demand-signal-adapters summary route failed');
|
|
841
|
-
assert.strictEqual(phase10DemandSignalAdaptersSummaryResponse.json.category, 'proof-phase-10-demand-signal-adapters-proof-pack', 'phase 10 demand-signal-adapters category missing');
|
|
842
|
-
assert.strictEqual(phase10DemandSignalAdaptersSummaryResponse.json.demand_mode_count >= 3, true, 'phase 10 demand mode count missing');
|
|
843
|
-
const phase10NicheExtensionRegistrySummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/niche-extension-registry/proof/summary');
|
|
844
|
-
assert.strictEqual(phase10NicheExtensionRegistrySummaryResponse.status, 200, 'phase 10 niche-extension-registry summary route failed');
|
|
845
|
-
assert.strictEqual(phase10NicheExtensionRegistrySummaryResponse.json.category, 'proof-phase-10-niche-extension-registry-proof-pack', 'phase 10 niche-extension-registry category missing');
|
|
846
|
-
const phase10EcosystemBacklogTriageSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/ecosystem-backlog-triage/proof/summary');
|
|
847
|
-
assert.strictEqual(phase10EcosystemBacklogTriageSummaryResponse.status, 200, 'phase 10 ecosystem-backlog-triage summary route failed');
|
|
848
|
-
assert.strictEqual(phase10EcosystemBacklogTriageSummaryResponse.json.category, 'proof-phase-10-ecosystem-backlog-triage-proof-pack', 'phase 10 ecosystem-backlog-triage category missing');
|
|
849
|
-
const phase10LongTailContinuitySummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/long-tail-continuity/summary');
|
|
850
|
-
assert.strictEqual(phase10LongTailContinuitySummaryResponse.status, 200, 'phase 10 long-tail continuity summary route failed');
|
|
851
|
-
assert.strictEqual(phase10LongTailContinuitySummaryResponse.json.category, 'proof-phase-10-long-tail-continuity-pack', 'phase 10 long-tail continuity category missing');
|
|
852
|
-
const phase10CompletionDisciplineSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/completion/summary');
|
|
853
|
-
assert.strictEqual(phase10CompletionDisciplineSummaryResponse.status, 200, 'phase 10 completion summary route failed');
|
|
854
|
-
assert.strictEqual(phase10CompletionDisciplineSummaryResponse.json.category, 'proof-phase-10-completion-pack', 'phase 10 completion category missing');
|
|
855
|
-
assert.strictEqual(phase10CompletionDisciplineSummaryResponse.json.unsatisfied_criteria_count, 0, 'phase 10 completion unsatisfied count mismatch');
|
|
856
|
-
const phase10FreezeBaselineSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/freeze-baseline/summary');
|
|
857
|
-
assert.strictEqual(phase10FreezeBaselineSummaryResponse.status, 200, 'phase 10 freeze baseline summary route failed');
|
|
858
|
-
assert.strictEqual(phase10FreezeBaselineSummaryResponse.json.category, 'proof-phase-10-freeze-baseline-pack', 'phase 10 freeze baseline category missing');
|
|
859
|
-
assert.strictEqual(phase10FreezeBaselineSummaryResponse.json.baseline_status, 'recorded', 'phase 10 freeze baseline status mismatch');
|
|
860
|
-
const phase10FreezeReviewSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/freeze-review/summary');
|
|
861
|
-
assert.strictEqual(phase10FreezeReviewSummaryResponse.status, 200, 'phase 10 freeze review summary route failed');
|
|
862
|
-
assert.strictEqual(phase10FreezeReviewSummaryResponse.json.category, 'proof-phase-10-freeze-review-pack', 'phase 10 freeze review category missing');
|
|
863
|
-
const phase10GateDisciplineSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/gate/summary');
|
|
864
|
-
assert.strictEqual(phase10GateDisciplineSummaryResponse.status, 200, 'phase 10 gate summary route failed');
|
|
865
|
-
assert.strictEqual(phase10GateDisciplineSummaryResponse.json.category, 'proof-phase-10-gate-pack', 'phase 10 gate category missing');
|
|
866
|
-
assert.strictEqual(phase10GateDisciplineSummaryResponse.json.decision, 'ready_for_program_closeout', 'phase 10 gate decision mismatch');
|
|
867
|
-
assert.strictEqual(phase10GateDisciplineSummaryResponse.json.unsatisfied_gate_count, 0, 'phase 10 gate unsatisfied count mismatch');
|
|
868
|
-
const phase10CloseoutSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/closeout/summary');
|
|
869
|
-
assert.strictEqual(phase10CloseoutSummaryResponse.status, 200, 'phase 10 closeout summary route failed');
|
|
870
|
-
assert.strictEqual(phase10CloseoutSummaryResponse.json.category, 'proof-phase-10-closeout-pack', 'phase 10 closeout category missing');
|
|
871
|
-
const phase10DecisionRecordSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/decision-record/summary');
|
|
872
|
-
assert.strictEqual(phase10DecisionRecordSummaryResponse.status, 200, 'phase 10 decision-record summary route failed');
|
|
873
|
-
assert.strictEqual(phase10DecisionRecordSummaryResponse.json.category, 'proof-phase-10-decision-record-pack', 'phase 10 decision-record category missing');
|
|
874
|
-
assert.strictEqual(phase10DecisionRecordSummaryResponse.json.pending_record_count, 0, 'phase 10 decision-record pending count mismatch');
|
|
875
|
-
const phase10DecisionResolutionSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-10/decision-resolution/summary');
|
|
876
|
-
assert.strictEqual(phase10DecisionResolutionSummaryResponse.status, 200, 'phase 10 decision-resolution summary route failed');
|
|
877
|
-
assert.strictEqual(phase10DecisionResolutionSummaryResponse.json.category, 'proof-phase-10-decision-resolution-pack', 'phase 10 decision-resolution category missing');
|
|
878
|
-
const phase5SolanaProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-5/solana/proof/summary');
|
|
879
|
-
assert.strictEqual(phase5SolanaProofSummaryResponse.status, 200, 'phase 5 solana proof summary route failed');
|
|
880
|
-
assert.strictEqual(phase5SolanaProofSummaryResponse.json.evidence_mode_count >= 3, true, 'phase 5 solana proof evidence count missing');
|
|
881
|
-
const phase5AntelopeProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-5/antelope/proof/summary');
|
|
882
|
-
assert.strictEqual(phase5AntelopeProofSummaryResponse.status, 200, 'phase 5 antelope proof summary route failed');
|
|
883
|
-
assert.strictEqual(phase5AntelopeProofSummaryResponse.json.evidence_mode_count >= 3, true, 'phase 5 antelope proof evidence count missing');
|
|
884
|
-
const phase5ProtonXprProofSummaryResponse = await getJson(baseUrl, '/v1/phases/phase-5/proton-xpr/proof/summary');
|
|
885
|
-
assert.strictEqual(phase5ProtonXprProofSummaryResponse.status, 200, 'phase 5 proton xpr proof summary route failed');
|
|
886
|
-
assert.strictEqual(phase5ProtonXprProofSummaryResponse.json.evidence_mode_count >= 3, true, 'phase 5 proton xpr proof evidence count missing');
|
|
887
|
-
const publishPlanResponse = await getJson(baseUrl, '/v1/publish-plan');
|
|
888
|
-
assert.strictEqual(publishPlanResponse.status, 200, 'publish plan route failed');
|
|
889
|
-
assert.strictEqual(publishPlanResponse.json.product, 'xoonya', 'publish plan product missing');
|
|
890
|
-
assert.strictEqual(publishPlanResponse.json.publish_sequence.length >= 5, true, 'publish plan sequence missing');
|
|
891
|
-
const publishPlanSummaryResponse = await getJson(baseUrl, '/v1/publish-plan/summary');
|
|
892
|
-
assert.strictEqual(publishPlanSummaryResponse.status, 200, 'publish plan summary route failed');
|
|
893
|
-
assert.strictEqual(publishPlanSummaryResponse.json.category, 'proof-publish-plan', 'publish plan summary category missing');
|
|
894
|
-
assert.strictEqual(publishPlanSummaryResponse.json.publish_step_count >= 5, true, 'publish plan summary count missing');
|
|
895
|
-
const ecosystemEntryResponse = await getJson(baseUrl, '/v1/ecosystem-entry');
|
|
896
|
-
assert.strictEqual(ecosystemEntryResponse.status, 200, 'ecosystem entry route failed');
|
|
897
|
-
assert.strictEqual(ecosystemEntryResponse.json.product, 'xoonya', 'ecosystem entry product missing');
|
|
898
|
-
assert.strictEqual(ecosystemEntryResponse.json.audiences.length >= 4, true, 'ecosystem entry breadth missing');
|
|
899
|
-
const ecosystemEntrySummaryResponse = await getJson(baseUrl, '/v1/ecosystem-entry/summary');
|
|
900
|
-
assert.strictEqual(ecosystemEntrySummaryResponse.status, 200, 'ecosystem entry summary route failed');
|
|
901
|
-
assert.strictEqual(ecosystemEntrySummaryResponse.json.category, 'proof-ecosystem-entry', 'ecosystem entry summary category missing');
|
|
902
|
-
assert.strictEqual(ecosystemEntrySummaryResponse.json.audience_count >= 4, true, 'ecosystem entry summary count missing');
|
|
903
|
-
const launchNarrativeResponse = await getJson(baseUrl, '/v1/launch-narrative');
|
|
904
|
-
assert.strictEqual(launchNarrativeResponse.status, 200, 'launch narrative route failed');
|
|
905
|
-
assert.strictEqual(launchNarrativeResponse.json.product, 'xoonya', 'launch narrative product missing');
|
|
906
|
-
assert.strictEqual(launchNarrativeResponse.json.first_success_looks_like.length >= 4, true, 'launch narrative success signals missing');
|
|
907
|
-
const launchNarrativeSummaryResponse = await getJson(baseUrl, '/v1/launch-narrative/summary');
|
|
908
|
-
assert.strictEqual(launchNarrativeSummaryResponse.status, 200, 'launch narrative summary route failed');
|
|
909
|
-
assert.strictEqual(launchNarrativeSummaryResponse.json.category, 'proof-launch-narrative', 'launch narrative summary category missing');
|
|
910
|
-
assert.strictEqual(launchNarrativeSummaryResponse.json.immediate_audience_count >= 4, true, 'launch narrative summary audience count missing');
|
|
911
|
-
const outreachProofResponse = await getJson(baseUrl, '/v1/outreach-proof');
|
|
912
|
-
assert.strictEqual(outreachProofResponse.status, 200, 'outreach proof route failed');
|
|
913
|
-
assert.strictEqual(outreachProofResponse.json.product, 'xoonya', 'outreach proof product missing');
|
|
914
|
-
assert.strictEqual(outreachProofResponse.json.proven_live_today.length >= 4, true, 'outreach proof proven list missing');
|
|
915
|
-
const outreachProofSummaryResponse = await getJson(baseUrl, '/v1/outreach-proof/summary');
|
|
916
|
-
assert.strictEqual(outreachProofSummaryResponse.status, 200, 'outreach proof summary route failed');
|
|
917
|
-
assert.strictEqual(outreachProofSummaryResponse.json.category, 'proof-outreach-proof', 'outreach proof summary category missing');
|
|
918
|
-
assert.strictEqual(outreachProofSummaryResponse.json.live_rail_count >= 3, true, 'outreach proof summary rail count missing');
|
|
919
|
-
const announcementPackResponse = await getJson(baseUrl, '/v1/announcement-pack');
|
|
920
|
-
assert.strictEqual(announcementPackResponse.status, 200, 'announcement pack route failed');
|
|
921
|
-
assert.strictEqual(announcementPackResponse.json.product, 'xoonya', 'announcement pack product missing');
|
|
922
|
-
assert.strictEqual(announcementPackResponse.json.release_candidate.checks.length >= 5, true, 'announcement pack checks missing');
|
|
923
|
-
const announcementSummaryResponse = await getJson(baseUrl, '/v1/announcement-pack/summary');
|
|
924
|
-
assert.strictEqual(announcementSummaryResponse.status, 200, 'announcement pack summary route failed');
|
|
925
|
-
assert.strictEqual(announcementSummaryResponse.json.category, 'proof-announcement-pack', 'announcement pack summary category missing');
|
|
926
|
-
assert.strictEqual(announcementSummaryResponse.json.publish_step_count >= 5, true, 'announcement pack publish step count missing');
|
|
927
|
-
const releaseCandidateResponse = await getJson(baseUrl, '/v1/release-candidate');
|
|
928
|
-
assert.strictEqual(releaseCandidateResponse.status, 200, 'release candidate route failed');
|
|
929
|
-
assert.strictEqual(releaseCandidateResponse.json.product, 'xoonya', 'release candidate product missing');
|
|
930
|
-
assert.strictEqual(releaseCandidateResponse.json.checklist.length >= 5, true, 'release candidate checklist missing');
|
|
931
|
-
const releaseCandidateSummaryResponse = await getJson(baseUrl, '/v1/release-candidate/summary');
|
|
932
|
-
assert.strictEqual(releaseCandidateSummaryResponse.status, 200, 'release candidate summary route failed');
|
|
933
|
-
assert.strictEqual(releaseCandidateSummaryResponse.json.category, 'proof-release-candidate', 'release candidate summary category missing');
|
|
934
|
-
assert.strictEqual(releaseCandidateSummaryResponse.json.checklist_count >= 5, true, 'release candidate checklist count missing');
|
|
935
|
-
const trustIntelligenceResponse = await getJson(baseUrl, '/v1/trust-intelligence');
|
|
936
|
-
assert.strictEqual(trustIntelligenceResponse.status, 200, 'trust intelligence route failed');
|
|
937
|
-
assert.strictEqual(trustIntelligenceResponse.json.category, 'proof-trust-intelligence-pack', 'trust intelligence category missing');
|
|
938
|
-
assert.strictEqual(typeof trustIntelligenceResponse.json.proof_readiness_state, 'string', 'trust intelligence proof readiness missing');
|
|
939
|
-
assert.strictEqual(typeof trustIntelligenceResponse.json.next_best_action, 'string', 'trust intelligence next best action missing');
|
|
940
|
-
assert.strictEqual(typeof trustIntelligenceResponse.json.linked_surfaces.bridge_summary_ref, 'string', 'trust intelligence bridge summary ref missing');
|
|
941
|
-
const trustIntelligenceSummaryResponse = await getJson(baseUrl, '/v1/trust-intelligence/summary');
|
|
942
|
-
assert.strictEqual(trustIntelligenceSummaryResponse.status, 200, 'trust intelligence summary route failed');
|
|
943
|
-
assert.strictEqual(trustIntelligenceSummaryResponse.json.category, 'proof-trust-intelligence-pack', 'trust intelligence summary category missing');
|
|
944
|
-
assert.strictEqual(trustIntelligenceSummaryResponse.json.signal_count >= 5, true, 'trust intelligence summary signal count missing');
|
|
945
|
-
const reviewIntelligenceResponse = await getJson(baseUrl, '/v1/review-intelligence');
|
|
946
|
-
assert.strictEqual(reviewIntelligenceResponse.status, 200, 'review intelligence route failed');
|
|
947
|
-
assert.strictEqual(reviewIntelligenceResponse.json.category, 'proof-review-intelligence-pack', 'review intelligence category missing');
|
|
948
|
-
assert.strictEqual(typeof reviewIntelligenceResponse.json.review_burden_state, 'string', 'review intelligence burden state missing');
|
|
949
|
-
assert.strictEqual(typeof reviewIntelligenceResponse.json.next_best_action, 'string', 'review intelligence next best action missing');
|
|
950
|
-
assert.strictEqual(typeof reviewIntelligenceResponse.json.linked_surfaces.governance_dashboard_ref, 'string', 'review intelligence governance dashboard ref missing');
|
|
951
|
-
const reviewIntelligenceSummaryResponse = await getJson(baseUrl, '/v1/review-intelligence/summary');
|
|
952
|
-
assert.strictEqual(reviewIntelligenceSummaryResponse.status, 200, 'review intelligence summary route failed');
|
|
953
|
-
assert.strictEqual(reviewIntelligenceSummaryResponse.json.category, 'proof-review-intelligence-pack', 'review intelligence summary category missing');
|
|
954
|
-
assert.strictEqual(reviewIntelligenceSummaryResponse.json.signal_count >= 6, true, 'review intelligence summary signal count missing');
|
|
955
|
-
const governanceIntelligenceResponse = await getJson(baseUrl, '/v1/governance-intelligence');
|
|
956
|
-
assert.strictEqual(governanceIntelligenceResponse.status, 200, 'governance intelligence route failed');
|
|
957
|
-
assert.strictEqual(governanceIntelligenceResponse.json.category, 'proof-governance-intelligence-pack', 'governance intelligence category missing');
|
|
958
|
-
assert.strictEqual(typeof governanceIntelligenceResponse.json.escalation_readiness_state, 'string', 'governance intelligence escalation state missing');
|
|
959
|
-
assert.strictEqual(typeof governanceIntelligenceResponse.json.next_best_action, 'string', 'governance intelligence next best action missing');
|
|
960
|
-
assert.strictEqual(typeof governanceIntelligenceResponse.json.linked_surfaces.governance_console_pack_ref, 'string', 'governance intelligence console ref missing');
|
|
961
|
-
const governanceIntelligenceSummaryResponse = await getJson(baseUrl, '/v1/governance-intelligence/summary');
|
|
962
|
-
assert.strictEqual(governanceIntelligenceSummaryResponse.status, 200, 'governance intelligence summary route failed');
|
|
963
|
-
assert.strictEqual(governanceIntelligenceSummaryResponse.json.category, 'proof-governance-intelligence-pack', 'governance intelligence summary category missing');
|
|
964
|
-
assert.strictEqual(governanceIntelligenceSummaryResponse.json.signal_count >= 7, true, 'governance intelligence summary signal count missing');
|
|
965
|
-
const bridgeIntelligenceResponse = await getJson(baseUrl, '/v1/bridge-intelligence');
|
|
966
|
-
assert.strictEqual(bridgeIntelligenceResponse.status, 200, 'bridge intelligence route failed');
|
|
967
|
-
assert.strictEqual(bridgeIntelligenceResponse.json.category, 'proof-bridge-intelligence-pack', 'bridge intelligence category missing');
|
|
968
|
-
assert.strictEqual(typeof bridgeIntelligenceResponse.json.bridge_coverage_state, 'string', 'bridge intelligence coverage state missing');
|
|
969
|
-
assert.strictEqual(typeof bridgeIntelligenceResponse.json.next_best_action, 'string', 'bridge intelligence next best action missing');
|
|
970
|
-
assert.strictEqual(typeof bridgeIntelligenceResponse.json.linked_surfaces.bridge_summary_ref, 'string', 'bridge intelligence bridge summary ref missing');
|
|
971
|
-
const bridgeIntelligenceSummaryResponse = await getJson(baseUrl, '/v1/bridge-intelligence/summary');
|
|
972
|
-
assert.strictEqual(bridgeIntelligenceSummaryResponse.status, 200, 'bridge intelligence summary route failed');
|
|
973
|
-
assert.strictEqual(bridgeIntelligenceSummaryResponse.json.category, 'proof-bridge-intelligence-pack', 'bridge intelligence summary category missing');
|
|
974
|
-
assert.strictEqual(bridgeIntelligenceSummaryResponse.json.signal_count >= 6, true, 'bridge intelligence summary signal count missing');
|
|
975
|
-
|
|
976
|
-
const roleFreezeResponse = await getJson(baseUrl, '/v1/role-freeze');
|
|
977
|
-
assert.strictEqual(roleFreezeResponse.status, 200, 'role freeze route failed');
|
|
978
|
-
assert.strictEqual(roleFreezeResponse.json.category, 'proof-role-freeze-pack', 'role freeze category missing');
|
|
979
|
-
assert.strictEqual(roleFreezeResponse.json.frozen_role, 'proof_review_governance_bridge_followthrough', 'role freeze frozen role missing');
|
|
980
|
-
assert.strictEqual(roleFreezeResponse.json.role_state, 'explicitly_frozen', 'role freeze role state missing');
|
|
981
|
-
assert.strictEqual(Array.isArray(roleFreezeResponse.json.owns), true, 'role freeze owns missing');
|
|
982
|
-
assert.strictEqual(Array.isArray(roleFreezeResponse.json.does_not_own), true, 'role freeze does not own missing');
|
|
983
|
-
assert.strictEqual(typeof roleFreezeResponse.json.linked_surfaces.proof_center_summary_ref, 'string', 'role freeze proof center ref missing');
|
|
984
|
-
|
|
985
|
-
const roleFreezeSummaryResponse = await getJson(baseUrl, '/v1/role-freeze/summary');
|
|
986
|
-
assert.strictEqual(roleFreezeSummaryResponse.status, 200, 'role freeze summary route failed');
|
|
987
|
-
assert.strictEqual(roleFreezeSummaryResponse.json.category, 'proof-role-freeze-pack', 'role freeze summary category missing');
|
|
988
|
-
assert.strictEqual(roleFreezeSummaryResponse.json.role_state, 'explicitly_frozen', 'role freeze summary role state missing');
|
|
989
|
-
assert.strictEqual(roleFreezeSummaryResponse.json.owns_count >= 5, true, 'role freeze summary owns count missing');
|
|
990
|
-
assert.strictEqual(roleFreezeSummaryResponse.json.does_not_own_count >= 5, true, 'role freeze summary does not own count missing');
|
|
991
|
-
|
|
992
|
-
const roleFreezeOperatorBundleResponse = await getJson(baseUrl, '/v1/role-freeze/operator-bundle');
|
|
993
|
-
assert.strictEqual(roleFreezeOperatorBundleResponse.status, 200, 'role freeze operator bundle route failed');
|
|
994
|
-
assert.strictEqual(roleFreezeOperatorBundleResponse.json.category, 'proof-role-freeze-operator-bundle', 'role freeze operator bundle category missing');
|
|
995
|
-
assert.strictEqual(roleFreezeOperatorBundleResponse.json.bundle_version, 'xoonya-proof-role-freeze-operator-bundle-v1', 'role freeze operator bundle version missing');
|
|
996
|
-
assert.strictEqual(roleFreezeOperatorBundleResponse.json.role_freeze.category, 'proof-role-freeze-pack', 'role freeze operator bundle freeze pack missing');
|
|
997
|
-
assert.strictEqual(roleFreezeOperatorBundleResponse.json.trust_intelligence.category, 'proof-trust-intelligence-pack', 'role freeze operator bundle trust intelligence missing');
|
|
998
|
-
assert.strictEqual(roleFreezeOperatorBundleResponse.json.review_intelligence.category, 'proof-review-intelligence-pack', 'role freeze operator bundle review intelligence missing');
|
|
999
|
-
assert.strictEqual(roleFreezeOperatorBundleResponse.json.governance_intelligence.category, 'proof-governance-intelligence-pack', 'role freeze operator bundle governance intelligence missing');
|
|
1000
|
-
assert.strictEqual(roleFreezeOperatorBundleResponse.json.bridge_intelligence.category, 'proof-bridge-intelligence-pack', 'role freeze operator bundle bridge intelligence missing');
|
|
1001
|
-
assert.strictEqual(typeof roleFreezeOperatorBundleResponse.json.operator_posture.recommended_operator_motion, 'string', 'role freeze operator bundle operator motion missing');
|
|
1002
|
-
|
|
1003
|
-
const roleFreezeOperatorBundleSummaryResponse = await getJson(baseUrl, '/v1/role-freeze/operator-bundle/summary');
|
|
1004
|
-
assert.strictEqual(roleFreezeOperatorBundleSummaryResponse.status, 200, 'role freeze operator bundle summary route failed');
|
|
1005
|
-
assert.strictEqual(roleFreezeOperatorBundleSummaryResponse.json.category, 'proof-role-freeze-operator-bundle', 'role freeze operator bundle summary category missing');
|
|
1006
|
-
assert.strictEqual(roleFreezeOperatorBundleSummaryResponse.json.bundle_version, 'xoonya-proof-role-freeze-operator-bundle-v1', 'role freeze operator bundle summary version missing');
|
|
1007
|
-
assert.strictEqual(roleFreezeOperatorBundleSummaryResponse.json.role_state, 'explicitly_frozen', 'role freeze operator bundle summary role state missing');
|
|
1008
|
-
assert.strictEqual(typeof roleFreezeOperatorBundleSummaryResponse.json.recommended_operator_motion, 'string', 'role freeze operator bundle summary operator motion missing');
|
|
1009
|
-
|
|
1010
|
-
const roleFreezePolicyPackResponse = await getJson(baseUrl, '/v1/role-freeze/policy-pack');
|
|
1011
|
-
assert.strictEqual(roleFreezePolicyPackResponse.status, 200, 'role freeze policy pack route failed');
|
|
1012
|
-
assert.strictEqual(roleFreezePolicyPackResponse.json.category, 'proof-role-freeze-policy-pack', 'role freeze policy pack category missing');
|
|
1013
|
-
assert.strictEqual(roleFreezePolicyPackResponse.json.pack_version, 'xoonya-proof-role-freeze-policy-pack-v1', 'role freeze policy pack version missing');
|
|
1014
|
-
assert.strictEqual(Array.isArray(roleFreezePolicyPackResponse.json.policy_templates), true, 'role freeze policy pack templates missing');
|
|
1015
|
-
assert.strictEqual(roleFreezePolicyPackResponse.json.policy_templates.length >= 4, true, 'role freeze policy pack template count missing');
|
|
1016
|
-
|
|
1017
|
-
const roleFreezePolicyPackSummaryResponse = await getJson(baseUrl, '/v1/role-freeze/policy-pack/summary');
|
|
1018
|
-
assert.strictEqual(roleFreezePolicyPackSummaryResponse.status, 200, 'role freeze policy pack summary route failed');
|
|
1019
|
-
assert.strictEqual(roleFreezePolicyPackSummaryResponse.json.category, 'proof-role-freeze-policy-pack', 'role freeze policy pack summary category missing');
|
|
1020
|
-
assert.strictEqual(roleFreezePolicyPackSummaryResponse.json.pack_version, 'xoonya-proof-role-freeze-policy-pack-v1', 'role freeze policy pack summary version missing');
|
|
1021
|
-
assert.strictEqual(roleFreezePolicyPackSummaryResponse.json.template_count >= 4, true, 'role freeze policy pack summary template count missing');
|
|
1022
|
-
assert.strictEqual(typeof roleFreezePolicyPackSummaryResponse.json.recommended_policy_motion, 'string', 'role freeze policy pack summary motion missing');
|
|
1023
|
-
|
|
1024
|
-
const roleFreezePolicyApplicationSummaryResponse = await getJson(baseUrl, '/v1/role-freeze/policy-application-summary?template_id=bridge_followthrough_lead');
|
|
1025
|
-
assert.strictEqual(roleFreezePolicyApplicationSummaryResponse.status, 200, 'role freeze policy application summary route failed');
|
|
1026
|
-
assert.strictEqual(roleFreezePolicyApplicationSummaryResponse.json.category, 'proof-role-freeze-policy-application-summary', 'role freeze policy application summary category missing');
|
|
1027
|
-
assert.strictEqual(roleFreezePolicyApplicationSummaryResponse.json.summary_version, 'xoonya-proof-role-freeze-policy-application-summary-v1', 'role freeze policy application summary version missing');
|
|
1028
|
-
assert.strictEqual(roleFreezePolicyApplicationSummaryResponse.json.selected_template_id, 'bridge_followthrough_lead', 'role freeze policy application selected template missing');
|
|
1029
|
-
assert.strictEqual(Array.isArray(roleFreezePolicyApplicationSummaryResponse.json.available_template_ids), true, 'role freeze policy application template ids missing');
|
|
1030
|
-
|
|
1031
|
-
const roleFreezePackageResponse = await getJson(baseUrl, '/v1/role-freeze/package');
|
|
1032
|
-
assert.strictEqual(roleFreezePackageResponse.status, 200, 'role freeze package route failed');
|
|
1033
|
-
assert.strictEqual(roleFreezePackageResponse.json.category, 'proof-role-freeze-package', 'role freeze package category missing');
|
|
1034
|
-
assert.strictEqual(roleFreezePackageResponse.json.package_version, 'xoonya-proof-role-freeze-package-v1', 'role freeze package version missing');
|
|
1035
|
-
assert.strictEqual(roleFreezePackageResponse.json.role_freeze.category, 'proof-role-freeze-pack', 'role freeze package freeze pack missing');
|
|
1036
|
-
assert.strictEqual(roleFreezePackageResponse.json.role_freeze_operator_bundle.category, 'proof-role-freeze-operator-bundle', 'role freeze package operator bundle missing');
|
|
1037
|
-
assert.strictEqual(roleFreezePackageResponse.json.role_freeze_policy_pack.category, 'proof-role-freeze-policy-pack', 'role freeze package policy pack missing');
|
|
1038
|
-
assert.strictEqual(roleFreezePackageResponse.json.role_freeze_policy_application_summary.category, 'proof-role-freeze-policy-application-summary', 'role freeze package policy application summary missing');
|
|
1039
|
-
assert.strictEqual(typeof roleFreezePackageResponse.json.package_posture.recommended_operator_motion, 'string', 'role freeze package operator motion missing');
|
|
1040
|
-
assert.strictEqual(typeof roleFreezePackageResponse.json.package_posture.recommended_policy_motion, 'string', 'role freeze package policy motion missing');
|
|
1041
|
-
|
|
1042
|
-
const roleFreezePackageSummaryResponse = await getJson(baseUrl, '/v1/role-freeze/package/summary');
|
|
1043
|
-
assert.strictEqual(roleFreezePackageSummaryResponse.status, 200, 'role freeze package summary route failed');
|
|
1044
|
-
assert.strictEqual(roleFreezePackageSummaryResponse.json.category, 'proof-role-freeze-package', 'role freeze package summary category missing');
|
|
1045
|
-
assert.strictEqual(roleFreezePackageSummaryResponse.json.package_version, 'xoonya-proof-role-freeze-package-v1', 'role freeze package summary version missing');
|
|
1046
|
-
assert.strictEqual(roleFreezePackageSummaryResponse.json.role_state, 'explicitly_frozen', 'role freeze package summary role state missing');
|
|
1047
|
-
assert.strictEqual(typeof roleFreezePackageSummaryResponse.json.recommended_operator_motion, 'string', 'role freeze package summary operator motion missing');
|
|
1048
|
-
assert.strictEqual(typeof roleFreezePackageSummaryResponse.json.recommended_policy_motion, 'string', 'role freeze package summary policy motion missing');
|
|
1049
|
-
|
|
1050
|
-
const roleTransitionResponse = await getJson(baseUrl, '/v1/role-transition');
|
|
1051
|
-
assert.strictEqual(roleTransitionResponse.status, 200, 'role transition route failed');
|
|
1052
|
-
assert.strictEqual(roleTransitionResponse.json.category, 'proof-role-transition-pack', 'role transition category missing');
|
|
1053
|
-
assert.strictEqual(roleTransitionResponse.json.package_version, 'xoonya-proof-role-transition-pack-v1', 'role transition package version missing');
|
|
1054
|
-
assert.strictEqual(roleTransitionResponse.json.current_role.current_primary_posture, 'proof_primary', 'role transition current posture missing');
|
|
1055
|
-
assert.strictEqual(roleTransitionResponse.json.long_term_direction.target_role, 'capability_execution_coordination_shell_with_proof_strength', 'role transition target role missing');
|
|
1056
|
-
assert.strictEqual(typeof roleTransitionResponse.json.recommended_transition_motion, 'string', 'role transition recommended motion missing');
|
|
1057
|
-
|
|
1058
|
-
const roleTransitionSummaryResponse = await getJson(baseUrl, '/v1/role-transition/summary');
|
|
1059
|
-
assert.strictEqual(roleTransitionSummaryResponse.status, 200, 'role transition summary route failed');
|
|
1060
|
-
assert.strictEqual(roleTransitionSummaryResponse.json.category, 'proof-role-transition-pack', 'role transition summary category missing');
|
|
1061
|
-
assert.strictEqual(roleTransitionSummaryResponse.json.package_version, 'xoonya-proof-role-transition-pack-v1', 'role transition summary version missing');
|
|
1062
|
-
assert.strictEqual(roleTransitionSummaryResponse.json.current_transition_state, 'proof_primary_today_coordination_shell_later', 'role transition summary state missing');
|
|
1063
|
-
assert.strictEqual(typeof roleTransitionSummaryResponse.json.recommended_transition_motion, 'string', 'role transition summary motion missing');
|
|
1064
|
-
|
|
1065
|
-
const capabilityRegistryHomeResponse = await getJson(baseUrl, '/v1/capability-registry-home');
|
|
1066
|
-
assert.strictEqual(capabilityRegistryHomeResponse.status, 200, 'capability registry home route failed');
|
|
1067
|
-
assert.strictEqual(capabilityRegistryHomeResponse.json.category, 'proof-capability-registry-home-pack', 'capability registry home category missing');
|
|
1068
|
-
assert.strictEqual(capabilityRegistryHomeResponse.json.package_version, 'xoonya-proof-capability-registry-home-pack-v1', 'capability registry home version missing');
|
|
1069
|
-
assert.strictEqual(capabilityRegistryHomeResponse.json.current_registry_home.current_owner, 'xytara', 'capability registry home current owner missing');
|
|
1070
|
-
assert.strictEqual(capabilityRegistryHomeResponse.json.target_registry_home.target_owner, 'xoonya', 'capability registry home target owner missing');
|
|
1071
|
-
assert.strictEqual(typeof capabilityRegistryHomeResponse.json.recommended_registry_home_motion, 'string', 'capability registry home motion missing');
|
|
1072
|
-
|
|
1073
|
-
const capabilityRegistryHomeSummaryResponse = await getJson(baseUrl, '/v1/capability-registry-home/summary');
|
|
1074
|
-
assert.strictEqual(capabilityRegistryHomeSummaryResponse.status, 200, 'capability registry home summary route failed');
|
|
1075
|
-
assert.strictEqual(capabilityRegistryHomeSummaryResponse.json.category, 'proof-capability-registry-home-pack', 'capability registry home summary category missing');
|
|
1076
|
-
assert.strictEqual(capabilityRegistryHomeSummaryResponse.json.package_version, 'xoonya-proof-capability-registry-home-pack-v1', 'capability registry home summary version missing');
|
|
1077
|
-
assert.strictEqual(capabilityRegistryHomeSummaryResponse.json.current_owner, 'xytara', 'capability registry home summary current owner missing');
|
|
1078
|
-
assert.strictEqual(capabilityRegistryHomeSummaryResponse.json.target_owner, 'xoonya', 'capability registry home summary target owner missing');
|
|
1079
|
-
assert.strictEqual(typeof capabilityRegistryHomeSummaryResponse.json.recommended_registry_home_motion, 'string', 'capability registry home summary motion missing');
|
|
1080
|
-
|
|
1081
|
-
const proofCenterResponse = await getJson(baseUrl, '/v1/proof-center');
|
|
1082
|
-
assert.strictEqual(proofCenterResponse.status, 200, 'proof center route failed');
|
|
1083
|
-
assert.strictEqual(proofCenterResponse.json.proof_model.event_version, 'canonical-event-bundle/v1', 'proof center event version missing');
|
|
1084
|
-
assert.strictEqual(proofCenterResponse.json.proof_model.receipt_version, 'receipt/v1', 'proof center receipt version missing');
|
|
1085
|
-
|
|
1086
|
-
const proofCenterSummaryResponse = await getJson(baseUrl, '/v1/proof-center/summary');
|
|
1087
|
-
assert.strictEqual(proofCenterSummaryResponse.status, 200, 'proof center summary route failed');
|
|
1088
|
-
assert.strictEqual(proofCenterSummaryResponse.json.proof_bundle_version, 'proof-bundle/v1', 'proof center summary bundle version missing');
|
|
1089
|
-
assert.strictEqual(proofCenterSummaryResponse.json.helper_count >= 5, true, 'proof center summary helper count missing');
|
|
1090
|
-
assert.strictEqual(proofCenterSummaryResponse.json.verification_method_count >= 10, true, 'proof center verification method count missing');
|
|
1091
|
-
assert.strictEqual(proofCenterSummaryResponse.json.external_verification_method_count >= 6, true, 'proof center external method count missing');
|
|
1092
|
-
assert.strictEqual(proofCenterSummaryResponse.json.verification_methods.includes('jwt-assertion-v1'), true, 'proof center jwt method missing');
|
|
1093
|
-
assert.strictEqual(proofCenterSummaryResponse.json.verification_methods.includes('did-vc-v1'), true, 'proof center did vc method missing');
|
|
1094
|
-
assert.strictEqual(proofCenterSummaryResponse.json.verification_methods.includes('sd-jwt-vc-v1'), true, 'proof center sd jwt vc method missing');
|
|
1095
|
-
const nativeStandardResponse = await getJson(baseUrl, '/v1/proof-center/native-standard');
|
|
1096
|
-
assert.strictEqual(nativeStandardResponse.status, 200, 'native proof standard route failed');
|
|
1097
|
-
assert.strictEqual(nativeStandardResponse.json.standard_version, 'xoonya-native-proof/v1', 'native proof standard version missing');
|
|
1098
|
-
assert.strictEqual(nativeStandardResponse.json.current_native_methods.some((entry) => entry.method === 'xoonya-native-sha256-v1'), true, 'native proof current method missing');
|
|
1099
|
-
assert.strictEqual(nativeStandardResponse.json.current_native_methods.some((entry) => entry.method === 'xoonya-native-signed-v1'), true, 'native proof signed method missing');
|
|
1100
|
-
assert.strictEqual(nativeStandardResponse.json.current_native_methods.some((entry) => entry.method === 'xoonya-native-anchored-v1'), true, 'native proof anchored method missing');
|
|
1101
|
-
assert.strictEqual(nativeStandardResponse.json.native_signature_suite_policy.implemented_suites.includes('ed25519'), true, 'native proof ed25519 suite missing');
|
|
1102
|
-
assert.strictEqual(nativeStandardResponse.json.native_signature_suite_policy.implemented_suites.includes('secp256k1'), true, 'native proof secp256k1 suite missing');
|
|
1103
|
-
assert.strictEqual(nativeStandardResponse.json.native_signature_suite_policy.implemented_suites.includes('p256'), true, 'native proof p256 suite missing');
|
|
1104
|
-
assert.strictEqual(nativeStandardResponse.json.not_a_replacement_for.includes('JWT'), true, 'native proof interop boundary missing');
|
|
1105
|
-
assert.strictEqual(nativeStandardResponse.json.native_design_carry_in.lineage, 'fixed_atom_plus_proof_envelope', 'native proof design lineage missing');
|
|
1106
|
-
assert.strictEqual(nativeStandardResponse.json.hot_path_atom.magic, 'XNYA', 'native proof atom magic missing');
|
|
1107
|
-
assert.strictEqual(nativeStandardResponse.json.hot_path_atom.fixed_size_bytes, 58, 'native proof hot atom size missing');
|
|
1108
|
-
assert.strictEqual(nativeStandardResponse.json.future_atom_candidates.some((entry) => entry.candidate_version === 'xoonya-native-atom/v2' && entry.fixed_size_bytes === 70), true, 'native proof v2 atom candidate missing');
|
|
1109
|
-
assert.strictEqual(nativeStandardResponse.json.crypto_support_boundary.cleanly_layers_with.includes('webauthn'), true, 'native proof webauthn support boundary missing');
|
|
1110
|
-
assert.strictEqual(nativeStandardResponse.json.competitive_positioning.category, 'deterministic_machine_evidence', 'native proof competitive category missing');
|
|
1111
|
-
const nativeStandardSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-standard/summary');
|
|
1112
|
-
assert.strictEqual(nativeStandardSummaryResponse.status, 200, 'native proof standard summary route failed');
|
|
1113
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.category, 'xoonya-native-proof-standard-summary', 'native proof standard summary category missing');
|
|
1114
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.current_native_method_count >= 2, true, 'native proof standard summary current methods missing');
|
|
1115
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.next_native_method, 'xoonya-native-hybrid-v1', 'native proof standard next method missing');
|
|
1116
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.native_methods.includes('xoonya-native-anchored-v1'), true, 'native proof standard anchored summary missing');
|
|
1117
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.implemented_signature_suites.includes('ed25519'), true, 'native proof summary ed25519 suite missing');
|
|
1118
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.implemented_signature_suites.includes('secp256k1'), true, 'native proof summary secp256k1 suite missing');
|
|
1119
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.implemented_signature_suites.includes('p256'), true, 'native proof summary p256 suite missing');
|
|
1120
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.native_atom_magic, 'XNYA', 'native proof summary atom magic missing');
|
|
1121
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.native_hot_atom_fixed_size_bytes, 58, 'native proof summary hot atom size missing');
|
|
1122
|
-
assert.strictEqual(nativeStandardSummaryResponse.json.future_atom_candidate_count >= 3, true, 'native proof summary future atom candidates missing');
|
|
1123
|
-
const nativeHybridReadinessResponse = await getJson(baseUrl, '/v1/proof-center/native-hybrid-readiness');
|
|
1124
|
-
assert.strictEqual(nativeHybridReadinessResponse.status, 200, 'native hybrid readiness route failed');
|
|
1125
|
-
assert.strictEqual(nativeHybridReadinessResponse.json.method, 'xoonya-native-hybrid-v1', 'native hybrid readiness method missing');
|
|
1126
|
-
assert.strictEqual(nativeHybridReadinessResponse.json.status, 'implemented', 'native hybrid readiness implementation missing');
|
|
1127
|
-
assert.strictEqual(nativeHybridReadinessResponse.json.implemented_classical_suites.some((entry) => entry.suite === 'secp256k1'), true, 'native hybrid readiness secp256k1 suite missing');
|
|
1128
|
-
assert.strictEqual(nativeHybridReadinessResponse.json.implemented_hybrid_suites.some((entry) => entry.suite === 'ed25519+ml-dsa-65'), true, 'native hybrid readiness implemented suite missing');
|
|
1129
|
-
const nativeHybridReadinessSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-hybrid-readiness/summary');
|
|
1130
|
-
assert.strictEqual(nativeHybridReadinessSummaryResponse.status, 200, 'native hybrid readiness summary route failed');
|
|
1131
|
-
assert.strictEqual(nativeHybridReadinessSummaryResponse.json.category, 'xoonya-native-hybrid-readiness-summary', 'native hybrid readiness summary category missing');
|
|
1132
|
-
assert.strictEqual(nativeHybridReadinessSummaryResponse.json.current_decision.includes('runtime_supported'), true, 'native hybrid readiness summary boundary missing');
|
|
1133
|
-
const nativeStandardizationResponse = await getJson(baseUrl, '/v1/proof-center/native-standardization');
|
|
1134
|
-
assert.strictEqual(nativeStandardizationResponse.status, 200, 'native standardization route failed');
|
|
1135
|
-
assert.strictEqual(nativeStandardizationResponse.json.canonical_magic, 'XNYA', 'native standardization magic missing');
|
|
1136
|
-
assert.strictEqual(nativeStandardizationResponse.json.conformance_mark_policy.mark, 'XNYA-compatible', 'native standardization mark missing');
|
|
1137
|
-
assert.strictEqual(nativeStandardizationResponse.json.conformance_mark_policy.not_allowed_when.includes('unregistered_or_runtime_unsupported_pqc_or_hybrid_support_is_claimed'), true, 'native standardization pq boundary missing');
|
|
1138
|
-
const nativeStandardizationSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-standardization/summary');
|
|
1139
|
-
assert.strictEqual(nativeStandardizationSummaryResponse.status, 200, 'native standardization summary route failed');
|
|
1140
|
-
assert.strictEqual(nativeStandardizationSummaryResponse.json.category, 'xoonya-native-standardization-summary', 'native standardization summary category missing');
|
|
1141
|
-
assert.strictEqual(nativeStandardizationSummaryResponse.json.public_claim.includes('deterministic'), true, 'native standardization summary claim missing');
|
|
1142
|
-
const nativeConformanceMarkResponse = await getJson(baseUrl, '/v1/proof-center/native-conformance-mark');
|
|
1143
|
-
assert.strictEqual(nativeConformanceMarkResponse.status, 200, 'native conformance mark route failed');
|
|
1144
|
-
assert.strictEqual(nativeConformanceMarkResponse.json.mark, 'XNYA-compatible', 'native conformance mark missing');
|
|
1145
|
-
assert.strictEqual(nativeConformanceMarkResponse.json.required_artifacts.includes('XNYA_CONFORMANCE_MARK.md'), true, 'native conformance mark doc missing');
|
|
1146
|
-
assert.strictEqual(nativeConformanceMarkResponse.json.forbidden_claims_without_extra_evidence.some((entry) => entry.claim === 'pqc_or_hybrid_verified'), true, 'native conformance mark pq gate missing');
|
|
1147
|
-
const nativeConformanceMarkSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-conformance-mark/summary');
|
|
1148
|
-
assert.strictEqual(nativeConformanceMarkSummaryResponse.status, 200, 'native conformance mark summary route failed');
|
|
1149
|
-
assert.strictEqual(nativeConformanceMarkSummaryResponse.json.category, 'xoonya-native-conformance-mark-summary', 'native conformance mark summary category missing');
|
|
1150
|
-
assert.strictEqual(nativeConformanceMarkSummaryResponse.json.claim_class_count >= 4, true, 'native conformance mark claim classes missing');
|
|
1151
|
-
const nativeReferenceImplementationResponse = await getJson(baseUrl, '/v1/proof-center/native-reference-implementations');
|
|
1152
|
-
assert.strictEqual(nativeReferenceImplementationResponse.status, 200, 'native reference implementations route failed');
|
|
1153
|
-
assert.strictEqual(nativeReferenceImplementationResponse.json.category, 'xoonya-native-reference-implementation-pack', 'native reference implementations category missing');
|
|
1154
|
-
assert.strictEqual(nativeReferenceImplementationResponse.json.implemented_reference_implementations.some((entry) => entry.language === 'javascript' && entry.status === 'implemented'), true, 'native reference javascript implementation missing');
|
|
1155
|
-
assert.strictEqual(nativeReferenceImplementationResponse.json.planned_reference_candidates.some((entry) => entry.language === 'python'), true, 'native reference python candidate missing');
|
|
1156
|
-
assert.strictEqual(nativeReferenceImplementationResponse.json.planned_reference_candidates.some((entry) => entry.language === 'rust'), true, 'native reference rust candidate missing');
|
|
1157
|
-
const nativeReferenceImplementationSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-reference-implementations/summary');
|
|
1158
|
-
assert.strictEqual(nativeReferenceImplementationSummaryResponse.status, 200, 'native reference implementations summary route failed');
|
|
1159
|
-
assert.strictEqual(nativeReferenceImplementationSummaryResponse.json.category, 'xoonya-native-reference-implementation-summary', 'native reference implementations summary category missing');
|
|
1160
|
-
assert.strictEqual(nativeReferenceImplementationSummaryResponse.json.implemented_reference_count, 1, 'native reference implementations summary count mismatch');
|
|
1161
|
-
assert.strictEqual(nativeReferenceImplementationSummaryResponse.json.planned_reference_count >= 2, true, 'native planned reference implementations summary count mismatch');
|
|
1162
|
-
assert.strictEqual(nativeReferenceImplementationSummaryResponse.json.verified_candidate_scaffold_count >= 1, true, 'native verified candidate scaffold summary missing');
|
|
1163
|
-
assert.strictEqual(nativeReferenceImplementationSummaryResponse.json.deterministic_rejection_code_count >= 11, true, 'native reference promotion rejection code count missing');
|
|
1164
|
-
const nativePayloadProfileResponse = await getJson(baseUrl, '/v1/proof-center/native-payload-profile');
|
|
1165
|
-
assert.strictEqual(nativePayloadProfileResponse.status, 200, 'native payload profile route failed');
|
|
1166
|
-
assert.strictEqual(nativePayloadProfileResponse.json.category, 'xoonya-native-payload-profile-pack', 'native payload profile category missing');
|
|
1167
|
-
assert.strictEqual(nativePayloadProfileResponse.json.binary_magic, 'XNYP', 'native payload profile magic missing');
|
|
1168
|
-
assert.strictEqual(nativePayloadProfileResponse.json.canonical_rules.includes('binary_not_json'), true, 'native payload profile binary rule missing');
|
|
1169
|
-
assert.strictEqual(nativePayloadProfileResponse.json.canonical_rules.includes('unknown_field_ids_can_be_rejected_by_verifier_policy'), true, 'native payload profile unknown field rule missing');
|
|
1170
|
-
assert.strictEqual(nativePayloadProfileResponse.json.example_profile.profile, 'xoonya-native-payload-profile/v1', 'native payload profile example missing');
|
|
1171
|
-
const nativePayloadProfileSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-payload-profile/summary');
|
|
1172
|
-
assert.strictEqual(nativePayloadProfileSummaryResponse.status, 200, 'native payload profile summary route failed');
|
|
1173
|
-
assert.strictEqual(nativePayloadProfileSummaryResponse.json.category, 'xoonya-native-payload-profile-summary', 'native payload profile summary category missing');
|
|
1174
|
-
assert.strictEqual(nativePayloadProfileSummaryResponse.json.field_type_count >= 5, true, 'native payload profile field type count missing');
|
|
1175
|
-
const nativeLineRateFrameResponse = await getJson(baseUrl, '/v1/proof-center/native-line-rate-frame');
|
|
1176
|
-
assert.strictEqual(nativeLineRateFrameResponse.status, 200, 'native line-rate frame route failed');
|
|
1177
|
-
assert.strictEqual(nativeLineRateFrameResponse.json.category, 'xoonya-native-line-rate-frame-pack', 'native line-rate frame category missing');
|
|
1178
|
-
assert.strictEqual(nativeLineRateFrameResponse.json.status, 'implemented_optional_transport_profile', 'native line-rate frame status missing');
|
|
1179
|
-
assert.strictEqual(nativeLineRateFrameResponse.json.supported_frame_sizes_bytes.includes(60), true, 'native line-rate frame v1 size missing');
|
|
1180
|
-
assert.strictEqual(nativeLineRateFrameResponse.json.supported_frame_sizes_bytes.includes(72), true, 'native line-rate frame v2 size missing');
|
|
1181
|
-
assert.strictEqual(nativeLineRateFrameResponse.json.boundary.includes('transport_fast_reject'), true, 'native line-rate frame boundary missing');
|
|
1182
|
-
const nativeLineRateFrameSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-line-rate-frame/summary');
|
|
1183
|
-
assert.strictEqual(nativeLineRateFrameSummaryResponse.status, 200, 'native line-rate frame summary route failed');
|
|
1184
|
-
assert.strictEqual(nativeLineRateFrameSummaryResponse.json.category, 'xoonya-native-line-rate-frame-summary', 'native line-rate frame summary category missing');
|
|
1185
|
-
assert.strictEqual(nativeLineRateFrameSummaryResponse.json.wrapped_atom_sizes_bytes.includes(58), true, 'native line-rate frame wrapped atom size missing');
|
|
1186
|
-
const nativeAtomSpecResponse = await getJson(baseUrl, '/v1/proof-center/native-atom-spec');
|
|
1187
|
-
assert.strictEqual(nativeAtomSpecResponse.status, 200, 'native atom spec route failed');
|
|
1188
|
-
assert.strictEqual(nativeAtomSpecResponse.json.canonical_magic, 'XNYA', 'native atom spec magic missing');
|
|
1189
|
-
assert.strictEqual(nativeAtomSpecResponse.json.versions.some((entry) => entry.atom_version === 'xoonya-native-atom/v1' && entry.fixed_size_bytes === 58), true, 'native atom spec v1 missing');
|
|
1190
|
-
assert.strictEqual(nativeAtomSpecResponse.json.versions.some((entry) => entry.atom_version === 'xoonya-native-atom/v2' && entry.fixed_size_bytes === 70), true, 'native atom spec v2 missing');
|
|
1191
|
-
assert.strictEqual(nativeAtomSpecResponse.json.deterministic_error_codes.includes('atom_bad_magic'), true, 'native atom spec error codes missing');
|
|
1192
|
-
const nativeAtomSpecSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-atom-spec/summary');
|
|
1193
|
-
assert.strictEqual(nativeAtomSpecSummaryResponse.status, 200, 'native atom spec summary route failed');
|
|
1194
|
-
assert.strictEqual(nativeAtomSpecSummaryResponse.json.canonical_magic, 'XNYA', 'native atom spec summary magic missing');
|
|
1195
|
-
assert.strictEqual(nativeAtomSpecSummaryResponse.json.fixed_size_bytes.includes(58), true, 'native atom spec summary v1 size missing');
|
|
1196
|
-
assert.strictEqual(nativeAtomSpecSummaryResponse.json.fixed_size_bytes.includes(70), true, 'native atom spec summary v2 size missing');
|
|
1197
|
-
assert.strictEqual(nativeAtomSpecSummaryResponse.json.deterministic_error_code_count >= 9, true, 'native atom spec summary error code count missing');
|
|
1198
|
-
const nativeAtomConformanceResponse = await getJson(baseUrl, '/v1/proof-center/native-atom-conformance');
|
|
1199
|
-
assert.strictEqual(nativeAtomConformanceResponse.status, 200, 'native atom conformance route failed');
|
|
1200
|
-
assert.strictEqual(nativeAtomConformanceResponse.json.category, 'xoonya-native-atom-conformance-pack', 'native atom conformance category missing');
|
|
1201
|
-
assert.strictEqual(nativeAtomConformanceResponse.json.deterministic_error_codes.includes('payload_hash_mismatch'), true, 'native atom conformance error code missing');
|
|
1202
|
-
assert.strictEqual(nativeAtomConformanceResponse.json.conformance_requirements.includes('return_stable_error_code_for_each_reject'), true, 'native atom conformance stable reject requirement missing');
|
|
1203
|
-
const nativeAtomConformanceSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-atom-conformance/summary');
|
|
1204
|
-
assert.strictEqual(nativeAtomConformanceSummaryResponse.status, 200, 'native atom conformance summary route failed');
|
|
1205
|
-
assert.strictEqual(nativeAtomConformanceSummaryResponse.json.category, 'xoonya-native-atom-conformance-summary', 'native atom conformance summary category missing');
|
|
1206
|
-
assert.strictEqual(nativeAtomConformanceSummaryResponse.json.deterministic_error_code_count >= 9, true, 'native atom conformance summary error code count missing');
|
|
1207
|
-
|
|
1208
|
-
const nativeAnchorProfileResponse = await getJson(baseUrl, '/v1/proof-center/native-anchor-profile');
|
|
1209
|
-
assert.strictEqual(nativeAnchorProfileResponse.status, 200, 'native anchor profile route failed');
|
|
1210
|
-
assert.strictEqual(nativeAnchorProfileResponse.json.method, 'xoonya-native-anchored-v1', 'native anchor profile method missing');
|
|
1211
|
-
assert.strictEqual(nativeAnchorProfileResponse.json.validation_semantics.includes('verify_binding_material_sha256'), true, 'native anchor profile validation semantics missing');
|
|
1212
|
-
const nativeAnchorProfileSummaryResponse = await getJson(baseUrl, '/v1/proof-center/native-anchor-profile/summary');
|
|
1213
|
-
assert.strictEqual(nativeAnchorProfileSummaryResponse.status, 200, 'native anchor profile summary route failed');
|
|
1214
|
-
assert.strictEqual(nativeAnchorProfileSummaryResponse.json.category, 'xoonya-native-anchor-profile-summary', 'native anchor profile summary category missing');
|
|
1215
|
-
assert.strictEqual(nativeAnchorProfileSummaryResponse.json.supported_anchor_kind_count >= 5, true, 'native anchor profile summary kind count missing');
|
|
1216
|
-
const importAdapterResponse = await getJson(baseUrl, '/v1/proof-center/import-adapter');
|
|
1217
|
-
assert.strictEqual(importAdapterResponse.status, 200, 'external proof import adapter route failed');
|
|
1218
|
-
assert.strictEqual(importAdapterResponse.json.category, 'xoonya-external-proof-import-adapter', 'external proof import category missing');
|
|
1219
|
-
assert.strictEqual(importAdapterResponse.json.supported_methods.some((entry) => entry.method === 'jwt-assertion-v1'), true, 'external proof import jwt method missing');
|
|
1220
|
-
assert.strictEqual(importAdapterResponse.json.verification_boundary.external_verifier_retains.includes('issuer_cryptographic_truth'), true, 'external proof import boundary missing');
|
|
1221
|
-
assert.strictEqual(importAdapterResponse.json.deterministic_rejection_codes.includes('external_issuer_truth_claim_requires_external_verifier'), true, 'external proof import truth rejection code missing');
|
|
1222
|
-
const importAdapterSummaryResponse = await getJson(baseUrl, '/v1/proof-center/import-adapter/summary');
|
|
1223
|
-
assert.strictEqual(importAdapterSummaryResponse.status, 200, 'external proof import adapter summary route failed');
|
|
1224
|
-
assert.strictEqual(importAdapterSummaryResponse.json.category, 'xoonya-external-proof-import-adapter-summary', 'external proof import summary category missing');
|
|
1225
|
-
assert.strictEqual(importAdapterSummaryResponse.json.supported_methods.includes('did-vc-v1'), true, 'external proof import did-vc summary missing');
|
|
1226
|
-
assert.strictEqual(importAdapterSummaryResponse.json.deterministic_rejection_code_count >= 11, true, 'external proof import rejection code summary missing');
|
|
1227
|
-
const proofLoopsResponse = await getJson(baseUrl, '/v1/proof-center/default-loops');
|
|
1228
|
-
assert.strictEqual(proofLoopsResponse.status, 200, 'proof loop catalog route failed');
|
|
1229
|
-
assert.strictEqual(proofLoopsResponse.json.loop_count >= 2, true, 'proof loop catalog count missing');
|
|
1230
|
-
const proofLoopsSummaryResponse = await getJson(baseUrl, '/v1/proof-center/default-loops/summary');
|
|
1231
|
-
assert.strictEqual(proofLoopsSummaryResponse.status, 200, 'proof loop summary route failed');
|
|
1232
|
-
assert.strictEqual(proofLoopsSummaryResponse.json.loop_refs.includes('default.proof.bundle.loop'), true, 'proof loop summary missing');
|
|
1233
|
-
const proofLoopDetailResponse = await getJson(baseUrl, '/v1/proof-center/default-loop?ref=default.proof.bundle.loop');
|
|
1234
|
-
assert.strictEqual(proofLoopDetailResponse.status, 200, 'proof loop detail route failed');
|
|
1235
|
-
assert.strictEqual(proofLoopDetailResponse.json.loop.stage_count, 5, 'proof loop detail stage count missing');
|
|
1236
|
-
const transactionProofHandoffCenterResponse = await getJson(baseUrl, '/v1/proof-center/transaction-handoff');
|
|
1237
|
-
assert.strictEqual(transactionProofHandoffCenterResponse.status, 200, 'transaction proof handoff center route failed');
|
|
1238
|
-
assert.strictEqual(
|
|
1239
|
-
transactionProofHandoffCenterResponse.json.recommended_loop,
|
|
1240
|
-
'default.proof.bundle.loop',
|
|
1241
|
-
'transaction proof handoff center recommended loop missing'
|
|
1242
|
-
);
|
|
1243
|
-
const transactionProofHandoffSummaryResponse = await getJson(baseUrl, '/v1/proof-center/transaction-handoff/summary');
|
|
1244
|
-
assert.strictEqual(transactionProofHandoffSummaryResponse.status, 200, 'transaction proof handoff summary route failed');
|
|
1245
|
-
assert.strictEqual(
|
|
1246
|
-
transactionProofHandoffSummaryResponse.json.supported_source_refs.includes('transaction.registry.anchor'),
|
|
1247
|
-
true,
|
|
1248
|
-
'transaction proof handoff summary missing'
|
|
1249
|
-
);
|
|
1250
|
-
const interactionSpineHandoffCenterResponse = await getJson(baseUrl, '/v1/proof-center/interaction-spine-handoff');
|
|
1251
|
-
assert.strictEqual(interactionSpineHandoffCenterResponse.status, 200, 'interaction spine handoff center route failed');
|
|
1252
|
-
assert.strictEqual(
|
|
1253
|
-
interactionSpineHandoffCenterResponse.json.recommended_loop,
|
|
1254
|
-
'default.proof.bundle.loop',
|
|
1255
|
-
'interaction spine handoff center recommended loop missing'
|
|
1256
|
-
);
|
|
1257
|
-
const interactionSpineHandoffSummaryResponse = await getJson(baseUrl, '/v1/proof-center/interaction-spine-handoff/summary');
|
|
1258
|
-
assert.strictEqual(interactionSpineHandoffSummaryResponse.status, 200, 'interaction spine handoff summary route failed');
|
|
1259
|
-
assert.strictEqual(
|
|
1260
|
-
interactionSpineHandoffSummaryResponse.json.supported_source_refs.includes('spine.job.commitment'),
|
|
1261
|
-
true,
|
|
1262
|
-
'interaction spine handoff summary missing'
|
|
1263
|
-
);
|
|
1264
|
-
const resultPackageHandoffCenterResponse = await getJson(baseUrl, '/v1/proof-center/result-package-handoff');
|
|
1265
|
-
assert.strictEqual(resultPackageHandoffCenterResponse.status, 200, 'result package handoff center route failed');
|
|
1266
|
-
assert.strictEqual(
|
|
1267
|
-
resultPackageHandoffCenterResponse.json.recommended_loop,
|
|
1268
|
-
'default.proof.bundle.loop',
|
|
1269
|
-
'result package handoff center recommended loop missing'
|
|
1270
|
-
);
|
|
1271
|
-
const resultPackageHandoffSummaryResponse = await getJson(baseUrl, '/v1/proof-center/result-package-handoff/summary');
|
|
1272
|
-
assert.strictEqual(resultPackageHandoffSummaryResponse.status, 200, 'result package handoff summary route failed');
|
|
1273
|
-
assert.strictEqual(
|
|
1274
|
-
resultPackageHandoffSummaryResponse.json.supported_source_refs.includes('result.spine.job.commitment'),
|
|
1275
|
-
true,
|
|
1276
|
-
'result package handoff summary missing'
|
|
1277
|
-
);
|
|
1278
|
-
const governanceCenterResponse = await getJson(baseUrl, '/v1/proof-center/governance');
|
|
1279
|
-
assert.strictEqual(governanceCenterResponse.status, 200, 'governance center route failed');
|
|
1280
|
-
assert.strictEqual(governanceCenterResponse.json.supported_capabilities.includes('dispute_review'), true, 'governance center capability missing');
|
|
1281
|
-
const governanceSummaryResponse = await getJson(baseUrl, '/v1/proof-center/governance/summary');
|
|
1282
|
-
assert.strictEqual(governanceSummaryResponse.status, 200, 'governance summary route failed');
|
|
1283
|
-
assert.strictEqual(governanceSummaryResponse.json.handoff_bundle_surface, '/v1/proof-center/governance/handoff-bundle', 'governance summary handoff bundle surface missing');
|
|
1284
|
-
const bridgeCenterResponse = await getJson(baseUrl, '/v1/proof-center/bridge');
|
|
1285
|
-
assert.strictEqual(bridgeCenterResponse.status, 200, 'bridge center route failed');
|
|
1286
|
-
assert.strictEqual(bridgeCenterResponse.json.supported_capabilities.includes('receipt_ledger_handoff'), true, 'bridge center capability missing');
|
|
1287
|
-
const bridgeSummaryResponse = await getJson(baseUrl, '/v1/proof-center/bridge/summary');
|
|
1288
|
-
assert.strictEqual(bridgeSummaryResponse.status, 200, 'bridge summary route failed');
|
|
1289
|
-
assert.strictEqual(bridgeSummaryResponse.json.receipt_ledger_handoff_surface, '/v1/proof-center/bridge/receipt-ledger-handoff', 'bridge summary handoff surface missing');
|
|
1290
|
-
const bridgeProfileSupportResponse = await getJson(baseUrl, '/v1/proof-center/bridge/profile-support');
|
|
1291
|
-
assert.strictEqual(bridgeProfileSupportResponse.status, 200, 'bridge profile support route failed');
|
|
1292
|
-
assert.strictEqual(bridgeProfileSupportResponse.json.proof_profile_versions.includes('proof-envelope-v1'), true, 'bridge profile support versions missing');
|
|
1293
|
-
|
|
1294
|
-
const identityMaterialHex = sdk.makeIdentityMaterial('01', 'abcd');
|
|
1295
|
-
const payloadUtf8 = 'proof service smoke';
|
|
1296
|
-
const payloadBuffer = Buffer.from(payloadUtf8, 'utf8');
|
|
1297
|
-
const receipt = sdk.createReceipt(identityMaterialHex, payloadBuffer);
|
|
1298
|
-
const bridgeReceiptWrap = await postJson(baseUrl, '/v1/proof-center/bridge/receipt-wrap', {
|
|
1299
|
-
identity_material_hex: identityMaterialHex,
|
|
1300
|
-
payload_utf8: payloadUtf8
|
|
1301
|
-
});
|
|
1302
|
-
assert.strictEqual(bridgeReceiptWrap.status, 200, 'bridge receipt wrap route failed');
|
|
1303
|
-
assert.strictEqual(bridgeReceiptWrap.json.verification.valid, true, 'bridge receipt wrap verification missing');
|
|
1304
|
-
const bridgeValidatorVerify = await postJson(baseUrl, '/v1/proof-center/bridge/validator-verify', {
|
|
1305
|
-
opreturn_hex: receipt.opreturn_hex,
|
|
1306
|
-
payload_utf8: payloadUtf8
|
|
1307
|
-
});
|
|
1308
|
-
assert.strictEqual(bridgeValidatorVerify.status, 200, 'bridge validator verify route failed');
|
|
1309
|
-
assert.strictEqual(bridgeValidatorVerify.json.valid, true, 'bridge validator verify payload invalid');
|
|
1310
|
-
|
|
1311
|
-
const receiptVerify = await postJson(baseUrl, '/v1/receipts/verify', {
|
|
1312
|
-
opreturn_hex: receipt.opreturn_hex,
|
|
1313
|
-
payload_utf8: payloadUtf8,
|
|
1314
|
-
});
|
|
1315
|
-
assert.strictEqual(receiptVerify.status, 200, 'receipt verify route failed');
|
|
1316
|
-
assert.strictEqual(receiptVerify.json.valid, true, 'receipt verify payload invalid');
|
|
1317
|
-
|
|
1318
|
-
const validatorCompat = await postJson(baseUrl, '/validate', {
|
|
1319
|
-
opreturn_hex: receipt.opreturn_hex,
|
|
1320
|
-
payload_bytes_ascii: payloadUtf8,
|
|
1321
|
-
});
|
|
1322
|
-
assert.strictEqual(validatorCompat.status, 200, 'validator compatibility route failed');
|
|
1323
|
-
assert.strictEqual(validatorCompat.json.valid, true, 'validator compatibility payload invalid');
|
|
1324
|
-
|
|
1325
|
-
const canonicalEvent = {
|
|
1326
|
-
version: 'canonical-event-bundle/v1',
|
|
1327
|
-
domain_id: 'service.verify',
|
|
1328
|
-
sequence: '9',
|
|
1329
|
-
actor_id: receipt.agent_id,
|
|
1330
|
-
adapter_source: 'verify_service',
|
|
1331
|
-
event_type: 'proof.service.smoke',
|
|
1332
|
-
event_hash: '77'.repeat(32),
|
|
1333
|
-
semantic_slots: {
|
|
1334
|
-
payload_utf8: payloadUtf8,
|
|
1335
|
-
},
|
|
1336
|
-
};
|
|
1337
|
-
|
|
1338
|
-
const canonicalizeResponse = await postJson(baseUrl, '/v1/events/canonicalize', {
|
|
1339
|
-
event: {
|
|
1340
|
-
semantic_slots: canonicalEvent.semantic_slots,
|
|
1341
|
-
event_hash: canonicalEvent.event_hash,
|
|
1342
|
-
event_type: canonicalEvent.event_type,
|
|
1343
|
-
adapter_source: canonicalEvent.adapter_source,
|
|
1344
|
-
actor_id: canonicalEvent.actor_id,
|
|
1345
|
-
sequence: canonicalEvent.sequence,
|
|
1346
|
-
domain_id: canonicalEvent.domain_id,
|
|
1347
|
-
version: canonicalEvent.version,
|
|
1348
|
-
},
|
|
1349
|
-
});
|
|
1350
|
-
assert.strictEqual(canonicalizeResponse.status, 200, 'event canonicalize route failed');
|
|
1351
|
-
assert.strictEqual(canonicalizeResponse.json.domain_id, canonicalEvent.domain_id, 'event canonicalize payload invalid');
|
|
1352
|
-
|
|
1353
|
-
const hashResponse = await postJson(baseUrl, '/v1/events/hash', {
|
|
1354
|
-
event: canonicalEvent,
|
|
1355
|
-
});
|
|
1356
|
-
assert.strictEqual(hashResponse.status, 200, 'event hash route failed');
|
|
1357
|
-
assert.strictEqual(hashResponse.json.event_commitment, sdk.hashEvent(canonicalEvent), 'event hash payload invalid');
|
|
1358
|
-
|
|
1359
|
-
const integrationsResponse = await getJson(baseUrl, '/v1/integrations');
|
|
1360
|
-
const integrationsJson = integrationsResponse.json;
|
|
1361
|
-
assert.strictEqual(integrationsResponse.status, 200, 'integrations route failed');
|
|
1362
|
-
assert.strictEqual(Array.isArray(integrationsJson.integrations), true, 'integrations payload missing');
|
|
1363
|
-
assert.strictEqual(integrationsJson.integrations.some((entry) => entry.integration_id === 'builtin.identity.legacy_material'), true, 'legacy identity integration missing');
|
|
1364
|
-
assert.strictEqual(integrationsJson.integrations.some((entry) => entry.integration_id === 'builtin.verifier.registry_profile'), true, 'builtin verifier integration missing');
|
|
1365
|
-
|
|
1366
|
-
const integrationSummaryResponse = await getJson(baseUrl, '/v1/integrations/summary');
|
|
1367
|
-
const integrationSummaryJson = integrationSummaryResponse.json;
|
|
1368
|
-
assert.strictEqual(integrationSummaryResponse.status, 200, 'integration summary route failed');
|
|
1369
|
-
assert.strictEqual(integrationSummaryJson.integration_count >= 6, true, 'integration summary breadth missing');
|
|
1370
|
-
assert.strictEqual(integrationSummaryJson.staged_registration_count >= 1, true, 'integration summary staged registration missing');
|
|
1371
|
-
|
|
1372
|
-
const integrationSnapshotResponse = await getJson(baseUrl, '/v1/integrations/snapshot?registration_state=staging_registered');
|
|
1373
|
-
const integrationSnapshotJson = integrationSnapshotResponse.json;
|
|
1374
|
-
assert.strictEqual(integrationSnapshotResponse.status, 200, 'integration snapshot route failed');
|
|
1375
|
-
assert.strictEqual(integrationSnapshotJson.integration_count >= 1, true, 'integration snapshot staged breadth missing');
|
|
1376
|
-
|
|
1377
|
-
const integrationDetailResponse = await getJson(baseUrl, '/v1/integrations/builtin.verifier.registry_profile');
|
|
1378
|
-
const integrationDetailJson = integrationDetailResponse.json;
|
|
1379
|
-
assert.strictEqual(integrationDetailResponse.status, 200, 'integration detail route failed');
|
|
1380
|
-
assert.strictEqual(integrationDetailJson.integration.integration_id, 'builtin.verifier.registry_profile', 'integration detail payload invalid');
|
|
1381
|
-
|
|
1382
|
-
const stagedIntegrationDetailResponse = await getJson(baseUrl, '/v1/integrations/partner.verifier.lattice_notary');
|
|
1383
|
-
const stagedIntegrationDetailJson = stagedIntegrationDetailResponse.json;
|
|
1384
|
-
assert.strictEqual(stagedIntegrationDetailResponse.status, 200, 'staged integration detail route failed');
|
|
1385
|
-
assert.strictEqual(stagedIntegrationDetailJson.integration.registration.registration_state, 'staging_registered', 'staged integration detail payload invalid');
|
|
1386
|
-
|
|
1387
|
-
const promotionReadinessListResponse = await getJson(baseUrl, '/v1/integrations/promotion-readiness?source=third_party_example');
|
|
1388
|
-
const promotionReadinessListJson = promotionReadinessListResponse.json;
|
|
1389
|
-
assert.strictEqual(promotionReadinessListResponse.status, 200, 'promotion readiness list route failed');
|
|
1390
|
-
assert.strictEqual(Array.isArray(promotionReadinessListJson.integrations), true, 'promotion readiness list payload invalid');
|
|
1391
|
-
assert.strictEqual(
|
|
1392
|
-
promotionReadinessListJson.integrations.every((entry) => entry.promotion_readiness.review_ready === true),
|
|
1393
|
-
true,
|
|
1394
|
-
'promotion readiness list review-ready mismatch'
|
|
1395
|
-
);
|
|
1396
|
-
|
|
1397
|
-
const builtinPromotionReadinessResponse = await getJson(baseUrl, '/v1/integrations/builtin.verifier.registry_profile/promotion-readiness');
|
|
1398
|
-
const builtinPromotionReadinessJson = builtinPromotionReadinessResponse.json;
|
|
1399
|
-
assert.strictEqual(builtinPromotionReadinessResponse.status, 200, 'builtin promotion readiness route failed');
|
|
1400
|
-
assert.strictEqual(
|
|
1401
|
-
builtinPromotionReadinessJson.promotion_readiness.production_default_ready,
|
|
1402
|
-
true,
|
|
1403
|
-
'builtin promotion readiness production-default mismatch'
|
|
1404
|
-
);
|
|
1405
|
-
|
|
1406
|
-
const stagedPromotionReadinessResponse = await getJson(baseUrl, '/v1/integrations/partner.verifier.lattice_notary/promotion-readiness');
|
|
1407
|
-
const stagedPromotionReadinessJson = stagedPromotionReadinessResponse.json;
|
|
1408
|
-
assert.strictEqual(stagedPromotionReadinessResponse.status, 200, 'staged promotion readiness route failed');
|
|
1409
|
-
assert.strictEqual(
|
|
1410
|
-
stagedPromotionReadinessJson.promotion_readiness.production_default_ready,
|
|
1411
|
-
false,
|
|
1412
|
-
'staged promotion readiness production-default mismatch'
|
|
1413
|
-
);
|
|
1414
|
-
assert.strictEqual(
|
|
1415
|
-
stagedPromotionReadinessJson.promotion_readiness.blockers.includes('not_certified'),
|
|
1416
|
-
true,
|
|
1417
|
-
'staged promotion readiness certification blocker missing'
|
|
1418
|
-
);
|
|
1419
|
-
|
|
1420
|
-
const promotionWorkflowListResponse = await getJson(
|
|
1421
|
-
baseUrl,
|
|
1422
|
-
'/v1/integrations/promotion-workflow?source=third_party_example®istration_state=staging_registered&bundled=false'
|
|
1423
|
-
);
|
|
1424
|
-
const promotionWorkflowListJson = promotionWorkflowListResponse.json;
|
|
1425
|
-
assert.strictEqual(promotionWorkflowListResponse.status, 200, 'promotion workflow list route failed');
|
|
1426
|
-
assert.strictEqual(Array.isArray(promotionWorkflowListJson.integrations), true, 'promotion workflow list payload invalid');
|
|
1427
|
-
assert.strictEqual(promotionWorkflowListJson.integration_count >= 1, true, 'promotion workflow list breadth missing');
|
|
1428
|
-
assert.strictEqual(
|
|
1429
|
-
promotionWorkflowListJson.next_actions.some((entry) => entry.action === 'complete_certification'),
|
|
1430
|
-
true,
|
|
1431
|
-
'promotion workflow list next-action mismatch'
|
|
1432
|
-
);
|
|
1433
|
-
assert.strictEqual(
|
|
1434
|
-
promotionWorkflowListJson.recommendations.some((entry) => entry.recommendation === 'keep_staged_until_requirements_clear'),
|
|
1435
|
-
true,
|
|
1436
|
-
'promotion workflow list recommendation mismatch'
|
|
1437
|
-
);
|
|
1438
|
-
assert.strictEqual(
|
|
1439
|
-
promotionWorkflowListJson.blocker_categories.some((entry) => entry.category === 'certification'),
|
|
1440
|
-
true,
|
|
1441
|
-
'promotion workflow list blocker-category mismatch'
|
|
1442
|
-
);
|
|
1443
|
-
|
|
1444
|
-
const builtinPromotionWorkflowResponse = await getJson(baseUrl, '/v1/integrations/builtin.verifier.registry_profile/promotion-workflow');
|
|
1445
|
-
const builtinPromotionWorkflowJson = builtinPromotionWorkflowResponse.json;
|
|
1446
|
-
assert.strictEqual(builtinPromotionWorkflowResponse.status, 200, 'builtin promotion workflow route failed');
|
|
1447
|
-
assert.strictEqual(
|
|
1448
|
-
builtinPromotionWorkflowJson.next_transition.action,
|
|
1449
|
-
'maintain_production_default',
|
|
1450
|
-
'builtin promotion workflow next-transition mismatch'
|
|
1451
|
-
);
|
|
1452
|
-
|
|
1453
|
-
const stagedPromotionWorkflowResponse = await getJson(baseUrl, '/v1/integrations/partner.verifier.lattice_notary/promotion-workflow');
|
|
1454
|
-
const stagedPromotionWorkflowJson = stagedPromotionWorkflowResponse.json;
|
|
1455
|
-
assert.strictEqual(stagedPromotionWorkflowResponse.status, 200, 'staged promotion workflow route failed');
|
|
1456
|
-
assert.strictEqual(
|
|
1457
|
-
stagedPromotionWorkflowJson.next_transition.action,
|
|
1458
|
-
'complete_certification',
|
|
1459
|
-
'staged promotion workflow next-transition mismatch'
|
|
1460
|
-
);
|
|
1461
|
-
assert.strictEqual(
|
|
1462
|
-
stagedPromotionWorkflowJson.next_transition.later_actions.includes('promote_maturity'),
|
|
1463
|
-
true,
|
|
1464
|
-
'staged promotion workflow later-actions mismatch'
|
|
1465
|
-
);
|
|
1466
|
-
assert.strictEqual(
|
|
1467
|
-
stagedPromotionWorkflowJson.promotion_recommendation.recommendation,
|
|
1468
|
-
'keep_staged_until_requirements_clear',
|
|
1469
|
-
'staged promotion workflow recommendation mismatch'
|
|
1470
|
-
);
|
|
1471
|
-
assert.strictEqual(
|
|
1472
|
-
stagedPromotionWorkflowJson.certification_gaps.missing_requirements.includes('certification_state'),
|
|
1473
|
-
true,
|
|
1474
|
-
'staged promotion workflow certification gap mismatch'
|
|
1475
|
-
);
|
|
1476
|
-
|
|
1477
|
-
const receiptEmitResponse = await postJson(baseUrl, '/v1/receipts/emit', {
|
|
1478
|
-
event: canonicalEvent,
|
|
1479
|
-
options: {
|
|
1480
|
-
legacy_identity_material_hex: identityMaterialHex,
|
|
1481
|
-
},
|
|
1482
|
-
});
|
|
1483
|
-
assert.strictEqual(receiptEmitResponse.status, 200, 'receipt emit route failed');
|
|
1484
|
-
assert.strictEqual(receiptEmitResponse.json.version, 'receipt/v1', 'receipt emit payload invalid');
|
|
1485
|
-
|
|
1486
|
-
const proofBundleBuild = await postJson(baseUrl, '/v1/proof-bundles/build', {
|
|
1487
|
-
ceb: canonicalEvent,
|
|
1488
|
-
receipt: receiptEmitResponse.json,
|
|
1489
|
-
evidence_refs: ['memory://proof/service'],
|
|
1490
|
-
});
|
|
1491
|
-
assert.strictEqual(proofBundleBuild.status, 200, 'proof bundle build route failed');
|
|
1492
|
-
assert.strictEqual(proofBundleBuild.json.version, 'proof-bundle/v1', 'proof bundle build payload invalid');
|
|
1493
|
-
|
|
1494
|
-
const proofBundleVerify = await postJson(baseUrl, '/v1/proof-bundles/verify', {
|
|
1495
|
-
bundle: proofBundleBuild.json,
|
|
1496
|
-
});
|
|
1497
|
-
assert.strictEqual(proofBundleVerify.status, 200, 'proof bundle verify route failed');
|
|
1498
|
-
assert.strictEqual(proofBundleVerify.json.valid, true, 'proof bundle verify payload invalid');
|
|
1499
|
-
assert.strictEqual(proofBundleVerify.json.verification_class, 'digest', 'legacy proof bundle verify class mismatch');
|
|
1500
|
-
assert.strictEqual(proofBundleVerify.json.cryptographically_verified, false, 'legacy proof bundle must not claim cryptographic verification');
|
|
1501
|
-
assert.strictEqual(proofBundleVerify.json.strict, false, 'proof bundle verify strict flag default mismatch');
|
|
1502
|
-
assert.strictEqual(proofBundleVerify.json.trust_root_applied, false, 'proof bundle verify trust root flag default mismatch');
|
|
1503
|
-
|
|
1504
|
-
const digestReceipt = sdk.emitReceipt(canonicalEvent, { agent_identity: 'service-digest-agent' });
|
|
1505
|
-
const digestBundle = sdk.buildProofBundle({ ceb: canonicalEvent, receipt: digestReceipt });
|
|
1506
|
-
const digestVerifyDefault = await postJson(baseUrl, '/v1/proof-bundles/verify', { bundle: digestBundle });
|
|
1507
|
-
assert.strictEqual(digestVerifyDefault.status, 200, 'digest proof bundle verify route failed');
|
|
1508
|
-
assert.strictEqual(digestVerifyDefault.json.valid, true, 'digest proof bundle must verify in default mode');
|
|
1509
|
-
assert.strictEqual(digestVerifyDefault.json.verification_class, 'digest', 'digest proof bundle class mismatch');
|
|
1510
|
-
const digestVerifyStrict = await postJson(baseUrl, '/v1/proof-bundles/verify', {
|
|
1511
|
-
bundle: digestBundle,
|
|
1512
|
-
options: { strict: true },
|
|
1513
|
-
});
|
|
1514
|
-
assert.strictEqual(digestVerifyStrict.status, 200, 'strict digest proof bundle verify route failed');
|
|
1515
|
-
assert.strictEqual(digestVerifyStrict.json.valid, false, 'digest proof bundle must fail under strict verification');
|
|
1516
|
-
assert.strictEqual(digestVerifyStrict.json.reason, 'digest_only_not_cryptographically_verified', 'strict digest rejection reason mismatch');
|
|
1517
|
-
assert.strictEqual(digestVerifyStrict.json.strict, true, 'strict flag must echo in verify result');
|
|
1518
|
-
assert.strictEqual(digestVerifyStrict.json.cryptographically_verified, false, 'strict digest result must not claim cryptographic verification');
|
|
1519
|
-
|
|
1520
|
-
const optionsResponse = await fetch(`${baseUrl}/v1/proof-bundles/verify`, { method: 'OPTIONS' });
|
|
1521
|
-
assert.strictEqual(optionsResponse.status, 204, 'OPTIONS must return 204');
|
|
1522
|
-
assert.strictEqual(/POST/.test(optionsResponse.headers.get('allow') || ''), true, 'OPTIONS must advertise POST in allow header');
|
|
1523
|
-
const headResponse = await fetch(`${baseUrl}/health`, { method: 'HEAD' });
|
|
1524
|
-
assert.strictEqual(headResponse.status, 200, 'HEAD on a known GET route must return 200');
|
|
1525
|
-
assert.strictEqual((await headResponse.text()).length, 0, 'HEAD response must not carry a body');
|
|
1526
|
-
assert.strictEqual(headResponse.headers.get('x-content-type-options'), 'nosniff', 'nosniff header missing');
|
|
1527
|
-
assert.strictEqual(digestVerifyStrict.status, 200, 'post response status mismatch');
|
|
1528
|
-
const postHeadersResponse = await fetch(`${baseUrl}/v1/proof-bundles/verify`, {
|
|
1529
|
-
method: 'POST',
|
|
1530
|
-
headers: { 'content-type': 'application/json' },
|
|
1531
|
-
body: JSON.stringify({ bundle: digestBundle }),
|
|
1532
|
-
});
|
|
1533
|
-
assert.strictEqual(postHeadersResponse.headers.get('cache-control'), 'no-store', 'POST responses must be no-store');
|
|
1534
|
-
await postHeadersResponse.text();
|
|
1535
|
-
const badEncodingResponse = await fetch(`${baseUrl}/v1/integrations/%E0%A4%A`);
|
|
1536
|
-
assert.strictEqual(badEncodingResponse.status, 400, 'invalid percent-encoding must return 400');
|
|
1537
|
-
assert.strictEqual((await badEncodingResponse.json()).reason, 'invalid_path_encoding', 'invalid path encoding reason mismatch');
|
|
1538
|
-
const oversizedResponse = await new Promise((resolve, reject) => {
|
|
1539
|
-
const request = http.request(
|
|
1540
|
-
{
|
|
1541
|
-
host: '127.0.0.1',
|
|
1542
|
-
port: address.port,
|
|
1543
|
-
method: 'POST',
|
|
1544
|
-
path: '/v1/proof-bundles/verify',
|
|
1545
|
-
headers: { 'content-type': 'application/json', 'content-length': String(2 * 1024 * 1024) },
|
|
1546
|
-
},
|
|
1547
|
-
(response) => {
|
|
1548
|
-
let raw = '';
|
|
1549
|
-
response.setEncoding('utf8');
|
|
1550
|
-
response.on('data', (chunk) => { raw += chunk; });
|
|
1551
|
-
response.on('end', () => {
|
|
1552
|
-
request.destroy();
|
|
1553
|
-
resolve({ status: response.statusCode, json: JSON.parse(raw) });
|
|
1554
|
-
});
|
|
1555
|
-
}
|
|
1556
|
-
);
|
|
1557
|
-
request.on('error', reject);
|
|
1558
|
-
request.flushHeaders();
|
|
1559
|
-
});
|
|
1560
|
-
assert.strictEqual(oversizedResponse.status, 400, 'oversized declared content-length must be rejected before the body is read');
|
|
1561
|
-
assert.strictEqual(oversizedResponse.json.reason, 'request body too large', 'oversized body reason mismatch');
|
|
1562
|
-
|
|
1563
|
-
const previousPrivateKeyPolicy = process.env.XOONYA_ACCEPT_PRIVATE_KEY_MATERIAL;
|
|
1564
|
-
process.env.XOONYA_ACCEPT_PRIVATE_KEY_MATERIAL = 'false';
|
|
1565
|
-
try {
|
|
1566
|
-
const privateKeyEmit = await postJson(baseUrl, '/v1/receipts/emit', {
|
|
1567
|
-
event: canonicalEvent,
|
|
1568
|
-
options: {
|
|
1569
|
-
algorithm: 'xoonya-native-signed-v1',
|
|
1570
|
-
signature_suite: 'ed25519',
|
|
1571
|
-
private_key_pem: '-----BEGIN PRIVATE KEY-----\nMC4CAQAwBQYDK2VwBCIEIOPZUHPWLt9QpTQ3ub3+RyJXNZrJYHxfDJEcUZhrXIz7\n-----END PRIVATE KEY-----\n',
|
|
1572
|
-
public_key_pem: '-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEArnC5ARNJQFbPtc6pMrFUz2p043Nbds48Dz66+i1R5gk=\n-----END PUBLIC KEY-----\n',
|
|
1573
|
-
},
|
|
1574
|
-
});
|
|
1575
|
-
assert.strictEqual(privateKeyEmit.status, 400, 'private key material must be rejected when policy disallows it');
|
|
1576
|
-
assert.strictEqual(privateKeyEmit.json.reason, 'private_key_material_not_accepted', 'private key rejection reason mismatch');
|
|
1577
|
-
assert.strictEqual(privateKeyEmit.json.field, 'options.private_key_pem', 'private key rejection field mismatch');
|
|
1578
|
-
const privateKeyBuild = await postJson(baseUrl, '/v1/proof-bundles/build', {
|
|
1579
|
-
ceb: canonicalEvent,
|
|
1580
|
-
receipt_options: { classical_private_key_pem: 'x', pq_private_key_pem: 'y' },
|
|
1581
|
-
});
|
|
1582
|
-
assert.strictEqual(privateKeyBuild.status, 400, 'build route must reject private key material when policy disallows it');
|
|
1583
|
-
assert.strictEqual(privateKeyBuild.json.reason, 'private_key_material_not_accepted', 'build private key rejection reason mismatch');
|
|
1584
|
-
const noKeyEmit = await postJson(baseUrl, '/v1/receipts/emit', {
|
|
1585
|
-
event: canonicalEvent,
|
|
1586
|
-
options: { legacy_identity_material_hex: identityMaterialHex },
|
|
1587
|
-
});
|
|
1588
|
-
assert.strictEqual(noKeyEmit.status, 200, 'emit without private key material must still succeed under restrictive policy');
|
|
1589
|
-
} finally {
|
|
1590
|
-
if (previousPrivateKeyPolicy === undefined) {
|
|
1591
|
-
delete process.env.XOONYA_ACCEPT_PRIVATE_KEY_MATERIAL;
|
|
1592
|
-
} else {
|
|
1593
|
-
process.env.XOONYA_ACCEPT_PRIVATE_KEY_MATERIAL = previousPrivateKeyPolicy;
|
|
1594
|
-
}
|
|
1595
|
-
}
|
|
1596
|
-
const defaultProofLoopRun = await postJson(baseUrl, '/v1/proof-center/default-loops/run', {
|
|
1597
|
-
loop_ref: 'default.proof.bundle.loop',
|
|
1598
|
-
event: canonicalEvent,
|
|
1599
|
-
options: {
|
|
1600
|
-
legacy_identity_material_hex: identityMaterialHex
|
|
1601
|
-
},
|
|
1602
|
-
evidence_refs: ['memory://proof/service/default-loop']
|
|
1603
|
-
});
|
|
1604
|
-
assert.strictEqual(defaultProofLoopRun.status, 200, 'default proof loop run route failed');
|
|
1605
|
-
assert.strictEqual(defaultProofLoopRun.json.loop.loop_ref, 'default.proof.bundle.loop', 'default proof loop ref missing');
|
|
1606
|
-
assert.strictEqual(defaultProofLoopRun.json.bundle_verification.valid, true, 'default proof loop bundle verification missing');
|
|
1607
|
-
assert.strictEqual(defaultProofLoopRun.json.receipt_verification.valid, true, 'default proof loop receipt verification missing');
|
|
1608
|
-
const externalImportReview = await postJson(baseUrl, '/v1/proof-center/import-adapter/review', {
|
|
1609
|
-
method: 'jwt-assertion-v1',
|
|
1610
|
-
import_ref: 'service-jwt-import',
|
|
1611
|
-
issuer_ref: 'did:example:issuer',
|
|
1612
|
-
subject_ref: 'txn:xytara:service-demo',
|
|
1613
|
-
external_proof: 'eyJhbGciOiJFZERTQSJ9.eyJzdWIiOiJ0eG4teHl0YXJhLXNlcnZpY2UtZGVtbyJ9.signature',
|
|
1614
|
-
evidence_refs: ['memory://external/service-jwt-import']
|
|
1615
|
-
});
|
|
1616
|
-
assert.strictEqual(externalImportReview.status, 200, 'external proof import review route failed');
|
|
1617
|
-
assert.strictEqual(externalImportReview.json.accepted, true, 'external proof import review acceptance missing');
|
|
1618
|
-
assert.strictEqual(externalImportReview.json.method, 'jwt-assertion-v1', 'external proof import review method mismatch');
|
|
1619
|
-
const externalImportReviewSummary = await postJson(baseUrl, '/v1/proof-center/import-adapter/review/summary', {
|
|
1620
|
-
method: 'did-vc-v1',
|
|
1621
|
-
external_proof: {
|
|
1622
|
-
type: ['VerifiableCredential'],
|
|
1623
|
-
issuer: 'did:example:issuer',
|
|
1624
|
-
credentialSubject: { id: 'did:example:agent' }
|
|
1625
|
-
}
|
|
1626
|
-
});
|
|
1627
|
-
assert.strictEqual(externalImportReviewSummary.status, 200, 'external proof import review summary route failed');
|
|
1628
|
-
assert.strictEqual(externalImportReviewSummary.json.accepted, true, 'external proof import review summary acceptance missing');
|
|
1629
|
-
assert.strictEqual(externalImportReviewSummary.json.method, 'did-vc-v1', 'external proof import review summary method mismatch');
|
|
1630
|
-
const externalImportRun = await postJson(baseUrl, '/v1/proof-center/import-adapter/run', {
|
|
1631
|
-
method: 'partner-proof-envelope-v1',
|
|
1632
|
-
import_ref: 'service-partner-proof-import',
|
|
1633
|
-
issuer_ref: 'partner:verifier-demo',
|
|
1634
|
-
subject_ref: 'txn:xytara:service-demo',
|
|
1635
|
-
external_proof: {
|
|
1636
|
-
envelope_version: 'partner-proof-envelope/v1',
|
|
1637
|
-
proof_ref: 'partner-proof-demo',
|
|
1638
|
-
subject_ref: 'txn:xytara:service-demo'
|
|
1639
|
-
},
|
|
1640
|
-
evidence_refs: ['memory://external/partner-proof-demo']
|
|
1641
|
-
});
|
|
1642
|
-
assert.strictEqual(externalImportRun.status, 200, 'external proof import run route failed');
|
|
1643
|
-
assert.strictEqual(externalImportRun.json.ok, true, 'external proof import run ok missing');
|
|
1644
|
-
assert.strictEqual(externalImportRun.json.bundle_verification.valid, true, 'external proof import bundle verification missing');
|
|
1645
|
-
assert.strictEqual(externalImportRun.json.bundle_verification.verification_method, 'partner-proof-envelope-v1', 'external proof import bundle method mismatch');
|
|
1646
|
-
const transactionProofHandoffRun = await postJson(baseUrl, '/v1/proof-center/transaction-handoff/run', {
|
|
1647
|
-
handoff_bundle: {
|
|
1648
|
-
source_ref: 'transaction.registry.anchor',
|
|
1649
|
-
transaction_id: 'txn-service-1',
|
|
1650
|
-
receipt_id: 'txn-receipt-service-1',
|
|
1651
|
-
proof_ref: 'memory://proof/service/transaction-proof',
|
|
1652
|
-
task_refs: ['registry.pack.bundle', 'anchoring.pack.preview'],
|
|
1653
|
-
delivery_count: 1,
|
|
1654
|
-
payment_ledger_count: 1
|
|
1655
|
-
},
|
|
1656
|
-
options: {
|
|
1657
|
-
legacy_identity_material_hex: identityMaterialHex
|
|
1658
|
-
}
|
|
1659
|
-
});
|
|
1660
|
-
assert.strictEqual(transactionProofHandoffRun.status, 200, 'transaction proof handoff run route failed');
|
|
1661
|
-
assert.strictEqual(
|
|
1662
|
-
transactionProofHandoffRun.json.bundle_verification.valid,
|
|
1663
|
-
true,
|
|
1664
|
-
'transaction proof handoff run bundle verification missing'
|
|
1665
|
-
);
|
|
1666
|
-
assert.strictEqual(
|
|
1667
|
-
transactionProofHandoffRun.json.recommended_loop,
|
|
1668
|
-
'default.proof.bundle.loop',
|
|
1669
|
-
'transaction proof handoff run recommended loop missing'
|
|
1670
|
-
);
|
|
1671
|
-
const interactionSpineHandoffRun = await postJson(baseUrl, '/v1/proof-center/interaction-spine-handoff/run', {
|
|
1672
|
-
handoff_bundle: {
|
|
1673
|
-
source_ref: 'spine.job.commitment',
|
|
1674
|
-
transaction_id: 'txn-spine-service-1',
|
|
1675
|
-
receipt_id: 'txn-spine-receipt-service-1',
|
|
1676
|
-
proof_ref: 'memory://proof/service/spine-proof',
|
|
1677
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1678
|
-
delivery_count: 1,
|
|
1679
|
-
payment_ledger_count: 1,
|
|
1680
|
-
committed_ref: 'transaction.job.commitment',
|
|
1681
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness'
|
|
1682
|
-
},
|
|
1683
|
-
options: {
|
|
1684
|
-
legacy_identity_material_hex: identityMaterialHex
|
|
1685
|
-
}
|
|
1686
|
-
});
|
|
1687
|
-
assert.strictEqual(interactionSpineHandoffRun.status, 200, 'interaction spine handoff run route failed');
|
|
1688
|
-
assert.strictEqual(
|
|
1689
|
-
interactionSpineHandoffRun.json.bundle_verification.valid,
|
|
1690
|
-
true,
|
|
1691
|
-
'interaction spine handoff run bundle verification missing'
|
|
1692
|
-
);
|
|
1693
|
-
assert.strictEqual(
|
|
1694
|
-
interactionSpineHandoffRun.json.handoff.committed_ref,
|
|
1695
|
-
'transaction.job.commitment',
|
|
1696
|
-
'interaction spine handoff committed ref missing'
|
|
1697
|
-
);
|
|
1698
|
-
const resultPackageHandoffRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/run', {
|
|
1699
|
-
handoff_bundle: {
|
|
1700
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1701
|
-
source_ref: 'spine.job.commitment',
|
|
1702
|
-
transaction_id: 'txn-result-package-service-1',
|
|
1703
|
-
receipt_id: 'txn-result-package-receipt-service-1',
|
|
1704
|
-
proof_ref: 'memory://proof/service/result-package-proof',
|
|
1705
|
-
committed_ref: 'transaction.job.commitment',
|
|
1706
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1707
|
-
payment_protocol: 'x402',
|
|
1708
|
-
settlement_mode: 'evm_payment',
|
|
1709
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
1710
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1711
|
-
delivery_count: 1,
|
|
1712
|
-
payment_ledger_count: 1,
|
|
1713
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff'],
|
|
1714
|
-
economic_consequence_handoff_bundle: {
|
|
1715
|
-
contract_version: 'naxytra-economic-consequence-handoff-v1',
|
|
1716
|
-
source_system: 'xytara',
|
|
1717
|
-
account_ref: 'acct_demo',
|
|
1718
|
-
usage_meter_ref: 'usage_meter_demo_1',
|
|
1719
|
-
meter_profile_ref: 'meter_profile.trust.verify',
|
|
1720
|
-
credit_spend_ref: 'credit_spend_demo_1',
|
|
1721
|
-
usage_meter: {
|
|
1722
|
-
usage_meter_id: 'usage_meter_demo_1',
|
|
1723
|
-
account_id: 'acct_demo',
|
|
1724
|
-
credit_spend_id: 'credit_spend_demo_1',
|
|
1725
|
-
units: 2,
|
|
1726
|
-
pricing_band: 'task_standard'
|
|
1727
|
-
},
|
|
1728
|
-
credit_spend: {
|
|
1729
|
-
credit_spend_id: 'credit_spend_demo_1',
|
|
1730
|
-
account_id: 'acct_demo',
|
|
1731
|
-
units: 2
|
|
1732
|
-
}
|
|
1733
|
-
}
|
|
1734
|
-
},
|
|
1735
|
-
options: {
|
|
1736
|
-
legacy_identity_material_hex: identityMaterialHex
|
|
1737
|
-
}
|
|
1738
|
-
});
|
|
1739
|
-
assert.strictEqual(resultPackageHandoffRun.status, 200, 'result package handoff run route failed');
|
|
1740
|
-
assert.strictEqual(
|
|
1741
|
-
resultPackageHandoffRun.json.bundle_verification.valid,
|
|
1742
|
-
true,
|
|
1743
|
-
'result package handoff run bundle verification missing'
|
|
1744
|
-
);
|
|
1745
|
-
assert.strictEqual(
|
|
1746
|
-
resultPackageHandoffRun.json.handoff.result_package_ref,
|
|
1747
|
-
'result.spine.job.commitment',
|
|
1748
|
-
'result package handoff package ref missing'
|
|
1749
|
-
);
|
|
1750
|
-
assert.strictEqual(resultPackageHandoffRun.json.economic_consequence_review.usage_meter_ref, 'usage_meter_demo_1', 'result package handoff run economic usage meter missing');
|
|
1751
|
-
const resultPackageHandoffReview = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review', {
|
|
1752
|
-
handoff_bundle: {
|
|
1753
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1754
|
-
source_ref: 'spine.job.commitment',
|
|
1755
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
1756
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
1757
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1758
|
-
committed_ref: 'transaction.job.commitment',
|
|
1759
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1760
|
-
payment_protocol: 'x402',
|
|
1761
|
-
settlement_mode: 'evm_payment',
|
|
1762
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
1763
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1764
|
-
delivery_count: 1,
|
|
1765
|
-
payment_ledger_count: 1,
|
|
1766
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff'],
|
|
1767
|
-
economic_consequence_handoff_bundle: {
|
|
1768
|
-
contract_version: 'naxytra-economic-consequence-handoff-v1',
|
|
1769
|
-
source_system: 'xytara',
|
|
1770
|
-
account_ref: 'acct_demo',
|
|
1771
|
-
usage_meter_ref: 'usage_meter_demo_2',
|
|
1772
|
-
meter_profile_ref: 'meter_profile.trust.verify',
|
|
1773
|
-
credit_spend_ref: 'credit_spend_demo_2',
|
|
1774
|
-
payment_ref: 'pay_demo_2',
|
|
1775
|
-
settlement_ref: 'settlement_demo_2',
|
|
1776
|
-
settlement_txid: 'txid_demo_2',
|
|
1777
|
-
settlement_status: 'finalized',
|
|
1778
|
-
settlement_finality_status: 'finalized',
|
|
1779
|
-
treasury_receipt_ref: 'treasury_rcpt_demo_2',
|
|
1780
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1781
|
-
usage_meter: {
|
|
1782
|
-
usage_meter_id: 'usage_meter_demo_2',
|
|
1783
|
-
account_id: 'acct_demo',
|
|
1784
|
-
credit_spend_id: 'credit_spend_demo_2',
|
|
1785
|
-
units: 3,
|
|
1786
|
-
pricing_band: 'task_standard'
|
|
1787
|
-
},
|
|
1788
|
-
credit_spend: {
|
|
1789
|
-
credit_spend_id: 'credit_spend_demo_2',
|
|
1790
|
-
account_id: 'acct_demo',
|
|
1791
|
-
units: 3
|
|
1792
|
-
}
|
|
1793
|
-
}
|
|
1794
|
-
}
|
|
1795
|
-
});
|
|
1796
|
-
assert.strictEqual(resultPackageHandoffReview.status, 200, 'result package handoff review route failed');
|
|
1797
|
-
assert.strictEqual(resultPackageHandoffReview.json.accepted, true, 'result package handoff review acceptance missing');
|
|
1798
|
-
assert.strictEqual(resultPackageHandoffReview.json.next_surface, '/v1/proof-center/result-package-handoff/run', 'result package handoff review next surface missing');
|
|
1799
|
-
assert.strictEqual(resultPackageHandoffReview.json.durability_summary.review_ref, 'review.result.spine.job.commitment', 'result package handoff review ref missing');
|
|
1800
|
-
assert.strictEqual(resultPackageHandoffReview.json.durability_summary.run_ready, true, 'result package handoff review run readiness missing');
|
|
1801
|
-
assert.strictEqual(resultPackageHandoffReview.json.economic_consequence_review.credit_spend_ref, 'credit_spend_demo_2', 'result package handoff review economic credit spend missing');
|
|
1802
|
-
assert.strictEqual(resultPackageHandoffReview.json.economic_consequence_review.economic_audit_summary.usage_meter_ref, 'usage_meter_demo_2', 'result package handoff review economic audit usage meter missing');
|
|
1803
|
-
assert.strictEqual(resultPackageHandoffReview.json.economic_consequence_review.economic_audit_summary.settlement_ref, 'settlement_demo_2', 'result package handoff review economic audit settlement ref missing');
|
|
1804
|
-
assert.strictEqual(resultPackageHandoffReview.json.economic_consequence_review.economic_audit_summary.treasury_receipt_ref, 'treasury_rcpt_demo_2', 'result package handoff review economic audit treasury receipt missing');
|
|
1805
|
-
const resultPackageHandoffReviewSummaryCompact = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/summary', {
|
|
1806
|
-
handoff_bundle: {
|
|
1807
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1808
|
-
source_ref: 'spine.job.commitment',
|
|
1809
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
1810
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
1811
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1812
|
-
committed_ref: 'transaction.job.commitment',
|
|
1813
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1814
|
-
payment_protocol: 'x402',
|
|
1815
|
-
settlement_mode: 'evm_payment',
|
|
1816
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
1817
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1818
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff'],
|
|
1819
|
-
economic_consequence_handoff_bundle: {
|
|
1820
|
-
contract_version: 'naxytra-economic-consequence-handoff-v1',
|
|
1821
|
-
source_system: 'xytara',
|
|
1822
|
-
account_ref: 'acct_demo',
|
|
1823
|
-
usage_meter_ref: 'usage_meter_demo_2',
|
|
1824
|
-
meter_profile_ref: 'meter_profile.trust.verify',
|
|
1825
|
-
credit_spend_ref: 'credit_spend_demo_2',
|
|
1826
|
-
payment_ref: 'pay_demo_2',
|
|
1827
|
-
settlement_ref: 'settlement_demo_2',
|
|
1828
|
-
settlement_txid: 'txid_demo_2',
|
|
1829
|
-
settlement_status: 'finalized',
|
|
1830
|
-
settlement_finality_status: 'finalized',
|
|
1831
|
-
treasury_receipt_ref: 'treasury_rcpt_demo_2',
|
|
1832
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1833
|
-
usage_meter: {
|
|
1834
|
-
usage_meter_id: 'usage_meter_demo_2',
|
|
1835
|
-
account_id: 'acct_demo',
|
|
1836
|
-
credit_spend_id: 'credit_spend_demo_2',
|
|
1837
|
-
units: 3,
|
|
1838
|
-
pricing_band: 'task_standard'
|
|
1839
|
-
},
|
|
1840
|
-
credit_spend: {
|
|
1841
|
-
credit_spend_id: 'credit_spend_demo_2',
|
|
1842
|
-
account_id: 'acct_demo',
|
|
1843
|
-
units: 3
|
|
1844
|
-
}
|
|
1845
|
-
}
|
|
1846
|
-
}
|
|
1847
|
-
});
|
|
1848
|
-
assert.strictEqual(resultPackageHandoffReviewSummaryCompact.status, 200, 'result package handoff review summary route failed');
|
|
1849
|
-
assert.strictEqual(resultPackageHandoffReviewSummaryCompact.json.economic_audit_summary.credit_spend_ref, 'credit_spend_demo_2', 'result package handoff review summary audit credit spend missing');
|
|
1850
|
-
assert.strictEqual(resultPackageHandoffReviewSummaryCompact.json.economic_audit_summary.settlement_finality_status, 'finalized', 'result package handoff review summary audit settlement finality missing');
|
|
1851
|
-
const resultPackageHandoffReviewSummary = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/summary', {
|
|
1852
|
-
handoff_bundle: {
|
|
1853
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1854
|
-
source_ref: 'spine.job.commitment',
|
|
1855
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
1856
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
1857
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1858
|
-
committed_ref: 'transaction.job.commitment',
|
|
1859
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1860
|
-
payment_protocol: 'x402',
|
|
1861
|
-
settlement_mode: 'evm_payment',
|
|
1862
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
1863
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1864
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff'],
|
|
1865
|
-
economic_consequence_handoff_bundle: {
|
|
1866
|
-
contract_version: 'naxytra-economic-consequence-handoff-v1',
|
|
1867
|
-
source_system: 'xytara',
|
|
1868
|
-
account_ref: 'acct_demo',
|
|
1869
|
-
usage_meter_ref: 'usage_meter_demo_3',
|
|
1870
|
-
meter_profile_ref: 'meter_profile.trust.verify',
|
|
1871
|
-
credit_spend_ref: 'credit_spend_demo_3',
|
|
1872
|
-
usage_meter: {
|
|
1873
|
-
usage_meter_id: 'usage_meter_demo_3',
|
|
1874
|
-
account_id: 'acct_demo',
|
|
1875
|
-
credit_spend_id: 'credit_spend_demo_3',
|
|
1876
|
-
units: 4,
|
|
1877
|
-
pricing_band: 'task_standard'
|
|
1878
|
-
},
|
|
1879
|
-
credit_spend: {
|
|
1880
|
-
credit_spend_id: 'credit_spend_demo_3',
|
|
1881
|
-
account_id: 'acct_demo',
|
|
1882
|
-
units: 4
|
|
1883
|
-
}
|
|
1884
|
-
}
|
|
1885
|
-
}
|
|
1886
|
-
});
|
|
1887
|
-
assert.strictEqual(resultPackageHandoffReviewSummary.status, 200, 'result package handoff review summary route failed');
|
|
1888
|
-
assert.strictEqual(resultPackageHandoffReviewSummary.json.review_ref, 'review.result.spine.job.commitment', 'result package handoff review summary ref missing');
|
|
1889
|
-
assert.strictEqual(resultPackageHandoffReviewSummary.json.run_ready, true, 'result package handoff review summary run readiness missing');
|
|
1890
|
-
assert.strictEqual(resultPackageHandoffReviewSummary.json.economic_consequence_ready, true, 'result package handoff review summary economic readiness missing');
|
|
1891
|
-
assert.strictEqual(resultPackageHandoffReviewSummary.json.usage_meter_ref, 'usage_meter_demo_3', 'result package handoff review summary usage meter missing');
|
|
1892
|
-
const resultPackageHandoffExtensionReadiness = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/extension-readiness', {
|
|
1893
|
-
handoff_bundle: {
|
|
1894
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1895
|
-
source_ref: 'spine.job.commitment',
|
|
1896
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
1897
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
1898
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1899
|
-
committed_ref: 'transaction.job.commitment',
|
|
1900
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1901
|
-
payment_protocol: 'x402',
|
|
1902
|
-
settlement_mode: 'evm_payment',
|
|
1903
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
1904
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1905
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
1906
|
-
}
|
|
1907
|
-
});
|
|
1908
|
-
assert.strictEqual(resultPackageHandoffExtensionReadiness.status, 200, 'result package handoff extension readiness route failed');
|
|
1909
|
-
assert.strictEqual(resultPackageHandoffExtensionReadiness.json.extension_ready_ref, 'extension.review.result.spine.job.commitment', 'result package handoff extension readiness ref missing');
|
|
1910
|
-
assert.strictEqual(resultPackageHandoffExtensionReadiness.json.proof_extension_ready, true, 'result package handoff extension readiness proof readiness missing');
|
|
1911
|
-
const resultPackageHandoffExtensionBoundary = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/extension-boundary', {
|
|
1912
|
-
handoff_bundle: {
|
|
1913
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1914
|
-
source_ref: 'spine.job.commitment',
|
|
1915
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
1916
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
1917
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1918
|
-
committed_ref: 'transaction.job.commitment',
|
|
1919
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1920
|
-
payment_protocol: 'x402',
|
|
1921
|
-
settlement_mode: 'evm_payment',
|
|
1922
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
1923
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1924
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
1925
|
-
}
|
|
1926
|
-
});
|
|
1927
|
-
assert.strictEqual(resultPackageHandoffExtensionBoundary.status, 200, 'result package handoff extension boundary route failed');
|
|
1928
|
-
assert.strictEqual(resultPackageHandoffExtensionBoundary.json.extension_ready_ref, 'extension.review.result.spine.job.commitment', 'result package handoff extension boundary ref missing');
|
|
1929
|
-
assert.strictEqual(resultPackageHandoffExtensionBoundary.json.stable_boundary_ids.includes('proof_run'), true, 'result package handoff extension boundary ids missing');
|
|
1930
|
-
const resultPackageHandoffDefaultContinuation = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/default-continuation', {
|
|
1931
|
-
handoff_bundle: {
|
|
1932
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1933
|
-
source_ref: 'spine.job.commitment',
|
|
1934
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
1935
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
1936
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1937
|
-
committed_ref: 'transaction.job.commitment',
|
|
1938
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1939
|
-
payment_protocol: 'x402',
|
|
1940
|
-
settlement_mode: 'evm_payment',
|
|
1941
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
1942
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1943
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
1944
|
-
}
|
|
1945
|
-
});
|
|
1946
|
-
assert.strictEqual(resultPackageHandoffDefaultContinuation.status, 200, 'result package handoff default continuation route failed');
|
|
1947
|
-
assert.strictEqual(resultPackageHandoffDefaultContinuation.json.reusable_default_ref, 'default.review.result.spine.job.commitment', 'result package handoff default continuation ref missing');
|
|
1948
|
-
assert.strictEqual(resultPackageHandoffDefaultContinuation.json.default_followthrough.review_summary_surface, '/v1/proof-center/result-package-handoff/review/summary', 'result package handoff default continuation review summary surface missing');
|
|
1949
|
-
assert.strictEqual(resultPackageHandoffDefaultContinuation.json.default_followthrough.reusable_by_default, true, 'result package handoff default continuation reusable-by-default missing');
|
|
1950
|
-
const resultPackageHandoffDefaultBoundary = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/default-boundary', {
|
|
1951
|
-
handoff_bundle: {
|
|
1952
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1953
|
-
source_ref: 'spine.job.commitment',
|
|
1954
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
1955
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
1956
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1957
|
-
committed_ref: 'transaction.job.commitment',
|
|
1958
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1959
|
-
payment_protocol: 'x402',
|
|
1960
|
-
settlement_mode: 'evm_payment',
|
|
1961
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
1962
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1963
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
1964
|
-
}
|
|
1965
|
-
});
|
|
1966
|
-
assert.strictEqual(resultPackageHandoffDefaultBoundary.status, 200, 'result package handoff default boundary route failed');
|
|
1967
|
-
assert.strictEqual(resultPackageHandoffDefaultBoundary.json.reusable_default_ref, 'default.review.result.spine.job.commitment', 'result package handoff default boundary ref missing');
|
|
1968
|
-
assert.strictEqual(resultPackageHandoffDefaultBoundary.json.stable_boundary_ids.includes('proof_run'), true, 'result package handoff default boundary ids missing');
|
|
1969
|
-
const resultPackageHandoffContractSummary = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/contract-summary', {
|
|
1970
|
-
handoff_bundle: {
|
|
1971
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1972
|
-
source_ref: 'spine.job.commitment',
|
|
1973
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
1974
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
1975
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1976
|
-
committed_ref: 'transaction.job.commitment',
|
|
1977
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1978
|
-
payment_protocol: 'x402',
|
|
1979
|
-
settlement_mode: 'evm_payment',
|
|
1980
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
1981
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
1982
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
1983
|
-
}
|
|
1984
|
-
});
|
|
1985
|
-
assert.strictEqual(resultPackageHandoffContractSummary.status, 200, 'result package handoff contract summary route failed');
|
|
1986
|
-
assert.strictEqual(resultPackageHandoffContractSummary.json.composition_contract_ref, 'contract.default.review.result.spine.job.commitment', 'result package handoff contract summary ref missing');
|
|
1987
|
-
assert.strictEqual(resultPackageHandoffContractSummary.json.contract_ready, true, 'result package handoff contract summary contract-ready missing');
|
|
1988
|
-
const resultPackageHandoffContractBoundary = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/contract-boundary', {
|
|
1989
|
-
handoff_bundle: {
|
|
1990
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
1991
|
-
source_ref: 'spine.job.commitment',
|
|
1992
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
1993
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
1994
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
1995
|
-
committed_ref: 'transaction.job.commitment',
|
|
1996
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
1997
|
-
payment_protocol: 'x402',
|
|
1998
|
-
settlement_mode: 'evm_payment',
|
|
1999
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2000
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2001
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2002
|
-
}
|
|
2003
|
-
});
|
|
2004
|
-
assert.strictEqual(resultPackageHandoffContractBoundary.status, 200, 'result package handoff contract boundary route failed');
|
|
2005
|
-
assert.strictEqual(resultPackageHandoffContractBoundary.json.composition_contract_ref, 'contract.default.review.result.spine.job.commitment', 'result package handoff contract boundary ref missing');
|
|
2006
|
-
assert.strictEqual(resultPackageHandoffContractBoundary.json.stable_boundary_ids.includes('proof_run'), true, 'result package handoff contract boundary ids missing');
|
|
2007
|
-
const resultPackageHandoffContractCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/contract-carry', {
|
|
2008
|
-
handoff_bundle: {
|
|
2009
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2010
|
-
source_ref: 'spine.job.commitment',
|
|
2011
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2012
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2013
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2014
|
-
committed_ref: 'transaction.job.commitment',
|
|
2015
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2016
|
-
payment_protocol: 'x402',
|
|
2017
|
-
settlement_mode: 'evm_payment',
|
|
2018
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2019
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2020
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2021
|
-
}
|
|
2022
|
-
});
|
|
2023
|
-
assert.strictEqual(resultPackageHandoffContractCarry.status, 200, 'result package handoff contract carry route failed');
|
|
2024
|
-
assert.strictEqual(resultPackageHandoffContractCarry.json.composition_contract_ref, 'contract.default.review.result.spine.job.commitment', 'result package handoff contract carry ref missing');
|
|
2025
|
-
assert.strictEqual(resultPackageHandoffContractCarry.json.public_contract_ids.includes('proof_run'), true, 'result package handoff contract carry ids missing');
|
|
2026
|
-
assert.strictEqual(resultPackageHandoffContractCarry.json.contract_ready, true, 'result package handoff contract carry contract-ready missing');
|
|
2027
|
-
const resultPackageHandoffBridgeSummary = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/bridge-summary', {
|
|
2028
|
-
handoff_bundle: {
|
|
2029
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2030
|
-
source_ref: 'spine.job.commitment',
|
|
2031
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2032
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2033
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2034
|
-
committed_ref: 'transaction.job.commitment',
|
|
2035
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2036
|
-
payment_protocol: 'x402',
|
|
2037
|
-
settlement_mode: 'evm_payment',
|
|
2038
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2039
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2040
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2041
|
-
}
|
|
2042
|
-
});
|
|
2043
|
-
assert.strictEqual(resultPackageHandoffBridgeSummary.status, 200, 'result package handoff bridge summary route failed');
|
|
2044
|
-
assert.strictEqual(resultPackageHandoffBridgeSummary.json.adapter_bridge_ref, 'bridge.contract.default.review.result.spine.job.commitment', 'result package handoff bridge summary ref missing');
|
|
2045
|
-
assert.strictEqual(resultPackageHandoffBridgeSummary.json.bridge_ready, true, 'result package handoff bridge summary bridge-ready missing');
|
|
2046
|
-
const resultPackageHandoffBridgeBoundary = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/bridge-boundary', {
|
|
2047
|
-
handoff_bundle: {
|
|
2048
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2049
|
-
source_ref: 'spine.job.commitment',
|
|
2050
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2051
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2052
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2053
|
-
committed_ref: 'transaction.job.commitment',
|
|
2054
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2055
|
-
payment_protocol: 'x402',
|
|
2056
|
-
settlement_mode: 'evm_payment',
|
|
2057
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2058
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2059
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2060
|
-
}
|
|
2061
|
-
});
|
|
2062
|
-
assert.strictEqual(resultPackageHandoffBridgeBoundary.status, 200, 'result package handoff bridge boundary route failed');
|
|
2063
|
-
assert.strictEqual(resultPackageHandoffBridgeBoundary.json.adapter_bridge_ref, 'bridge.contract.default.review.result.spine.job.commitment', 'result package handoff bridge boundary ref missing');
|
|
2064
|
-
assert.strictEqual(resultPackageHandoffBridgeBoundary.json.stable_boundary_ids.includes('proof_run'), true, 'result package handoff bridge boundary ids missing');
|
|
2065
|
-
const resultPackageHandoffBridgeCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/bridge-carry', {
|
|
2066
|
-
handoff_bundle: {
|
|
2067
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2068
|
-
source_ref: 'spine.job.commitment',
|
|
2069
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2070
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2071
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2072
|
-
committed_ref: 'transaction.job.commitment',
|
|
2073
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2074
|
-
payment_protocol: 'x402',
|
|
2075
|
-
settlement_mode: 'evm_payment',
|
|
2076
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2077
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2078
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2079
|
-
}
|
|
2080
|
-
});
|
|
2081
|
-
assert.strictEqual(resultPackageHandoffBridgeCarry.status, 200, 'result package handoff bridge carry route failed');
|
|
2082
|
-
assert.strictEqual(resultPackageHandoffBridgeCarry.json.adapter_bridge_ref, 'bridge.contract.default.review.result.spine.job.commitment', 'result package handoff bridge carry ref missing');
|
|
2083
|
-
assert.strictEqual(resultPackageHandoffBridgeCarry.json.stable_bridge_ids.includes('proof_run'), true, 'result package handoff bridge carry ids missing');
|
|
2084
|
-
assert.strictEqual(resultPackageHandoffBridgeCarry.json.bridge_ready, true, 'result package handoff bridge carry bridge-ready missing');
|
|
2085
|
-
const resultPackageHandoffBridgeRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/bridge-run', {
|
|
2086
|
-
handoff_bundle: {
|
|
2087
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2088
|
-
source_ref: 'spine.job.commitment',
|
|
2089
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2090
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2091
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2092
|
-
committed_ref: 'transaction.job.commitment',
|
|
2093
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2094
|
-
payment_protocol: 'x402',
|
|
2095
|
-
settlement_mode: 'evm_payment',
|
|
2096
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2097
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2098
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2099
|
-
}
|
|
2100
|
-
});
|
|
2101
|
-
assert.strictEqual(resultPackageHandoffBridgeRun.status, 200, 'result package handoff bridge run route failed');
|
|
2102
|
-
assert.strictEqual(resultPackageHandoffBridgeRun.json.adapter_bridge_ref, 'bridge.contract.default.review.result.spine.job.commitment', 'result package handoff bridge run ref missing');
|
|
2103
|
-
assert.strictEqual(resultPackageHandoffBridgeRun.json.accepted_bridge_ids.includes('proof_run'), true, 'result package handoff bridge run accepted ids missing');
|
|
2104
|
-
assert.strictEqual(resultPackageHandoffBridgeRun.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package handoff bridge run surface missing');
|
|
2105
|
-
const resultPackageHandoffContinuity = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/handoff-continuity', {
|
|
2106
|
-
handoff_bundle: {
|
|
2107
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2108
|
-
source_ref: 'spine.job.commitment',
|
|
2109
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2110
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2111
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2112
|
-
committed_ref: 'transaction.job.commitment',
|
|
2113
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2114
|
-
payment_protocol: 'x402',
|
|
2115
|
-
settlement_mode: 'evm_payment',
|
|
2116
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2117
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2118
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2119
|
-
}
|
|
2120
|
-
});
|
|
2121
|
-
assert.strictEqual(resultPackageHandoffContinuity.status, 200, 'result package handoff continuity route failed');
|
|
2122
|
-
assert.strictEqual(resultPackageHandoffContinuity.json.handoff_contract_ref, 'handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package handoff continuity ref missing');
|
|
2123
|
-
assert.strictEqual(resultPackageHandoffContinuity.json.stable_handoff_ids.includes('proof_run'), true, 'result package handoff continuity ids missing');
|
|
2124
|
-
assert.strictEqual(resultPackageHandoffContinuity.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package handoff continuity surface missing');
|
|
2125
|
-
const resultPackageHandoffIntake = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/handoff-intake', {
|
|
2126
|
-
handoff_bundle: {
|
|
2127
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2128
|
-
source_ref: 'spine.job.commitment',
|
|
2129
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2130
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2131
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2132
|
-
committed_ref: 'transaction.job.commitment',
|
|
2133
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2134
|
-
payment_protocol: 'x402',
|
|
2135
|
-
settlement_mode: 'evm_payment',
|
|
2136
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2137
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2138
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2139
|
-
}
|
|
2140
|
-
});
|
|
2141
|
-
assert.strictEqual(resultPackageHandoffIntake.status, 200, 'result package handoff intake route failed');
|
|
2142
|
-
assert.strictEqual(resultPackageHandoffIntake.json.handoff_surface_ref, 'surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package handoff intake ref missing');
|
|
2143
|
-
assert.strictEqual(resultPackageHandoffIntake.json.adapter_consumable, true, 'result package handoff intake consumable missing');
|
|
2144
|
-
const resultPackageHandoffIntakeBoundary = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/handoff-intake-boundary', {
|
|
2145
|
-
handoff_bundle: {
|
|
2146
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2147
|
-
source_ref: 'spine.job.commitment',
|
|
2148
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2149
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2150
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2151
|
-
committed_ref: 'transaction.job.commitment',
|
|
2152
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2153
|
-
payment_protocol: 'x402',
|
|
2154
|
-
settlement_mode: 'evm_payment',
|
|
2155
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2156
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2157
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2158
|
-
}
|
|
2159
|
-
});
|
|
2160
|
-
assert.strictEqual(resultPackageHandoffIntakeBoundary.status, 200, 'result package handoff intake boundary route failed');
|
|
2161
|
-
assert.strictEqual(resultPackageHandoffIntakeBoundary.json.handoff_surface_ref, 'surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package handoff intake boundary ref missing');
|
|
2162
|
-
assert.strictEqual(resultPackageHandoffIntakeBoundary.json.stable_boundary_ids.includes('proof_run'), true, 'result package handoff intake boundary ids missing');
|
|
2163
|
-
const resultPackageHandoffIntakeCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/handoff-intake-carry', {
|
|
2164
|
-
handoff_bundle: {
|
|
2165
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2166
|
-
source_ref: 'spine.job.commitment',
|
|
2167
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2168
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2169
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2170
|
-
committed_ref: 'transaction.job.commitment',
|
|
2171
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2172
|
-
payment_protocol: 'x402',
|
|
2173
|
-
settlement_mode: 'evm_payment',
|
|
2174
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2175
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2176
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2177
|
-
}
|
|
2178
|
-
});
|
|
2179
|
-
assert.strictEqual(resultPackageHandoffIntakeCarry.status, 200, 'result package handoff intake carry route failed');
|
|
2180
|
-
assert.strictEqual(resultPackageHandoffIntakeCarry.json.handoff_surface_ref, 'surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package handoff intake carry ref missing');
|
|
2181
|
-
assert.strictEqual(resultPackageHandoffIntakeCarry.json.stable_handoff_surface_ids.includes('proof_run'), true, 'result package handoff intake carry ids missing');
|
|
2182
|
-
assert.strictEqual(resultPackageHandoffIntakeCarry.json.adapter_consumable, true, 'result package handoff intake carry consumable missing');
|
|
2183
|
-
const resultPackageHandoffPackageIntake = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/handoff-package-intake', {
|
|
2184
|
-
handoff_bundle: {
|
|
2185
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2186
|
-
source_ref: 'spine.job.commitment',
|
|
2187
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2188
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2189
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2190
|
-
committed_ref: 'transaction.job.commitment',
|
|
2191
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2192
|
-
payment_protocol: 'x402',
|
|
2193
|
-
settlement_mode: 'evm_payment',
|
|
2194
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2195
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2196
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2197
|
-
}
|
|
2198
|
-
});
|
|
2199
|
-
assert.strictEqual(resultPackageHandoffPackageIntake.status, 200, 'result package handoff package intake route failed');
|
|
2200
|
-
assert.strictEqual(resultPackageHandoffPackageIntake.json.handoff_package_ref, 'package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package handoff package intake ref missing');
|
|
2201
|
-
assert.strictEqual(resultPackageHandoffPackageIntake.json.adapter_usable, true, 'result package handoff package intake usable missing');
|
|
2202
|
-
const resultPackageHandoffPackageCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/handoff-package-carry', {
|
|
2203
|
-
handoff_bundle: {
|
|
2204
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2205
|
-
source_ref: 'spine.job.commitment',
|
|
2206
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2207
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2208
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2209
|
-
committed_ref: 'transaction.job.commitment',
|
|
2210
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2211
|
-
payment_protocol: 'x402',
|
|
2212
|
-
settlement_mode: 'evm_payment',
|
|
2213
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2214
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2215
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2216
|
-
}
|
|
2217
|
-
});
|
|
2218
|
-
assert.strictEqual(resultPackageHandoffPackageCarry.status, 200, 'result package handoff package carry route failed');
|
|
2219
|
-
assert.strictEqual(resultPackageHandoffPackageCarry.json.handoff_package_ref, 'package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package handoff package carry ref missing');
|
|
2220
|
-
assert.strictEqual(resultPackageHandoffPackageCarry.json.stable_handoff_package_ids.includes('proof_run'), true, 'result package handoff package carry ids missing');
|
|
2221
|
-
assert.strictEqual(resultPackageHandoffPackageCarry.json.adapter_usable, true, 'result package handoff package carry usable missing');
|
|
2222
|
-
const resultPackageHandoffPackageRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/handoff-package-run', {
|
|
2223
|
-
handoff_bundle: {
|
|
2224
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2225
|
-
source_ref: 'spine.job.commitment',
|
|
2226
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2227
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2228
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2229
|
-
committed_ref: 'transaction.job.commitment',
|
|
2230
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2231
|
-
payment_protocol: 'x402',
|
|
2232
|
-
settlement_mode: 'evm_payment',
|
|
2233
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2234
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2235
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2236
|
-
}
|
|
2237
|
-
});
|
|
2238
|
-
assert.strictEqual(resultPackageHandoffPackageRun.status, 200, 'result package handoff package run route failed');
|
|
2239
|
-
assert.strictEqual(resultPackageHandoffPackageRun.json.handoff_package_ref, 'package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package handoff package run ref missing');
|
|
2240
|
-
assert.strictEqual(resultPackageHandoffPackageRun.json.accepted_handoff_package_ids.includes('proof_run'), true, 'result package handoff package run accepted ids missing');
|
|
2241
|
-
assert.strictEqual(resultPackageHandoffPackageRun.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package handoff package run surface missing');
|
|
2242
|
-
const resultPackageExecutionPackage = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/execution-package', {
|
|
2243
|
-
handoff_bundle: {
|
|
2244
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2245
|
-
source_ref: 'spine.job.commitment',
|
|
2246
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2247
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2248
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2249
|
-
committed_ref: 'transaction.job.commitment',
|
|
2250
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2251
|
-
payment_protocol: 'x402',
|
|
2252
|
-
settlement_mode: 'evm_payment',
|
|
2253
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2254
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2255
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2256
|
-
}
|
|
2257
|
-
});
|
|
2258
|
-
assert.strictEqual(resultPackageExecutionPackage.status, 200, 'result package execution package route failed');
|
|
2259
|
-
assert.strictEqual(resultPackageExecutionPackage.json.execution_package_ref, 'execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package execution package ref missing');
|
|
2260
|
-
assert.strictEqual(resultPackageExecutionPackage.json.accepted_execution_package_ids.includes('proof_run'), true, 'result package execution package accepted ids missing');
|
|
2261
|
-
assert.strictEqual(resultPackageExecutionPackage.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package execution package surface missing');
|
|
2262
|
-
const resultPackageExecutionPackageCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/execution-package-carry', {
|
|
2263
|
-
handoff_bundle: {
|
|
2264
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2265
|
-
source_ref: 'spine.job.commitment',
|
|
2266
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2267
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2268
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2269
|
-
committed_ref: 'transaction.job.commitment',
|
|
2270
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2271
|
-
payment_protocol: 'x402',
|
|
2272
|
-
settlement_mode: 'evm_payment',
|
|
2273
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2274
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2275
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2276
|
-
}
|
|
2277
|
-
});
|
|
2278
|
-
assert.strictEqual(resultPackageExecutionPackageCarry.status, 200, 'result package execution package carry route failed');
|
|
2279
|
-
assert.strictEqual(resultPackageExecutionPackageCarry.json.execution_package_ref, 'execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package execution package carry ref missing');
|
|
2280
|
-
assert.strictEqual(resultPackageExecutionPackageCarry.json.accepted_execution_package_ids.includes('proof_run'), true, 'result package execution package carry ids missing');
|
|
2281
|
-
assert.strictEqual(resultPackageExecutionPackageCarry.json.adapter_ready, true, 'result package execution package carry ready missing');
|
|
2282
|
-
const resultPackageExecutionPackageRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/execution-package-run', {
|
|
2283
|
-
handoff_bundle: {
|
|
2284
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2285
|
-
source_ref: 'spine.job.commitment',
|
|
2286
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2287
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2288
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2289
|
-
committed_ref: 'transaction.job.commitment',
|
|
2290
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2291
|
-
payment_protocol: 'x402',
|
|
2292
|
-
settlement_mode: 'evm_payment',
|
|
2293
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2294
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2295
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2296
|
-
}
|
|
2297
|
-
});
|
|
2298
|
-
assert.strictEqual(resultPackageExecutionPackageRun.status, 200, 'result package execution package run route failed');
|
|
2299
|
-
assert.strictEqual(resultPackageExecutionPackageRun.json.execution_package_ref, 'execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package execution package run ref missing');
|
|
2300
|
-
assert.strictEqual(resultPackageExecutionPackageRun.json.accepted_execution_package_ids.includes('proof_run'), true, 'result package execution package run ids missing');
|
|
2301
|
-
assert.strictEqual(resultPackageExecutionPackageRun.json.execution_ready_by_default, true, 'result package execution package run ready missing');
|
|
2302
|
-
assert.strictEqual(resultPackageExecutionPackageRun.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package execution package run surface missing');
|
|
2303
|
-
const resultPackageExecutionContract = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/execution-contract', {
|
|
2304
|
-
handoff_bundle: {
|
|
2305
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2306
|
-
source_ref: 'spine.job.commitment',
|
|
2307
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2308
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2309
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2310
|
-
committed_ref: 'transaction.job.commitment',
|
|
2311
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2312
|
-
payment_protocol: 'x402',
|
|
2313
|
-
settlement_mode: 'evm_payment',
|
|
2314
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2315
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2316
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2317
|
-
}
|
|
2318
|
-
});
|
|
2319
|
-
assert.strictEqual(resultPackageExecutionContract.status, 200, 'result package execution contract route failed');
|
|
2320
|
-
assert.strictEqual(resultPackageExecutionContract.json.execution_contract_ref, 'contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package execution contract ref missing');
|
|
2321
|
-
assert.strictEqual(resultPackageExecutionContract.json.accepted_execution_contract_ids.includes('proof_run'), true, 'result package execution contract ids missing');
|
|
2322
|
-
assert.strictEqual(resultPackageExecutionContract.json.adapter_operable, true, 'result package execution contract operable missing');
|
|
2323
|
-
assert.strictEqual(resultPackageExecutionContract.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package execution contract surface missing');
|
|
2324
|
-
const resultPackageExecutionContractCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/execution-contract-carry', {
|
|
2325
|
-
handoff_bundle: {
|
|
2326
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2327
|
-
source_ref: 'spine.job.commitment',
|
|
2328
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2329
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2330
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2331
|
-
committed_ref: 'transaction.job.commitment',
|
|
2332
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2333
|
-
payment_protocol: 'x402',
|
|
2334
|
-
settlement_mode: 'evm_payment',
|
|
2335
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2336
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2337
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2338
|
-
}
|
|
2339
|
-
});
|
|
2340
|
-
assert.strictEqual(resultPackageExecutionContractCarry.status, 200, 'result package execution contract carry route failed');
|
|
2341
|
-
assert.strictEqual(resultPackageExecutionContractCarry.json.execution_contract_ref, 'contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package execution contract carry ref missing');
|
|
2342
|
-
assert.strictEqual(resultPackageExecutionContractCarry.json.accepted_execution_contract_ids.includes('proof_run'), true, 'result package execution contract carry ids missing');
|
|
2343
|
-
assert.strictEqual(resultPackageExecutionContractCarry.json.adapter_operable, true, 'result package execution contract carry operable missing');
|
|
2344
|
-
const resultPackageExecutionContractRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/execution-contract-run', {
|
|
2345
|
-
handoff_bundle: {
|
|
2346
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2347
|
-
source_ref: 'spine.job.commitment',
|
|
2348
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2349
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2350
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2351
|
-
committed_ref: 'transaction.job.commitment',
|
|
2352
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2353
|
-
payment_protocol: 'x402',
|
|
2354
|
-
settlement_mode: 'evm_payment',
|
|
2355
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2356
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2357
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2358
|
-
}
|
|
2359
|
-
});
|
|
2360
|
-
assert.strictEqual(resultPackageExecutionContractRun.status, 200, 'result package execution contract run route failed');
|
|
2361
|
-
assert.strictEqual(resultPackageExecutionContractRun.json.execution_contract_ref, 'contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package execution contract run ref missing');
|
|
2362
|
-
assert.strictEqual(resultPackageExecutionContractRun.json.accepted_execution_contract_ids.includes('proof_run'), true, 'result package execution contract run ids missing');
|
|
2363
|
-
assert.strictEqual(resultPackageExecutionContractRun.json.execution_operable_by_default, true, 'result package execution contract run operable missing');
|
|
2364
|
-
assert.strictEqual(resultPackageExecutionContractRun.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package execution contract run surface missing');
|
|
2365
|
-
const resultPackageOperatingContract = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-contract', {
|
|
2366
|
-
handoff_bundle: {
|
|
2367
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2368
|
-
source_ref: 'spine.job.commitment',
|
|
2369
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2370
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2371
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2372
|
-
committed_ref: 'transaction.job.commitment',
|
|
2373
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2374
|
-
payment_protocol: 'x402',
|
|
2375
|
-
settlement_mode: 'evm_payment',
|
|
2376
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2377
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2378
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2379
|
-
}
|
|
2380
|
-
});
|
|
2381
|
-
assert.strictEqual(resultPackageOperatingContract.status, 200, 'result package operating contract route failed');
|
|
2382
|
-
assert.strictEqual(resultPackageOperatingContract.json.operating_contract_ref, 'operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating contract ref missing');
|
|
2383
|
-
assert.strictEqual(resultPackageOperatingContract.json.accepted_operating_contract_ids.includes('proof_run'), true, 'result package operating contract ids missing');
|
|
2384
|
-
assert.strictEqual(resultPackageOperatingContract.json.adapter_stable, true, 'result package operating contract stable missing');
|
|
2385
|
-
assert.strictEqual(resultPackageOperatingContract.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package operating contract surface missing');
|
|
2386
|
-
const resultPackageOperatingContractCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-contract-carry', {
|
|
2387
|
-
handoff_bundle: {
|
|
2388
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2389
|
-
source_ref: 'spine.job.commitment',
|
|
2390
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2391
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2392
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2393
|
-
committed_ref: 'transaction.job.commitment',
|
|
2394
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2395
|
-
payment_protocol: 'x402',
|
|
2396
|
-
settlement_mode: 'evm_payment',
|
|
2397
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2398
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2399
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2400
|
-
}
|
|
2401
|
-
});
|
|
2402
|
-
assert.strictEqual(resultPackageOperatingContractCarry.status, 200, 'result package operating contract carry route failed');
|
|
2403
|
-
assert.strictEqual(resultPackageOperatingContractCarry.json.operating_contract_ref, 'operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating contract carry ref missing');
|
|
2404
|
-
assert.strictEqual(resultPackageOperatingContractCarry.json.accepted_operating_contract_ids.includes('proof_run'), true, 'result package operating contract carry ids missing');
|
|
2405
|
-
assert.strictEqual(resultPackageOperatingContractCarry.json.adapter_stable, true, 'result package operating contract carry stable missing');
|
|
2406
|
-
const resultPackageOperatingContractRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-contract-run', {
|
|
2407
|
-
handoff_bundle: {
|
|
2408
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2409
|
-
source_ref: 'spine.job.commitment',
|
|
2410
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2411
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2412
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2413
|
-
committed_ref: 'transaction.job.commitment',
|
|
2414
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2415
|
-
payment_protocol: 'x402',
|
|
2416
|
-
settlement_mode: 'evm_payment',
|
|
2417
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2418
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2419
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2420
|
-
}
|
|
2421
|
-
});
|
|
2422
|
-
assert.strictEqual(resultPackageOperatingContractRun.status, 200, 'result package operating contract run route failed');
|
|
2423
|
-
assert.strictEqual(resultPackageOperatingContractRun.json.operating_contract_ref, 'operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating contract run ref missing');
|
|
2424
|
-
assert.strictEqual(resultPackageOperatingContractRun.json.accepted_operating_contract_ids.includes('proof_run'), true, 'result package operating contract run ids missing');
|
|
2425
|
-
assert.strictEqual(resultPackageOperatingContractRun.json.operating_stable_by_default, true, 'result package operating contract run stable missing');
|
|
2426
|
-
assert.strictEqual(resultPackageOperatingContractRun.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package operating contract run surface missing');
|
|
2427
|
-
const resultPackageOperatingInterface = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-interface', {
|
|
2428
|
-
handoff_bundle: {
|
|
2429
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2430
|
-
source_ref: 'spine.job.commitment',
|
|
2431
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2432
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2433
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2434
|
-
committed_ref: 'transaction.job.commitment',
|
|
2435
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2436
|
-
payment_protocol: 'x402',
|
|
2437
|
-
settlement_mode: 'evm_payment',
|
|
2438
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2439
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2440
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2441
|
-
}
|
|
2442
|
-
});
|
|
2443
|
-
assert.strictEqual(resultPackageOperatingInterface.status, 200, 'result package operating interface route failed');
|
|
2444
|
-
assert.strictEqual(resultPackageOperatingInterface.json.operating_interface_ref, 'interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating interface ref missing');
|
|
2445
|
-
assert.strictEqual(resultPackageOperatingInterface.json.accepted_operating_interface_ids.includes('proof_run'), true, 'result package operating interface ids missing');
|
|
2446
|
-
assert.strictEqual(resultPackageOperatingInterface.json.adapter_reliable, true, 'result package operating interface reliable missing');
|
|
2447
|
-
assert.strictEqual(resultPackageOperatingInterface.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package operating interface surface missing');
|
|
2448
|
-
const resultPackageOperatingInterfaceCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-interface-carry', {
|
|
2449
|
-
handoff_bundle: {
|
|
2450
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2451
|
-
source_ref: 'spine.job.commitment',
|
|
2452
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2453
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2454
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2455
|
-
committed_ref: 'transaction.job.commitment',
|
|
2456
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2457
|
-
payment_protocol: 'x402',
|
|
2458
|
-
settlement_mode: 'evm_payment',
|
|
2459
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2460
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2461
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2462
|
-
}
|
|
2463
|
-
});
|
|
2464
|
-
assert.strictEqual(resultPackageOperatingInterfaceCarry.status, 200, 'result package operating interface carry route failed');
|
|
2465
|
-
assert.strictEqual(resultPackageOperatingInterfaceCarry.json.operating_interface_ref, 'interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating interface carry ref missing');
|
|
2466
|
-
assert.strictEqual(resultPackageOperatingInterfaceCarry.json.accepted_operating_interface_ids.includes('proof_run'), true, 'result package operating interface carry ids missing');
|
|
2467
|
-
assert.strictEqual(resultPackageOperatingInterfaceCarry.json.adapter_reliable, true, 'result package operating interface carry reliable missing');
|
|
2468
|
-
const resultPackageOperatingInterfaceRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-interface-run', {
|
|
2469
|
-
handoff_bundle: {
|
|
2470
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2471
|
-
source_ref: 'spine.job.commitment',
|
|
2472
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2473
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2474
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2475
|
-
committed_ref: 'transaction.job.commitment',
|
|
2476
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2477
|
-
payment_protocol: 'x402',
|
|
2478
|
-
settlement_mode: 'evm_payment',
|
|
2479
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2480
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2481
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2482
|
-
}
|
|
2483
|
-
});
|
|
2484
|
-
assert.strictEqual(resultPackageOperatingInterfaceRun.status, 200, 'result package operating interface run route failed');
|
|
2485
|
-
assert.strictEqual(resultPackageOperatingInterfaceRun.json.operating_interface_ref, 'interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating interface run ref missing');
|
|
2486
|
-
assert.strictEqual(resultPackageOperatingInterfaceRun.json.accepted_operating_interface_ids.includes('proof_run'), true, 'result package operating interface run ids missing');
|
|
2487
|
-
assert.strictEqual(resultPackageOperatingInterfaceRun.json.operating_interface_reliable_by_default, true, 'result package operating interface run reliable missing');
|
|
2488
|
-
assert.strictEqual(resultPackageOperatingInterfaceRun.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package operating interface run surface missing');
|
|
2489
|
-
const resultPackageOperatingIntegration = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-integration', {
|
|
2490
|
-
handoff_bundle: {
|
|
2491
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2492
|
-
source_ref: 'spine.job.commitment',
|
|
2493
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2494
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2495
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2496
|
-
committed_ref: 'transaction.job.commitment',
|
|
2497
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2498
|
-
payment_protocol: 'x402',
|
|
2499
|
-
settlement_mode: 'evm_payment',
|
|
2500
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2501
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2502
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2503
|
-
}
|
|
2504
|
-
});
|
|
2505
|
-
assert.strictEqual(resultPackageOperatingIntegration.status, 200, 'result package operating integration route failed');
|
|
2506
|
-
assert.strictEqual(resultPackageOperatingIntegration.json.operating_integration_ref, 'integration.interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating integration ref missing');
|
|
2507
|
-
assert.strictEqual(resultPackageOperatingIntegration.json.accepted_operating_integration_ids.includes('proof_run'), true, 'result package operating integration ids missing');
|
|
2508
|
-
assert.strictEqual(resultPackageOperatingIntegration.json.adapter_integrable, true, 'result package operating integration integrable missing');
|
|
2509
|
-
assert.strictEqual(resultPackageOperatingIntegration.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package operating integration surface missing');
|
|
2510
|
-
const resultPackageOperatingIntegrationCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-integration-carry', {
|
|
2511
|
-
handoff_bundle: {
|
|
2512
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2513
|
-
source_ref: 'spine.job.commitment',
|
|
2514
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2515
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2516
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2517
|
-
committed_ref: 'transaction.job.commitment',
|
|
2518
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2519
|
-
payment_protocol: 'x402',
|
|
2520
|
-
settlement_mode: 'evm_payment',
|
|
2521
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2522
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2523
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2524
|
-
}
|
|
2525
|
-
});
|
|
2526
|
-
assert.strictEqual(resultPackageOperatingIntegrationCarry.status, 200, 'result package operating integration carry route failed');
|
|
2527
|
-
assert.strictEqual(resultPackageOperatingIntegrationCarry.json.operating_integration_ref, 'integration.interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating integration carry ref missing');
|
|
2528
|
-
assert.strictEqual(resultPackageOperatingIntegrationCarry.json.accepted_operating_integration_ids.includes('proof_run'), true, 'result package operating integration carry ids missing');
|
|
2529
|
-
assert.strictEqual(resultPackageOperatingIntegrationCarry.json.adapter_integrable, true, 'result package operating integration carry integrable missing');
|
|
2530
|
-
const resultPackageOperatingIntegrationRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-integration-run', {
|
|
2531
|
-
handoff_bundle: {
|
|
2532
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2533
|
-
source_ref: 'spine.job.commitment',
|
|
2534
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2535
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2536
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2537
|
-
committed_ref: 'transaction.job.commitment',
|
|
2538
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2539
|
-
payment_protocol: 'x402',
|
|
2540
|
-
settlement_mode: 'evm_payment',
|
|
2541
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2542
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2543
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2544
|
-
}
|
|
2545
|
-
});
|
|
2546
|
-
assert.strictEqual(resultPackageOperatingIntegrationRun.status, 200, 'result package operating integration run route failed');
|
|
2547
|
-
assert.strictEqual(resultPackageOperatingIntegrationRun.json.operating_integration_ref, 'integration.interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating integration run ref missing');
|
|
2548
|
-
assert.strictEqual(resultPackageOperatingIntegrationRun.json.accepted_operating_integration_ids.includes('proof_run'), true, 'result package operating integration run ids missing');
|
|
2549
|
-
assert.strictEqual(resultPackageOperatingIntegrationRun.json.operating_integration_integrable_by_default, true, 'result package operating integration run integrable missing');
|
|
2550
|
-
assert.strictEqual(resultPackageOperatingIntegrationRun.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package operating integration run surface missing');
|
|
2551
|
-
const resultPackageOperatingPath = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-path', {
|
|
2552
|
-
handoff_bundle: {
|
|
2553
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2554
|
-
source_ref: 'spine.job.commitment',
|
|
2555
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2556
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2557
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2558
|
-
committed_ref: 'transaction.job.commitment',
|
|
2559
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2560
|
-
payment_protocol: 'x402',
|
|
2561
|
-
settlement_mode: 'evm_payment',
|
|
2562
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2563
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2564
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2565
|
-
}
|
|
2566
|
-
});
|
|
2567
|
-
assert.strictEqual(resultPackageOperatingPath.status, 200, 'result package operating path route failed');
|
|
2568
|
-
assert.strictEqual(resultPackageOperatingPath.json.operating_path_ref, 'path.integration.interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating path ref missing');
|
|
2569
|
-
assert.strictEqual(resultPackageOperatingPath.json.accepted_operating_path_ids.includes('proof_run'), true, 'result package operating path ids missing');
|
|
2570
|
-
assert.strictEqual(resultPackageOperatingPath.json.adapter_ready_by_default, true, 'result package operating path default readiness missing');
|
|
2571
|
-
assert.strictEqual(resultPackageOperatingPath.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package operating path surface missing');
|
|
2572
|
-
const resultPackageOperatingPathCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-path-carry', {
|
|
2573
|
-
handoff_bundle: {
|
|
2574
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2575
|
-
source_ref: 'spine.job.commitment',
|
|
2576
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2577
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2578
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2579
|
-
committed_ref: 'transaction.job.commitment',
|
|
2580
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2581
|
-
payment_protocol: 'x402',
|
|
2582
|
-
settlement_mode: 'evm_payment',
|
|
2583
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2584
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2585
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2586
|
-
}
|
|
2587
|
-
});
|
|
2588
|
-
assert.strictEqual(resultPackageOperatingPathCarry.status, 200, 'result package operating path carry route failed');
|
|
2589
|
-
assert.strictEqual(resultPackageOperatingPathCarry.json.operating_path_ref, 'path.integration.interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating path carry ref missing');
|
|
2590
|
-
assert.strictEqual(resultPackageOperatingPathCarry.json.accepted_operating_path_ids.includes('proof_run'), true, 'result package operating path carry ids missing');
|
|
2591
|
-
assert.strictEqual(resultPackageOperatingPathCarry.json.adapter_ready_by_default, true, 'result package operating path carry default readiness missing');
|
|
2592
|
-
const resultPackageOperatingPathRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/operating-path-run', {
|
|
2593
|
-
handoff_bundle: {
|
|
2594
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2595
|
-
source_ref: 'spine.job.commitment',
|
|
2596
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2597
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2598
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2599
|
-
committed_ref: 'transaction.job.commitment',
|
|
2600
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2601
|
-
payment_protocol: 'x402',
|
|
2602
|
-
settlement_mode: 'evm_payment',
|
|
2603
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2604
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2605
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2606
|
-
}
|
|
2607
|
-
});
|
|
2608
|
-
assert.strictEqual(resultPackageOperatingPathRun.status, 200, 'result package operating path run route failed');
|
|
2609
|
-
assert.strictEqual(resultPackageOperatingPathRun.json.operating_path_ref, 'path.integration.interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package operating path run ref missing');
|
|
2610
|
-
assert.strictEqual(resultPackageOperatingPathRun.json.accepted_operating_path_ids.includes('proof_run'), true, 'result package operating path run ids missing');
|
|
2611
|
-
assert.strictEqual(resultPackageOperatingPathRun.json.operating_path_ready_by_default, true, 'result package operating path run ready missing');
|
|
2612
|
-
assert.strictEqual(resultPackageOperatingPathRun.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package operating path run surface missing');
|
|
2613
|
-
const resultPackageCompleteDefaultPath = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/complete-default-path', {
|
|
2614
|
-
handoff_bundle: {
|
|
2615
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2616
|
-
source_ref: 'spine.job.commitment',
|
|
2617
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2618
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2619
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2620
|
-
committed_ref: 'transaction.job.commitment',
|
|
2621
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2622
|
-
payment_protocol: 'x402',
|
|
2623
|
-
settlement_mode: 'evm_payment',
|
|
2624
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2625
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2626
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2627
|
-
}
|
|
2628
|
-
});
|
|
2629
|
-
assert.strictEqual(resultPackageCompleteDefaultPath.status, 200, 'result package complete default path route failed');
|
|
2630
|
-
assert.strictEqual(resultPackageCompleteDefaultPath.json.complete_default_path_ref, 'complete.path.integration.interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package complete default path ref missing');
|
|
2631
|
-
assert.strictEqual(resultPackageCompleteDefaultPath.json.accepted_complete_default_path_ids.includes('proof_run'), true, 'result package complete default path ids missing');
|
|
2632
|
-
assert.strictEqual(resultPackageCompleteDefaultPath.json.adapter_complete_by_default, true, 'result package complete default path complete missing');
|
|
2633
|
-
assert.strictEqual(resultPackageCompleteDefaultPath.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package complete default path surface missing');
|
|
2634
|
-
const resultPackageCompleteDefaultPathCarry = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/complete-default-path-carry', {
|
|
2635
|
-
handoff_bundle: {
|
|
2636
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2637
|
-
source_ref: 'spine.job.commitment',
|
|
2638
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2639
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2640
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2641
|
-
committed_ref: 'transaction.job.commitment',
|
|
2642
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2643
|
-
payment_protocol: 'x402',
|
|
2644
|
-
settlement_mode: 'evm_payment',
|
|
2645
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2646
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2647
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2648
|
-
}
|
|
2649
|
-
});
|
|
2650
|
-
assert.strictEqual(resultPackageCompleteDefaultPathCarry.status, 200, 'result package complete default path carry route failed');
|
|
2651
|
-
assert.strictEqual(resultPackageCompleteDefaultPathCarry.json.complete_default_path_ref, 'complete.path.integration.interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package complete default path carry ref missing');
|
|
2652
|
-
assert.strictEqual(resultPackageCompleteDefaultPathCarry.json.accepted_complete_default_path_ids.includes('proof_run'), true, 'result package complete default path carry ids missing');
|
|
2653
|
-
assert.strictEqual(resultPackageCompleteDefaultPathCarry.json.adapter_complete_by_default, true, 'result package complete default path carry complete missing');
|
|
2654
|
-
const resultPackageCompleteDefaultPathRun = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/complete-default-path-run', {
|
|
2655
|
-
handoff_bundle: {
|
|
2656
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2657
|
-
source_ref: 'spine.job.commitment',
|
|
2658
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2659
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2660
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2661
|
-
committed_ref: 'transaction.job.commitment',
|
|
2662
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2663
|
-
payment_protocol: 'x402',
|
|
2664
|
-
settlement_mode: 'evm_payment',
|
|
2665
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2666
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2667
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2668
|
-
}
|
|
2669
|
-
});
|
|
2670
|
-
assert.strictEqual(resultPackageCompleteDefaultPathRun.status, 200, 'result package complete default path run route failed');
|
|
2671
|
-
assert.strictEqual(resultPackageCompleteDefaultPathRun.json.complete_default_path_ref, 'complete.path.integration.interface.operating.contract.execution.package.surface.handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package complete default path run ref missing');
|
|
2672
|
-
assert.strictEqual(resultPackageCompleteDefaultPathRun.json.accepted_complete_default_path_ids.includes('proof_run'), true, 'result package complete default path run ids missing');
|
|
2673
|
-
assert.strictEqual(resultPackageCompleteDefaultPathRun.json.complete_default_path_ready, true, 'result package complete default path run ready missing');
|
|
2674
|
-
assert.strictEqual(resultPackageCompleteDefaultPathRun.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package complete default path run surface missing');
|
|
2675
|
-
const resultPackageHandoffRunReview = await postJson(baseUrl, '/v1/proof-center/result-package-handoff/review/handoff-run', {
|
|
2676
|
-
handoff_bundle: {
|
|
2677
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2678
|
-
source_ref: 'spine.job.commitment',
|
|
2679
|
-
transaction_id: 'txn-result-package-review-service-1',
|
|
2680
|
-
receipt_id: 'txn-result-package-review-receipt-service-1',
|
|
2681
|
-
proof_ref: 'memory://proof/service/result-package-review-proof',
|
|
2682
|
-
committed_ref: 'transaction.job.commitment',
|
|
2683
|
-
precommit_pack_ref: 'precommit.job.commitment.readiness',
|
|
2684
|
-
payment_protocol: 'x402',
|
|
2685
|
-
settlement_mode: 'evm_payment',
|
|
2686
|
-
treasury_destination_id: 'treasury_acct_demo',
|
|
2687
|
-
task_refs: ['jobs.quote', 'admission.preview', 'jobs.reserve', 'jobs.commit'],
|
|
2688
|
-
seam_layers: ['execution_consequence', 'payment_settlement_treasury', 'proof_handoff']
|
|
2689
|
-
}
|
|
2690
|
-
});
|
|
2691
|
-
assert.strictEqual(resultPackageHandoffRunReview.status, 200, 'result package handoff run route failed');
|
|
2692
|
-
assert.strictEqual(resultPackageHandoffRunReview.json.handoff_contract_ref, 'handoff.bridge.contract.default.review.result.spine.job.commitment', 'result package handoff run ref missing');
|
|
2693
|
-
assert.strictEqual(resultPackageHandoffRunReview.json.accepted_handoff_ids.includes('proof_run'), true, 'result package handoff run accepted ids missing');
|
|
2694
|
-
assert.strictEqual(resultPackageHandoffRunReview.json.run_surface, '/v1/proof-center/result-package-handoff/run', 'result package handoff run surface missing');
|
|
2695
|
-
const governanceInterpretation = await postJson(baseUrl, '/v1/proof-center/governance/interpretation-validate', {
|
|
2696
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2697
|
-
case_ref: 'case-demo',
|
|
2698
|
-
interpretation_context: {
|
|
2699
|
-
policy_ref: 'policy-demo',
|
|
2700
|
-
}
|
|
2701
|
-
});
|
|
2702
|
-
assert.strictEqual(governanceInterpretation.status, 200, 'governance interpretation route failed');
|
|
2703
|
-
assert.strictEqual(governanceInterpretation.json.interpretation_status, 'validated', 'governance interpretation status missing');
|
|
2704
|
-
const governanceCoordination = await postJson(baseUrl, '/v1/proof-center/governance/coordination', {
|
|
2705
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2706
|
-
case_ref: 'case-demo'
|
|
2707
|
-
});
|
|
2708
|
-
assert.strictEqual(governanceCoordination.status, 200, 'governance coordination route failed');
|
|
2709
|
-
assert.strictEqual(governanceCoordination.json.next_surface, '/v1/proof-center/result-package-handoff/run', 'governance coordination next surface missing');
|
|
2710
|
-
const governanceDashboard = await postJson(baseUrl, '/v1/proof-center/governance/dashboard', {
|
|
2711
|
-
account_ref: 'account-demo',
|
|
2712
|
-
review_count: 4,
|
|
2713
|
-
dispute_count: 2
|
|
2714
|
-
});
|
|
2715
|
-
assert.strictEqual(governanceDashboard.status, 200, 'governance dashboard route failed');
|
|
2716
|
-
assert.strictEqual(governanceDashboard.json.queue_summary.review_count, 4, 'governance dashboard review count missing');
|
|
2717
|
-
const governanceOperatorView = await postJson(baseUrl, '/v1/proof-center/governance/operator-view', {
|
|
2718
|
-
account_ref: 'account-demo'
|
|
2719
|
-
});
|
|
2720
|
-
assert.strictEqual(governanceOperatorView.status, 200, 'governance operator view route failed');
|
|
2721
|
-
assert.strictEqual(governanceOperatorView.json.attention_refs.includes('governance.dispute.queue'), true, 'governance operator attention refs missing');
|
|
2722
|
-
const governanceAdminView = await postJson(baseUrl, '/v1/proof-center/governance/admin-view', {
|
|
2723
|
-
account_ref: 'account-demo'
|
|
2724
|
-
});
|
|
2725
|
-
assert.strictEqual(governanceAdminView.status, 200, 'governance admin view route failed');
|
|
2726
|
-
assert.strictEqual(governanceAdminView.json.oversight_summary.escalation_ready_count >= 1, true, 'governance admin oversight summary missing');
|
|
2727
|
-
const governanceDashboardPack = await postJson(baseUrl, '/v1/proof-center/governance/dashboard-pack', {
|
|
2728
|
-
account_ref: 'account-demo'
|
|
2729
|
-
});
|
|
2730
|
-
assert.strictEqual(governanceDashboardPack.status, 200, 'governance dashboard pack route failed');
|
|
2731
|
-
assert.strictEqual(Array.isArray(governanceDashboardPack.json.included_sections), true, 'governance dashboard pack sections missing');
|
|
2732
|
-
const governanceWorkflowPack = await postJson(baseUrl, '/v1/proof-center/governance/workflow-pack', {
|
|
2733
|
-
result_package_ref: 'result.spine.job.commitment'
|
|
2734
|
-
});
|
|
2735
|
-
assert.strictEqual(governanceWorkflowPack.status, 200, 'governance workflow pack route failed');
|
|
2736
|
-
assert.strictEqual(governanceWorkflowPack.json.workflow_pack_ref.startsWith('governance.workflow-pack.'), true, 'governance workflow pack ref missing');
|
|
2737
|
-
const governanceSignoffPack = await postJson(baseUrl, '/v1/proof-center/governance/signoff-pack', {
|
|
2738
|
-
account_ref: 'account-demo'
|
|
2739
|
-
});
|
|
2740
|
-
assert.strictEqual(governanceSignoffPack.status, 200, 'governance signoff pack route failed');
|
|
2741
|
-
assert.strictEqual(governanceSignoffPack.json.signoff_status, 'review_ready', 'governance signoff status missing');
|
|
2742
|
-
const governanceDisputes = await postJson(baseUrl, '/v1/proof-center/governance/disputes/summary', {
|
|
2743
|
-
account_ref: 'account-demo',
|
|
2744
|
-
case_count: 3
|
|
2745
|
-
});
|
|
2746
|
-
assert.strictEqual(governanceDisputes.status, 200, 'governance disputes summary route failed');
|
|
2747
|
-
assert.strictEqual(governanceDisputes.json.case_count, 3, 'governance disputes case count missing');
|
|
2748
|
-
const governanceCaseReview = await postJson(baseUrl, '/v1/proof-center/governance/disputes/case-review', {
|
|
2749
|
-
case_ref: 'case-demo',
|
|
2750
|
-
source_ref: 'result.spine.job.commitment'
|
|
2751
|
-
});
|
|
2752
|
-
assert.strictEqual(governanceCaseReview.status, 200, 'governance case review route failed');
|
|
2753
|
-
assert.strictEqual(governanceCaseReview.json.available_actions.includes('resolve'), true, 'governance case review actions missing');
|
|
2754
|
-
const governanceDisputeAction = await postJson(baseUrl, '/v1/proof-center/governance/disputes/action', {
|
|
2755
|
-
case_ref: 'case-demo',
|
|
2756
|
-
action: 'resolve'
|
|
2757
|
-
});
|
|
2758
|
-
assert.strictEqual(governanceDisputeAction.status, 200, 'governance dispute action route failed');
|
|
2759
|
-
assert.strictEqual(governanceDisputeAction.json.action_status, 'recorded', 'governance dispute action status missing');
|
|
2760
|
-
const governanceCaseBundle = await postJson(baseUrl, '/v1/proof-center/governance/disputes/case-bundle', {
|
|
2761
|
-
case_ref: 'case-demo'
|
|
2762
|
-
});
|
|
2763
|
-
assert.strictEqual(governanceCaseBundle.status, 200, 'governance case bundle route failed');
|
|
2764
|
-
assert.strictEqual(governanceCaseBundle.json.case_bundle_ref.startsWith('governance.case-bundle.'), true, 'governance case bundle ref missing');
|
|
2765
|
-
const governanceResolutionPack = await postJson(baseUrl, '/v1/proof-center/governance/disputes/resolution-pack', {
|
|
2766
|
-
case_ref: 'case-demo',
|
|
2767
|
-
action: 'resolve'
|
|
2768
|
-
});
|
|
2769
|
-
assert.strictEqual(governanceResolutionPack.status, 200, 'governance resolution pack route failed');
|
|
2770
|
-
assert.strictEqual(governanceResolutionPack.json.resolution_pack_ref.startsWith('governance.resolution-pack.'), true, 'governance resolution pack ref missing');
|
|
2771
|
-
const reviewIntelligence = await postJson(baseUrl, '/v1/review-intelligence', {
|
|
2772
|
-
account_ref: 'account-demo',
|
|
2773
|
-
review_count: 4,
|
|
2774
|
-
dispute_count: 2,
|
|
2775
|
-
case_count: 3
|
|
2776
|
-
});
|
|
2777
|
-
assert.strictEqual(reviewIntelligence.status, 200, 'review intelligence route failed');
|
|
2778
|
-
assert.strictEqual(reviewIntelligence.json.review_burden_state, 'moderate', 'review intelligence burden state missing');
|
|
2779
|
-
assert.strictEqual(reviewIntelligence.json.dispute_risk_state, 'watch', 'review intelligence dispute risk state missing');
|
|
2780
|
-
assert.strictEqual(reviewIntelligence.json.bridge_dependency_state, 'strong', 'review intelligence bridge dependency state missing');
|
|
2781
|
-
assert.strictEqual(typeof reviewIntelligence.json.linked_surfaces.governance_disputes_summary_ref, 'string', 'review intelligence disputes summary ref missing');
|
|
2782
|
-
const reviewIntelligenceSummary = await postJson(baseUrl, '/v1/review-intelligence/summary', {
|
|
2783
|
-
account_ref: 'account-demo',
|
|
2784
|
-
review_count: 4,
|
|
2785
|
-
dispute_count: 2,
|
|
2786
|
-
case_count: 3
|
|
2787
|
-
});
|
|
2788
|
-
assert.strictEqual(reviewIntelligenceSummary.status, 200, 'review intelligence summary route failed');
|
|
2789
|
-
assert.strictEqual(reviewIntelligenceSummary.json.category, 'proof-review-intelligence-pack', 'review intelligence summary category missing');
|
|
2790
|
-
assert.strictEqual(reviewIntelligenceSummary.json.signal_count >= 6, true, 'review intelligence summary signal count missing');
|
|
2791
|
-
const governanceIntelligence = await postJson(baseUrl, '/v1/governance-intelligence', {
|
|
2792
|
-
account_ref: 'account-demo',
|
|
2793
|
-
review_count: 4,
|
|
2794
|
-
dispute_count: 2,
|
|
2795
|
-
case_count: 3
|
|
2796
|
-
});
|
|
2797
|
-
assert.strictEqual(governanceIntelligence.status, 200, 'governance intelligence route failed');
|
|
2798
|
-
assert.strictEqual(governanceIntelligence.json.escalation_readiness_state, 'active', 'governance intelligence escalation state missing');
|
|
2799
|
-
assert.strictEqual(governanceIntelligence.json.signoff_motion_state, 'review_ready', 'governance intelligence signoff state missing');
|
|
2800
|
-
assert.strictEqual(governanceIntelligence.json.handoff_continuity_state, 'strong', 'governance intelligence handoff continuity state missing');
|
|
2801
|
-
assert.strictEqual(typeof governanceIntelligence.json.linked_surfaces.governance_handoff_bundle_ref, 'string', 'governance intelligence handoff ref missing');
|
|
2802
|
-
const governanceIntelligenceSummary = await postJson(baseUrl, '/v1/governance-intelligence/summary', {
|
|
2803
|
-
account_ref: 'account-demo',
|
|
2804
|
-
review_count: 4,
|
|
2805
|
-
dispute_count: 2,
|
|
2806
|
-
case_count: 3
|
|
2807
|
-
});
|
|
2808
|
-
assert.strictEqual(governanceIntelligenceSummary.status, 200, 'governance intelligence summary route failed');
|
|
2809
|
-
assert.strictEqual(governanceIntelligenceSummary.json.category, 'proof-governance-intelligence-pack', 'governance intelligence summary category missing');
|
|
2810
|
-
assert.strictEqual(governanceIntelligenceSummary.json.signal_count >= 7, true, 'governance intelligence summary signal count missing');
|
|
2811
|
-
const bridgeIntelligence = await postJson(baseUrl, '/v1/bridge-intelligence', {
|
|
2812
|
-
account_ref: 'account-demo',
|
|
2813
|
-
source_ref: 'result.spine.job.commitment'
|
|
2814
|
-
});
|
|
2815
|
-
assert.strictEqual(bridgeIntelligence.status, 200, 'bridge intelligence route failed');
|
|
2816
|
-
assert.strictEqual(bridgeIntelligence.json.bridge_coverage_state, 'broad', 'bridge intelligence coverage state missing');
|
|
2817
|
-
assert.strictEqual(bridgeIntelligence.json.compatibility_strength_state, 'strong', 'bridge intelligence compatibility state missing');
|
|
2818
|
-
assert.strictEqual(bridgeIntelligence.json.handoff_dependency_state, 'strong', 'bridge intelligence handoff dependency state missing');
|
|
2819
|
-
assert.strictEqual(typeof bridgeIntelligence.json.linked_surfaces.result_package_handoff_summary_ref, 'string', 'bridge intelligence handoff summary ref missing');
|
|
2820
|
-
const bridgeIntelligenceSummary = await postJson(baseUrl, '/v1/bridge-intelligence/summary', {
|
|
2821
|
-
account_ref: 'account-demo',
|
|
2822
|
-
source_ref: 'result.spine.job.commitment'
|
|
2823
|
-
});
|
|
2824
|
-
assert.strictEqual(bridgeIntelligenceSummary.status, 200, 'bridge intelligence summary route failed');
|
|
2825
|
-
assert.strictEqual(bridgeIntelligenceSummary.json.category, 'proof-bridge-intelligence-pack', 'bridge intelligence summary category missing');
|
|
2826
|
-
assert.strictEqual(bridgeIntelligenceSummary.json.signal_count >= 6, true, 'bridge intelligence summary signal count missing');
|
|
2827
|
-
const governanceConsolePack = await postJson(baseUrl, '/v1/proof-center/governance/console-pack', {
|
|
2828
|
-
account_ref: 'account-demo'
|
|
2829
|
-
});
|
|
2830
|
-
assert.strictEqual(governanceConsolePack.status, 200, 'governance console pack route failed');
|
|
2831
|
-
assert.strictEqual(governanceConsolePack.json.console_pack_ref.startsWith('governance.console-pack.'), true, 'governance console pack ref missing');
|
|
2832
|
-
const governanceHandoffBundle = await postJson(baseUrl, '/v1/proof-center/governance/handoff-bundle', {
|
|
2833
|
-
result_package_ref: 'result.spine.job.commitment',
|
|
2834
|
-
account_ref: 'account-demo'
|
|
2835
|
-
});
|
|
2836
|
-
assert.strictEqual(governanceHandoffBundle.status, 200, 'governance handoff bundle route failed');
|
|
2837
|
-
assert.strictEqual(governanceHandoffBundle.json.next_surface, '/v1/proof-center/result-package-handoff/run', 'governance handoff bundle next surface missing');
|
|
2838
|
-
assert.strictEqual(governanceHandoffBundle.json.review_summary_surface, '/v1/proof-center/result-package-handoff/review/summary', 'governance handoff bundle review summary surface missing');
|
|
2839
|
-
const governanceReviewLink = await postJson(baseUrl, '/v1/proof-center/governance/review-link', {
|
|
2840
|
-
result_package_ref: 'result.spine.job.commitment'
|
|
2841
|
-
});
|
|
2842
|
-
assert.strictEqual(governanceReviewLink.status, 200, 'governance review link route failed');
|
|
2843
|
-
assert.strictEqual(governanceReviewLink.json.handoff_run_surface, '/v1/proof-center/result-package-handoff/review/handoff-run', 'governance review link handoff run surface missing');
|
|
2844
|
-
const bridgeReceiptLedgerHandoff = await postJson(baseUrl, '/v1/proof-center/bridge/receipt-ledger-handoff', {
|
|
2845
|
-
receipt_ref: 'receipt-demo',
|
|
2846
|
-
opreturn_hex: receipt.opreturn_hex,
|
|
2847
|
-
payload_utf8: payloadUtf8,
|
|
2848
|
-
account_ref: 'account-demo',
|
|
2849
|
-
usage_report_ref: 'usage-report-demo',
|
|
2850
|
-
meter_profile_ref: 'meter-profile-demo',
|
|
2851
|
-
ledger_entry_ref: 'ledger-entry-demo',
|
|
2852
|
-
ledger_operation: 'commit',
|
|
2853
|
-
units_actual: 2,
|
|
2854
|
-
usage_report: {
|
|
2855
|
-
account_ref: 'account-demo',
|
|
2856
|
-
units_actual: 2,
|
|
2857
|
-
task_ref: 'jobs.commit'
|
|
2858
|
-
},
|
|
2859
|
-
ledger_entry: {
|
|
2860
|
-
account_ref: 'account-demo',
|
|
2861
|
-
operation: 'COMMIT',
|
|
2862
|
-
receipt_ref: 'receipt-demo',
|
|
2863
|
-
units: -2
|
|
2864
|
-
}
|
|
2865
|
-
});
|
|
2866
|
-
assert.strictEqual(bridgeReceiptLedgerHandoff.status, 200, 'bridge receipt-ledger handoff route failed');
|
|
2867
|
-
assert.strictEqual(bridgeReceiptLedgerHandoff.json.handoff.mode, 'xoonya-receipt-ledger-handoff-v1', 'bridge receipt-ledger handoff mode missing');
|
|
2868
|
-
assert.strictEqual(bridgeReceiptLedgerHandoff.json.next_surface, '/v1/proof-center/governance/interpretation-validate', 'bridge receipt-ledger next surface missing');
|
|
2869
|
-
const bridgeEconomicHandoff = await postJson(baseUrl, '/v1/proof-center/bridge/economic-handoff', {
|
|
2870
|
-
handoff_bundle: {
|
|
2871
|
-
contract_version: 'naxytra-economic-consequence-handoff-v1',
|
|
2872
|
-
source_system: 'xytara',
|
|
2873
|
-
account_ref: 'account-demo',
|
|
2874
|
-
usage_meter_ref: 'usage-meter-demo',
|
|
2875
|
-
meter_profile_ref: 'meter-profile-demo',
|
|
2876
|
-
credit_spend_ref: 'credit-spend-demo',
|
|
2877
|
-
usage_meter: {
|
|
2878
|
-
usage_meter_id: 'usage-meter-demo',
|
|
2879
|
-
account_id: 'account-demo',
|
|
2880
|
-
task_ref: 'trust.verify',
|
|
2881
|
-
pricing_band: 'trust_critical',
|
|
2882
|
-
units: 8,
|
|
2883
|
-
credit_spend_id: 'credit-spend-demo'
|
|
2884
|
-
},
|
|
2885
|
-
credit_spend: {
|
|
2886
|
-
credit_spend_id: 'credit-spend-demo',
|
|
2887
|
-
account_id: 'account-demo',
|
|
2888
|
-
task_ref: 'trust.verify',
|
|
2889
|
-
units: 8,
|
|
2890
|
-
pack_id: 'credits.agent'
|
|
2891
|
-
}
|
|
2892
|
-
}
|
|
2893
|
-
});
|
|
2894
|
-
assert.strictEqual(bridgeEconomicHandoff.status, 200, 'bridge economic handoff route failed');
|
|
2895
|
-
assert.strictEqual(bridgeEconomicHandoff.json.handoff.mode, 'xoonya-economic-consequence-handoff-v1', 'bridge economic handoff mode missing');
|
|
2896
|
-
assert.strictEqual(bridgeEconomicHandoff.json.review_summary_surface, '/v1/proof-center/result-package-handoff/review/summary', 'bridge economic handoff review summary surface missing');
|
|
2897
|
-
const bridgeEconomicConformancePack = await postJson(baseUrl, '/v1/proof-center/bridge/economic-conformance-pack', {
|
|
2898
|
-
handoff_bundle: {
|
|
2899
|
-
contract_version: 'naxytra-economic-consequence-handoff-v1',
|
|
2900
|
-
source_system: 'xytara',
|
|
2901
|
-
account_ref: 'account-demo',
|
|
2902
|
-
usage_meter_ref: 'usage-meter-demo',
|
|
2903
|
-
meter_profile_ref: 'meter-profile-demo',
|
|
2904
|
-
credit_spend_ref: 'credit-spend-demo',
|
|
2905
|
-
usage_meter: {
|
|
2906
|
-
usage_meter_id: 'usage-meter-demo',
|
|
2907
|
-
account_id: 'account-demo',
|
|
2908
|
-
task_ref: 'trust.verify',
|
|
2909
|
-
pricing_band: 'trust_critical',
|
|
2910
|
-
units: 8,
|
|
2911
|
-
credit_spend_id: 'credit-spend-demo'
|
|
2912
|
-
},
|
|
2913
|
-
credit_spend: {
|
|
2914
|
-
credit_spend_id: 'credit-spend-demo',
|
|
2915
|
-
account_id: 'account-demo',
|
|
2916
|
-
task_ref: 'trust.verify',
|
|
2917
|
-
units: 8,
|
|
2918
|
-
pack_id: 'credits.agent'
|
|
2919
|
-
}
|
|
2920
|
-
}
|
|
2921
|
-
});
|
|
2922
|
-
assert.strictEqual(bridgeEconomicConformancePack.status, 200, 'bridge economic conformance pack route failed');
|
|
2923
|
-
assert.strictEqual(bridgeEconomicConformancePack.json.deterministic_consequence.usage_units, 8, 'bridge economic conformance usage units missing');
|
|
2924
|
-
assert.strictEqual(bridgeEconomicConformancePack.json.preserved_routes.includes('/v1/proof-center/bridge/economic-handoff'), true, 'bridge economic conformance preserved routes missing');
|
|
2925
|
-
const bridgeOperatorReviewPack = await postJson(baseUrl, '/v1/proof-center/bridge/operator-review-pack', {
|
|
2926
|
-
source_ref: 'receipt-demo',
|
|
2927
|
-
account_ref: 'account-demo'
|
|
2928
|
-
});
|
|
2929
|
-
assert.strictEqual(bridgeOperatorReviewPack.status, 200, 'bridge operator review pack route failed');
|
|
2930
|
-
assert.strictEqual(bridgeOperatorReviewPack.json.compatibility_pack_surface, '/v1/proof-center/bridge/compatibility-pack', 'bridge operator review compatibility pack surface missing');
|
|
2931
|
-
const bridgeCompatibilityPack = await postJson(baseUrl, '/v1/proof-center/bridge/compatibility-pack', {
|
|
2932
|
-
source_ref: 'receipt-demo'
|
|
2933
|
-
});
|
|
2934
|
-
assert.strictEqual(bridgeCompatibilityPack.status, 200, 'bridge compatibility pack route failed');
|
|
2935
|
-
assert.strictEqual(bridgeCompatibilityPack.json.preserved_routes.includes('/v1/profiles/economic/verify'), true, 'bridge compatibility pack preserved routes missing');
|
|
2936
|
-
const bridgeWorkflowPack = await postJson(baseUrl, '/v1/proof-center/bridge/workflow-pack', {
|
|
2937
|
-
source_ref: 'receipt-demo',
|
|
2938
|
-
account_ref: 'account-demo'
|
|
2939
|
-
});
|
|
2940
|
-
assert.strictEqual(bridgeWorkflowPack.status, 200, 'bridge workflow pack route failed');
|
|
2941
|
-
assert.strictEqual(bridgeWorkflowPack.json.workflow_steps.includes('validator_verify'), true, 'bridge workflow pack steps missing');
|
|
2942
|
-
const bridgeAdminPack = await postJson(baseUrl, '/v1/proof-center/bridge/admin-pack', {
|
|
2943
|
-
source_ref: 'receipt-demo',
|
|
2944
|
-
account_ref: 'account-demo'
|
|
2945
|
-
});
|
|
2946
|
-
assert.strictEqual(bridgeAdminPack.status, 200, 'bridge admin pack route failed');
|
|
2947
|
-
assert.strictEqual(bridgeAdminPack.json.governance_refs.governance_review_link_surface, '/v1/proof-center/governance/review-link', 'bridge admin pack governance review link missing');
|
|
2948
|
-
|
|
2949
|
-
const envelope = sdk.createProofEnvelopeV1(receipt.opreturn_hex, [
|
|
2950
|
-
{
|
|
2951
|
-
proof_id: 'proof-1',
|
|
2952
|
-
proof_type: 'artifact',
|
|
2953
|
-
role: 'primary',
|
|
2954
|
-
media_type: 'application/json',
|
|
2955
|
-
proof_hash_sha256: '33'.repeat(32),
|
|
2956
|
-
locator: 'memory://proof-1',
|
|
2957
|
-
},
|
|
2958
|
-
]);
|
|
2959
|
-
const proofVerify = await postJson(baseUrl, '/v1/proofs/verify', {
|
|
2960
|
-
envelope,
|
|
2961
|
-
});
|
|
2962
|
-
assert.strictEqual(proofVerify.status, 200, 'proof verify route failed');
|
|
2963
|
-
assert.strictEqual(proofVerify.json.valid, true, 'proof verify payload invalid');
|
|
2964
|
-
|
|
2965
|
-
const economicPayload = {
|
|
2966
|
-
agent_id: receipt.agent_id,
|
|
2967
|
-
counterparty_id: 'counterparty-1',
|
|
2968
|
-
event_class: 'usage',
|
|
2969
|
-
event_id: 'event-1',
|
|
2970
|
-
meter_profile_id: 'meter-1',
|
|
2971
|
-
quantity: '1',
|
|
2972
|
-
unit: 'call',
|
|
2973
|
-
usage_hash_sha256: '44'.repeat(32),
|
|
2974
|
-
window_end_unix_ns: '20',
|
|
2975
|
-
window_start_unix_ns: '10',
|
|
2976
|
-
};
|
|
2977
|
-
const economicReceipt = sdk.createReceipt(
|
|
2978
|
-
identityMaterialHex,
|
|
2979
|
-
Buffer.from(canonicalize(economicPayload), 'utf8')
|
|
2980
|
-
);
|
|
2981
|
-
const economicProfile = sdk.createEconomicReceiptProfileV1(
|
|
2982
|
-
economicReceipt.opreturn_hex,
|
|
2983
|
-
economicPayload,
|
|
2984
|
-
{
|
|
2985
|
-
binding_hash_sha256: envelope.binding_hash_sha256,
|
|
2986
|
-
envelope_version: envelope.envelope_version,
|
|
2987
|
-
}
|
|
2988
|
-
);
|
|
2989
|
-
const economicVerify = await postJson(baseUrl, '/v1/profiles/economic/verify', {
|
|
2990
|
-
profile: economicProfile,
|
|
2991
|
-
});
|
|
2992
|
-
assert.strictEqual(economicVerify.status, 200, 'economic profile verify route failed');
|
|
2993
|
-
assert.strictEqual(economicVerify.json.valid, true, 'economic profile verify payload invalid');
|
|
2994
|
-
|
|
2995
|
-
const registryReceipt = sdk.createReceipt(identityMaterialHex, payloadBuffer, '02');
|
|
2996
|
-
const registryEnvelope = sdk.createProofEnvelopeV1(registryReceipt.opreturn_hex, [
|
|
2997
|
-
{
|
|
2998
|
-
proof_id: 'proof-2',
|
|
2999
|
-
proof_type: 'artifact',
|
|
3000
|
-
role: 'rotation',
|
|
3001
|
-
media_type: 'application/json',
|
|
3002
|
-
proof_hash_sha256: '55'.repeat(32),
|
|
3003
|
-
locator: 'memory://proof-2',
|
|
3004
|
-
},
|
|
3005
|
-
]);
|
|
3006
|
-
const registryProfile = sdk.createRegistryProfileV1(registryReceipt.opreturn_hex, 'update', {
|
|
3007
|
-
sequence: '2',
|
|
3008
|
-
previous_receipt_hash_sha256: '66'.repeat(32),
|
|
3009
|
-
rotation_from_agent_id: receipt.agent_id,
|
|
3010
|
-
rotation_proof_binding: {
|
|
3011
|
-
binding_hash_sha256: registryEnvelope.binding_hash_sha256,
|
|
3012
|
-
envelope_version: registryEnvelope.envelope_version,
|
|
3013
|
-
},
|
|
3014
|
-
});
|
|
3015
|
-
const registryVerify = await postJson(baseUrl, '/v1/profiles/registry/verify', {
|
|
3016
|
-
profile: registryProfile,
|
|
3017
|
-
});
|
|
3018
|
-
assert.strictEqual(registryVerify.status, 200, 'registry profile verify route failed');
|
|
3019
|
-
assert.strictEqual(registryVerify.json.valid, true, 'registry profile verify payload invalid');
|
|
3020
|
-
|
|
3021
|
-
const inspectResponse = await postJson(baseUrl, '/v1/receipts/inspect', {
|
|
3022
|
-
opreturn_hex: receipt.opreturn_hex,
|
|
3023
|
-
});
|
|
3024
|
-
assert.strictEqual(inspectResponse.status, 200, 'receipt inspect route failed');
|
|
3025
|
-
assert.strictEqual(inspectResponse.json.spec_version, 'v1', 'receipt inspect payload invalid');
|
|
3026
|
-
|
|
3027
|
-
console.log('xoonya verify:service passed');
|
|
3028
|
-
} finally {
|
|
3029
|
-
await new Promise((resolve, reject) => {
|
|
3030
|
-
server.close((error) => (error ? reject(error) : resolve()));
|
|
3031
|
-
});
|
|
3032
|
-
}
|
|
3033
|
-
}
|
|
3034
|
-
|
|
3035
|
-
main().catch((error) => {
|
|
3036
|
-
console.error(error);
|
|
3037
|
-
process.exitCode = 1;
|
|
3038
|
-
});
|