Checkpoint web parity through Chromium input tasks
This commit is contained in:
52
docs/status/M12-05C.md
Normal file
52
docs/status/M12-05C.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# 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.mjs` reproduced the committed registry byte-for-byte;
|
||||
import routes=0, local export routes=1, project accept=`.blend,application/octet-stream`.
|
||||
- `npm --prefix web run typecheck` and `npm --prefix web run build` passed.
|
||||
- `WEB_TEST_PORT=5412 npm --prefix web run test:asset-library` passed 2/2 N-023 Chromium regressions.
|
||||
- An initial command without `WEB_TEST_PORT` was 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.
|
||||
Reference in New Issue
Block a user