2.8 KiB
M12-05C Status
status: done task: prevent matrix-undeclared combinations from appearing in file selection and operator search updated: 2026-08-18 America/New_York enablingTask: false parityStateChange: false
Scope
The schema-1 UI registry is generated from the M12-05B capability matrix and is bound to its exact
SHA-256. Only routes whose runtime operator is AVAILABLE and whose local matrix route is READY
are exposed to the UI. The current registry therefore accepts .blend projects, exposes the existing
bounded local GLB export command, and exposes no blocked import or export route.
The file input uses the registry-derived accept string and performs a second filename gate before
opening. A matrix-blocked or unknown extension returns IO_FORMAT_UNSUPPORTED without invoking the
engine or replacing the current scene. Operator search filters every format-tagged command through the
same registry, so blocked server routes and undeclared formats cannot appear as executable results.
Evidence
- Direct M12-05C lane passed:
node --test web/tests/unit/io-format-ui-gate.test.mjs,node tools/web/check-io-format-ui-gate.mjs, and Chromium 1/1 on dynamic ports 5413/5417. node tools/web/check-io-format-ui-gate.mjsreproduced the committed registry byte-for-byte; import routes=0, local export routes=1, project accept=.blend,application/octet-stream.npm --prefix web run typecheckandnpm --prefix web run buildpassed.WEB_TEST_PORT=5412 npm --prefix web run test:asset-librarypassed 2/2 N-023 Chromium regressions.- An initial command without
WEB_TEST_PORTwas blocked by an already occupied 5173; rerunning on the isolated dynamic port passed and left no server/profile process in the test lane.
Artifact Hashes
- parent manifest:
8cc9517c9f25138c351bc5a79efe3b1ce6d9f6663d3b7c14397c5e4e8f11181a - protocol:
fc397ceb947d4ede6c34c1d51438253a6b59244fc40f5eb77ce155bf1c477476 - generator:
1ef4ae8a3e8d2f73101a87cba1c42ea99a065e1f6846f6a591841b97c0c39e6f - checker:
81d6f27df26aab7b633fbe61c6d7b37519668aff41e43314924dceaacb3affde - unit:
84ca8fb6022da9f167daa104c44489a6c7d9f059699e57ce621b8d7f64f19082 - Chromium:
eda2cdb9ede3bcbd717800c9c6fdb28d8cebef96f0296a2ee847a05e60cd0eed - registry:
6b410bc6f2cad032af55bf13e1c8ddd841b01e9913ffc0ba381da8b7204285fd - package commands:
cfb232baa494ff59f6c8d65514a08c86332ee9354350b2a0392b6f932a7ee42c - manifest:
f46fd394e2144255d8b4304e8ce4fe60aad4302a80e991fd83d50cd915235ee3
Next Task
M12-05D: determine capability from runtime receipts and never infer it from filename extensions.
Rollback
Remove the UI registry protocol, generator/checker, registry, unit/Chromium tests, package command,
golden manifest, and this status entry. Restore M12-05B as the queue tail and move the machine queue
back to M12-05C. No parity ledger rollback is required.