diff --git a/README.md b/README.md index a7c1e86..bb830b4 100644 --- a/README.md +++ b/README.md @@ -549,3 +549,18 @@ Org profile 0.0.45 binds a public backlink to CONTROL v0.2.36. - NO_CURRENT_PRODUCTION_CLAIM=true - NO_STARSHIP_CLAIM=true - NO_PHYSICAL_PRODUCTION_INSTRUCTIONS=true + +## Move 79 — CONTROL v0.2.37 backlink to Org profile + +Org profile 0.0.46 binds a public backlink to CONTROL v0.2.37. + +- CONTROL release: https://github.com/ANTIMATTERIUM/CONTROL/releases/tag/v0.2.37-antimatterium-control-move77-surface-closure +- CONTROL CI: https://github.com/ANTIMATTERIUM/CONTROL/actions/runs/28821621138 +- CONTROL closure ID: 4304bc3fc22364c5600526b2f87bad02d6bb52c56d56755be2b1cbfefdfdd377 +- Surface tag: v0.0.46-antimatterium-org-profile-control-v0237-backlink +- Backlink ID: 0fb8c55049f0017a7d9dee82bfaca9283ea3429bcf4c5a83ad6e5c916ebd9517 +- ANTIMATTERIUM_SHORT_PUBLIC_TAG_REQUIRED=true +- ANTIMATTERIUM_NO_LOCAL_ROOT_REQUIRED=true +- NO_CURRENT_PRODUCTION_CLAIM=true +- NO_STARSHIP_CLAIM=true +- NO_PHYSICAL_PRODUCTION_INSTRUCTIONS=true diff --git a/package.json b/package.json index 1dd2f45..d9fed36 100644 --- a/package.json +++ b/package.json @@ -67,8 +67,10 @@ "verify:move75-control-v0235-backlink": "node scripts/verify-org-profile-move75-control-v0235-backlink.mjs", "test:move75-control-v0235-backlink": "node --test tests/org-profile-move75-control-v0235-backlink.test.mjs", "verify:move77-control-v0236-backlink": "node scripts/verify-org-profile-move77-control-v0236-backlink.mjs", - "test:move77-control-v0236-backlink": "node --test tests/org-profile-move77-control-v0236-backlink.test.mjs" + "test:move77-control-v0236-backlink": "node --test tests/org-profile-move77-control-v0236-backlink.test.mjs", + "verify:move79-control-v0237-backlink": "node scripts/verify-org-profile-move79-control-v0237-backlink.mjs", + "test:move79-control-v0237-backlink": "node --test tests/org-profile-move79-control-v0237-backlink.test.mjs" }, "type": "module", - "version": "0.0.45" + "version": "0.0.46" } diff --git a/public/receipts/ANTIMATTERIUM_ORG_PROFILE_MOVE79_CONTROL_V0237_BACKLINK.json b/public/receipts/ANTIMATTERIUM_ORG_PROFILE_MOVE79_CONTROL_V0237_BACKLINK.json new file mode 100644 index 0000000..78d2b6a --- /dev/null +++ b/public/receipts/ANTIMATTERIUM_ORG_PROFILE_MOVE79_CONTROL_V0237_BACKLINK.json @@ -0,0 +1,30 @@ +{ + "backlink": { + "control_key": "v0237", + "fanout_move": 77, + "source_move": 78, + "type": "public_surface_to_control_release_backlink" + }, + "backlink_id": "0fb8c55049f0017a7d9dee82bfaca9283ea3429bcf4c5a83ad6e5c916ebd9517", + "claims": { + "no_current_production_claim": true, + "no_local_root_required": true, + "no_physical_production_instructions": true, + "no_starship_claim": true, + "short_public_tag_required": true + }, + "control": { + "ci_run": "https://github.com/ANTIMATTERIUM/CONTROL/actions/runs/28821621138", + "closure_id": "4304bc3fc22364c5600526b2f87bad02d6bb52c56d56755be2b1cbfefdfdd377", + "release": "https://github.com/ANTIMATTERIUM/CONTROL/releases/tag/v0.2.37-antimatterium-control-move77-surface-closure", + "tag": "v0.2.37-antimatterium-control-move77-surface-closure", + "version": "0.2.37" + }, + "move": 79, + "package": "@antimatterium/org-profile", + "schema": "antimatterium.public_surface.control_backlink.receipt.v1", + "surface": "org_profile", + "surface_tag": "v0.0.46-antimatterium-org-profile-control-v0237-backlink", + "surface_title": "Org profile", + "surface_version": "0.0.46" +} diff --git a/scripts/verify-org-profile-move79-control-v0237-backlink.mjs b/scripts/verify-org-profile-move79-control-v0237-backlink.mjs new file mode 100644 index 0000000..cfefd90 --- /dev/null +++ b/scripts/verify-org-profile-move79-control-v0237-backlink.mjs @@ -0,0 +1,41 @@ +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; + +const receipt = JSON.parse(readFileSync('public/receipts/ANTIMATTERIUM_ORG_PROFILE_MOVE79_CONTROL_V0237_BACKLINK.json', 'utf8')); + +assert.equal(receipt.schema, 'antimatterium.public_surface.control_backlink.receipt.v1'); +assert.equal(receipt.move, 79); +assert.equal(receipt.surface, 'org_profile'); +assert.equal(receipt.surface_title, 'Org profile'); +assert.equal(receipt.package, '@antimatterium/org-profile'); +assert.equal(receipt.surface_version, '0.0.46'); +assert.equal(receipt.surface_tag, 'v0.0.46-antimatterium-org-profile-control-v0237-backlink'); + +assert.equal(receipt.control.version, '0.2.37'); +assert.equal(receipt.control.tag, 'v0.2.37-antimatterium-control-move77-surface-closure'); +assert.equal(receipt.control.release, 'https://github.com/ANTIMATTERIUM/CONTROL/releases/tag/v0.2.37-antimatterium-control-move77-surface-closure'); +assert.equal(receipt.control.ci_run, 'https://github.com/ANTIMATTERIUM/CONTROL/actions/runs/28821621138'); +assert.equal(receipt.control.closure_id, '4304bc3fc22364c5600526b2f87bad02d6bb52c56d56755be2b1cbfefdfdd377'); + +assert.equal(receipt.backlink.type, 'public_surface_to_control_release_backlink'); +assert.equal(receipt.backlink.control_key, 'v0237'); +assert.equal(receipt.backlink.source_move, 78); +assert.equal(receipt.backlink.fanout_move, 77); + +assert.equal(receipt.claims.short_public_tag_required, true); +assert.equal(receipt.claims.no_local_root_required, true); +assert.equal(receipt.claims.no_current_production_claim, true); +assert.equal(receipt.claims.no_starship_claim, true); +assert.equal(receipt.claims.no_physical_production_instructions, true); + +assert.equal(receipt.backlink_id, '0fb8c55049f0017a7d9dee82bfaca9283ea3429bcf4c5a83ad6e5c916ebd9517'); + +console.log('ANTIMATTERIUM_ORG_PROFILE_MOVE79_CONTROL_V0237_BACKLINK_VERIFY_PASS=true'); +console.log('ANTIMATTERIUM_ORG_PROFILE_CONTROL_V0237_RELEASE_BOUND=true'); +console.log('ANTIMATTERIUM_ORG_PROFILE_CONTROL_V0237_MEMBER=true'); +console.log('ANTIMATTERIUM_SHORT_PUBLIC_TAG_REQUIRED=true'); +console.log('ANTIMATTERIUM_NO_LOCAL_ROOT_REQUIRED=true'); +console.log('ANTIMATTERIUM_ORG_PROFILE_MOVE79_CONTROL_V0237_BACKLINK_ID=0fb8c55049f0017a7d9dee82bfaca9283ea3429bcf4c5a83ad6e5c916ebd9517'); +console.log('NO_CURRENT_PRODUCTION_CLAIM=true'); +console.log('NO_STARSHIP_CLAIM=true'); +console.log('NO_PHYSICAL_PRODUCTION_INSTRUCTIONS=true'); diff --git a/tests/org-profile-move79-control-v0237-backlink.test.mjs b/tests/org-profile-move79-control-v0237-backlink.test.mjs new file mode 100644 index 0000000..355df6a --- /dev/null +++ b/tests/org-profile-move79-control-v0237-backlink.test.mjs @@ -0,0 +1,10 @@ +import test from 'node:test'; +import assert from 'node:assert/strict'; +import { spawnSync } from 'node:child_process'; + +test('Org profile Move 79 verifier receipt is stable', () => { + const result = spawnSync(process.execPath, ['scripts/verify-org-profile-move79-control-v0237-backlink.mjs'], { encoding: 'utf8' }); + assert.equal(result.status, 0, result.stderr || result.stdout); + assert.match(result.stdout, /ANTIMATTERIUM_ORG_PROFILE_MOVE79_CONTROL_V0237_BACKLINK_VERIFY_PASS=true/); + assert.match(result.stdout, /ANTIMATTERIUM_ORG_PROFILE_MOVE79_CONTROL_V0237_BACKLINK_ID=0fb8c55049f0017a7d9dee82bfaca9283ea3429bcf4c5a83ad6e5c916ebd9517/); +});