feat: close ordered pairs and property codec batches
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-17 04:58:46 -04:00
parent 00ed27b7b8
commit d11566403d
265 changed files with 92107 additions and 809 deletions

View File

@@ -146,10 +146,17 @@ const makeCapabilityTasks = (prefix, capabilities, firstDependency) => {
}
return tasks
}
if (followUpProgress.schemaVersion !== 1 || followUpProgress.baseline?.freecadVersion !== '1.1.1' || followUpProgress.baseline?.commit !== '0108fd4b4850cc46e625b60e53cea7a7bbe69f8d' || !Array.isArray(followUpProgress.completedTasks)) throw new Error('Follow-up task progress ledger is invalid.')
const recordedFollowUpIds = new Set()
for (const entry of followUpProgress.completedTasks) {
if (typeof entry.id !== 'string' || recordedFollowUpIds.has(entry.id) || !Array.isArray(entry.evidence) || entry.evidence.length === 0) throw new Error(`Follow-up progress entry ${entry.id} is invalid.`)
recordedFollowUpIds.add(entry.id)
}
const propertyCapabilities = propertySemantics.types
.filter(({ support }) => support === 'opaque-fcstd-proxy')
.filter(({ typeId, support }) => support === 'opaque-fcstd-proxy' || [...recordedFollowUpIds].some((id) => id.startsWith(`PROP-${slug(typeId)}-`)))
.map(({ typeId, recordCount }) => ({ id: typeId, title: typeId, recordCount }))
if (propertyCapabilities.length !== propertySemantics.supportSummary?.['opaque-fcstd-proxy']?.typeCount) throw new Error('Opaque Property capability inventory is inconsistent.')
const carriedPromotedPropertyTypes = propertyCapabilities.filter(({ id }) => propertySemantics.types.find(({ typeId }) => typeId === id)?.support !== 'opaque-fcstd-proxy')
if (propertyCapabilities.length !== propertySemantics.supportSummary?.['opaque-fcstd-proxy']?.typeCount + carriedPromotedPropertyTypes.length) throw new Error('Opaque Property capability inventory is inconsistent.')
const followUpMilestoneDefinitions = [
{
@@ -220,7 +227,6 @@ const followUpMilestones = followUpMilestoneDefinitions.map((definition) => {
return { id: definition.id, title: definition.title, exactTasks: definition.exactTasks, status: 'pending', tasks }
})
const followUpTasks = followUpMilestones.flatMap(({ tasks }) => tasks)
if (followUpProgress.schemaVersion !== 1 || followUpProgress.baseline?.freecadVersion !== '1.1.1' || followUpProgress.baseline?.commit !== '0108fd4b4850cc46e625b60e53cea7a7bbe69f8d' || !Array.isArray(followUpProgress.completedTasks)) throw new Error('Follow-up task progress ledger is invalid.')
const followUpTaskIds = new Set(followUpTasks.map(({ id }) => id))
const completedFollowUpIds = new Set()
for (const entry of followUpProgress.completedTasks) {