xoonya 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/CARRIED_HANDOFF_DEMO.md +60 -0
- package/EXAMPLE_PATHS.md +53 -0
- package/FINAL_CONTRACT.md +6 -6
- package/OPERATIONS_RUNBOOK.md +50 -0
- package/OPERATOR_START_HERE.md +67 -0
- package/PARTNER_READY_PATH.md +67 -0
- package/PROGRAM_COMPLETE_RELEASE.md +52 -0
- package/PROGRAM_STATUS.md +57 -0
- package/PUBLIC_DEMO_SCRIPT.md +79 -0
- package/PUBLISH_PLAN.md +14 -0
- package/README.md +86 -2
- package/RELEASE_CHECKLIST.md +16 -0
- package/RELEASE_NOTES.md +28 -0
- package/START_HERE.md +28 -0
- package/WHY_XYTARA_XOONYA.md +43 -0
- package/bin/xoonya-release.js +1349 -0
- package/bin/xoonya-review.js +70 -0
- package/examples/integration_boundary_walkthrough.js +37 -0
- package/examples/package_quickstart.js +1007 -0
- package/examples/partner_proof_walkthrough.js +68 -0
- package/examples/proof_review_walkthrough.js +66 -0
- package/examples/review_carried_handoff.js +72 -0
- package/index.js +11 -1
- package/lib/announcement_pack.js +61 -0
- package/lib/ecosystem_entry.js +64 -0
- package/lib/launch_narrative.js +53 -0
- package/lib/outreach_proof.js +71 -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_proof_pack.js +74 -0
- package/lib/phase_10_ecosystem_backlog_triage_proof_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 +68 -0
- package/lib/phase_10_niche_extension_registry_proof_pack.js +74 -0
- package/lib/phase_1_claude_mcp_pack.js +60 -0
- package/lib/phase_1_claude_mcp_proof_pack.js +57 -0
- package/lib/phase_1_ecosystem_pack.js +51 -0
- package/lib/phase_1_openai_codex_pack.js +60 -0
- package/lib/phase_1_openai_codex_proof_pack.js +57 -0
- package/lib/phase_2_base_proof_pack.js +71 -0
- package/lib/phase_2_base_usdc_proof_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_proof_pack.js +70 -0
- package/lib/phase_2_evm_base_proof_pack.js +73 -0
- package/lib/phase_2_evm_proof_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_proof_pack.js +71 -0
- package/lib/phase_3_brc_proof_pack.js +81 -0
- package/lib/phase_3_bsv_teranode_proof_pack.js +81 -0
- package/lib/phase_3_closeout_pack.js +62 -0
- package/lib/phase_3_completion_pack.js +92 -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_proof_pack.js +81 -0
- package/lib/phase_3_native_bsv_pack.js +89 -0
- package/lib/phase_3_native_continuity_pack.js +82 -0
- package/lib/phase_4_attestation_proof_pack.js +75 -0
- package/lib/phase_4_closeout_pack.js +45 -0
- package/lib/phase_4_completion_pack.js +82 -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_proof_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_proof_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_proof_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_proof_pack.js +76 -0
- package/lib/phase_5_solana_proof_pack.js +76 -0
- package/lib/phase_6_autogen_proof_pack.js +74 -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_proof_pack.js +74 -0
- package/lib/phase_6_langgraph_proof_pack.js +74 -0
- package/lib/phase_6_semantic_kernel_proof_pack.js +74 -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_proof_pack.js +76 -0
- package/lib/phase_7_mqtt_proof_pack.js +76 -0
- package/lib/phase_7_nats_proof_pack.js +76 -0
- package/lib/phase_7_webhook_event_bus_proof_pack.js +76 -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_proof_pack.js +74 -0
- package/lib/phase_8_external_result_import_proof_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_proof_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_proof_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_proof_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_proof_pack.js +74 -0
- package/lib/phase_program_pack.js +47 -0
- package/lib/publish_plan.js +51 -0
- package/lib/release_candidate.js +50 -0
- package/lib/release_center.js +1037 -0
- package/lib/release_history.js +72 -0
- package/lib/release_manifest.js +114 -0
- package/lib/release_pack.js +391 -0
- package/package.json +26 -2
- package/proof_sdk.js +43 -2
- package/server.js +1852 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const assert = require("assert");
|
|
4
|
+
const { createServer } = require("../server");
|
|
5
|
+
|
|
6
|
+
async function fetchJson(url, options) {
|
|
7
|
+
const response = await fetch(url, options);
|
|
8
|
+
assert.strictEqual(response.ok, true, `request failed: ${url}`);
|
|
9
|
+
return response.json();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async function postJson(url, body) {
|
|
13
|
+
return fetchJson(url, {
|
|
14
|
+
method: "POST",
|
|
15
|
+
headers: {
|
|
16
|
+
"content-type": "application/json"
|
|
17
|
+
},
|
|
18
|
+
body: JSON.stringify(body)
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
async function main() {
|
|
23
|
+
const server = createServer();
|
|
24
|
+
await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
|
|
25
|
+
const address = server.address();
|
|
26
|
+
const baseUrl = `http://127.0.0.1:${address.port}`;
|
|
27
|
+
|
|
28
|
+
try {
|
|
29
|
+
const releaseCenterSummary = await fetchJson(`${baseUrl}/v1/release-center/summary`);
|
|
30
|
+
assert.strictEqual(typeof releaseCenterSummary.category, "string", "release-center summary category missing");
|
|
31
|
+
|
|
32
|
+
const proofCenterSummary = await fetchJson(`${baseUrl}/v1/proof-center/summary`);
|
|
33
|
+
assert.strictEqual(typeof proofCenterSummary.proof_bundle_version, "string", "proof-center summary missing");
|
|
34
|
+
|
|
35
|
+
const handoffReview = await postJson(`${baseUrl}/v1/proof-center/result-package-handoff/review/summary`, {
|
|
36
|
+
handoff_bundle: {
|
|
37
|
+
result_package_ref: "result.spine.job.commitment",
|
|
38
|
+
source_ref: "spine.job.commitment",
|
|
39
|
+
transaction_id: "txn-partner-proof-1",
|
|
40
|
+
receipt_id: "rcpt-partner-proof-1",
|
|
41
|
+
proof_ref: "memory://partner-proof-1",
|
|
42
|
+
committed_ref: "transaction.job.commitment",
|
|
43
|
+
precommit_pack_ref: "precommit.job.commitment.readiness",
|
|
44
|
+
payment_protocol: "x402",
|
|
45
|
+
settlement_mode: "evm_payment",
|
|
46
|
+
treasury_destination_id: "treasury_acct_demo",
|
|
47
|
+
task_refs: ["jobs.quote", "admission.preview", "jobs.reserve", "jobs.commit"],
|
|
48
|
+
seam_layers: ["execution_consequence", "payment_settlement_treasury", "proof_handoff"]
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
assert.strictEqual(typeof handoffReview.review_ref, "string", "handoff review ref missing");
|
|
52
|
+
assert.strictEqual(handoffReview.run_ready, true, "handoff review run readiness missing");
|
|
53
|
+
|
|
54
|
+
const integrationReadiness = await fetchJson(`${baseUrl}/v1/integrations/promotion-readiness`);
|
|
55
|
+
assert.strictEqual(integrationReadiness.ok, true, "integration readiness summary missing");
|
|
56
|
+
|
|
57
|
+
console.log("xoonya partner proof walkthrough passed");
|
|
58
|
+
} finally {
|
|
59
|
+
await new Promise((resolve, reject) => {
|
|
60
|
+
server.close((error) => (error ? reject(error) : resolve()));
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
main().catch((error) => {
|
|
66
|
+
console.error(error);
|
|
67
|
+
process.exitCode = 1;
|
|
68
|
+
});
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const assert = require("assert");
|
|
4
|
+
const { createServer } = require("../server");
|
|
5
|
+
|
|
6
|
+
async function fetchJson(url, options) {
|
|
7
|
+
const response = await fetch(url, options);
|
|
8
|
+
assert.strictEqual(response.ok, true, `request failed: ${url}`);
|
|
9
|
+
return response.json();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async function postJson(url, body) {
|
|
13
|
+
return fetchJson(url, {
|
|
14
|
+
method: "POST",
|
|
15
|
+
headers: {
|
|
16
|
+
"content-type": "application/json"
|
|
17
|
+
},
|
|
18
|
+
body: JSON.stringify(body)
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function createHandoffBundle() {
|
|
23
|
+
return {
|
|
24
|
+
result_package_ref: "result.spine.job.commitment",
|
|
25
|
+
source_ref: "spine.job.commitment",
|
|
26
|
+
transaction_id: "txn-proof-review-demo-1",
|
|
27
|
+
receipt_id: "rcpt-proof-review-demo-1",
|
|
28
|
+
proof_ref: "memory://proof-review-demo-1",
|
|
29
|
+
committed_ref: "transaction.job.commitment",
|
|
30
|
+
precommit_pack_ref: "precommit.job.commitment.readiness",
|
|
31
|
+
payment_protocol: "x402",
|
|
32
|
+
settlement_mode: "evm_payment",
|
|
33
|
+
treasury_destination_id: "treasury_acct_demo",
|
|
34
|
+
task_refs: ["jobs.quote", "admission.preview", "jobs.reserve", "jobs.commit"],
|
|
35
|
+
seam_layers: ["execution_consequence", "payment_settlement_treasury", "proof_handoff"]
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async function main() {
|
|
40
|
+
const server = createServer();
|
|
41
|
+
await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
|
|
42
|
+
const { port } = server.address();
|
|
43
|
+
const baseUrl = `http://127.0.0.1:${port}`;
|
|
44
|
+
|
|
45
|
+
try {
|
|
46
|
+
const review = await postJson(`${baseUrl}/v1/proof-center/result-package-handoff/review/summary`, {
|
|
47
|
+
handoff_bundle: createHandoffBundle()
|
|
48
|
+
});
|
|
49
|
+
assert.strictEqual(typeof review.review_ref, "string", "review summary missing");
|
|
50
|
+
assert.strictEqual(review.run_ready, true, "review should be run-ready");
|
|
51
|
+
|
|
52
|
+
const bridgeSummary = await postJson(`${baseUrl}/v1/proof-center/result-package-handoff/review/bridge-summary`, {
|
|
53
|
+
handoff_bundle: createHandoffBundle()
|
|
54
|
+
});
|
|
55
|
+
assert.strictEqual(typeof bridgeSummary.adapter_bridge_ref, "string", "bridge summary missing");
|
|
56
|
+
|
|
57
|
+
console.log("xoonya proof review walkthrough passed");
|
|
58
|
+
} finally {
|
|
59
|
+
await new Promise((resolve, reject) => server.close((error) => (error ? reject(error) : resolve())));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
main().catch((error) => {
|
|
64
|
+
console.error(error);
|
|
65
|
+
process.exitCode = 1;
|
|
66
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const assert = require("assert");
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const proof = require("../index.js");
|
|
7
|
+
|
|
8
|
+
function parseInputPath(argv) {
|
|
9
|
+
const args = Array.isArray(argv) ? argv : [];
|
|
10
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
11
|
+
if (args[index] === "--file" && args[index + 1]) {
|
|
12
|
+
return path.resolve(process.cwd(), args[index + 1]);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function buildDefaultInput() {
|
|
19
|
+
return {
|
|
20
|
+
handoff_bundle: {
|
|
21
|
+
result_package_ref: "result.spine.job.commitment",
|
|
22
|
+
source_ref: "spine.job.commitment",
|
|
23
|
+
transaction_id: "txn-carried-handoff-demo-1",
|
|
24
|
+
receipt_id: "txn-carried-handoff-demo-receipt-1",
|
|
25
|
+
proof_ref: "memory://proof-demo/carried-handoff",
|
|
26
|
+
committed_ref: "transaction.job.commitment",
|
|
27
|
+
precommit_pack_ref: "precommit.job.commitment.readiness",
|
|
28
|
+
payment_protocol: "x402",
|
|
29
|
+
settlement_mode: "bsv_teranode",
|
|
30
|
+
treasury_destination_id: "treasury_acct_demo",
|
|
31
|
+
task_refs: ["jobs.quote", "admission.preview", "jobs.reserve", "jobs.commit"],
|
|
32
|
+
seam_layers: ["execution_consequence", "payment_settlement_treasury", "proof_handoff"]
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function loadInput(inputPath) {
|
|
38
|
+
if (!inputPath) {
|
|
39
|
+
return buildDefaultInput();
|
|
40
|
+
}
|
|
41
|
+
return JSON.parse(fs.readFileSync(inputPath, "utf8"));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function main() {
|
|
45
|
+
const inputPath = parseInputPath(process.argv.slice(2));
|
|
46
|
+
const input = loadInput(inputPath);
|
|
47
|
+
const reviewSummary = proof.summarizeReviewedInteractionResultPackageHandoff(input);
|
|
48
|
+
const runResult = proof.runInteractionResultPackageHandoff({
|
|
49
|
+
...input,
|
|
50
|
+
options: {
|
|
51
|
+
legacy_identity_material_hex: "aa11bb22cc33dd44"
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
assert.strictEqual(reviewSummary.ok, true, "review summary missing");
|
|
56
|
+
assert.strictEqual(reviewSummary.run_ready, true, "review summary should be run-ready");
|
|
57
|
+
assert.strictEqual(runResult.ok, true, "proof run missing");
|
|
58
|
+
assert.strictEqual(runResult.bundle_verification.valid, true, "proof bundle verification failed");
|
|
59
|
+
|
|
60
|
+
process.stdout.write(JSON.stringify({
|
|
61
|
+
ok: true,
|
|
62
|
+
input_file: inputPath,
|
|
63
|
+
result_package_ref: reviewSummary.result_package_ref,
|
|
64
|
+
review_ref: reviewSummary.review_ref,
|
|
65
|
+
run_ready: reviewSummary.run_ready,
|
|
66
|
+
next_surface: reviewSummary.next_surface,
|
|
67
|
+
proof_bundle_version: runResult.proof_bundle.proof_bundle_version,
|
|
68
|
+
bundle_valid: runResult.bundle_verification.valid
|
|
69
|
+
}, null, 2));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
main();
|
package/index.js
CHANGED
|
@@ -2,5 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
module.exports = {
|
|
4
4
|
...require("./proof_sdk"),
|
|
5
|
-
...require("./integrations/registry")
|
|
5
|
+
...require("./integrations/registry"),
|
|
6
|
+
...require("./lib/release_pack"),
|
|
7
|
+
...require("./lib/release_manifest"),
|
|
8
|
+
...require("./lib/release_center"),
|
|
9
|
+
...require("./lib/release_history"),
|
|
10
|
+
...require("./lib/publish_plan"),
|
|
11
|
+
...require("./lib/ecosystem_entry"),
|
|
12
|
+
...require("./lib/launch_narrative"),
|
|
13
|
+
...require("./lib/outreach_proof"),
|
|
14
|
+
...require("./lib/announcement_pack"),
|
|
15
|
+
...require("./lib/release_candidate")
|
|
6
16
|
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildAnnouncementPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-announcement-pack",
|
|
10
|
+
public_quickstart: {
|
|
11
|
+
install: "npm install xoonya",
|
|
12
|
+
first_cli: "xoonya-review --file ./handoff.json --summary",
|
|
13
|
+
first_release_view: "xoonya-release --center --summary",
|
|
14
|
+
first_http: "/v1/release-center/summary"
|
|
15
|
+
},
|
|
16
|
+
release_candidate: {
|
|
17
|
+
checks: [
|
|
18
|
+
"install the package on a clean machine",
|
|
19
|
+
"run xoonya-release --center --summary",
|
|
20
|
+
"run npm run verify:all",
|
|
21
|
+
"verify /v1/release-center/summary on the deployed service",
|
|
22
|
+
"verify /v1/outreach-proof/summary on the deployed service"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
publish_day: {
|
|
26
|
+
sequence: [
|
|
27
|
+
"publish the npm package",
|
|
28
|
+
"redeploy the service and docs surfaces",
|
|
29
|
+
"verify release-center, launch-narrative, and outreach-proof summaries live",
|
|
30
|
+
"run the first public proof-side review path",
|
|
31
|
+
"share the announcement artifact with proof operators and verification-focused builders"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
public_message: {
|
|
35
|
+
headline: "reviewable proof continuation for machine actions that cross trust boundaries",
|
|
36
|
+
who_should_try_first: [
|
|
37
|
+
"proof operators",
|
|
38
|
+
"runtime builders needing verification followthrough",
|
|
39
|
+
"governance and audit teams"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function summarizeAnnouncementPack() {
|
|
46
|
+
const pack = buildAnnouncementPack();
|
|
47
|
+
return {
|
|
48
|
+
ok: true,
|
|
49
|
+
product: pack.product,
|
|
50
|
+
category: pack.category,
|
|
51
|
+
rc_check_count: pack.release_candidate.checks.length,
|
|
52
|
+
publish_step_count: pack.publish_day.sequence.length,
|
|
53
|
+
first_cli: pack.public_quickstart.first_cli,
|
|
54
|
+
audience_count: pack.public_message.who_should_try_first.length
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
module.exports = {
|
|
59
|
+
buildAnnouncementPack,
|
|
60
|
+
summarizeAnnouncementPack
|
|
61
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildEcosystemEntryPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-ecosystem-entry",
|
|
10
|
+
audiences: [
|
|
11
|
+
{
|
|
12
|
+
audience_ref: "proof_operator",
|
|
13
|
+
why_now: "needs a direct first review path for carried runtime handoff bundles",
|
|
14
|
+
first_path_ref: "scenario.carried_handoff.review",
|
|
15
|
+
first_http_entrypoint: "/v1/proof-center/result-package-handoff/review/summary",
|
|
16
|
+
first_cli_entrypoint: "xoonya-review --file ./handoff.json --summary"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
audience_ref: "runtime_builder_needing_verification",
|
|
20
|
+
why_now: "needs a stable proof continuation after runtime output crosses trust boundaries",
|
|
21
|
+
first_path_ref: "scenario.result_package.followthrough",
|
|
22
|
+
first_http_entrypoint: "/v1/proof-center/result-package-handoff/review/summary",
|
|
23
|
+
first_cli_entrypoint: "xoonya-release --scenarios --summary"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
audience_ref: "adapter_integrator",
|
|
27
|
+
why_now: "needs a proof contract that survives changing runtimes and settlement choices",
|
|
28
|
+
first_path_ref: "scenario.default_proof.loop",
|
|
29
|
+
first_http_entrypoint: "/v1/proof-center/default-loops/summary",
|
|
30
|
+
first_cli_entrypoint: "xoonya-release --launch --summary"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
audience_ref: "governance_or_audit_team",
|
|
34
|
+
why_now: "needs handoff and governance posture before trusting proof-native followthrough",
|
|
35
|
+
first_path_ref: "scenario.carried_handoff.review",
|
|
36
|
+
first_http_entrypoint: "/v1/release-center/summary",
|
|
37
|
+
first_cli_entrypoint: "xoonya-release --center --summary"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
public_lead_sequence: [
|
|
41
|
+
"identify the proof-side audience and first success path",
|
|
42
|
+
"show the smallest review or proof loop entrypoint",
|
|
43
|
+
"show the matching comparison and adoption summary",
|
|
44
|
+
"show the release center when trust, breadth, and maturity need one compact artifact"
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function summarizeEcosystemEntryPack() {
|
|
50
|
+
const pack = buildEcosystemEntryPack();
|
|
51
|
+
return {
|
|
52
|
+
ok: true,
|
|
53
|
+
product: pack.product,
|
|
54
|
+
category: pack.category,
|
|
55
|
+
audience_count: pack.audiences.length,
|
|
56
|
+
first_audience: pack.audiences[0] ? pack.audiences[0].audience_ref : null,
|
|
57
|
+
lead_step_count: pack.public_lead_sequence.length
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = {
|
|
62
|
+
buildEcosystemEntryPack,
|
|
63
|
+
summarizeEcosystemEntryPack
|
|
64
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildLaunchNarrativePack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-launch-narrative",
|
|
10
|
+
why_now: "machine actions increasingly need reviewable evidence after they cross trust boundaries, and opaque logs or narrow receipts are not enough",
|
|
11
|
+
problem_patchwork_misses: [
|
|
12
|
+
"runtime logs do not become a stable proof contract by themselves",
|
|
13
|
+
"receipt-only systems miss reviewable carry, governance posture, and proof-native followthrough",
|
|
14
|
+
"settlement-specific proof systems do not generalize cleanly across changing runtimes and rails"
|
|
15
|
+
],
|
|
16
|
+
strongest_public_claim: "reviewable proof continuation for machine actions that cross trust boundaries",
|
|
17
|
+
first_proof_to_run: {
|
|
18
|
+
path_ref: "scenario.carried_handoff.review",
|
|
19
|
+
why_this_first: "smallest strong-signal proof-side intake that shows carried runtime context, proof readiness, and operator review posture",
|
|
20
|
+
cli: "xoonya-review --file ./handoff.json --summary"
|
|
21
|
+
},
|
|
22
|
+
first_success_looks_like: [
|
|
23
|
+
"handoff bundle is accepted and review summary is intelligible",
|
|
24
|
+
"proof readiness is visible before proof-native continuation",
|
|
25
|
+
"economic and settlement carry survives into proof-side review",
|
|
26
|
+
"handoff and governance posture are inspectable instead of hidden"
|
|
27
|
+
],
|
|
28
|
+
immediate_should_care: [
|
|
29
|
+
"proof operators needing carried handoff review",
|
|
30
|
+
"runtime builders needing stable verification followthrough",
|
|
31
|
+
"adapter integrators needing a durable proof contract",
|
|
32
|
+
"audit and governance teams needing reviewable machine evidence"
|
|
33
|
+
]
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function summarizeLaunchNarrativePack() {
|
|
38
|
+
const pack = buildLaunchNarrativePack();
|
|
39
|
+
return {
|
|
40
|
+
ok: true,
|
|
41
|
+
product: pack.product,
|
|
42
|
+
category: pack.category,
|
|
43
|
+
patchwork_gap_count: pack.problem_patchwork_misses.length,
|
|
44
|
+
success_signal_count: pack.first_success_looks_like.length,
|
|
45
|
+
immediate_audience_count: pack.immediate_should_care.length,
|
|
46
|
+
first_path_ref: pack.first_proof_to_run.path_ref
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = {
|
|
51
|
+
buildLaunchNarrativePack,
|
|
52
|
+
summarizeLaunchNarrativePack
|
|
53
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildOutreachProofPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-outreach-proof",
|
|
10
|
+
proven_live_today: [
|
|
11
|
+
"carried runtime handoff review with economic and settlement carry",
|
|
12
|
+
"proof-side review path aligned with real runtime and settlement evidence",
|
|
13
|
+
"handoff and governance surfaces exposed for operator inspection",
|
|
14
|
+
"portable proof-bundle contract packaged for public release posture"
|
|
15
|
+
],
|
|
16
|
+
live_rails: [
|
|
17
|
+
{
|
|
18
|
+
rail_ref: "carried_handoff_review",
|
|
19
|
+
status: "proven_live",
|
|
20
|
+
trust_signal: "runtime output can be reviewed as proof-side intake rather than opaque logs"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
rail_ref: "proof_center_followthrough",
|
|
24
|
+
status: "launch_ready",
|
|
25
|
+
trust_signal: "default proof loops, governance surfaces, and result-package followthrough are publicly exposed"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
rail_ref: "economic_and_settlement_carry",
|
|
29
|
+
status: "proven_live",
|
|
30
|
+
trust_signal: "settlement and economic refs survive into proof-side review summaries"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
credible_public_proof_path: {
|
|
34
|
+
path_ref: "scenario.carried_handoff.review",
|
|
35
|
+
why_credible: "smallest public run that matches the already-demonstrated runtime-to-proof carry and review posture",
|
|
36
|
+
cli: "xoonya-review --file ./handoff.json --summary"
|
|
37
|
+
},
|
|
38
|
+
trust_today_vs_later: {
|
|
39
|
+
trust_today: [
|
|
40
|
+
"proof-side review for carried handoff bundles",
|
|
41
|
+
"handoff and governance inspection surfaces",
|
|
42
|
+
"portable proof-bundle contract",
|
|
43
|
+
"runtime-to-proof continuation posture"
|
|
44
|
+
],
|
|
45
|
+
later_depth: [
|
|
46
|
+
"broader third-party runtime adoption after release",
|
|
47
|
+
"expanded proof ecosystem integrations after public package launch",
|
|
48
|
+
"continued release-line expansion after public proof-spine adoption"
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function summarizeOutreachProofPack() {
|
|
55
|
+
const pack = buildOutreachProofPack();
|
|
56
|
+
return {
|
|
57
|
+
ok: true,
|
|
58
|
+
product: pack.product,
|
|
59
|
+
category: pack.category,
|
|
60
|
+
proven_count: pack.proven_live_today.length,
|
|
61
|
+
live_rail_count: pack.live_rails.length,
|
|
62
|
+
trust_today_count: pack.trust_today_vs_later.trust_today.length,
|
|
63
|
+
later_depth_count: pack.trust_today_vs_later.later_depth.length,
|
|
64
|
+
first_path_ref: pack.credible_public_proof_path.path_ref
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
module.exports = {
|
|
69
|
+
buildOutreachProofPack,
|
|
70
|
+
summarizeOutreachProofPack
|
|
71
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase10CloseoutPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-10-closeout-pack",
|
|
10
|
+
phase_ref: "phase_10",
|
|
11
|
+
posture: "closeout_plan",
|
|
12
|
+
current_decision: "ready_for_program_closeout",
|
|
13
|
+
blocking_actions: [],
|
|
14
|
+
action_steps: [
|
|
15
|
+
"confirm the current long-tail proof lane family is the intended final Phase 10 shape",
|
|
16
|
+
"record the terminal program closeout review",
|
|
17
|
+
"recheck phase-10 gate summary for zero unsatisfied conditions",
|
|
18
|
+
"advance only once phase-10 gate resolves to ready_for_program_closeout"
|
|
19
|
+
],
|
|
20
|
+
completion_signals: [
|
|
21
|
+
"phase-10 completion shows no remaining focus",
|
|
22
|
+
"phase-10 decision record shows no pending records",
|
|
23
|
+
"phase-10 gate resolves to ready_for_program_closeout"
|
|
24
|
+
]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function summarizePhase10CloseoutPack() {
|
|
29
|
+
const pack = buildPhase10CloseoutPack();
|
|
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
|
+
buildPhase10CloseoutPack,
|
|
44
|
+
summarizePhase10CloseoutPack
|
|
45
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase10CompletionPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-10-completion-pack",
|
|
10
|
+
phase_ref: "phase_10",
|
|
11
|
+
posture: "completion_review",
|
|
12
|
+
coverage: {
|
|
13
|
+
ecosystem_refs: ["demand_signal_adapters", "niche_extension_registry", "ecosystem_backlog_triage"],
|
|
14
|
+
lane_refs: [
|
|
15
|
+
"/v1/phases/phase-10/demand-signal-adapters/proof/summary",
|
|
16
|
+
"/v1/phases/phase-10/niche-extension-registry/proof/summary",
|
|
17
|
+
"/v1/phases/phase-10/ecosystem-backlog-triage/proof/summary"
|
|
18
|
+
],
|
|
19
|
+
proof_modes: ["demand_signal_capture", "extension_registry_mapping", "backlog_triage"],
|
|
20
|
+
demand_modes: ["partner_signal_flow", "extension_fit_flow", "queue_handoff_flow"],
|
|
21
|
+
proof_artifacts: ["demand_signal_bundle", "extension_registry_bundle", "triage_queue_bundle"],
|
|
22
|
+
proof_surfaces: [
|
|
23
|
+
"/v1/proof-center/bridge/summary",
|
|
24
|
+
"/v1/release-center/summary",
|
|
25
|
+
"/v1/phases/phase-10/long-tail-continuity/summary"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
completion: {
|
|
29
|
+
checks: [
|
|
30
|
+
"broad Phase 10 long-tail ecosystem pack is public and inspectable",
|
|
31
|
+
"all current Phase 10 long-tail proof lanes are public and inspectable",
|
|
32
|
+
"extension posture is visible at phase level",
|
|
33
|
+
"long-tail continuity is explicit across the proof lane family",
|
|
34
|
+
"release-center summary reflects Phase 10 breadth and proof-lane coverage",
|
|
35
|
+
"Phase 10 closeout criteria are explicit before final program closeout"
|
|
36
|
+
],
|
|
37
|
+
readiness_criteria: [
|
|
38
|
+
{ ref: "criterion.phase_surface_public", label: "Phase 10 broad summary is live and inspectable", satisfied: true },
|
|
39
|
+
{ ref: "criterion.long_tail_lane_coverage", label: "All current long-tail proof lanes are live and inspectable", satisfied: true },
|
|
40
|
+
{ ref: "criterion.long_tail_continuity_visible", label: "Long-tail continuity is visible at phase level", satisfied: true },
|
|
41
|
+
{ ref: "criterion.proof_surfaces_attached", label: "Proof surfaces remain attached to the long-tail family", satisfied: true },
|
|
42
|
+
{ ref: "criterion.freeze_shape_confirmed", label: "The final Phase 10 long-tail lane shape is explicitly frozen", satisfied: true },
|
|
43
|
+
{ ref: "criterion.program_closeout_reviewed", label: "A final program closeout review has been recorded", satisfied: true }
|
|
44
|
+
],
|
|
45
|
+
ready_for_next_phase: false,
|
|
46
|
+
remaining_focus: []
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function summarizePhase10CompletionPack() {
|
|
52
|
+
const pack = buildPhase10CompletionPack();
|
|
53
|
+
return {
|
|
54
|
+
ok: true,
|
|
55
|
+
product: pack.product,
|
|
56
|
+
category: pack.category,
|
|
57
|
+
phase_ref: pack.phase_ref,
|
|
58
|
+
ecosystem_count: pack.coverage.ecosystem_refs.length,
|
|
59
|
+
lane_count: pack.coverage.lane_refs.length,
|
|
60
|
+
proof_mode_count: pack.coverage.proof_modes.length,
|
|
61
|
+
demand_mode_count: pack.coverage.demand_modes.length,
|
|
62
|
+
proof_artifact_count: pack.coverage.proof_artifacts.length,
|
|
63
|
+
proof_surface_count: pack.coverage.proof_surfaces.length,
|
|
64
|
+
completion_check_count: pack.completion.checks.length,
|
|
65
|
+
readiness_criteria_count: pack.completion.readiness_criteria.length,
|
|
66
|
+
satisfied_criteria_count: pack.completion.readiness_criteria.filter((criterion) => criterion.satisfied === true).length,
|
|
67
|
+
unsatisfied_criteria_count: pack.completion.readiness_criteria.filter((criterion) => criterion.satisfied !== true).length,
|
|
68
|
+
remaining_focus_count: pack.completion.remaining_focus.length,
|
|
69
|
+
ready_for_next_phase: pack.completion.ready_for_next_phase
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
module.exports = {
|
|
74
|
+
buildPhase10CompletionPack,
|
|
75
|
+
summarizePhase10CompletionPack
|
|
76
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const packageJson = require("../package.json");
|
|
4
|
+
|
|
5
|
+
function buildPhase10DecisionRecordPack() {
|
|
6
|
+
return {
|
|
7
|
+
ok: true,
|
|
8
|
+
product: packageJson.name,
|
|
9
|
+
category: "proof-phase-10-decision-record-pack",
|
|
10
|
+
phase_ref: "phase_10",
|
|
11
|
+
posture: "decision_record",
|
|
12
|
+
records: {
|
|
13
|
+
freeze_decision: {
|
|
14
|
+
status: "recorded",
|
|
15
|
+
description: "record the final long-tail proof lane shape as the frozen Phase 10 baseline"
|
|
16
|
+
},
|
|
17
|
+
program_closeout_review: {
|
|
18
|
+
status: "recorded",
|
|
19
|
+
description: "record the final review that authorizes terminal program closeout"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
record_steps: [
|
|
23
|
+
"confirm the current long-tail proof lane family matches the intended final Phase 10 shape",
|
|
24
|
+
"record the freeze decision outcome",
|
|
25
|
+
"record the program closeout review outcome",
|
|
26
|
+
"recheck phase-10 gate summary for the remaining terminal blockers"
|
|
27
|
+
],
|
|
28
|
+
outputs: [
|
|
29
|
+
"freeze decision status is recorded and inspectable",
|
|
30
|
+
"program closeout review status is recorded and inspectable",
|
|
31
|
+
"phase-10 terminal gate can be flipped deliberately"
|
|
32
|
+
]
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function summarizePhase10DecisionRecordPack() {
|
|
37
|
+
const pack = buildPhase10DecisionRecordPack();
|
|
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
|
+
program_closeout_review_status: pack.records.program_closeout_review.status
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
module.exports = {
|
|
52
|
+
buildPhase10DecisionRecordPack,
|
|
53
|
+
summarizePhase10DecisionRecordPack
|
|
54
|
+
};
|