xytara 2.0.0 → 2.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/.env.example +6 -0
- package/ADAPTER_START_HERE.md +56 -0
- package/BSV_TERANODE_SETUP.md +30 -1
- package/CARRIED_HANDOFF_DEMO.md +60 -0
- package/EXAMPLE_PATHS.md +53 -0
- package/FINAL_CONTRACT.md +6 -6
- package/OPERATIONS_RUNBOOK.md +65 -0
- package/OPERATOR_START_HERE.md +63 -0
- package/PARTNER_READY_PATH.md +71 -0
- package/PROGRAM_COMPLETE_RELEASE.md +63 -0
- package/PROGRAM_STATUS.md +57 -0
- package/PUBLIC_DEMO_SCRIPT.md +78 -0
- package/PUBLISH_PLAN.md +14 -0
- package/README.md +142 -6
- package/RELEASE_CHECKLIST.md +16 -0
- package/RELEASE_NOTES.md +28 -0
- package/SERVICE_CONTRACT.md +4 -4
- package/START_HERE.md +32 -0
- package/SUPABASE_RUNTIME_STATE_SETUP.md +61 -0
- package/WHY_XYTARA_XOONYA.md +63 -0
- package/adapters/examples/minimal-third-party-execution-adapter.js +61 -0
- package/adapters/examples/minimal-third-party-execution-adapter.manifest.json +79 -0
- package/adapters/examples/minimal-third-party-execution-registration.record.json +26 -0
- package/adapters/examples/minimal-third-party-execution.certification-pack.json +22 -0
- package/adapters/examples/minimal-third-party-execution.submission-bundle.json +126 -0
- package/bin/xytara-release.js +1419 -0
- package/bin/xytara-run.js +186 -0
- package/examples/adapter_review_walkthrough.js +53 -0
- package/examples/export_carried_handoff.js +80 -0
- package/examples/funded_runtime_walkthrough.js +70 -0
- package/examples/partner_launch_walkthrough.js +43 -0
- package/examples/quickstart.js +3255 -0
- package/index.js +87 -1
- package/lib/adapter_pack.js +118 -0
- package/lib/adapter_partner_pack.js +89 -0
- package/lib/adapter_promotion_pack.js +89 -0
- package/lib/announcement_pack.js +61 -0
- package/lib/commerce_artifacts.js +3 -0
- package/lib/commerce_economics.js +14 -0
- package/lib/commerce_reports.js +26 -1
- package/lib/commerce_shell.js +18 -2
- package/lib/ecosystem_entry.js +64 -0
- package/lib/launch_narrative.js +53 -0
- package/lib/outreach_copy_pack.js +51 -0
- package/lib/outreach_message_pack.js +71 -0
- package/lib/outreach_proof.js +71 -0
- package/lib/outreach_target_pack.js +60 -0
- package/lib/phase_10_closeout_pack.js +45 -0
- package/lib/phase_10_completion_pack.js +76 -0
- package/lib/phase_10_decision_record_pack.js +54 -0
- package/lib/phase_10_decision_resolution_pack.js +53 -0
- package/lib/phase_10_demand_signal_adapters_runtime_pack.js +74 -0
- package/lib/phase_10_ecosystem_backlog_triage_runtime_pack.js +74 -0
- package/lib/phase_10_freeze_baseline_pack.js +67 -0
- package/lib/phase_10_freeze_review_pack.js +64 -0
- package/lib/phase_10_gate_pack.js +57 -0
- package/lib/phase_10_long_tail_continuity_pack.js +80 -0
- package/lib/phase_10_long_tail_ecosystem_pack.js +66 -0
- package/lib/phase_10_niche_extension_registry_runtime_pack.js +74 -0
- package/lib/phase_1_claude_mcp_pack.js +60 -0
- package/lib/phase_1_claude_mcp_runtime_pack.js +52 -0
- package/lib/phase_1_ecosystem_pack.js +67 -0
- package/lib/phase_1_openai_codex_pack.js +60 -0
- package/lib/phase_1_openai_codex_runtime_pack.js +52 -0
- package/lib/phase_2_base_runtime_pack.js +71 -0
- package/lib/phase_2_base_usdc_runtime_pack.js +72 -0
- package/lib/phase_2_closeout_pack.js +65 -0
- package/lib/phase_2_completion_pack.js +113 -0
- package/lib/phase_2_decision_record_pack.js +66 -0
- package/lib/phase_2_decision_resolution_pack.js +69 -0
- package/lib/phase_2_eth_runtime_pack.js +70 -0
- package/lib/phase_2_evm_base_runtime_pack.js +73 -0
- package/lib/phase_2_evm_runtime_pack.js +71 -0
- package/lib/phase_2_flip_preview_pack.js +60 -0
- package/lib/phase_2_freeze_review_pack.js +99 -0
- package/lib/phase_2_gate_pack.js +77 -0
- package/lib/phase_2_payment_rails_pack.js +71 -0
- package/lib/phase_2_usdc_runtime_pack.js +71 -0
- package/lib/phase_3_brc_runtime_pack.js +81 -0
- package/lib/phase_3_bsv_teranode_runtime_pack.js +83 -0
- package/lib/phase_3_closeout_pack.js +62 -0
- package/lib/phase_3_completion_pack.js +94 -0
- package/lib/phase_3_decision_record_pack.js +64 -0
- package/lib/phase_3_decision_resolution_pack.js +69 -0
- package/lib/phase_3_freeze_baseline_pack.js +67 -0
- package/lib/phase_3_freeze_review_pack.js +80 -0
- package/lib/phase_3_gate_pack.js +76 -0
- package/lib/phase_3_metanet_runtime_pack.js +81 -0
- package/lib/phase_3_native_bsv_pack.js +91 -0
- package/lib/phase_3_native_continuity_pack.js +82 -0
- package/lib/phase_4_attestation_runtime_pack.js +75 -0
- package/lib/phase_4_closeout_pack.js +45 -0
- package/lib/phase_4_completion_pack.js +94 -0
- package/lib/phase_4_decision_record_pack.js +54 -0
- package/lib/phase_4_decision_resolution_pack.js +45 -0
- package/lib/phase_4_erc8004_runtime_pack.js +76 -0
- package/lib/phase_4_freeze_baseline_pack.js +67 -0
- package/lib/phase_4_freeze_review_pack.js +68 -0
- package/lib/phase_4_gate_pack.js +58 -0
- package/lib/phase_4_identity_registry_runtime_pack.js +75 -0
- package/lib/phase_4_identity_trust_pack.js +73 -0
- package/lib/phase_4_trust_continuity_pack.js +86 -0
- package/lib/phase_5_antelope_runtime_pack.js +76 -0
- package/lib/phase_5_closeout_pack.js +44 -0
- package/lib/phase_5_completion_pack.js +82 -0
- package/lib/phase_5_decision_record_pack.js +54 -0
- package/lib/phase_5_decision_resolution_pack.js +45 -0
- package/lib/phase_5_freeze_baseline_pack.js +67 -0
- package/lib/phase_5_freeze_review_pack.js +68 -0
- package/lib/phase_5_gate_pack.js +58 -0
- package/lib/phase_5_major_rails_continuity_pack.js +86 -0
- package/lib/phase_5_major_rails_pack.js +74 -0
- package/lib/phase_5_proton_xpr_runtime_pack.js +76 -0
- package/lib/phase_5_solana_runtime_pack.js +76 -0
- package/lib/phase_6_autogen_runtime_pack.js +72 -0
- package/lib/phase_6_closeout_pack.js +46 -0
- package/lib/phase_6_completion_pack.js +77 -0
- package/lib/phase_6_decision_record_pack.js +54 -0
- package/lib/phase_6_decision_resolution_pack.js +53 -0
- package/lib/phase_6_framework_continuity_pack.js +81 -0
- package/lib/phase_6_framework_runtime_pack.js +68 -0
- package/lib/phase_6_freeze_baseline_pack.js +68 -0
- package/lib/phase_6_freeze_review_pack.js +65 -0
- package/lib/phase_6_gate_pack.js +59 -0
- package/lib/phase_6_langchain_runtime_pack.js +72 -0
- package/lib/phase_6_langgraph_runtime_pack.js +72 -0
- package/lib/phase_6_semantic_kernel_runtime_pack.js +72 -0
- package/lib/phase_7_closeout_pack.js +45 -0
- package/lib/phase_7_completion_pack.js +85 -0
- package/lib/phase_7_decision_record_pack.js +53 -0
- package/lib/phase_7_decision_resolution_pack.js +53 -0
- package/lib/phase_7_event_system_continuity_pack.js +89 -0
- package/lib/phase_7_event_system_pack.js +76 -0
- package/lib/phase_7_freeze_baseline_pack.js +74 -0
- package/lib/phase_7_freeze_review_pack.js +65 -0
- package/lib/phase_7_gate_pack.js +58 -0
- package/lib/phase_7_kafka_runtime_pack.js +74 -0
- package/lib/phase_7_mqtt_runtime_pack.js +74 -0
- package/lib/phase_7_nats_runtime_pack.js +74 -0
- package/lib/phase_7_webhook_event_bus_runtime_pack.js +74 -0
- package/lib/phase_8_closeout_pack.js +46 -0
- package/lib/phase_8_completion_pack.js +82 -0
- package/lib/phase_8_decision_record_pack.js +54 -0
- package/lib/phase_8_decision_resolution_pack.js +53 -0
- package/lib/phase_8_external_receipt_import_runtime_pack.js +74 -0
- package/lib/phase_8_external_result_import_runtime_pack.js +74 -0
- package/lib/phase_8_freeze_baseline_pack.js +71 -0
- package/lib/phase_8_freeze_review_pack.js +64 -0
- package/lib/phase_8_gate_pack.js +58 -0
- package/lib/phase_8_proof_bridge_continuity_pack.js +86 -0
- package/lib/phase_8_proof_bridges_pack.js +72 -0
- package/lib/phase_8_proof_bundle_normalization_runtime_pack.js +74 -0
- package/lib/phase_9_closeout_pack.js +46 -0
- package/lib/phase_9_completion_pack.js +82 -0
- package/lib/phase_9_custody_refs_runtime_pack.js +74 -0
- package/lib/phase_9_decision_record_pack.js +54 -0
- package/lib/phase_9_decision_resolution_pack.js +53 -0
- package/lib/phase_9_freeze_baseline_pack.js +71 -0
- package/lib/phase_9_freeze_review_pack.js +64 -0
- package/lib/phase_9_gate_pack.js +58 -0
- package/lib/phase_9_operator_accounting_bridges_runtime_pack.js +74 -0
- package/lib/phase_9_treasury_connectivity_pack.js +72 -0
- package/lib/phase_9_treasury_continuity_pack.js +86 -0
- package/lib/phase_9_treasury_destinations_runtime_pack.js +74 -0
- package/lib/phase_program_pack.js +120 -0
- package/lib/publish_plan.js +51 -0
- package/lib/release_candidate.js +50 -0
- package/lib/release_center.js +1085 -0
- package/lib/release_history.js +72 -0
- package/lib/release_manifest.js +114 -0
- package/lib/release_pack.js +454 -0
- package/lib/runtime_state_store.js +354 -0
- package/lib/settlement_bsv_live.js +262 -13
- package/lib/soft_launch_pack.js +78 -0
- package/package.json +24 -2
- package/server.js +2562 -220
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase9DecisionRecordPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-9-decision-record-pack",
|
|
10
|
+
phase_ref: "phase_9",
|
|
11
|
+
posture: "decision_record",
|
|
12
|
+
records: {
|
|
13
|
+
freeze_decision: {
|
|
14
|
+
status: "recorded",
|
|
15
|
+
description: "record the final treasury lane shape as the frozen Phase 9 baseline"
|
|
16
|
+
},
|
|
17
|
+
gate_review: {
|
|
18
|
+
status: "recorded",
|
|
19
|
+
description: "record the final review that authorizes the move to Phase 10"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
record_steps: [
|
|
23
|
+
"confirm the current treasury lane family matches the intended final Phase 9 shape",
|
|
24
|
+
"record the freeze decision outcome",
|
|
25
|
+
"record the gate review outcome",
|
|
26
|
+
"recheck phase-9 gate summary for zero unsatisfied conditions"
|
|
27
|
+
],
|
|
28
|
+
outputs: [
|
|
29
|
+
"freeze decision status moves out of pending_record",
|
|
30
|
+
"gate review status moves out of pending_record",
|
|
31
|
+
"phase-9 gate can be flipped deliberately"
|
|
32
|
+
]
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function summarizePhase9DecisionRecordPack() {
|
|
37
|
+
const pack = buildPhase9DecisionRecordPack();
|
|
38
|
+
return {
|
|
39
|
+
ok: true,
|
|
40
|
+
product: pack.product,
|
|
41
|
+
category: pack.category,
|
|
42
|
+
phase_ref: pack.phase_ref,
|
|
43
|
+
pending_record_count: Object.values(pack.records).filter((record) => record.status === "pending_record").length,
|
|
44
|
+
record_step_count: pack.record_steps.length,
|
|
45
|
+
output_count: pack.outputs.length,
|
|
46
|
+
freeze_decision_status: pack.records.freeze_decision.status,
|
|
47
|
+
gate_review_status: pack.records.gate_review.status
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
module.exports = {
|
|
52
|
+
buildPhase9DecisionRecordPack,
|
|
53
|
+
summarizePhase9DecisionRecordPack
|
|
54
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase9DecisionResolutionPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-9-decision-resolution-pack",
|
|
10
|
+
phase_ref: "phase_9",
|
|
11
|
+
posture: "decision_resolution",
|
|
12
|
+
transitions: [
|
|
13
|
+
{
|
|
14
|
+
ref: "freeze_decision",
|
|
15
|
+
from: "recorded",
|
|
16
|
+
to: "recorded"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
ref: "gate_review",
|
|
20
|
+
from: "recorded",
|
|
21
|
+
to: "recorded"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
resolution_steps: [
|
|
25
|
+
"confirm the treasury lane family is the intended final Phase 9 shape",
|
|
26
|
+
"record the freeze decision outcome",
|
|
27
|
+
"record the gate review outcome",
|
|
28
|
+
"recheck phase-9 completion and freeze-review summaries",
|
|
29
|
+
"confirm phase-9 gate resolves to ready_for_phase_10"
|
|
30
|
+
],
|
|
31
|
+
target_gate_decision: "ready_for_phase_10",
|
|
32
|
+
target_ready_for_next_phase: true
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function summarizePhase9DecisionResolutionPack() {
|
|
37
|
+
const pack = buildPhase9DecisionResolutionPack();
|
|
38
|
+
return {
|
|
39
|
+
ok: true,
|
|
40
|
+
product: pack.product,
|
|
41
|
+
category: pack.category,
|
|
42
|
+
phase_ref: pack.phase_ref,
|
|
43
|
+
transition_count: pack.transitions.length,
|
|
44
|
+
resolution_step_count: pack.resolution_steps.length,
|
|
45
|
+
target_gate_decision: pack.target_gate_decision,
|
|
46
|
+
target_ready_for_next_phase: pack.target_ready_for_next_phase
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = {
|
|
51
|
+
buildPhase9DecisionResolutionPack,
|
|
52
|
+
summarizePhase9DecisionResolutionPack
|
|
53
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase9FreezeBaselinePack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-9-freeze-baseline-pack",
|
|
10
|
+
phase_ref: "phase_9",
|
|
11
|
+
posture: "frozen_baseline",
|
|
12
|
+
baseline: {
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-9/treasury-destinations/summary",
|
|
15
|
+
"/v1/phases/phase-9/custody-refs/summary",
|
|
16
|
+
"/v1/phases/phase-9/operator-accounting-bridges/summary"
|
|
17
|
+
],
|
|
18
|
+
treasury_modes: ["treasury_destination_routing", "custody_reference_handoff", "operator_accounting_bridge"],
|
|
19
|
+
destination_modes: ["destination_selection_flow", "destination_routing_flow", "destination_handoff_flow"],
|
|
20
|
+
custody_modes: ["custody_ref_flow", "handoff_ref_flow", "reconciliation_ref_flow"],
|
|
21
|
+
accounting_modes: ["accounting_bridge_flow", "statement_bridge_flow", "handoff_bridge_flow"],
|
|
22
|
+
baseline_status: "recorded",
|
|
23
|
+
frozen_outputs: [
|
|
24
|
+
"current treasury lane family is the recorded Phase 9 baseline",
|
|
25
|
+
"treasury family can now be judged against a stable shape rather than an open expansion set",
|
|
26
|
+
"only the final gate review remains before Phase 10"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
first_path: {
|
|
30
|
+
purpose: "show that the Phase 9 treasury lane family is now treated as a frozen baseline",
|
|
31
|
+
first_http_sequence: [
|
|
32
|
+
"/v1/phases/phase-9/summary",
|
|
33
|
+
"/v1/phases/phase-9/freeze-baseline/summary",
|
|
34
|
+
"/v1/phases/phase-9/gate/summary"
|
|
35
|
+
],
|
|
36
|
+
first_cli_sequence: [
|
|
37
|
+
"xytara-release --phase-9-freeze-baseline --summary",
|
|
38
|
+
"xytara-release --phase-9 --summary"
|
|
39
|
+
],
|
|
40
|
+
expected_signals: [
|
|
41
|
+
"the treasury lane family is now explicitly frozen",
|
|
42
|
+
"lane freeze is no longer part of the remaining Phase 9 uncertainty",
|
|
43
|
+
"the final open work is narrowed to gate review rather than shape definition"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function summarizePhase9FreezeBaselinePack() {
|
|
50
|
+
const pack = buildPhase9FreezeBaselinePack();
|
|
51
|
+
return {
|
|
52
|
+
ok: true,
|
|
53
|
+
product: pack.product,
|
|
54
|
+
category: pack.category,
|
|
55
|
+
phase_ref: pack.phase_ref,
|
|
56
|
+
lane_count: pack.baseline.lane_refs.length,
|
|
57
|
+
treasury_mode_count: pack.baseline.treasury_modes.length,
|
|
58
|
+
destination_mode_count: pack.baseline.destination_modes.length,
|
|
59
|
+
custody_mode_count: pack.baseline.custody_modes.length,
|
|
60
|
+
accounting_mode_count: pack.baseline.accounting_modes.length,
|
|
61
|
+
baseline_status: pack.baseline.baseline_status,
|
|
62
|
+
frozen_output_count: pack.baseline.frozen_outputs.length,
|
|
63
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
64
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
module.exports = {
|
|
69
|
+
buildPhase9FreezeBaselinePack,
|
|
70
|
+
summarizePhase9FreezeBaselinePack
|
|
71
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase9FreezeReviewPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-9-freeze-review-pack",
|
|
10
|
+
phase_ref: "phase_9",
|
|
11
|
+
posture: "freeze_review",
|
|
12
|
+
freeze_review: {
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-9/treasury-destinations/summary",
|
|
15
|
+
"/v1/phases/phase-9/custody-refs/summary",
|
|
16
|
+
"/v1/phases/phase-9/operator-accounting-bridges/summary"
|
|
17
|
+
],
|
|
18
|
+
treasury_modes: ["treasury_destination_routing", "custody_reference_handoff", "operator_accounting_bridge"],
|
|
19
|
+
review_questions: [
|
|
20
|
+
"Is the current treasury lane family the intended final Phase 9 breadth?",
|
|
21
|
+
"Are destination, custody, and accounting roles coherent across the treasury family?",
|
|
22
|
+
"Do operator surfaces expose enough review posture for the treasury family?",
|
|
23
|
+
"Is the family ready to freeze before opening Phase 10?"
|
|
24
|
+
],
|
|
25
|
+
resolution_criteria: [
|
|
26
|
+
{ ref: "criterion.treasury_breadth_confirmed", label: "The final treasury lane breadth is confirmed", satisfied: true },
|
|
27
|
+
{ ref: "criterion.treasury_roles_confirmed", label: "Destination, custody, and accounting roles are coherent across the family", satisfied: true },
|
|
28
|
+
{ ref: "criterion.freeze_decision_recorded", label: "The freeze decision is explicitly recorded", satisfied: true },
|
|
29
|
+
{ ref: "criterion.gate_review_recorded", label: "The next-phase gate review is explicitly recorded", satisfied: true }
|
|
30
|
+
],
|
|
31
|
+
blockers: [],
|
|
32
|
+
outputs: [
|
|
33
|
+
"the final Phase 9 treasury lane shape is frozen",
|
|
34
|
+
"the remaining gate blockers are explicit and inspectable",
|
|
35
|
+
"Phase 9 can be closed deliberately rather than implicitly"
|
|
36
|
+
],
|
|
37
|
+
decision_posture: "freeze_review_recorded"
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function summarizePhase9FreezeReviewPack() {
|
|
43
|
+
const pack = buildPhase9FreezeReviewPack();
|
|
44
|
+
return {
|
|
45
|
+
ok: true,
|
|
46
|
+
product: pack.product,
|
|
47
|
+
category: pack.category,
|
|
48
|
+
phase_ref: pack.phase_ref,
|
|
49
|
+
lane_count: pack.freeze_review.lane_refs.length,
|
|
50
|
+
treasury_mode_count: pack.freeze_review.treasury_modes.length,
|
|
51
|
+
review_question_count: pack.freeze_review.review_questions.length,
|
|
52
|
+
resolution_criteria_count: pack.freeze_review.resolution_criteria.length,
|
|
53
|
+
satisfied_resolution_count: pack.freeze_review.resolution_criteria.filter((criterion) => criterion.satisfied === true).length,
|
|
54
|
+
unsatisfied_resolution_count: pack.freeze_review.resolution_criteria.filter((criterion) => criterion.satisfied !== true).length,
|
|
55
|
+
blocker_count: pack.freeze_review.blockers.length,
|
|
56
|
+
freeze_output_count: pack.freeze_review.outputs.length,
|
|
57
|
+
decision_posture: pack.freeze_review.decision_posture
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = {
|
|
62
|
+
buildPhase9FreezeReviewPack,
|
|
63
|
+
summarizePhase9FreezeReviewPack
|
|
64
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
const { summarizePhase9CompletionPack } = require("./phase_9_completion_pack");
|
|
5
|
+
const { summarizePhase9FreezeReviewPack } = require("./phase_9_freeze_review_pack");
|
|
6
|
+
|
|
7
|
+
function buildPhase9GatePack() {
|
|
8
|
+
const completion = summarizePhase9CompletionPack();
|
|
9
|
+
const freezeReview = summarizePhase9FreezeReviewPack();
|
|
10
|
+
const unsatisfiedGateCount =
|
|
11
|
+
completion.unsatisfied_criteria_count +
|
|
12
|
+
freezeReview.unsatisfied_resolution_count;
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
ok: true,
|
|
16
|
+
product: packageJson.name,
|
|
17
|
+
category: "machine-commerce-phase-9-gate-pack",
|
|
18
|
+
phase_ref: "phase_9",
|
|
19
|
+
posture: "phase_gate",
|
|
20
|
+
gate: {
|
|
21
|
+
decision: unsatisfiedGateCount === 0 ? "ready_for_phase_10" : "hold_phase_9",
|
|
22
|
+
ready_for_next_phase: unsatisfiedGateCount === 0,
|
|
23
|
+
satisfied_gate_count:
|
|
24
|
+
completion.satisfied_criteria_count +
|
|
25
|
+
freezeReview.satisfied_resolution_count,
|
|
26
|
+
unsatisfied_gate_count: unsatisfiedGateCount,
|
|
27
|
+
blockers: unsatisfiedGateCount === 0 ? [] : [
|
|
28
|
+
"next-phase gate review has not been explicitly recorded"
|
|
29
|
+
],
|
|
30
|
+
advance_when: [
|
|
31
|
+
"freeze decision is explicitly recorded",
|
|
32
|
+
"gate review is explicitly recorded",
|
|
33
|
+
"completion and freeze-review surfaces both show no unsatisfied gate criteria"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function summarizePhase9GatePack() {
|
|
40
|
+
const pack = buildPhase9GatePack();
|
|
41
|
+
return {
|
|
42
|
+
ok: true,
|
|
43
|
+
product: pack.product,
|
|
44
|
+
category: pack.category,
|
|
45
|
+
phase_ref: pack.phase_ref,
|
|
46
|
+
satisfied_gate_count: pack.gate.satisfied_gate_count,
|
|
47
|
+
unsatisfied_gate_count: pack.gate.unsatisfied_gate_count,
|
|
48
|
+
blocker_count: pack.gate.blockers.length,
|
|
49
|
+
advance_when_count: pack.gate.advance_when.length,
|
|
50
|
+
decision: pack.gate.decision,
|
|
51
|
+
ready_for_next_phase: pack.gate.ready_for_next_phase
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
module.exports = {
|
|
56
|
+
buildPhase9GatePack,
|
|
57
|
+
summarizePhase9GatePack
|
|
58
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase9OperatorAccountingBridgesRuntimePack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-9-operator-accounting-bridges-runtime-pack",
|
|
10
|
+
phase_ref: "phase_9",
|
|
11
|
+
posture: "runtime_path",
|
|
12
|
+
ecosystems: ["operator_accounting_bridges"],
|
|
13
|
+
runtime_shape: {
|
|
14
|
+
treasury_modes: ["destination_routing", "custody_handoff", "operator_accounting_bridge"],
|
|
15
|
+
accounting_modes: ["accounting_bridge_flow", "statement_bridge_flow", "handoff_bridge_flow"],
|
|
16
|
+
ledger_artifacts: ["accounting_ref", "operator_statement_ref", "bridge_handoff_ref"],
|
|
17
|
+
operator_surfaces: [
|
|
18
|
+
"/v1/release-center/summary",
|
|
19
|
+
"/v1/publish-plan/summary",
|
|
20
|
+
"/v1/phases/phase-9/summary"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
first_path: {
|
|
24
|
+
purpose: "show the Phase 9 operator accounting path from treasury outputs into accounting bridge references",
|
|
25
|
+
first_http_sequence: [
|
|
26
|
+
"/v1/phases/phase-9/summary",
|
|
27
|
+
"/v1/phases/phase-9/operator-accounting-bridges/summary",
|
|
28
|
+
"/v1/release-center/summary"
|
|
29
|
+
],
|
|
30
|
+
first_cli_sequence: [
|
|
31
|
+
"xytara-release --phase-9-operator-accounting-bridges-runtime --summary",
|
|
32
|
+
"xytara-release --phase-9 --summary"
|
|
33
|
+
],
|
|
34
|
+
expected_signals: [
|
|
35
|
+
"operator accounting bridges is a public Phase 9 lane",
|
|
36
|
+
"accounting bridge artifacts are explicit at the lane level",
|
|
37
|
+
"operator accounting posture is visible before broader treasury/operator expansion"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
completion: {
|
|
41
|
+
completion_checks: [
|
|
42
|
+
"operator accounting bridges lane is public and inspectable",
|
|
43
|
+
"bridge artifacts are visible at lane level",
|
|
44
|
+
"operator surfaces remain attached to the accounting lane",
|
|
45
|
+
"the lane is ready to anchor broader treasury/operator breadth"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function summarizePhase9OperatorAccountingBridgesRuntimePack() {
|
|
52
|
+
const pack = buildPhase9OperatorAccountingBridgesRuntimePack();
|
|
53
|
+
return {
|
|
54
|
+
ok: true,
|
|
55
|
+
product: pack.product,
|
|
56
|
+
category: pack.category,
|
|
57
|
+
phase_ref: pack.phase_ref,
|
|
58
|
+
ecosystem_count: pack.ecosystems.length,
|
|
59
|
+
treasury_mode_count: pack.runtime_shape.treasury_modes.length,
|
|
60
|
+
accounting_mode_count: pack.runtime_shape.accounting_modes.length,
|
|
61
|
+
ledger_artifact_count: pack.runtime_shape.ledger_artifacts.length,
|
|
62
|
+
completion_check_count: pack.completion.completion_checks.length,
|
|
63
|
+
http_step_count: pack.first_path.first_http_sequence.length,
|
|
64
|
+
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
65
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
66
|
+
operator_surface_count: pack.runtime_shape.operator_surfaces.length,
|
|
67
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
module.exports = {
|
|
72
|
+
buildPhase9OperatorAccountingBridgesRuntimePack,
|
|
73
|
+
summarizePhase9OperatorAccountingBridgesRuntimePack
|
|
74
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase9TreasuryConnectivityPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-9-treasury-connectivity-pack",
|
|
10
|
+
phase_ref: "phase_9",
|
|
11
|
+
status: "active",
|
|
12
|
+
ecosystems: ["treasury_destinations", "custody_refs", "operator_accounting_bridges"],
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-9/treasury-destinations/summary",
|
|
15
|
+
"/v1/phases/phase-9/custody-refs/summary",
|
|
16
|
+
"/v1/phases/phase-9/operator-accounting-bridges/summary"
|
|
17
|
+
],
|
|
18
|
+
treasury_shape: {
|
|
19
|
+
treasury_modes: ["destination_routing", "custody_handoff", "operator_accounting_bridge"],
|
|
20
|
+
destination_modes: ["destination_selection_flow", "destination_routing_flow", "destination_handoff_flow"],
|
|
21
|
+
custody_modes: ["custody_ref_flow", "handoff_ref_flow", "reconciliation_ref_flow"],
|
|
22
|
+
accounting_modes: ["accounting_bridge_flow", "statement_bridge_flow", "handoff_bridge_flow"],
|
|
23
|
+
operator_surfaces: [
|
|
24
|
+
"/v1/release-center/summary",
|
|
25
|
+
"/v1/publish-plan/summary",
|
|
26
|
+
"/v1/phases/phase-9/treasury-destinations/summary",
|
|
27
|
+
"/v1/phases/phase-9/custody-refs/summary",
|
|
28
|
+
"/v1/phases/phase-9/operator-accounting-bridges/summary"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
completion_shape: {
|
|
32
|
+
completion_checks: [
|
|
33
|
+
"broad Phase 9 treasury connectivity pack is public and inspectable",
|
|
34
|
+
"treasury destinations lane is public and inspectable",
|
|
35
|
+
"treasury posture is visible at phase level",
|
|
36
|
+
"operator surfaces stay attached to the current Phase 9 family",
|
|
37
|
+
"release-center summary reflects Phase 9 activation and lane breadth"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
done_means: [
|
|
41
|
+
"Phase 8 is no longer the active program slice",
|
|
42
|
+
"Phase 9 has a public treasury/operator connectivity entry path",
|
|
43
|
+
"treasury destinations is visible as an explicit operational lane",
|
|
44
|
+
"the treasury family feels operational rather than like a placeholder"
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function summarizePhase9TreasuryConnectivityPack() {
|
|
50
|
+
const pack = buildPhase9TreasuryConnectivityPack();
|
|
51
|
+
return {
|
|
52
|
+
ok: true,
|
|
53
|
+
product: pack.product,
|
|
54
|
+
category: pack.category,
|
|
55
|
+
phase_ref: pack.phase_ref,
|
|
56
|
+
ecosystem_count: pack.ecosystems.length,
|
|
57
|
+
lane_count: pack.lane_refs.length,
|
|
58
|
+
treasury_mode_count: pack.treasury_shape.treasury_modes.length,
|
|
59
|
+
destination_mode_count: pack.treasury_shape.destination_modes.length,
|
|
60
|
+
custody_mode_count: pack.treasury_shape.custody_modes.length,
|
|
61
|
+
accounting_mode_count: pack.treasury_shape.accounting_modes.length,
|
|
62
|
+
operator_surface_count: pack.treasury_shape.operator_surfaces.length,
|
|
63
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
64
|
+
done_mean_count: pack.done_means.length,
|
|
65
|
+
first_ecosystem: pack.ecosystems[0] || null
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
module.exports = {
|
|
70
|
+
buildPhase9TreasuryConnectivityPack,
|
|
71
|
+
summarizePhase9TreasuryConnectivityPack
|
|
72
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase9TreasuryContinuityPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-9-treasury-continuity-pack",
|
|
10
|
+
phase_ref: "phase_9",
|
|
11
|
+
posture: "continuity_review",
|
|
12
|
+
continuity: {
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-9/treasury-destinations/summary",
|
|
15
|
+
"/v1/phases/phase-9/custody-refs/summary",
|
|
16
|
+
"/v1/phases/phase-9/operator-accounting-bridges/summary"
|
|
17
|
+
],
|
|
18
|
+
continuity_refs: ["/v1/phases/phase-9/summary"],
|
|
19
|
+
treasury_modes: ["treasury_destination_routing", "custody_reference_handoff", "operator_accounting_bridge"],
|
|
20
|
+
connectivity_modes: ["destination_connectivity", "custody_connectivity", "accounting_connectivity"],
|
|
21
|
+
destination_modes: ["destination_selection_flow", "destination_routing_flow", "destination_handoff_flow"],
|
|
22
|
+
custody_modes: ["custody_ref_flow", "handoff_ref_flow", "reconciliation_ref_flow"],
|
|
23
|
+
accounting_modes: ["accounting_bridge_flow", "statement_bridge_flow", "handoff_bridge_flow"],
|
|
24
|
+
continuity_surfaces: [
|
|
25
|
+
"/v1/release-center/summary",
|
|
26
|
+
"/v1/publish-plan/summary",
|
|
27
|
+
"/v1/phases/phase-9/summary"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
completion_shape: {
|
|
31
|
+
completion_checks: [
|
|
32
|
+
"all current treasury connectivity lanes are public and inspectable",
|
|
33
|
+
"treasury posture is visible at phase level",
|
|
34
|
+
"cross-lane continuity is explicit across destinations, custody refs, and operator accounting bridges",
|
|
35
|
+
"release-center summary reflects the treasury family as one coherent slice"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
first_path: {
|
|
39
|
+
purpose: "show that the treasury family is coherent across destination routing, custody references, and operator accounting bridges rather than isolated summaries",
|
|
40
|
+
first_http_sequence: [
|
|
41
|
+
"/v1/phases/phase-9/summary",
|
|
42
|
+
"/v1/phases/phase-9/treasury-continuity/summary",
|
|
43
|
+
"/v1/release-center/summary",
|
|
44
|
+
"/v1/publish-plan/summary"
|
|
45
|
+
],
|
|
46
|
+
first_cli_sequence: [
|
|
47
|
+
"xytara-release --phase-9-treasury-continuity --summary",
|
|
48
|
+
"xytara-release --phase-9 --summary"
|
|
49
|
+
],
|
|
50
|
+
expected_signals: [
|
|
51
|
+
"treasury destinations, custody refs, and operator accounting bridges are linked as one treasury family",
|
|
52
|
+
"treasury roles are legible without collapsing into one lane",
|
|
53
|
+
"operator surfaces stay attached to the Phase 9 lane family",
|
|
54
|
+
"Phase 9 reads as one coherent treasury connectivity slice"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function summarizePhase9TreasuryContinuityPack() {
|
|
61
|
+
const pack = buildPhase9TreasuryContinuityPack();
|
|
62
|
+
return {
|
|
63
|
+
ok: true,
|
|
64
|
+
product: pack.product,
|
|
65
|
+
category: pack.category,
|
|
66
|
+
phase_ref: pack.phase_ref,
|
|
67
|
+
lane_count: pack.continuity.lane_refs.length,
|
|
68
|
+
continuity_ref_count: pack.continuity.continuity_refs.length,
|
|
69
|
+
treasury_mode_count: pack.continuity.treasury_modes.length,
|
|
70
|
+
connectivity_mode_count: pack.continuity.connectivity_modes.length,
|
|
71
|
+
destination_mode_count: pack.continuity.destination_modes.length,
|
|
72
|
+
custody_mode_count: pack.continuity.custody_modes.length,
|
|
73
|
+
accounting_mode_count: pack.continuity.accounting_modes.length,
|
|
74
|
+
continuity_surface_count: pack.continuity.continuity_surfaces.length,
|
|
75
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
76
|
+
http_step_count: pack.first_path.first_http_sequence.length,
|
|
77
|
+
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
78
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
79
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
module.exports = {
|
|
84
|
+
buildPhase9TreasuryContinuityPack,
|
|
85
|
+
summarizePhase9TreasuryContinuityPack
|
|
86
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase9TreasuryDestinationsRuntimePack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-9-treasury-destinations-runtime-pack",
|
|
10
|
+
phase_ref: "phase_9",
|
|
11
|
+
posture: "runtime_path",
|
|
12
|
+
ecosystems: ["treasury_destinations"],
|
|
13
|
+
runtime_shape: {
|
|
14
|
+
treasury_modes: ["destination_routing", "custody_handoff", "operator_accounting_bridge"],
|
|
15
|
+
destination_modes: ["destination_selection_flow", "destination_routing_flow", "destination_handoff_flow"],
|
|
16
|
+
ledger_artifacts: ["destination_ref", "custody_ref", "accounting_ref"],
|
|
17
|
+
operator_surfaces: [
|
|
18
|
+
"/v1/release-center/summary",
|
|
19
|
+
"/v1/publish-plan/summary",
|
|
20
|
+
"/v1/phases/phase-9/summary"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
first_path: {
|
|
24
|
+
purpose: "show the first Phase 9 treasury path from machine settlement outputs into treasury and accounting destinations",
|
|
25
|
+
first_http_sequence: [
|
|
26
|
+
"/v1/phases/phase-9/summary",
|
|
27
|
+
"/v1/phases/phase-9/treasury-destinations/summary",
|
|
28
|
+
"/v1/release-center/summary"
|
|
29
|
+
],
|
|
30
|
+
first_cli_sequence: [
|
|
31
|
+
"xytara-release --phase-9-treasury-destinations-runtime --summary",
|
|
32
|
+
"xytara-release --phase-9 --summary"
|
|
33
|
+
],
|
|
34
|
+
expected_signals: [
|
|
35
|
+
"treasury destinations is a public Phase 9 lane",
|
|
36
|
+
"ledger artifacts are explicit at the lane level",
|
|
37
|
+
"treasury posture is visible before broader Phase 9 expansion"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
completion: {
|
|
41
|
+
completion_checks: [
|
|
42
|
+
"treasury destinations lane is public and inspectable",
|
|
43
|
+
"ledger artifacts are visible at lane level",
|
|
44
|
+
"operator surfaces remain attached to the treasury lane",
|
|
45
|
+
"the lane is ready to anchor broader treasury/operator breadth"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function summarizePhase9TreasuryDestinationsRuntimePack() {
|
|
52
|
+
const pack = buildPhase9TreasuryDestinationsRuntimePack();
|
|
53
|
+
return {
|
|
54
|
+
ok: true,
|
|
55
|
+
product: pack.product,
|
|
56
|
+
category: pack.category,
|
|
57
|
+
phase_ref: pack.phase_ref,
|
|
58
|
+
ecosystem_count: pack.ecosystems.length,
|
|
59
|
+
treasury_mode_count: pack.runtime_shape.treasury_modes.length,
|
|
60
|
+
destination_mode_count: pack.runtime_shape.destination_modes.length,
|
|
61
|
+
ledger_artifact_count: pack.runtime_shape.ledger_artifacts.length,
|
|
62
|
+
completion_check_count: pack.completion.completion_checks.length,
|
|
63
|
+
http_step_count: pack.first_path.first_http_sequence.length,
|
|
64
|
+
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
65
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
66
|
+
operator_surface_count: pack.runtime_shape.operator_surfaces.length,
|
|
67
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
module.exports = {
|
|
72
|
+
buildPhase9TreasuryDestinationsRuntimePack,
|
|
73
|
+
summarizePhase9TreasuryDestinationsRuntimePack
|
|
74
|
+
};
|