feat: advance FreeCAD parity verification and runtime boundaries
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled

This commit is contained in:
2026-08-11 02:14:45 -04:00
parent 26ea9b57d7
commit 2be18a511e
31 changed files with 451 additions and 57 deletions

View File

@@ -13,6 +13,15 @@ const validLanes = new Set(['all', 'chrome', 'oracle', 'wasm'])
if (!validLanes.has(requestedLane)) {
throw new Error(`Unknown lane "${requestedLane}". Expected one of: ${[...validLanes].join(', ')}`)
}
const phaseArg = process.argv.find((arg) => arg.startsWith('--phase='))
const requestedPhase = phaseArg ? phaseArg.slice('--phase='.length) : 'all'
const validPhases = new Set(['all', 'execute', 'check'])
if (!validPhases.has(requestedPhase)) {
throw new Error(`Unknown phase "${requestedPhase}". Expected one of: ${[...validPhases].join(', ')}`)
}
if (requestedPhase !== 'all' && requestedLane !== 'chrome') {
throw new Error(`Phase "${requestedPhase}" is currently supported only for the chrome lane.`)
}
const chromeTests = Object.keys(scripts)
.filter((name) => name.startsWith('test:chrome-'))
@@ -92,6 +101,17 @@ const lanes = {
}
const selectedLanes = requestedLane === 'all' ? ['oracle', 'wasm', 'chrome'] : [requestedLane]
const chromeExecution = ['build', ...chromeTests]
const chromeChecks = [
...chromeTests
.map((name) => `check:${name.slice('test:'.length)}`)
.filter((name) => scripts[name]),
'check:freecad-tsn-stage-evidence',
]
const commandsFor = (lane) => {
if (lane !== 'chrome' || requestedPhase === 'all') return lanes[lane]
return requestedPhase === 'execute' ? chromeExecution : chromeChecks
}
const results = []
function runScript(name, laneEnvironment = {}) {
@@ -118,12 +138,13 @@ try {
FREECAD_REFERENCE_CMD: resolve(root, '.cache/freecad/install-desktop/bin/FreeCAD'),
}
: {}
for (const name of lanes[lane]) runScript(name, laneEnvironment)
for (const name of commandsFor(lane)) runScript(name, laneEnvironment)
}
} finally {
const outputDir = resolve(root, '.cache', 'ci')
mkdirSync(outputDir, { recursive: true })
writeFileSync(resolve(outputDir, 'real-verification.json'), `${JSON.stringify({ generatedAt: new Date().toISOString(), lanes: selectedLanes, results }, null, 2)}\n`)
const summaryName = requestedPhase === 'all' ? 'real-verification.json' : `real-verification-${requestedPhase}.json`
writeFileSync(resolve(outputDir, summaryName), `${JSON.stringify({ generatedAt: new Date().toISOString(), lanes: selectedLanes, phase: requestedPhase, results }, null, 2)}\n`)
}
console.log(`\n[real-verification] completed ${results.length} commands across ${selectedLanes.join(', ')}.`)
console.log(`\n[real-verification] completed ${results.length} ${requestedPhase} commands across ${selectedLanes.join(', ')}.`)