xoonya 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +2 -2
- package/CARRIED_HANDOFF_DEMO.md +60 -60
- package/COMPATIBILITY_NOTE.md +27 -27
- package/CROSS_RUNTIME_POSTURE.md +77 -77
- package/EXAMPLE_PATHS.md +53 -53
- package/FINAL_CONTRACT.md +445 -445
- package/LICENSE +201 -201
- package/NOTICE +3 -3
- package/OPERATIONS_RUNBOOK.md +50 -0
- package/OPERATOR_START_HERE.md +67 -0
- package/PARTNER_READY_PATH.md +67 -67
- package/PROGRAM_COMPLETE_RELEASE.md +52 -0
- package/PROGRAM_STATUS.md +57 -0
- package/PUBLIC_DEMO_SCRIPT.md +79 -79
- package/PUBLISH_PLAN.md +25 -0
- package/README.md +807 -732
- package/RELEASE_CHECKLIST.md +16 -0
- package/RELEASE_NOTES.md +15 -15
- package/SERVICE_CONTRACT.md +207 -195
- package/START_HERE.md +159 -150
- package/TERMINOLOGY.md +55 -55
- package/WHY_XYTARA_XOONYA.md +43 -43
- package/XNYA_CONFORMANCE_MARK.md +78 -78
- package/XNYA_REFERENCE_IMPLEMENTATIONS.md +157 -157
- package/XOONYA_DEFAULT_PATH_MODEL.md +63 -63
- package/XOONYA_FOLLOWTHROUGH_TRUTH_MODEL.md +63 -63
- package/XOONYA_NATIVE_ATOM_SPEC.md +184 -184
- package/XOONYA_NATIVE_PROOF_FORMAT.md +527 -527
- package/XOONYA_NATIVE_STANDARD_GOVERNANCE.md +119 -119
- package/XOONYA_PROOF_TRUTH_MODEL.md +58 -58
- package/bin/xoonya-first-run.js +184 -184
- package/bin/xoonya-release.js +1367 -1367
- package/bin/xoonya-review.js +70 -70
- package/bin/xoonya.js +82 -82
- package/examples/integration_boundary_walkthrough.js +37 -37
- package/examples/package_quickstart.js +1007 -1007
- package/examples/partner_proof_walkthrough.js +68 -68
- package/examples/proof_review_walkthrough.js +66 -66
- package/examples/review_carried_handoff.js +72 -72
- package/index.js +31 -22
- package/integrations/PROOF_INTEGRATION_PROCESS.md +45 -45
- package/integrations/examples/example-third-party-verifier-registration.record.json +22 -22
- package/integrations/registration-record.schema.json +99 -99
- package/integrations/registry-snapshot.schema.json +36 -36
- package/integrations/registry.js +636 -636
- package/integrations/views.js +36 -36
- package/lib/adapter_certification_contract.js +90 -0
- package/lib/announcement_pack.js +61 -61
- package/lib/artifact_distribution_lane_contract.js +54 -54
- package/lib/asyncapi_contract.js +135 -135
- package/lib/auth_interop_contract.js +69 -69
- package/lib/authority_binding_lifecycle_contract.js +182 -0
- package/lib/bridge_intelligence.js +102 -102
- package/lib/cloudevents_contract.js +79 -79
- package/lib/crypto_agility_matrix.js +125 -0
- package/lib/default_path_contract.js +380 -380
- package/lib/ecosystem_entry.js +64 -64
- package/lib/erc8004_proof_lane_contract.js +64 -64
- package/lib/event_system_lane_contract.js +76 -76
- package/lib/external_proof_import_lane_contract.js +87 -87
- package/lib/feature_control_lane_contract.js +54 -54
- package/lib/followthrough_truth_contract.js +214 -214
- package/lib/framework_lane_contract.js +76 -76
- package/lib/governance_disputes_summary.js +36 -36
- package/lib/governance_intelligence.js +108 -108
- package/lib/identity_interop_contract.js +83 -83
- package/lib/integration_matrix_contract.js +81 -81
- package/lib/launch_narrative.js +53 -53
- package/lib/machine_identity_registry_contract.js +199 -0
- package/lib/major_rails_proof_lane_contract.js +87 -87
- package/lib/offline_verifiability_recovery_contract.js +155 -0
- package/lib/openapi_contract.js +227 -227
- package/lib/operational_receipt_contract.js +165 -0
- package/lib/outreach_proof.js +71 -71
- package/lib/phase_10_closeout_pack.js +45 -45
- package/lib/phase_10_completion_pack.js +76 -76
- package/lib/phase_10_decision_record_pack.js +54 -54
- package/lib/phase_10_decision_resolution_pack.js +53 -53
- package/lib/phase_10_demand_signal_adapters_proof_pack.js +74 -74
- package/lib/phase_10_ecosystem_backlog_triage_proof_pack.js +74 -74
- package/lib/phase_10_freeze_baseline_pack.js +67 -67
- package/lib/phase_10_freeze_review_pack.js +64 -64
- package/lib/phase_10_gate_pack.js +57 -57
- package/lib/phase_10_long_tail_continuity_pack.js +80 -80
- package/lib/phase_10_long_tail_ecosystem_pack.js +68 -68
- package/lib/phase_10_niche_extension_registry_proof_pack.js +74 -74
- package/lib/phase_1_claude_mcp_pack.js +60 -60
- package/lib/phase_1_claude_mcp_proof_pack.js +57 -57
- package/lib/phase_1_ecosystem_pack.js +51 -51
- package/lib/phase_1_openai_codex_pack.js +60 -60
- package/lib/phase_1_openai_codex_proof_pack.js +57 -57
- package/lib/phase_2_base_proof_pack.js +71 -71
- package/lib/phase_2_base_usdc_proof_pack.js +72 -72
- package/lib/phase_2_closeout_pack.js +65 -65
- package/lib/phase_2_completion_pack.js +113 -113
- package/lib/phase_2_decision_record_pack.js +66 -66
- package/lib/phase_2_decision_resolution_pack.js +69 -69
- package/lib/phase_2_eth_proof_pack.js +70 -70
- package/lib/phase_2_evm_base_proof_pack.js +73 -73
- package/lib/phase_2_evm_proof_pack.js +71 -71
- package/lib/phase_2_flip_preview_pack.js +60 -60
- package/lib/phase_2_freeze_review_pack.js +99 -99
- package/lib/phase_2_gate_pack.js +77 -77
- package/lib/phase_2_payment_rails_pack.js +71 -71
- package/lib/phase_2_usdc_proof_pack.js +71 -71
- package/lib/phase_3_brc_proof_pack.js +81 -81
- package/lib/phase_3_bsv_teranode_proof_pack.js +81 -81
- package/lib/phase_3_closeout_pack.js +62 -62
- package/lib/phase_3_completion_pack.js +92 -92
- package/lib/phase_3_decision_record_pack.js +64 -64
- package/lib/phase_3_decision_resolution_pack.js +69 -69
- package/lib/phase_3_freeze_baseline_pack.js +67 -67
- package/lib/phase_3_freeze_review_pack.js +80 -80
- package/lib/phase_3_gate_pack.js +76 -76
- package/lib/phase_3_metanet_proof_pack.js +81 -81
- package/lib/phase_3_native_bsv_pack.js +89 -89
- package/lib/phase_3_native_continuity_pack.js +82 -82
- package/lib/phase_4_attestation_proof_pack.js +75 -75
- package/lib/phase_4_closeout_pack.js +45 -45
- package/lib/phase_4_completion_pack.js +82 -82
- package/lib/phase_4_decision_record_pack.js +54 -54
- package/lib/phase_4_decision_resolution_pack.js +45 -45
- package/lib/phase_4_erc8004_proof_pack.js +76 -76
- package/lib/phase_4_freeze_baseline_pack.js +67 -67
- package/lib/phase_4_freeze_review_pack.js +68 -68
- package/lib/phase_4_gate_pack.js +58 -58
- package/lib/phase_4_identity_registry_proof_pack.js +75 -75
- package/lib/phase_4_identity_trust_pack.js +73 -73
- package/lib/phase_4_trust_continuity_pack.js +86 -86
- package/lib/phase_5_antelope_proof_pack.js +76 -76
- package/lib/phase_5_closeout_pack.js +44 -44
- package/lib/phase_5_completion_pack.js +82 -82
- package/lib/phase_5_decision_record_pack.js +54 -54
- package/lib/phase_5_decision_resolution_pack.js +45 -45
- package/lib/phase_5_freeze_baseline_pack.js +67 -67
- package/lib/phase_5_freeze_review_pack.js +68 -68
- package/lib/phase_5_gate_pack.js +58 -58
- package/lib/phase_5_major_rails_continuity_pack.js +86 -86
- package/lib/phase_5_major_rails_pack.js +74 -74
- package/lib/phase_5_proton_xpr_proof_pack.js +76 -76
- package/lib/phase_5_solana_proof_pack.js +76 -76
- package/lib/phase_6_autogen_proof_pack.js +74 -74
- package/lib/phase_6_closeout_pack.js +46 -46
- package/lib/phase_6_completion_pack.js +77 -77
- package/lib/phase_6_decision_record_pack.js +54 -54
- package/lib/phase_6_decision_resolution_pack.js +53 -53
- package/lib/phase_6_framework_continuity_pack.js +81 -81
- package/lib/phase_6_framework_runtime_pack.js +68 -68
- package/lib/phase_6_freeze_baseline_pack.js +68 -68
- package/lib/phase_6_freeze_review_pack.js +65 -65
- package/lib/phase_6_gate_pack.js +59 -59
- package/lib/phase_6_langchain_proof_pack.js +74 -74
- package/lib/phase_6_langgraph_proof_pack.js +74 -74
- package/lib/phase_6_semantic_kernel_proof_pack.js +74 -74
- package/lib/phase_7_closeout_pack.js +45 -45
- package/lib/phase_7_completion_pack.js +85 -85
- package/lib/phase_7_decision_record_pack.js +53 -53
- package/lib/phase_7_decision_resolution_pack.js +53 -53
- package/lib/phase_7_event_system_continuity_pack.js +89 -89
- package/lib/phase_7_event_system_pack.js +76 -76
- package/lib/phase_7_freeze_baseline_pack.js +74 -74
- package/lib/phase_7_freeze_review_pack.js +65 -65
- package/lib/phase_7_gate_pack.js +58 -58
- package/lib/phase_7_kafka_proof_pack.js +76 -76
- package/lib/phase_7_mqtt_proof_pack.js +76 -76
- package/lib/phase_7_nats_proof_pack.js +76 -76
- package/lib/phase_7_webhook_event_bus_proof_pack.js +76 -76
- package/lib/phase_8_closeout_pack.js +46 -46
- package/lib/phase_8_completion_pack.js +82 -82
- package/lib/phase_8_decision_record_pack.js +54 -54
- package/lib/phase_8_decision_resolution_pack.js +53 -53
- package/lib/phase_8_external_receipt_import_proof_pack.js +74 -74
- package/lib/phase_8_external_result_import_proof_pack.js +74 -74
- package/lib/phase_8_freeze_baseline_pack.js +71 -71
- package/lib/phase_8_freeze_review_pack.js +64 -64
- package/lib/phase_8_gate_pack.js +58 -58
- package/lib/phase_8_proof_bridge_continuity_pack.js +86 -86
- package/lib/phase_8_proof_bridges_pack.js +72 -72
- package/lib/phase_8_proof_bundle_normalization_proof_pack.js +74 -74
- package/lib/phase_9_closeout_pack.js +46 -46
- package/lib/phase_9_completion_pack.js +82 -82
- package/lib/phase_9_custody_refs_proof_pack.js +74 -74
- package/lib/phase_9_decision_record_pack.js +54 -54
- package/lib/phase_9_decision_resolution_pack.js +53 -53
- package/lib/phase_9_freeze_baseline_pack.js +71 -71
- package/lib/phase_9_freeze_review_pack.js +64 -64
- package/lib/phase_9_gate_pack.js +58 -58
- package/lib/phase_9_operator_accounting_bridges_proof_pack.js +74 -74
- package/lib/phase_9_treasury_connectivity_pack.js +72 -72
- package/lib/phase_9_treasury_continuity_pack.js +86 -86
- package/lib/phase_9_treasury_destinations_proof_pack.js +74 -74
- package/lib/phase_program_pack.js +47 -47
- package/lib/proof_bridge_lane_contract.js +82 -82
- package/lib/proof_truth_contract.js +224 -224
- package/lib/provenance_lane_contract.js +54 -54
- package/lib/provider_lane_contract.js +67 -67
- package/lib/public_surface_policy_contract.js +111 -0
- package/lib/publish_plan.js +51 -51
- package/lib/release_candidate.js +50 -50
- package/lib/release_center.js +1037 -1037
- package/lib/release_history.js +206 -206
- package/lib/release_manifest.js +114 -114
- package/lib/release_pack.js +391 -391
- package/lib/result_package_trust_lane_contract.js +74 -74
- package/lib/review_intelligence.js +100 -100
- package/lib/role_freeze.js +436 -436
- package/lib/shared_signals_lane_contract.js +54 -54
- package/lib/signed_audit_provenance_contract.js +93 -0
- package/lib/telemetry_lane_contract.js +54 -54
- package/lib/treasury_proof_lane_contract.js +83 -83
- package/lib/trust_intelligence.js +106 -106
- package/lib/trust_portability_boundary_contract.js +66 -0
- package/lib/trust_portability_pack.js +224 -224
- package/lib/verification_service_pack.js +149 -149
- package/package.json +97 -95
- package/proof_sdk.js +6265 -6265
- package/reference/python/README.md +35 -35
- package/reference/python/requirements-optional.txt +1 -1
- package/reference/python/verify_vectors.py +223 -223
- package/reference/python/xnya_reference.py +810 -810
- package/reference/rust/Cargo.toml +11 -11
- package/reference/rust/README.md +28 -28
- package/reference/rust/src/lib.rs +87 -87
- package/scripts/registry_cli.js +157 -157
- package/scripts/verify_all.js +603 -603
- package/scripts/verify_control_plane_contracts.js +34 -0
- package/scripts/verify_control_plane_routes.js +70 -0
- package/scripts/verify_examples.js +19 -19
- package/scripts/verify_external_proof_import_gate.js +84 -84
- package/scripts/verify_integrations.js +170 -170
- package/scripts/verify_native_hybrid_design_gate.js +114 -114
- package/scripts/verify_reference_promotion_gate.js +74 -74
- package/scripts/verify_reference_python.js +49 -49
- package/scripts/verify_reference_python_crypto.js +87 -87
- package/scripts/verify_reference_rust_scaffold.js +50 -50
- package/scripts/verify_release_candidate.js +131 -131
- package/scripts/verify_service.js +2940 -2940
- package/scripts/verify_tooling.js +1251 -1251
- package/scripts/verify_trust_portability.js +56 -56
- package/scripts/verify_vectors.js +192 -192
- package/scripts/verify_verification_services.js +56 -56
- package/server.js +4099 -3997
- package/vectors/adversarial-vectors.json +552 -552
- package/vectors/conformance-vectors.json +446 -446
- package/vectors/native-atom-vectors.json +101 -101
- package/vectors/native-payload-profile-vectors.json +50 -50
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildPhase7EventSystemContinuityPack() {
|
|
6
|
-
return {
|
|
7
|
-
ok: true,
|
|
8
|
-
product: packageJson.name,
|
|
9
|
-
category: "proof-phase-7-event-system-continuity-pack",
|
|
10
|
-
phase_ref: "phase_7",
|
|
11
|
-
posture: "continuity_review",
|
|
12
|
-
continuity: {
|
|
13
|
-
lane_refs: [
|
|
14
|
-
"/v1/phases/phase-7/kafka/proof/summary",
|
|
15
|
-
"/v1/phases/phase-7/nats/proof/summary",
|
|
16
|
-
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
17
|
-
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
18
|
-
],
|
|
19
|
-
continuity_refs: ["/v1/phases/phase-7/summary"],
|
|
20
|
-
proof_modes: ["event_ingest_followthrough", "delivery_handoff_carry", "checkpoint_evidence_carry"],
|
|
21
|
-
event_system_modes: ["stream_backbone", "broker_mesh", "device_event_bus", "edge_callback_handoff"],
|
|
22
|
-
stream_modes: ["partitioned_topic_flow", "consumer_group_flow", "offset_checkpoint_flow"],
|
|
23
|
-
subject_modes: ["subject_mesh_flow", "queue_group_flow", "ack_commit_flow"],
|
|
24
|
-
qos_modes: ["device_session_flow", "qos_delivery_flow", "retained_state_flow"],
|
|
25
|
-
callback_modes: ["signed_callback_flow", "retry_schedule_flow", "endpoint_contract_flow"],
|
|
26
|
-
proof_surfaces: [
|
|
27
|
-
"/v1/proof-center/bridge/summary",
|
|
28
|
-
"/v1/release-center/summary",
|
|
29
|
-
"/v1/phases/phase-7/summary"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
completion_shape: {
|
|
33
|
-
completion_checks: [
|
|
34
|
-
"all current event-system proof lanes are public and inspectable",
|
|
35
|
-
"event proof posture is visible at phase level",
|
|
36
|
-
"cross-lane continuity is explicit across the Phase 7 proof family",
|
|
37
|
-
"release-center summary reflects the event-system proof family as one coherent slice"
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
first_path: {
|
|
41
|
-
purpose: "show that the event-system proof family is coherent across ingress and followthrough lanes rather than isolated summaries",
|
|
42
|
-
first_http_sequence: [
|
|
43
|
-
"/v1/phases/phase-7/summary",
|
|
44
|
-
"/v1/phases/phase-7/event-system-continuity/summary",
|
|
45
|
-
"/v1/release-center/summary",
|
|
46
|
-
"/v1/proof-center/bridge/summary"
|
|
47
|
-
],
|
|
48
|
-
first_cli_sequence: [
|
|
49
|
-
"xoonya-release --phase-7-event-system-continuity --summary",
|
|
50
|
-
"xoonya-release --phase-7 --summary"
|
|
51
|
-
],
|
|
52
|
-
expected_signals: [
|
|
53
|
-
"Kafka, NATS, MQTT, and webhook event bus are linked as one event-system proof family",
|
|
54
|
-
"proof roles are legible without collapsing into one lane",
|
|
55
|
-
"proof surfaces stay attached to the Phase 7 lane family",
|
|
56
|
-
"Phase 7 reads as one coherent event/system proof slice"
|
|
57
|
-
]
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function summarizePhase7EventSystemContinuityPack() {
|
|
63
|
-
const pack = buildPhase7EventSystemContinuityPack();
|
|
64
|
-
return {
|
|
65
|
-
ok: true,
|
|
66
|
-
product: pack.product,
|
|
67
|
-
category: pack.category,
|
|
68
|
-
phase_ref: pack.phase_ref,
|
|
69
|
-
lane_count: pack.continuity.lane_refs.length,
|
|
70
|
-
continuity_ref_count: pack.continuity.continuity_refs.length,
|
|
71
|
-
proof_mode_count: pack.continuity.proof_modes.length,
|
|
72
|
-
event_system_mode_count: pack.continuity.event_system_modes.length,
|
|
73
|
-
stream_mode_count: pack.continuity.stream_modes.length,
|
|
74
|
-
subject_mode_count: pack.continuity.subject_modes.length,
|
|
75
|
-
qos_mode_count: pack.continuity.qos_modes.length,
|
|
76
|
-
callback_mode_count: pack.continuity.callback_modes.length,
|
|
77
|
-
proof_surface_count: pack.continuity.proof_surfaces.length,
|
|
78
|
-
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
79
|
-
http_step_count: pack.first_path.first_http_sequence.length,
|
|
80
|
-
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
81
|
-
signal_count: pack.first_path.expected_signals.length,
|
|
82
|
-
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
module.exports = {
|
|
87
|
-
buildPhase7EventSystemContinuityPack,
|
|
88
|
-
summarizePhase7EventSystemContinuityPack
|
|
89
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase7EventSystemContinuityPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-7-event-system-continuity-pack",
|
|
10
|
+
phase_ref: "phase_7",
|
|
11
|
+
posture: "continuity_review",
|
|
12
|
+
continuity: {
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-7/kafka/proof/summary",
|
|
15
|
+
"/v1/phases/phase-7/nats/proof/summary",
|
|
16
|
+
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
17
|
+
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
18
|
+
],
|
|
19
|
+
continuity_refs: ["/v1/phases/phase-7/summary"],
|
|
20
|
+
proof_modes: ["event_ingest_followthrough", "delivery_handoff_carry", "checkpoint_evidence_carry"],
|
|
21
|
+
event_system_modes: ["stream_backbone", "broker_mesh", "device_event_bus", "edge_callback_handoff"],
|
|
22
|
+
stream_modes: ["partitioned_topic_flow", "consumer_group_flow", "offset_checkpoint_flow"],
|
|
23
|
+
subject_modes: ["subject_mesh_flow", "queue_group_flow", "ack_commit_flow"],
|
|
24
|
+
qos_modes: ["device_session_flow", "qos_delivery_flow", "retained_state_flow"],
|
|
25
|
+
callback_modes: ["signed_callback_flow", "retry_schedule_flow", "endpoint_contract_flow"],
|
|
26
|
+
proof_surfaces: [
|
|
27
|
+
"/v1/proof-center/bridge/summary",
|
|
28
|
+
"/v1/release-center/summary",
|
|
29
|
+
"/v1/phases/phase-7/summary"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
completion_shape: {
|
|
33
|
+
completion_checks: [
|
|
34
|
+
"all current event-system proof lanes are public and inspectable",
|
|
35
|
+
"event proof posture is visible at phase level",
|
|
36
|
+
"cross-lane continuity is explicit across the Phase 7 proof family",
|
|
37
|
+
"release-center summary reflects the event-system proof family as one coherent slice"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
first_path: {
|
|
41
|
+
purpose: "show that the event-system proof family is coherent across ingress and followthrough lanes rather than isolated summaries",
|
|
42
|
+
first_http_sequence: [
|
|
43
|
+
"/v1/phases/phase-7/summary",
|
|
44
|
+
"/v1/phases/phase-7/event-system-continuity/summary",
|
|
45
|
+
"/v1/release-center/summary",
|
|
46
|
+
"/v1/proof-center/bridge/summary"
|
|
47
|
+
],
|
|
48
|
+
first_cli_sequence: [
|
|
49
|
+
"xoonya-release --phase-7-event-system-continuity --summary",
|
|
50
|
+
"xoonya-release --phase-7 --summary"
|
|
51
|
+
],
|
|
52
|
+
expected_signals: [
|
|
53
|
+
"Kafka, NATS, MQTT, and webhook event bus are linked as one event-system proof family",
|
|
54
|
+
"proof roles are legible without collapsing into one lane",
|
|
55
|
+
"proof surfaces stay attached to the Phase 7 lane family",
|
|
56
|
+
"Phase 7 reads as one coherent event/system proof slice"
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function summarizePhase7EventSystemContinuityPack() {
|
|
63
|
+
const pack = buildPhase7EventSystemContinuityPack();
|
|
64
|
+
return {
|
|
65
|
+
ok: true,
|
|
66
|
+
product: pack.product,
|
|
67
|
+
category: pack.category,
|
|
68
|
+
phase_ref: pack.phase_ref,
|
|
69
|
+
lane_count: pack.continuity.lane_refs.length,
|
|
70
|
+
continuity_ref_count: pack.continuity.continuity_refs.length,
|
|
71
|
+
proof_mode_count: pack.continuity.proof_modes.length,
|
|
72
|
+
event_system_mode_count: pack.continuity.event_system_modes.length,
|
|
73
|
+
stream_mode_count: pack.continuity.stream_modes.length,
|
|
74
|
+
subject_mode_count: pack.continuity.subject_modes.length,
|
|
75
|
+
qos_mode_count: pack.continuity.qos_modes.length,
|
|
76
|
+
callback_mode_count: pack.continuity.callback_modes.length,
|
|
77
|
+
proof_surface_count: pack.continuity.proof_surfaces.length,
|
|
78
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
79
|
+
http_step_count: pack.first_path.first_http_sequence.length,
|
|
80
|
+
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
81
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
82
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
module.exports = {
|
|
87
|
+
buildPhase7EventSystemContinuityPack,
|
|
88
|
+
summarizePhase7EventSystemContinuityPack
|
|
89
|
+
};
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildPhase7EventSystemPack() {
|
|
6
|
-
return {
|
|
7
|
-
ok: true,
|
|
8
|
-
product: packageJson.name,
|
|
9
|
-
category: "proof-phase-7-event-system-pack",
|
|
10
|
-
phase_ref: "phase_7",
|
|
11
|
-
status: "completed",
|
|
12
|
-
ecosystems: ["kafka", "nats", "mqtt", "webhook_event_bus"],
|
|
13
|
-
lane_refs: [
|
|
14
|
-
"/v1/phases/phase-7/kafka/proof/summary",
|
|
15
|
-
"/v1/phases/phase-7/nats/proof/summary",
|
|
16
|
-
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
17
|
-
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
18
|
-
],
|
|
19
|
-
integration_shape: {
|
|
20
|
-
proof_modes: ["event_ingest_followthrough", "delivery_handoff_carry", "checkpoint_evidence_carry"],
|
|
21
|
-
stream_modes: ["partitioned_topic_flow", "consumer_group_flow", "offset_checkpoint_flow"],
|
|
22
|
-
subject_modes: ["subject_mesh_flow", "queue_group_flow", "ack_commit_flow"],
|
|
23
|
-
qos_modes: ["device_session_flow", "qos_delivery_flow", "retained_state_flow"],
|
|
24
|
-
callback_modes: ["signed_callback_flow", "retry_schedule_flow", "endpoint_contract_flow"],
|
|
25
|
-
proof_surfaces: [
|
|
26
|
-
"/v1/proof-center/bridge/summary",
|
|
27
|
-
"/v1/release-center/summary",
|
|
28
|
-
"/v1/phases/phase-7/kafka/proof/summary",
|
|
29
|
-
"/v1/phases/phase-7/nats/proof/summary",
|
|
30
|
-
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
31
|
-
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
completion_shape: {
|
|
35
|
-
completion_checks: [
|
|
36
|
-
"broad Phase 7 event-system proof pack is public and inspectable",
|
|
37
|
-
"Kafka, NATS, MQTT, and webhook event bus proof lanes are public and inspectable",
|
|
38
|
-
"event proof posture is visible at phase level",
|
|
39
|
-
"proof surfaces stay attached to the Phase 7 lane family",
|
|
40
|
-
"release-center summary reflects Phase 7 activation and lane breadth"
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
done_means: [
|
|
44
|
-
"Phase 6 is no longer the active proof-side program slice",
|
|
45
|
-
"Phase 7 has a public event/system proof path",
|
|
46
|
-
"Kafka, NATS, MQTT, and webhook event bus are visible as explicit proof-side system-integration lanes",
|
|
47
|
-
"the integration proof family feels operational rather than like a placeholder"
|
|
48
|
-
]
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function summarizePhase7EventSystemPack() {
|
|
53
|
-
const pack = buildPhase7EventSystemPack();
|
|
54
|
-
return {
|
|
55
|
-
ok: true,
|
|
56
|
-
product: pack.product,
|
|
57
|
-
category: pack.category,
|
|
58
|
-
phase_ref: pack.phase_ref,
|
|
59
|
-
ecosystem_count: pack.ecosystems.length,
|
|
60
|
-
lane_count: pack.lane_refs.length,
|
|
61
|
-
proof_mode_count: pack.integration_shape.proof_modes.length,
|
|
62
|
-
stream_mode_count: pack.integration_shape.stream_modes.length,
|
|
63
|
-
subject_mode_count: pack.integration_shape.subject_modes.length,
|
|
64
|
-
qos_mode_count: pack.integration_shape.qos_modes.length,
|
|
65
|
-
callback_mode_count: pack.integration_shape.callback_modes.length,
|
|
66
|
-
proof_surface_count: pack.integration_shape.proof_surfaces.length,
|
|
67
|
-
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
68
|
-
done_mean_count: pack.done_means.length,
|
|
69
|
-
first_ecosystem: pack.ecosystems[0] || null
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
module.exports = {
|
|
74
|
-
buildPhase7EventSystemPack,
|
|
75
|
-
summarizePhase7EventSystemPack
|
|
76
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase7EventSystemPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-7-event-system-pack",
|
|
10
|
+
phase_ref: "phase_7",
|
|
11
|
+
status: "completed",
|
|
12
|
+
ecosystems: ["kafka", "nats", "mqtt", "webhook_event_bus"],
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-7/kafka/proof/summary",
|
|
15
|
+
"/v1/phases/phase-7/nats/proof/summary",
|
|
16
|
+
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
17
|
+
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
18
|
+
],
|
|
19
|
+
integration_shape: {
|
|
20
|
+
proof_modes: ["event_ingest_followthrough", "delivery_handoff_carry", "checkpoint_evidence_carry"],
|
|
21
|
+
stream_modes: ["partitioned_topic_flow", "consumer_group_flow", "offset_checkpoint_flow"],
|
|
22
|
+
subject_modes: ["subject_mesh_flow", "queue_group_flow", "ack_commit_flow"],
|
|
23
|
+
qos_modes: ["device_session_flow", "qos_delivery_flow", "retained_state_flow"],
|
|
24
|
+
callback_modes: ["signed_callback_flow", "retry_schedule_flow", "endpoint_contract_flow"],
|
|
25
|
+
proof_surfaces: [
|
|
26
|
+
"/v1/proof-center/bridge/summary",
|
|
27
|
+
"/v1/release-center/summary",
|
|
28
|
+
"/v1/phases/phase-7/kafka/proof/summary",
|
|
29
|
+
"/v1/phases/phase-7/nats/proof/summary",
|
|
30
|
+
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
31
|
+
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
completion_shape: {
|
|
35
|
+
completion_checks: [
|
|
36
|
+
"broad Phase 7 event-system proof pack is public and inspectable",
|
|
37
|
+
"Kafka, NATS, MQTT, and webhook event bus proof lanes are public and inspectable",
|
|
38
|
+
"event proof posture is visible at phase level",
|
|
39
|
+
"proof surfaces stay attached to the Phase 7 lane family",
|
|
40
|
+
"release-center summary reflects Phase 7 activation and lane breadth"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
done_means: [
|
|
44
|
+
"Phase 6 is no longer the active proof-side program slice",
|
|
45
|
+
"Phase 7 has a public event/system proof path",
|
|
46
|
+
"Kafka, NATS, MQTT, and webhook event bus are visible as explicit proof-side system-integration lanes",
|
|
47
|
+
"the integration proof family feels operational rather than like a placeholder"
|
|
48
|
+
]
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function summarizePhase7EventSystemPack() {
|
|
53
|
+
const pack = buildPhase7EventSystemPack();
|
|
54
|
+
return {
|
|
55
|
+
ok: true,
|
|
56
|
+
product: pack.product,
|
|
57
|
+
category: pack.category,
|
|
58
|
+
phase_ref: pack.phase_ref,
|
|
59
|
+
ecosystem_count: pack.ecosystems.length,
|
|
60
|
+
lane_count: pack.lane_refs.length,
|
|
61
|
+
proof_mode_count: pack.integration_shape.proof_modes.length,
|
|
62
|
+
stream_mode_count: pack.integration_shape.stream_modes.length,
|
|
63
|
+
subject_mode_count: pack.integration_shape.subject_modes.length,
|
|
64
|
+
qos_mode_count: pack.integration_shape.qos_modes.length,
|
|
65
|
+
callback_mode_count: pack.integration_shape.callback_modes.length,
|
|
66
|
+
proof_surface_count: pack.integration_shape.proof_surfaces.length,
|
|
67
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
68
|
+
done_mean_count: pack.done_means.length,
|
|
69
|
+
first_ecosystem: pack.ecosystems[0] || null
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
module.exports = {
|
|
74
|
+
buildPhase7EventSystemPack,
|
|
75
|
+
summarizePhase7EventSystemPack
|
|
76
|
+
};
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildPhase7FreezeBaselinePack() {
|
|
6
|
-
return {
|
|
7
|
-
ok: true,
|
|
8
|
-
product: packageJson.name,
|
|
9
|
-
category: "proof-phase-7-freeze-baseline-pack",
|
|
10
|
-
phase_ref: "phase_7",
|
|
11
|
-
posture: "frozen_baseline",
|
|
12
|
-
baseline: {
|
|
13
|
-
lane_refs: [
|
|
14
|
-
"/v1/phases/phase-7/kafka/proof/summary",
|
|
15
|
-
"/v1/phases/phase-7/nats/proof/summary",
|
|
16
|
-
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
17
|
-
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
18
|
-
],
|
|
19
|
-
proof_modes: ["event_ingest_followthrough", "delivery_handoff_carry", "checkpoint_evidence_carry"],
|
|
20
|
-
stream_modes: ["partitioned_topic_flow", "consumer_group_flow", "offset_checkpoint_flow"],
|
|
21
|
-
subject_modes: ["subject_mesh_flow", "queue_group_flow", "ack_commit_flow"],
|
|
22
|
-
qos_modes: ["device_session_flow", "qos_delivery_flow", "retained_state_flow"],
|
|
23
|
-
callback_modes: ["signed_callback_flow", "retry_schedule_flow", "endpoint_contract_flow"],
|
|
24
|
-
baseline_status: "recorded",
|
|
25
|
-
frozen_outputs: [
|
|
26
|
-
"current event-system proof lane family is the recorded Phase 7 baseline",
|
|
27
|
-
"event-system proof family can now be judged against a stable shape rather than an open expansion set",
|
|
28
|
-
"only the final gate review remains before Phase 8"
|
|
29
|
-
]
|
|
30
|
-
},
|
|
31
|
-
first_path: {
|
|
32
|
-
purpose: "show that the Phase 7 event-system proof lane family is now treated as a frozen baseline",
|
|
33
|
-
first_http_sequence: [
|
|
34
|
-
"/v1/phases/phase-7/summary",
|
|
35
|
-
"/v1/phases/phase-7/freeze-baseline/summary",
|
|
36
|
-
"/v1/phases/phase-7/gate/summary"
|
|
37
|
-
],
|
|
38
|
-
first_cli_sequence: [
|
|
39
|
-
"xoonya-release --phase-7-freeze-baseline --summary",
|
|
40
|
-
"xoonya-release --phase-7 --summary"
|
|
41
|
-
],
|
|
42
|
-
expected_signals: [
|
|
43
|
-
"the event-system proof lane family is now explicitly frozen",
|
|
44
|
-
"proof-lane freeze is no longer part of the remaining Phase 7 uncertainty",
|
|
45
|
-
"the final open work is narrowed to gate review rather than shape definition"
|
|
46
|
-
]
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function summarizePhase7FreezeBaselinePack() {
|
|
52
|
-
const pack = buildPhase7FreezeBaselinePack();
|
|
53
|
-
return {
|
|
54
|
-
ok: true,
|
|
55
|
-
product: pack.product,
|
|
56
|
-
category: pack.category,
|
|
57
|
-
phase_ref: pack.phase_ref,
|
|
58
|
-
lane_count: pack.baseline.lane_refs.length,
|
|
59
|
-
proof_mode_count: pack.baseline.proof_modes.length,
|
|
60
|
-
stream_mode_count: pack.baseline.stream_modes.length,
|
|
61
|
-
subject_mode_count: pack.baseline.subject_modes.length,
|
|
62
|
-
qos_mode_count: pack.baseline.qos_modes.length,
|
|
63
|
-
callback_mode_count: pack.baseline.callback_modes.length,
|
|
64
|
-
baseline_status: pack.baseline.baseline_status,
|
|
65
|
-
frozen_output_count: pack.baseline.frozen_outputs.length,
|
|
66
|
-
signal_count: pack.first_path.expected_signals.length,
|
|
67
|
-
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
module.exports = {
|
|
72
|
-
buildPhase7FreezeBaselinePack,
|
|
73
|
-
summarizePhase7FreezeBaselinePack
|
|
74
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase7FreezeBaselinePack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-7-freeze-baseline-pack",
|
|
10
|
+
phase_ref: "phase_7",
|
|
11
|
+
posture: "frozen_baseline",
|
|
12
|
+
baseline: {
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-7/kafka/proof/summary",
|
|
15
|
+
"/v1/phases/phase-7/nats/proof/summary",
|
|
16
|
+
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
17
|
+
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
18
|
+
],
|
|
19
|
+
proof_modes: ["event_ingest_followthrough", "delivery_handoff_carry", "checkpoint_evidence_carry"],
|
|
20
|
+
stream_modes: ["partitioned_topic_flow", "consumer_group_flow", "offset_checkpoint_flow"],
|
|
21
|
+
subject_modes: ["subject_mesh_flow", "queue_group_flow", "ack_commit_flow"],
|
|
22
|
+
qos_modes: ["device_session_flow", "qos_delivery_flow", "retained_state_flow"],
|
|
23
|
+
callback_modes: ["signed_callback_flow", "retry_schedule_flow", "endpoint_contract_flow"],
|
|
24
|
+
baseline_status: "recorded",
|
|
25
|
+
frozen_outputs: [
|
|
26
|
+
"current event-system proof lane family is the recorded Phase 7 baseline",
|
|
27
|
+
"event-system proof family can now be judged against a stable shape rather than an open expansion set",
|
|
28
|
+
"only the final gate review remains before Phase 8"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
first_path: {
|
|
32
|
+
purpose: "show that the Phase 7 event-system proof lane family is now treated as a frozen baseline",
|
|
33
|
+
first_http_sequence: [
|
|
34
|
+
"/v1/phases/phase-7/summary",
|
|
35
|
+
"/v1/phases/phase-7/freeze-baseline/summary",
|
|
36
|
+
"/v1/phases/phase-7/gate/summary"
|
|
37
|
+
],
|
|
38
|
+
first_cli_sequence: [
|
|
39
|
+
"xoonya-release --phase-7-freeze-baseline --summary",
|
|
40
|
+
"xoonya-release --phase-7 --summary"
|
|
41
|
+
],
|
|
42
|
+
expected_signals: [
|
|
43
|
+
"the event-system proof lane family is now explicitly frozen",
|
|
44
|
+
"proof-lane freeze is no longer part of the remaining Phase 7 uncertainty",
|
|
45
|
+
"the final open work is narrowed to gate review rather than shape definition"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function summarizePhase7FreezeBaselinePack() {
|
|
52
|
+
const pack = buildPhase7FreezeBaselinePack();
|
|
53
|
+
return {
|
|
54
|
+
ok: true,
|
|
55
|
+
product: pack.product,
|
|
56
|
+
category: pack.category,
|
|
57
|
+
phase_ref: pack.phase_ref,
|
|
58
|
+
lane_count: pack.baseline.lane_refs.length,
|
|
59
|
+
proof_mode_count: pack.baseline.proof_modes.length,
|
|
60
|
+
stream_mode_count: pack.baseline.stream_modes.length,
|
|
61
|
+
subject_mode_count: pack.baseline.subject_modes.length,
|
|
62
|
+
qos_mode_count: pack.baseline.qos_modes.length,
|
|
63
|
+
callback_mode_count: pack.baseline.callback_modes.length,
|
|
64
|
+
baseline_status: pack.baseline.baseline_status,
|
|
65
|
+
frozen_output_count: pack.baseline.frozen_outputs.length,
|
|
66
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
67
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
module.exports = {
|
|
72
|
+
buildPhase7FreezeBaselinePack,
|
|
73
|
+
summarizePhase7FreezeBaselinePack
|
|
74
|
+
};
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const packageJson = require("../package.json");
|
|
4
|
-
|
|
5
|
-
function buildPhase7FreezeReviewPack() {
|
|
6
|
-
return {
|
|
7
|
-
ok: true,
|
|
8
|
-
product: packageJson.name,
|
|
9
|
-
category: "proof-phase-7-freeze-review-pack",
|
|
10
|
-
phase_ref: "phase_7",
|
|
11
|
-
posture: "freeze_review",
|
|
12
|
-
freeze_review: {
|
|
13
|
-
lane_refs: [
|
|
14
|
-
"/v1/phases/phase-7/kafka/proof/summary",
|
|
15
|
-
"/v1/phases/phase-7/nats/proof/summary",
|
|
16
|
-
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
17
|
-
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
18
|
-
],
|
|
19
|
-
proof_modes: ["event_ingest_followthrough", "delivery_handoff_carry", "checkpoint_evidence_carry"],
|
|
20
|
-
review_questions: [
|
|
21
|
-
"Is the current event-system proof lane family the intended final Phase 7 breadth?",
|
|
22
|
-
"Are proof roles coherent across stream, broker, device, and webhook lanes?",
|
|
23
|
-
"Do proof surfaces expose enough review posture for the event-system family?",
|
|
24
|
-
"Is the family ready to freeze before opening Phase 8?"
|
|
25
|
-
],
|
|
26
|
-
resolution_criteria: [
|
|
27
|
-
{ ref: "criterion.event_breadth_confirmed", label: "The final event-system proof lane breadth is confirmed", satisfied: true },
|
|
28
|
-
{ ref: "criterion.proof_roles_confirmed", label: "Proof roles are coherent across the family", satisfied: true },
|
|
29
|
-
{ ref: "criterion.freeze_decision_recorded", label: "The freeze decision is explicitly recorded", satisfied: true },
|
|
30
|
-
{ ref: "criterion.gate_review_recorded", label: "The next-phase gate review is explicitly recorded", satisfied: true }
|
|
31
|
-
],
|
|
32
|
-
blockers: [],
|
|
33
|
-
outputs: [
|
|
34
|
-
"the final Phase 7 event-system proof lane shape can be frozen",
|
|
35
|
-
"the remaining gate blockers are explicit and inspectable",
|
|
36
|
-
"Phase 7 can be closed deliberately rather than implicitly"
|
|
37
|
-
],
|
|
38
|
-
decision_posture: "freeze_review_recorded"
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function summarizePhase7FreezeReviewPack() {
|
|
44
|
-
const pack = buildPhase7FreezeReviewPack();
|
|
45
|
-
return {
|
|
46
|
-
ok: true,
|
|
47
|
-
product: pack.product,
|
|
48
|
-
category: pack.category,
|
|
49
|
-
phase_ref: pack.phase_ref,
|
|
50
|
-
lane_count: pack.freeze_review.lane_refs.length,
|
|
51
|
-
proof_mode_count: pack.freeze_review.proof_modes.length,
|
|
52
|
-
review_question_count: pack.freeze_review.review_questions.length,
|
|
53
|
-
resolution_criteria_count: pack.freeze_review.resolution_criteria.length,
|
|
54
|
-
satisfied_resolution_count: pack.freeze_review.resolution_criteria.filter((criterion) => criterion.satisfied === true).length,
|
|
55
|
-
unsatisfied_resolution_count: pack.freeze_review.resolution_criteria.filter((criterion) => criterion.satisfied !== true).length,
|
|
56
|
-
blocker_count: pack.freeze_review.blockers.length,
|
|
57
|
-
freeze_output_count: pack.freeze_review.outputs.length,
|
|
58
|
-
decision_posture: pack.freeze_review.decision_posture
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
module.exports = {
|
|
63
|
-
buildPhase7FreezeReviewPack,
|
|
64
|
-
summarizePhase7FreezeReviewPack
|
|
65
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase7FreezeReviewPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-7-freeze-review-pack",
|
|
10
|
+
phase_ref: "phase_7",
|
|
11
|
+
posture: "freeze_review",
|
|
12
|
+
freeze_review: {
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-7/kafka/proof/summary",
|
|
15
|
+
"/v1/phases/phase-7/nats/proof/summary",
|
|
16
|
+
"/v1/phases/phase-7/mqtt/proof/summary",
|
|
17
|
+
"/v1/phases/phase-7/webhook-event-bus/proof/summary"
|
|
18
|
+
],
|
|
19
|
+
proof_modes: ["event_ingest_followthrough", "delivery_handoff_carry", "checkpoint_evidence_carry"],
|
|
20
|
+
review_questions: [
|
|
21
|
+
"Is the current event-system proof lane family the intended final Phase 7 breadth?",
|
|
22
|
+
"Are proof roles coherent across stream, broker, device, and webhook lanes?",
|
|
23
|
+
"Do proof surfaces expose enough review posture for the event-system family?",
|
|
24
|
+
"Is the family ready to freeze before opening Phase 8?"
|
|
25
|
+
],
|
|
26
|
+
resolution_criteria: [
|
|
27
|
+
{ ref: "criterion.event_breadth_confirmed", label: "The final event-system proof lane breadth is confirmed", satisfied: true },
|
|
28
|
+
{ ref: "criterion.proof_roles_confirmed", label: "Proof roles are coherent across the family", satisfied: true },
|
|
29
|
+
{ ref: "criterion.freeze_decision_recorded", label: "The freeze decision is explicitly recorded", satisfied: true },
|
|
30
|
+
{ ref: "criterion.gate_review_recorded", label: "The next-phase gate review is explicitly recorded", satisfied: true }
|
|
31
|
+
],
|
|
32
|
+
blockers: [],
|
|
33
|
+
outputs: [
|
|
34
|
+
"the final Phase 7 event-system proof lane shape can be frozen",
|
|
35
|
+
"the remaining gate blockers are explicit and inspectable",
|
|
36
|
+
"Phase 7 can be closed deliberately rather than implicitly"
|
|
37
|
+
],
|
|
38
|
+
decision_posture: "freeze_review_recorded"
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function summarizePhase7FreezeReviewPack() {
|
|
44
|
+
const pack = buildPhase7FreezeReviewPack();
|
|
45
|
+
return {
|
|
46
|
+
ok: true,
|
|
47
|
+
product: pack.product,
|
|
48
|
+
category: pack.category,
|
|
49
|
+
phase_ref: pack.phase_ref,
|
|
50
|
+
lane_count: pack.freeze_review.lane_refs.length,
|
|
51
|
+
proof_mode_count: pack.freeze_review.proof_modes.length,
|
|
52
|
+
review_question_count: pack.freeze_review.review_questions.length,
|
|
53
|
+
resolution_criteria_count: pack.freeze_review.resolution_criteria.length,
|
|
54
|
+
satisfied_resolution_count: pack.freeze_review.resolution_criteria.filter((criterion) => criterion.satisfied === true).length,
|
|
55
|
+
unsatisfied_resolution_count: pack.freeze_review.resolution_criteria.filter((criterion) => criterion.satisfied !== true).length,
|
|
56
|
+
blocker_count: pack.freeze_review.blockers.length,
|
|
57
|
+
freeze_output_count: pack.freeze_review.outputs.length,
|
|
58
|
+
decision_posture: pack.freeze_review.decision_posture
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
module.exports = {
|
|
63
|
+
buildPhase7FreezeReviewPack,
|
|
64
|
+
summarizePhase7FreezeReviewPack
|
|
65
|
+
};
|