xytara 2.1.0 → 2.3.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 +5 -1
- package/ADAPTER_START_HERE.md +56 -0
- package/CARRIED_HANDOFF_DEMO.md +60 -0
- package/EXAMPLE_PATHS.md +53 -0
- 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 +7 -5
- package/README.md +66 -0
- package/RELEASE_CHECKLIST.md +8 -2
- package/RELEASE_NOTES.md +19 -8
- 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 +1251 -1
- 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 +7 -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/commerce_client.js +38 -0
- package/lib/commerce_economics.js +304 -0
- package/lib/operator_intelligence.js +90 -0
- package/lib/outreach_copy_pack.js +51 -0
- package/lib/outreach_message_pack.js +71 -0
- package/lib/outreach_target_pack.js +60 -0
- package/lib/partner_intelligence.js +105 -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/release_center.js +970 -0
- package/lib/release_history.js +1 -1
- package/lib/runtime_state_store.js +212 -27
- package/lib/soft_launch_pack.js +78 -0
- package/package.json +13 -1
- package/server.js +2110 -235
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase3FreezeBaselinePack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-3-freeze-baseline-pack",
|
|
10
|
+
phase_ref: "phase_3",
|
|
11
|
+
posture: "frozen_baseline",
|
|
12
|
+
baseline: {
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-3/bsv-teranode/summary",
|
|
15
|
+
"/v1/phases/phase-3/metanet/summary",
|
|
16
|
+
"/v1/phases/phase-3/brc/summary"
|
|
17
|
+
],
|
|
18
|
+
settlement_modes: ["bsv_teranode"],
|
|
19
|
+
identity_layers: ["metanet", "brc"],
|
|
20
|
+
baseline_status: "recorded",
|
|
21
|
+
frozen_outputs: [
|
|
22
|
+
"current native lane family is the recorded Phase 3 baseline",
|
|
23
|
+
"native family can now be judged against a stable shape rather than an open expansion set",
|
|
24
|
+
"only the final gate review remains before Phase 4"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
first_path: {
|
|
28
|
+
purpose: "show that the Phase 3 native lane family is now treated as a frozen baseline",
|
|
29
|
+
first_http_sequence: [
|
|
30
|
+
"/v1/phases/phase-3/summary",
|
|
31
|
+
"/v1/phases/phase-3/freeze-baseline/summary",
|
|
32
|
+
"/v1/phases/phase-3/gate/summary"
|
|
33
|
+
],
|
|
34
|
+
first_cli_sequence: [
|
|
35
|
+
"xytara-release --phase-3-freeze-baseline --summary",
|
|
36
|
+
"xytara-release --phase-3-summary"
|
|
37
|
+
],
|
|
38
|
+
expected_signals: [
|
|
39
|
+
"the native lane family is now explicitly frozen",
|
|
40
|
+
"lane freeze is no longer part of the remaining Phase 3 uncertainty",
|
|
41
|
+
"the final open work is narrowed to gate review rather than shape definition"
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function summarizePhase3FreezeBaselinePack() {
|
|
48
|
+
const pack = buildPhase3FreezeBaselinePack();
|
|
49
|
+
return {
|
|
50
|
+
ok: true,
|
|
51
|
+
product: pack.product,
|
|
52
|
+
category: pack.category,
|
|
53
|
+
phase_ref: pack.phase_ref,
|
|
54
|
+
lane_count: pack.baseline.lane_refs.length,
|
|
55
|
+
settlement_mode_count: pack.baseline.settlement_modes.length,
|
|
56
|
+
identity_layer_count: pack.baseline.identity_layers.length,
|
|
57
|
+
baseline_status: pack.baseline.baseline_status,
|
|
58
|
+
frozen_output_count: pack.baseline.frozen_outputs.length,
|
|
59
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
60
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
module.exports = {
|
|
65
|
+
buildPhase3FreezeBaselinePack,
|
|
66
|
+
summarizePhase3FreezeBaselinePack
|
|
67
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase3FreezeReviewPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-3-freeze-review-pack",
|
|
10
|
+
phase_ref: "phase_3",
|
|
11
|
+
posture: "freeze_review",
|
|
12
|
+
current_shape: {
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-3/bsv-teranode/summary",
|
|
15
|
+
"/v1/phases/phase-3/metanet/summary",
|
|
16
|
+
"/v1/phases/phase-3/brc/summary"
|
|
17
|
+
],
|
|
18
|
+
settlement_modes: ["bsv_teranode"],
|
|
19
|
+
identity_layers: ["metanet", "brc"]
|
|
20
|
+
},
|
|
21
|
+
freeze_review: {
|
|
22
|
+
decision_posture: "gate_review_recorded",
|
|
23
|
+
review_questions: [
|
|
24
|
+
"Is the current native lane split the exact shape we want to preserve for Phase 3?",
|
|
25
|
+
"Do settlement and identity lanes communicate the native family clearly without overlap confusion?",
|
|
26
|
+
"Is the current operator and native coverage sufficient before opening the next phase?",
|
|
27
|
+
"Would adding more native sub-lanes materially improve Phase 3, or just create sprawl?"
|
|
28
|
+
],
|
|
29
|
+
resolution_criteria: [
|
|
30
|
+
{ ref: "criterion.freeze_review_surface_public", label: "Freeze-review surface is public and inspectable", satisfied: true },
|
|
31
|
+
{ ref: "criterion.blockers_explicit", label: "Current blockers are explicit and bounded", satisfied: true },
|
|
32
|
+
{ ref: "criterion.freeze_decision_recorded", label: "Final native lane freeze has been explicitly recorded", satisfied: true },
|
|
33
|
+
{ ref: "criterion.gate_review_recorded", label: "Next-phase gate review has been explicitly recorded", satisfied: true }
|
|
34
|
+
],
|
|
35
|
+
blockers: [],
|
|
36
|
+
freeze_outputs: [
|
|
37
|
+
"freeze decision recorded",
|
|
38
|
+
"ready_for_next_phase flipped deliberately",
|
|
39
|
+
"Phase 3 native shape treated as stable baseline going forward"
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
first_path: {
|
|
43
|
+
purpose: "review the last open questions before freezing the native Phase 3 lane family",
|
|
44
|
+
first_http_sequence: [
|
|
45
|
+
"/v1/phases/phase-3/completion/summary",
|
|
46
|
+
"/v1/phases/phase-3/freeze-review/summary",
|
|
47
|
+
"/v1/release-center/summary"
|
|
48
|
+
],
|
|
49
|
+
first_cli_sequence: [
|
|
50
|
+
"xytara-release --phase-3-freeze-review --summary",
|
|
51
|
+
"xytara-release --phase-3-completion --summary"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function summarizePhase3FreezeReviewPack() {
|
|
58
|
+
const pack = buildPhase3FreezeReviewPack();
|
|
59
|
+
return {
|
|
60
|
+
ok: true,
|
|
61
|
+
product: pack.product,
|
|
62
|
+
category: pack.category,
|
|
63
|
+
phase_ref: pack.phase_ref,
|
|
64
|
+
lane_count: pack.current_shape.lane_refs.length,
|
|
65
|
+
settlement_mode_count: pack.current_shape.settlement_modes.length,
|
|
66
|
+
identity_layer_count: pack.current_shape.identity_layers.length,
|
|
67
|
+
review_question_count: pack.freeze_review.review_questions.length,
|
|
68
|
+
resolution_criteria_count: pack.freeze_review.resolution_criteria.length,
|
|
69
|
+
satisfied_resolution_count: pack.freeze_review.resolution_criteria.filter((criterion) => criterion.satisfied === true).length,
|
|
70
|
+
unsatisfied_resolution_count: pack.freeze_review.resolution_criteria.filter((criterion) => criterion.satisfied !== true).length,
|
|
71
|
+
blocker_count: pack.freeze_review.blockers.length,
|
|
72
|
+
freeze_output_count: pack.freeze_review.freeze_outputs.length,
|
|
73
|
+
decision_posture: pack.freeze_review.decision_posture
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
module.exports = {
|
|
78
|
+
buildPhase3FreezeReviewPack,
|
|
79
|
+
summarizePhase3FreezeReviewPack
|
|
80
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
const { summarizePhase3CompletionPack } = require("./phase_3_completion_pack");
|
|
5
|
+
const { summarizePhase3FreezeReviewPack } = require("./phase_3_freeze_review_pack");
|
|
6
|
+
|
|
7
|
+
function buildPhase3GatePack() {
|
|
8
|
+
const completion = summarizePhase3CompletionPack();
|
|
9
|
+
const freezeReview = summarizePhase3FreezeReviewPack();
|
|
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-3-gate-pack",
|
|
18
|
+
phase_ref: "phase_3",
|
|
19
|
+
posture: "phase_gate",
|
|
20
|
+
gate: {
|
|
21
|
+
decision: unsatisfiedGateCount === 0 ? "ready_for_phase_4" : "hold_phase_3",
|
|
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
|
+
sources: {
|
|
37
|
+
completion_summary: "/v1/phases/phase-3/completion/summary",
|
|
38
|
+
freeze_review_summary: "/v1/phases/phase-3/freeze-review/summary",
|
|
39
|
+
release_center_summary: "/v1/release-center/summary"
|
|
40
|
+
},
|
|
41
|
+
first_path: {
|
|
42
|
+
purpose: "decide whether Phase 3 can be deliberately closed and Phase 4 can open",
|
|
43
|
+
first_http_sequence: [
|
|
44
|
+
"/v1/phases/phase-3/completion/summary",
|
|
45
|
+
"/v1/phases/phase-3/freeze-review/summary",
|
|
46
|
+
"/v1/phases/phase-3/gate/summary"
|
|
47
|
+
],
|
|
48
|
+
first_cli_sequence: [
|
|
49
|
+
"xytara-release --phase-3-gate --summary",
|
|
50
|
+
"xytara-release --phase-3-completion --summary",
|
|
51
|
+
"xytara-release --phase-3-freeze-review --summary"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function summarizePhase3GatePack() {
|
|
58
|
+
const pack = buildPhase3GatePack();
|
|
59
|
+
return {
|
|
60
|
+
ok: true,
|
|
61
|
+
product: pack.product,
|
|
62
|
+
category: pack.category,
|
|
63
|
+
phase_ref: pack.phase_ref,
|
|
64
|
+
satisfied_gate_count: pack.gate.satisfied_gate_count,
|
|
65
|
+
unsatisfied_gate_count: pack.gate.unsatisfied_gate_count,
|
|
66
|
+
blocker_count: pack.gate.blockers.length,
|
|
67
|
+
advance_when_count: pack.gate.advance_when.length,
|
|
68
|
+
decision: pack.gate.decision,
|
|
69
|
+
ready_for_next_phase: pack.gate.ready_for_next_phase
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
module.exports = {
|
|
74
|
+
buildPhase3GatePack,
|
|
75
|
+
summarizePhase3GatePack
|
|
76
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase3MetanetRuntimePack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-3-metanet-runtime-pack",
|
|
10
|
+
phase_ref: "phase_3",
|
|
11
|
+
ecosystem_refs: ["metanet"],
|
|
12
|
+
posture: "runtime_path",
|
|
13
|
+
identity_shape: {
|
|
14
|
+
rail_family: "bsv_native_identity",
|
|
15
|
+
identity_layers: ["metanet"],
|
|
16
|
+
graph_modes: ["node_linkage", "path_carry", "subject_continuity"],
|
|
17
|
+
continuity_artifacts: ["subject_ref", "metanet_path", "handoff_ref"],
|
|
18
|
+
continuity_refs: [
|
|
19
|
+
"/v1/phases/phase-3/native-continuity/summary",
|
|
20
|
+
"/v1/phases/phase-3/bsv-teranode/summary",
|
|
21
|
+
"/v1/phases/phase-3/brc/summary"
|
|
22
|
+
],
|
|
23
|
+
operator_surfaces: [
|
|
24
|
+
"/v1/release-center/summary",
|
|
25
|
+
"/v1/publish-plan/summary",
|
|
26
|
+
"/v1/phases/phase-3/summary"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
completion_shape: {
|
|
30
|
+
completion_checks: [
|
|
31
|
+
"the Metanet runtime lane is public and inspectable",
|
|
32
|
+
"native identity-layer posture stays attached to the runtime lane",
|
|
33
|
+
"operator surfaces remain available for native identity review",
|
|
34
|
+
"Phase 3 shows native identity expansion beyond settlement-only work"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
first_path: {
|
|
38
|
+
purpose: "show the native Metanet runtime lane for BSV-linked identity and continuity",
|
|
39
|
+
first_http_sequence: [
|
|
40
|
+
"/v1/phases/phase-3/summary",
|
|
41
|
+
"/v1/release-center/summary",
|
|
42
|
+
"/v1/publish-plan/summary"
|
|
43
|
+
],
|
|
44
|
+
first_cli_sequence: [
|
|
45
|
+
"xytara-release --phase-3-metanet-runtime --summary",
|
|
46
|
+
"xytara-release --phase-3 --summary"
|
|
47
|
+
],
|
|
48
|
+
expected_signals: [
|
|
49
|
+
"Metanet is visible as a first-class native runtime lane",
|
|
50
|
+
"native identity continuity is inspectable from a stable route",
|
|
51
|
+
"Phase 3 broadens beyond settlement into native graph-linked posture"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function summarizePhase3MetanetRuntimePack() {
|
|
58
|
+
const pack = buildPhase3MetanetRuntimePack();
|
|
59
|
+
return {
|
|
60
|
+
ok: true,
|
|
61
|
+
product: pack.product,
|
|
62
|
+
category: pack.category,
|
|
63
|
+
phase_ref: pack.phase_ref,
|
|
64
|
+
ecosystem_count: pack.ecosystem_refs.length,
|
|
65
|
+
identity_layer_count: pack.identity_shape.identity_layers.length,
|
|
66
|
+
graph_mode_count: pack.identity_shape.graph_modes.length,
|
|
67
|
+
continuity_artifact_count: pack.identity_shape.continuity_artifacts.length,
|
|
68
|
+
continuity_ref_count: pack.identity_shape.continuity_refs.length,
|
|
69
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
70
|
+
http_step_count: pack.first_path.first_http_sequence.length,
|
|
71
|
+
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
72
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
73
|
+
operator_surface_count: pack.identity_shape.operator_surfaces.length,
|
|
74
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
module.exports = {
|
|
79
|
+
buildPhase3MetanetRuntimePack,
|
|
80
|
+
summarizePhase3MetanetRuntimePack
|
|
81
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase3NativeBsvPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-3-native-bsv-pack",
|
|
10
|
+
phase_ref: "phase_3",
|
|
11
|
+
status: "active",
|
|
12
|
+
ecosystems: ["bsv", "teranode", "metanet", "brc"],
|
|
13
|
+
lane_refs: [
|
|
14
|
+
"/v1/phases/phase-3/bsv-teranode/summary",
|
|
15
|
+
"/v1/phases/phase-3/metanet/summary",
|
|
16
|
+
"/v1/phases/phase-3/brc/summary"
|
|
17
|
+
],
|
|
18
|
+
continuity_refs: [
|
|
19
|
+
"/v1/phases/phase-3/native-continuity/summary"
|
|
20
|
+
],
|
|
21
|
+
native_shape: {
|
|
22
|
+
rail_family: "bsv_native",
|
|
23
|
+
settlement_modes: ["bsv_teranode"],
|
|
24
|
+
identity_layers: ["metanet", "brc"],
|
|
25
|
+
native_depth: {
|
|
26
|
+
submission_modes: ["signed_submit", "operator_replay"],
|
|
27
|
+
finality_stages: ["accepted", "observed", "settled"],
|
|
28
|
+
graph_modes: ["node_linkage", "path_carry", "subject_continuity"],
|
|
29
|
+
registry_modes: ["record_linkage", "attestation_lookup", "subject_resolution"]
|
|
30
|
+
},
|
|
31
|
+
lane_coverage: {
|
|
32
|
+
settlement_lane_refs: ["/v1/phases/phase-3/bsv-teranode/summary"],
|
|
33
|
+
identity_lane_refs: [
|
|
34
|
+
"/v1/phases/phase-3/metanet/summary",
|
|
35
|
+
"/v1/phases/phase-3/brc/summary"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
operator_surfaces: [
|
|
39
|
+
"/v1/integrations/settlement-modes",
|
|
40
|
+
"/v1/release-center/summary",
|
|
41
|
+
"/v1/publish-plan/summary"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
completion_shape: {
|
|
45
|
+
completion_checks: [
|
|
46
|
+
"broad native BSV phase pack is public and inspectable",
|
|
47
|
+
"BSV plus Teranode, Metanet, and BRC runtime lanes are public and inspectable",
|
|
48
|
+
"native identity expansion is visible alongside native settlement work",
|
|
49
|
+
"native settlement and operator surfaces stay attached to the Phase 3 rail family",
|
|
50
|
+
"release-center summary reflects Phase 3 activation and the first native runtime lane"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
goal: "fully solidify the native differentiated BSV-centered rail family as the next active program slice",
|
|
54
|
+
done_means: [
|
|
55
|
+
"Phase 2 is no longer the active program slice",
|
|
56
|
+
"native BSV work has a public runtime-facing entry path",
|
|
57
|
+
"BSV, Teranode, Metanet, and BRC are visible as an explicit Phase 3 lane family",
|
|
58
|
+
"the first native lane family feels operational rather than like a placeholder"
|
|
59
|
+
]
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function summarizePhase3NativeBsvPack() {
|
|
64
|
+
const pack = buildPhase3NativeBsvPack();
|
|
65
|
+
return {
|
|
66
|
+
ok: true,
|
|
67
|
+
product: pack.product,
|
|
68
|
+
category: pack.category,
|
|
69
|
+
phase_ref: pack.phase_ref,
|
|
70
|
+
ecosystem_count: pack.ecosystems.length,
|
|
71
|
+
lane_count: pack.lane_refs.length,
|
|
72
|
+
continuity_ref_count: pack.continuity_refs.length,
|
|
73
|
+
settlement_mode_count: pack.native_shape.settlement_modes.length,
|
|
74
|
+
identity_layer_count: pack.native_shape.identity_layers.length,
|
|
75
|
+
submission_mode_count: pack.native_shape.native_depth.submission_modes.length,
|
|
76
|
+
finality_stage_count: pack.native_shape.native_depth.finality_stages.length,
|
|
77
|
+
graph_mode_count: pack.native_shape.native_depth.graph_modes.length,
|
|
78
|
+
registry_mode_count: pack.native_shape.native_depth.registry_modes.length,
|
|
79
|
+
settlement_lane_count: pack.native_shape.lane_coverage.settlement_lane_refs.length,
|
|
80
|
+
identity_lane_count: pack.native_shape.lane_coverage.identity_lane_refs.length,
|
|
81
|
+
operator_surface_count: pack.native_shape.operator_surfaces.length,
|
|
82
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
83
|
+
done_mean_count: pack.done_means.length,
|
|
84
|
+
first_ecosystem: pack.ecosystems[0] || null
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
module.exports = {
|
|
89
|
+
buildPhase3NativeBsvPack,
|
|
90
|
+
summarizePhase3NativeBsvPack
|
|
91
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase3NativeContinuityPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-3-native-continuity-pack",
|
|
10
|
+
phase_ref: "phase_3",
|
|
11
|
+
posture: "native_family_continuity",
|
|
12
|
+
lane_refs: [
|
|
13
|
+
"/v1/phases/phase-3/bsv-teranode/summary",
|
|
14
|
+
"/v1/phases/phase-3/metanet/summary",
|
|
15
|
+
"/v1/phases/phase-3/brc/summary"
|
|
16
|
+
],
|
|
17
|
+
continuity_shape: {
|
|
18
|
+
rail_family: "bsv_native",
|
|
19
|
+
settlement_lane_refs: ["/v1/phases/phase-3/bsv-teranode/summary"],
|
|
20
|
+
identity_lane_refs: [
|
|
21
|
+
"/v1/phases/phase-3/metanet/summary",
|
|
22
|
+
"/v1/phases/phase-3/brc/summary"
|
|
23
|
+
],
|
|
24
|
+
continuity_surfaces: [
|
|
25
|
+
"/v1/release-center/summary",
|
|
26
|
+
"/v1/integrations/settlement-modes",
|
|
27
|
+
"/v1/publish-plan/summary"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
completion_shape: {
|
|
31
|
+
completion_checks: [
|
|
32
|
+
"the native continuity family is public and inspectable",
|
|
33
|
+
"settlement and identity-native lanes remain attached to one Phase 3 family",
|
|
34
|
+
"Metanet and BRC stay legible as identity-continuity extensions of the BSV-native rail family",
|
|
35
|
+
"operator-facing native continuity review remains available from stable public routes"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
first_path: {
|
|
39
|
+
purpose: "show the native BSV family as one continuity path spanning settlement and identity-linked carry",
|
|
40
|
+
first_http_sequence: [
|
|
41
|
+
"/v1/phases/phase-3/summary",
|
|
42
|
+
"/v1/phases/phase-3/bsv-teranode/summary",
|
|
43
|
+
"/v1/phases/phase-3/metanet/summary",
|
|
44
|
+
"/v1/phases/phase-3/brc/summary"
|
|
45
|
+
],
|
|
46
|
+
first_cli_sequence: [
|
|
47
|
+
"xytara-release --phase-3-native-continuity --summary",
|
|
48
|
+
"xytara-release --phase-3 --summary"
|
|
49
|
+
],
|
|
50
|
+
expected_signals: [
|
|
51
|
+
"Phase 3 reads as one BSV-native family rather than disconnected lanes",
|
|
52
|
+
"native settlement and native identity expansion stay visibly linked",
|
|
53
|
+
"operators can inspect one continuity posture before drilling into lane-specific details",
|
|
54
|
+
"the differentiated native rail family feels more operational and coherent"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function summarizePhase3NativeContinuityPack() {
|
|
61
|
+
const pack = buildPhase3NativeContinuityPack();
|
|
62
|
+
return {
|
|
63
|
+
ok: true,
|
|
64
|
+
product: pack.product,
|
|
65
|
+
category: pack.category,
|
|
66
|
+
phase_ref: pack.phase_ref,
|
|
67
|
+
lane_count: pack.lane_refs.length,
|
|
68
|
+
settlement_lane_count: pack.continuity_shape.settlement_lane_refs.length,
|
|
69
|
+
identity_lane_count: pack.continuity_shape.identity_lane_refs.length,
|
|
70
|
+
continuity_surface_count: pack.continuity_shape.continuity_surfaces.length,
|
|
71
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
72
|
+
http_step_count: pack.first_path.first_http_sequence.length,
|
|
73
|
+
cli_step_count: pack.first_path.first_cli_sequence.length,
|
|
74
|
+
signal_count: pack.first_path.expected_signals.length,
|
|
75
|
+
first_http_step: pack.first_path.first_http_sequence[0] || null
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
module.exports = {
|
|
80
|
+
buildPhase3NativeContinuityPack,
|
|
81
|
+
summarizePhase3NativeContinuityPack
|
|
82
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase4AttestationRuntimePack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-4-attestation-runtime-pack",
|
|
10
|
+
phase_ref: "phase_4",
|
|
11
|
+
ecosystem_ref: "attestation",
|
|
12
|
+
status: "active",
|
|
13
|
+
trust_shape: {
|
|
14
|
+
identity_layers: ["attestation"],
|
|
15
|
+
attestation_modes: ["subject_attestation", "attester_resolution", "review_carry"],
|
|
16
|
+
review_modes: ["subject_attestation", "attester_resolution", "review_carry"],
|
|
17
|
+
trust_artifacts: ["attestation_ref", "attester_ref", "review_ref"],
|
|
18
|
+
operator_surfaces: [
|
|
19
|
+
"/v1/release-center/summary",
|
|
20
|
+
"/v1/publish-plan/summary",
|
|
21
|
+
"/v1/phases/phase-4/summary"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
first_steps: {
|
|
25
|
+
http: [
|
|
26
|
+
"/v1/phases/phase-4/summary",
|
|
27
|
+
"/v1/phases/phase-4/attestation/summary",
|
|
28
|
+
"/v1/release-center/summary"
|
|
29
|
+
],
|
|
30
|
+
cli: [
|
|
31
|
+
"xytara-release --phase-4 --summary",
|
|
32
|
+
"xytara-release --phase-4-attestation-runtime --summary"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
success_signals: [
|
|
36
|
+
"attestation lane is public and inspectable",
|
|
37
|
+
"attester resolution and review carry are visible",
|
|
38
|
+
"trust artifacts stay explicit at lane level"
|
|
39
|
+
],
|
|
40
|
+
completion_shape: {
|
|
41
|
+
completion_checks: [
|
|
42
|
+
"attestation runtime lane is public and inspectable",
|
|
43
|
+
"attestation and attester resolution modes are visible",
|
|
44
|
+
"trust artifacts are explicit at lane level",
|
|
45
|
+
"operator surfaces stay attached to the lane"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function summarizePhase4AttestationRuntimePack() {
|
|
52
|
+
const pack = buildPhase4AttestationRuntimePack();
|
|
53
|
+
return {
|
|
54
|
+
ok: true,
|
|
55
|
+
product: pack.product,
|
|
56
|
+
category: pack.category,
|
|
57
|
+
phase_ref: pack.phase_ref,
|
|
58
|
+
ecosystem_count: pack.trust_shape.identity_layers.length,
|
|
59
|
+
identity_layer_count: pack.trust_shape.identity_layers.length,
|
|
60
|
+
attestation_mode_count: pack.trust_shape.attestation_modes.length,
|
|
61
|
+
review_mode_count: pack.trust_shape.review_modes.length,
|
|
62
|
+
trust_artifact_count: pack.trust_shape.trust_artifacts.length,
|
|
63
|
+
completion_check_count: pack.completion_shape.completion_checks.length,
|
|
64
|
+
http_step_count: pack.first_steps.http.length,
|
|
65
|
+
cli_step_count: pack.first_steps.cli.length,
|
|
66
|
+
signal_count: pack.success_signals.length,
|
|
67
|
+
operator_surface_count: pack.trust_shape.operator_surfaces.length,
|
|
68
|
+
first_http_step: pack.first_steps.http[0] || null
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
module.exports = {
|
|
73
|
+
buildPhase4AttestationRuntimePack,
|
|
74
|
+
summarizePhase4AttestationRuntimePack
|
|
75
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase4CloseoutPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "machine-commerce-phase-4-closeout-pack",
|
|
10
|
+
phase_ref: "phase_4",
|
|
11
|
+
posture: "phase_closeout",
|
|
12
|
+
current_decision: "ready_for_phase_5",
|
|
13
|
+
blocking_actions: [],
|
|
14
|
+
action_steps: [
|
|
15
|
+
"confirm the current trust lane family remains the recorded Phase 4 baseline",
|
|
16
|
+
"confirm the gate review is recorded",
|
|
17
|
+
"recheck phase-4 gate summary for zero unsatisfied conditions",
|
|
18
|
+
"advance to Phase 5 only after the gate is explicitly ready"
|
|
19
|
+
],
|
|
20
|
+
completion_signals: [
|
|
21
|
+
"freeze baseline is recorded",
|
|
22
|
+
"gate review is recorded",
|
|
23
|
+
"phase-4 gate resolves to ready_for_phase_5"
|
|
24
|
+
]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function summarizePhase4CloseoutPack() {
|
|
29
|
+
const pack = buildPhase4CloseoutPack();
|
|
30
|
+
return {
|
|
31
|
+
ok: true,
|
|
32
|
+
product: pack.product,
|
|
33
|
+
category: pack.category,
|
|
34
|
+
phase_ref: pack.phase_ref,
|
|
35
|
+
blocking_action_count: pack.blocking_actions.length,
|
|
36
|
+
action_step_count: pack.action_steps.length,
|
|
37
|
+
completion_signal_count: pack.completion_signals.length,
|
|
38
|
+
current_decision: pack.current_decision
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
module.exports = {
|
|
43
|
+
buildPhase4CloseoutPack,
|
|
44
|
+
summarizePhase4CloseoutPack
|
|
45
|
+
};
|