Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -982,3 +982,19 @@ CONTROL 0.2.41 closes the Move 85 public surface backlink fanout from CONTROL v0
- NO_CURRENT_PRODUCTION_CLAIM=true
- NO_STARSHIP_CLAIM=true
- NO_PHYSICAL_PRODUCTION_INSTRUCTIONS=true

## Move 88 — CONTROL closes Move 87 public surface backlink fanout

CONTROL v0.2.42 closes the Move 87 public surface backlink fanout from CONTROL v0.2.41.

- Source CONTROL release: https://github.com/ANTIMATTERIUM/CONTROL/releases/tag/v0.2.41-antimatterium-control-move85-surface-closure
- Source CONTROL CI: https://github.com/ANTIMATTERIUM/CONTROL/actions/runs/28900560674
- Source CONTROL closure ID: 448a8074d76baf5d958c6069dbf3d7a9057f86b17aa5d2c74aee76167afc7542
- Core release: https://github.com/ANTIMATTERIUM/ANTIMATTERIUM/releases/tag/v0.2.56-antimatterium-control-v0241-backlink
- WWW release: https://github.com/ANTIMATTERIUM/WWW/releases/tag/v0.1.52-antimatterium-www-control-v0241-backlink
- Org profile release: https://github.com/ANTIMATTERIUM/.github/releases/tag/v0.0.50-antimatterium-org-profile-control-v0241-backlink
- Short public tag required: true
- No local root required: true
- NO_CURRENT_PRODUCTION_CLAIM=true
- NO_STARSHIP_CLAIM=true
- NO_PHYSICAL_PRODUCTION_INSTRUCTIONS=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"schema": "antimatterium.control.move88.surface_backlink_fanout_closure.v1",
"move": 88,
"control_version": "0.2.42",
"closes_move": 87,
"source_control": {
"version": "0.2.41",
"tag": "v0.2.41-antimatterium-control-move85-surface-closure",
"release": "https://github.com/ANTIMATTERIUM/CONTROL/releases/tag/v0.2.41-antimatterium-control-move85-surface-closure",
"ci_run": "https://github.com/ANTIMATTERIUM/CONTROL/actions/runs/28900560674",
"closure_id": "448a8074d76baf5d958c6069dbf3d7a9057f86b17aa5d2c74aee76167afc7542"
},
"surface_backlinks": {
"core": {
"version": "0.2.56",
"tag": "v0.2.56-antimatterium-control-v0241-backlink",
"release": "https://github.com/ANTIMATTERIUM/ANTIMATTERIUM/releases/tag/v0.2.56-antimatterium-control-v0241-backlink",
"backlink_id": "4622bd6ad3a04a2808e7d35584d7862c3f14f02ab716206ea743d3611c6e7a57"
},
"www": {
"version": "0.1.52",
"tag": "v0.1.52-antimatterium-www-control-v0241-backlink",
"release": "https://github.com/ANTIMATTERIUM/WWW/releases/tag/v0.1.52-antimatterium-www-control-v0241-backlink",
"backlink_id": "19d230a33c603d7e211e35746da61423e9a54fcf9dba4961e28c785060b94b2e"
},
"org_profile": {
"version": "0.0.50",
"tag": "v0.0.50-antimatterium-org-profile-control-v0241-backlink",
"release": "https://github.com/ANTIMATTERIUM/.github/releases/tag/v0.0.50-antimatterium-org-profile-control-v0241-backlink",
"backlink_id": "12a9a1874bfbb2c74162766daebb6eda020409f41285ceeab962ed9c14c7c163"
}
},
"closure": {
"short_public_tag_required": true,
"no_local_root_required": true,
"move87_surface_backlinks_replayed": true,
"id": "280a205f6631f33300cfd7d5c25c791877823bd52fbcc9d7544d85d561401d4b"
},
"safety": {
"no_current_production_claim": true,
"no_starship_claim": true,
"no_physical_production_instructions": true
}
}
9 changes: 6 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"audit:rootless-reconstruction": "bash scripts/public-rootless-reconstruction-audit.sh",
"replay": "bash scripts/cold-replay.sh",
"scan": "node scripts/scan-public-safety.mjs",
"verify": "node scripts/verify-control.mjs && node scripts/scan-public-safety.mjs && node scripts/verify-ci-gate.mjs && node scripts/verify-ci-evidence-seal.mjs && node scripts/verify-bidirectional-public-closure.mjs && node scripts/verify-stranger-final-audit.mjs && node scripts/verify-public-release-matrix.mjs && node scripts/verify-public-stranger-ci.mjs && node scripts/verify-second-order-public-stranger-ci-closure.mjs && node scripts/verify-public-ecosystem-index.mjs && node scripts/verify-public-ecosystem-index-echo-closure.mjs && node scripts/verify-public-rootless-reconstruction-index.mjs && node scripts/verify-rootless-fanout-echo-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure.mjs && node scripts/verify-rootless-fanout-backpropagation-echo-closure.mjs && node scripts/verify-rootless-fanout-backpropagation-echo-fanout-closure.mjs && node scripts/verify-rootless-fanout-backpropagation-echo-fanout-backlink-closure.mjs && node scripts/verify-rootless-fanout-backpropagation-echo-fanout-backlink-closure-backpropagation-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure-backlink-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure-backlink-closure-backlink-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure-backlink-closure-backlink-closure-backlink-closure-backlink-closure.mjs && node scripts/verify-move38-surface-backlink-fanout-closure.mjs && node scripts/verify-move40-surface-backlink-fanout-closure.mjs && node scripts/verify-move42-surface-backlink-fanout-closure.mjs && node scripts/verify-move44-surface-backlink-fanout-closure.mjs && node scripts/verify-move46-surface-backlink-fanout-closure.mjs && node scripts/verify-move48-surface-backlink-fanout-closure.mjs && node scripts/verify-move50-surface-backlink-fanout-closure.mjs && node scripts/verify-move52-surface-backlink-fanout-closure.mjs && node scripts/verify-move54-surface-backlink-fanout-closure.mjs && node scripts/verify-move56-surface-backlink-fanout-closure.mjs && node scripts/verify-move58-surface-backlink-fanout-closure.mjs && node scripts/verify-move60-surface-backlink-fanout-closure.mjs && node scripts/verify-move62-surface-backlink-fanout-closure.mjs && node scripts/verify-move64-surface-backlink-fanout-closure.mjs && node scripts/verify-move66-surface-backlink-fanout-closure.mjs && node scripts/verify-move68-surface-backlink-fanout-closure.mjs && node scripts/verify-move70-surface-backlink-fanout-closure.mjs && node scripts/verify-move72-surface-backlink-fanout-closure.mjs && node scripts/verify-move74-surface-backlink-fanout-closure.mjs && node scripts/verify-move76-surface-backlink-fanout-closure.mjs && node scripts/verify-move78-surface-backlink-fanout-closure.mjs && node scripts/verify-move80-surface-backlink-fanout-closure.mjs && node scripts/verify-move82-surface-backlink-fanout-closure.mjs && node scripts/verify-move84-surface-backlink-fanout-closure.mjs && node scripts/verify-move86-surface-backlink-fanout-closure.mjs",
"verify": "node scripts/verify-control.mjs && node scripts/scan-public-safety.mjs && node scripts/verify-ci-gate.mjs && node scripts/verify-ci-evidence-seal.mjs && node scripts/verify-bidirectional-public-closure.mjs && node scripts/verify-stranger-final-audit.mjs && node scripts/verify-public-release-matrix.mjs && node scripts/verify-public-stranger-ci.mjs && node scripts/verify-second-order-public-stranger-ci-closure.mjs && node scripts/verify-public-ecosystem-index.mjs && node scripts/verify-public-ecosystem-index-echo-closure.mjs && node scripts/verify-public-rootless-reconstruction-index.mjs && node scripts/verify-rootless-fanout-echo-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure.mjs && node scripts/verify-rootless-fanout-backpropagation-echo-closure.mjs && node scripts/verify-rootless-fanout-backpropagation-echo-fanout-closure.mjs && node scripts/verify-rootless-fanout-backpropagation-echo-fanout-backlink-closure.mjs && node scripts/verify-rootless-fanout-backpropagation-echo-fanout-backlink-closure-backpropagation-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure-backlink-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure-backlink-closure-backlink-closure-backlink-closure.mjs && node scripts/verify-rootless-fanout-backlink-closure-backpropagation-closure-fanout-backlink-closure-fanout-closure-backlink-closure-fanout-closure-backlink-closure-backlink-closure-backlink-closure-backlink-closure-backlink-closure.mjs && node scripts/verify-move38-surface-backlink-fanout-closure.mjs && node scripts/verify-move40-surface-backlink-fanout-closure.mjs && node scripts/verify-move42-surface-backlink-fanout-closure.mjs && node scripts/verify-move44-surface-backlink-fanout-closure.mjs && node scripts/verify-move46-surface-backlink-fanout-closure.mjs && node scripts/verify-move48-surface-backlink-fanout-closure.mjs && node scripts/verify-move50-surface-backlink-fanout-closure.mjs && node scripts/verify-move52-surface-backlink-fanout-closure.mjs && node scripts/verify-move54-surface-backlink-fanout-closure.mjs && node scripts/verify-move56-surface-backlink-fanout-closure.mjs && node scripts/verify-move58-surface-backlink-fanout-closure.mjs && node scripts/verify-move60-surface-backlink-fanout-closure.mjs && node scripts/verify-move62-surface-backlink-fanout-closure.mjs && node scripts/verify-move64-surface-backlink-fanout-closure.mjs && node scripts/verify-move66-surface-backlink-fanout-closure.mjs && node scripts/verify-move68-surface-backlink-fanout-closure.mjs && node scripts/verify-move70-surface-backlink-fanout-closure.mjs && node scripts/verify-move72-surface-backlink-fanout-closure.mjs && node scripts/verify-move74-surface-backlink-fanout-closure.mjs && node scripts/verify-move76-surface-backlink-fanout-closure.mjs && node scripts/verify-move78-surface-backlink-fanout-closure.mjs && node scripts/verify-move80-surface-backlink-fanout-closure.mjs && node scripts/verify-move82-surface-backlink-fanout-closure.mjs && node scripts/verify-move84-surface-backlink-fanout-closure.mjs && node scripts/verify-move86-surface-backlink-fanout-closure.mjs && node scripts/verify-move88-surface-backlink-fanout-closure.mjs",
"verify:bidirectional-closure": "node scripts/verify-bidirectional-public-closure.mjs",
"verify:ci": "node scripts/verify-ci-gate.mjs",
"verify:ci-evidence": "node scripts/verify-ci-evidence-seal.mjs",
Expand Down Expand Up @@ -126,8 +126,11 @@
"test:move84-surface-backlink-fanout-closure": "node --test tests/move84-surface-backlink-fanout-closure.test.mjs",
"verify:move86-surface-backlink-fanout-closure": "node scripts/verify-move86-surface-backlink-fanout-closure.mjs",
"audit:move86-surface-backlink-fanout-closure": "bash scripts/move86-surface-backlink-fanout-closure-audit.sh",
"test:move86-surface-backlink-fanout-closure": "node --test tests/move86-surface-backlink-fanout-closure.test.mjs"
"test:move86-surface-backlink-fanout-closure": "node --test tests/move86-surface-backlink-fanout-closure.test.mjs",
"verify:move88-surface-backlink-fanout-closure": "node scripts/verify-move88-surface-backlink-fanout-closure.mjs",
"audit:move88-surface-backlink-fanout-closure": "bash scripts/move88-surface-backlink-fanout-closure-audit.sh",
"test:move88-surface-backlink-fanout-closure": "node --test tests/move88-surface-backlink-fanout-closure.test.mjs"
},
"type": "module",
"version": "0.2.41"
"version": "0.2.42"
}
64 changes: 64 additions & 0 deletions scripts/move88-surface-backlink-fanout-closure-audit.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#!/usr/bin/env bash
set -euo pipefail

echo "=== ANTIMATTERIUM MOVE 88 PUBLIC SURFACE BACKLINK FANOUT CLOSURE AUDIT ==="

WORK="$(mktemp -d)"
trap 'rm -rf "$WORK"' EXIT

clone_tag() {
local repo="$1"
local tag="$2"
local dir="$3"
git clone --depth 1 --branch "$tag" "$repo" "$WORK/$dir" >/dev/null 2>&1
}

run_if_script() {
local script="$1"
if node -e 'const fs=require("fs"); const pkg=JSON.parse(fs.readFileSync("package.json","utf8")); process.exit(pkg.scripts && pkg.scripts[process.argv[1]] ? 0 : 1)' "$script"; then
npm run "$script"
else
echo "SKIP_MISSING_SCRIPT=$script"
fi
}

echo "=== CLONE control-v0241 ==="
clone_tag "https://github.com/ANTIMATTERIUM/CONTROL.git" "v0.2.41-antimatterium-control-move85-surface-closure" "control-v0241"
cd "$WORK/control-v0241"
echo "=== VERIFY CONTROL v0.2.41 ==="
npm run verify:move86-surface-backlink-fanout-closure

echo "=== CLONE core-v0256 ==="
clone_tag "https://github.com/ANTIMATTERIUM/ANTIMATTERIUM.git" "v0.2.56-antimatterium-control-v0241-backlink" "core-v0256"
cd "$WORK/core-v0256"
echo "=== VERIFY CORE v0.2.56 ==="
npm run verify:move87-control-v0241-backlink
npm run test:move87-control-v0241-backlink
run_if_script verify:privacy
run_if_script verify:claims

echo "=== CLONE www-v0152 ==="
clone_tag "https://github.com/ANTIMATTERIUM/WWW.git" "v0.1.52-antimatterium-www-control-v0241-backlink" "www-v0152"
cd "$WORK/www-v0152"
echo "=== VERIFY WWW v0.1.52 ==="
npm run verify:move87-control-v0241-backlink
npm run test:move87-control-v0241-backlink
run_if_script verify:privacy
run_if_script verify:claims

echo "=== CLONE org-profile-v0050 ==="
clone_tag "https://github.com/ANTIMATTERIUM/.github.git" "v0.0.50-antimatterium-org-profile-control-v0241-backlink" "org-profile-v0050"
cd "$WORK/org-profile-v0050"
echo "=== VERIFY ORG PROFILE v0.0.50 ==="
npm run verify:move87-control-v0241-backlink
npm run test:move87-control-v0241-backlink
run_if_script verify:privacy
run_if_script verify:claims

echo "ANTIMATTERIUM_MOVE88_SURFACE_BACKLINK_FANOUT_CLOSURE_AUDIT_PASS=true"
echo "ANTIMATTERIUM_MOVE87_SURFACE_BACKLINKS_REPLAYED=true"
echo "ANTIMATTERIUM_SHORT_PUBLIC_TAG_REQUIRED=true"
echo "ANTIMATTERIUM_NO_LOCAL_ROOT_REQUIRED=true"
echo "NO_CURRENT_PRODUCTION_CLAIM=true"
echo "NO_STARSHIP_CLAIM=true"
echo "NO_PHYSICAL_PRODUCTION_INSTRUCTIONS=true"
57 changes: 57 additions & 0 deletions scripts/verify-move88-surface-backlink-fanout-closure.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import fs from 'node:fs';
import assert from 'node:assert/strict';
import crypto from 'node:crypto';

const receipt = JSON.parse(fs.readFileSync('control/ANTIMATTERIUM_CONTROL_MOVE88_SURFACE_BACKLINK_FANOUT_CLOSURE.json', 'utf8'));

assert.equal(receipt.schema, 'antimatterium.control.move88.surface_backlink_fanout_closure.v1');
assert.equal(receipt.move, 88);
assert.equal(receipt.control_version, '0.2.42');
assert.equal(receipt.closes_move, 87);

assert.equal(receipt.source_control.version, '0.2.41');
assert.equal(receipt.source_control.tag, 'v0.2.41-antimatterium-control-move85-surface-closure');
assert.equal(receipt.source_control.release, 'https://github.com/ANTIMATTERIUM/CONTROL/releases/tag/v0.2.41-antimatterium-control-move85-surface-closure');
assert.equal(receipt.source_control.ci_run, 'https://github.com/ANTIMATTERIUM/CONTROL/actions/runs/28900560674');
assert.equal(receipt.source_control.closure_id, '448a8074d76baf5d958c6069dbf3d7a9057f86b17aa5d2c74aee76167afc7542');

assert.equal(receipt.surface_backlinks.core.version, '0.2.56');
assert.equal(receipt.surface_backlinks.core.tag, 'v0.2.56-antimatterium-control-v0241-backlink');
assert.equal(receipt.surface_backlinks.core.release, 'https://github.com/ANTIMATTERIUM/ANTIMATTERIUM/releases/tag/v0.2.56-antimatterium-control-v0241-backlink');
assert.equal(receipt.surface_backlinks.core.backlink_id, '4622bd6ad3a04a2808e7d35584d7862c3f14f02ab716206ea743d3611c6e7a57');

assert.equal(receipt.surface_backlinks.www.version, '0.1.52');
assert.equal(receipt.surface_backlinks.www.tag, 'v0.1.52-antimatterium-www-control-v0241-backlink');
assert.equal(receipt.surface_backlinks.www.release, 'https://github.com/ANTIMATTERIUM/WWW/releases/tag/v0.1.52-antimatterium-www-control-v0241-backlink');
assert.equal(receipt.surface_backlinks.www.backlink_id, '19d230a33c603d7e211e35746da61423e9a54fcf9dba4961e28c785060b94b2e');

assert.equal(receipt.surface_backlinks.org_profile.version, '0.0.50');
assert.equal(receipt.surface_backlinks.org_profile.tag, 'v0.0.50-antimatterium-org-profile-control-v0241-backlink');
assert.equal(receipt.surface_backlinks.org_profile.release, 'https://github.com/ANTIMATTERIUM/.github/releases/tag/v0.0.50-antimatterium-org-profile-control-v0241-backlink');
assert.equal(receipt.surface_backlinks.org_profile.backlink_id, '12a9a1874bfbb2c74162766daebb6eda020409f41285ceeab962ed9c14c7c163');

assert.equal(receipt.closure.short_public_tag_required, true);
assert.equal(receipt.closure.no_local_root_required, true);
assert.equal(receipt.closure.move87_surface_backlinks_replayed, true);

assert.equal(receipt.safety.no_current_production_claim, true);
assert.equal(receipt.safety.no_starship_claim, true);
assert.equal(receipt.safety.no_physical_production_instructions, true);

const clone = structuredClone(receipt);
delete clone.closure.id;
const expectedId = crypto.createHash('sha256').update(JSON.stringify(clone)).digest('hex');
assert.equal(receipt.closure.id, expectedId);

console.log('ANTIMATTERIUM_CONTROL_MOVE88_SURFACE_BACKLINK_FANOUT_CLOSURE_VERIFY_PASS=true');
console.log('ANTIMATTERIUM_MOVE87_SURFACE_BACKLINKS_BOUND=true');
console.log('ANTIMATTERIUM_CONTROL_V0241_BOUND=true');
console.log('ANTIMATTERIUM_CORE_V0256_BOUND=true');
console.log('ANTIMATTERIUM_WWW_V0152_BOUND=true');
console.log('ANTIMATTERIUM_ORG_PROFILE_V0050_BOUND=true');
console.log('ANTIMATTERIUM_SHORT_PUBLIC_TAG_REQUIRED=true');
console.log('ANTIMATTERIUM_NO_LOCAL_ROOT_REQUIRED=true');
console.log('MOVE88_SURFACE_BACKLINK_FANOUT_CLOSURE_ID=' + receipt.closure.id);
console.log('NO_CURRENT_PRODUCTION_CLAIM=true');
console.log('NO_STARSHIP_CLAIM=true');
console.log('NO_PHYSICAL_PRODUCTION_INSTRUCTIONS=true');
9 changes: 9 additions & 0 deletions tests/move88-surface-backlink-fanout-closure.test.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { execFileSync } from 'node:child_process';

test('Move 88 CONTROL closure verifier exits cleanly', () => {
const out = execFileSync(process.execPath, ['scripts/verify-move88-surface-backlink-fanout-closure.mjs'], { encoding: 'utf8' });
assert.match(out, /ANTIMATTERIUM_CONTROL_MOVE88_SURFACE_BACKLINK_FANOUT_CLOSURE_VERIFY_PASS=true/);
assert.match(out, /ANTIMATTERIUM_MOVE87_SURFACE_BACKLINKS_BOUND=true/);
});
Loading