Build and publish Corp v1 Board portal / build (pull_request) Successful in 40s
40 lines
2.3 KiB
JavaScript
40 lines
2.3 KiB
JavaScript
import assert from 'node:assert/strict';
|
||
import {readFile} from 'node:fs/promises';
|
||
import test from 'node:test';
|
||
|
||
const project = await readFile(new URL('../docs/projects/aerosim.md', import.meta.url), 'utf8');
|
||
const packageJson = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
|
||
const lockfile = await readFile(new URL('../pnpm-lock.yaml', import.meta.url), 'utf8');
|
||
|
||
test('AeroSim portfolio roll-up reports the verified Wave 15 checkpoint', () => {
|
||
assert.match(project, /## Delivery progress checkpoint — 2026-09-07/);
|
||
assert.match(project, /Canonical `ToBeReleased` \| 49 \/ 114 \(43\.0%\)/);
|
||
assert.match(project, /Repository-verified implementation pending reconciliation \| 6 \/ 114 \(5\.3%\)/);
|
||
assert.match(project, /Canonical `InProgress` \| 7 \/ 114 \(6\.1%\)/);
|
||
assert.match(project, /Canonical `ReadyForDelivery` \| 58 \/ 114 \(50\.9%\)/);
|
||
assert.match(project, /Released \| 0 \/ 114 \(0\.0%\)/);
|
||
assert.match(project, /Wave 15 is active/);
|
||
assert.match(project, /6 of its 7 Tasks are repository-verified/);
|
||
assert.match(project, /`TASK-0048`, `TASK-0061`, `TASK-0065`, `TASK-0077`, `TASK-0083`, and `TASK-0111`/);
|
||
assert.match(project, /`TASK-0078` remains canonical `InProgress`[^\n]*PR #92 is closed without merge/);
|
||
assert.match(project, /`09628fbb828380fbe159be7530da26f4bbf02129`/);
|
||
assert.match(project, /`d8a45594c33efc3acbd1523955d4f235facc9a1f`/);
|
||
assert.match(project, /PRs #85, #89, #90, #95, #96, and #97/);
|
||
assert.match(project, /integrated tasks `2718`–`2720`/);
|
||
assert.match(project, /Waves 9–11 and 16–30 remain ready but unclaimed/);
|
||
assert.doesNotMatch(project, /Repository-verified implementation pending reconciliation \| 0 \/ 114/);
|
||
assert.doesNotMatch(project, /`7f26eca79eadef3171564fc60035e9866c2c848e`/);
|
||
assert.doesNotMatch(project, /Wave 3 is active/);
|
||
});
|
||
|
||
test('portal pins patched audit dependencies without downgrading consumers', () => {
|
||
assert.deepEqual(packageJson.pnpm?.overrides, {
|
||
'fast-uri': '3.1.6',
|
||
'serialize-javascript': '7.0.3',
|
||
});
|
||
assert.match(lockfile, /fast-uri@3\.1\.6:/);
|
||
assert.match(lockfile, /serialize-javascript@7\.0\.3:/);
|
||
assert.doesNotMatch(lockfile, /fast-uri@3\.1\.5:/);
|
||
assert.doesNotMatch(lockfile, /serialize-javascript@6\.0\.2:/);
|
||
});
|