Test atlas
The atlas is a map of what the floor recognizes. It lists test surface files and their dispositions, prevention guards and their declared scope, and decision records with their state. A row records existence and classification. It does not record a passing run.
Bridlewise is an experimental developer preview. The atlas is an inventory of verification work, not a coverage certificate and not a production guarantee.
Generated data. This page loads atlas.json, generated from the tracked floor tree at build time. The generator, filter script, and table styles are part of this repository. The generated file is the only data source. It carries no private fixture names, local paths, or credentials. The page does not infer tests from filenames at runtime.
Browse the atlas
Loading the atlas snapshot. Counts appear only after the file parses. A blank table during loading is not a result. If this message remains, the filter script did not run; read the raw JSON or the source records.
The atlas snapshot did not load. The page could not read or validate the generated file. Nothing on this page is a result. Check the status snapshot and the evidence commands. If the file is absent, the generator did not run or the deployment did not publish its output.
The atlas has no entries. This is not evidence that the floor has no tests. The generated snapshot contains no records. Check the source commit and the generator before drawing any conclusion.
No rows rendered yet.
No entries match these filters. Clear one filter or the search text. The snapshot may still contain entries outside the current selection.
| Entry | Kind | Group | State | Evidence |
|---|
This snapshot is older than the page. Treat its counts as historical. The generated timestamp and source commit are shown with the snapshot.
What a row means
| Kind | Source | What the row means | What it does not mean |
|---|---|---|---|
| Test surface | the engine test inventory (computed from the tree by engine/scripts/test-inventory.ts --print; not committed), test-surface-dispositions.json, and the web test tree |
A file is recognized as a test surface entry and given one disposition. For engine inventory entries, the test count is the number of test names bound to that file. Web files outside that inventory are marked not-inventoried. |
That the file ran, passed, or applies to your checkout |
| Prevention guard | tests/prevention/ headers |
A guard declares a failure class, a plant, the driven behavior, and a liveness check. | That the guard is live on the current build or that its plant still exists |
| Decision record | docs/decisions/*.md front matter |
A rule or decision has an id, a group, a status, and an implementation state. Paths in acted_in cite where it was carried out. |
That the implementation is correct, complete, or still in force |
Test categories
| Category | Path | Runner |
|---|---|---|
| Web unit and integration | tests/unit/ |
Vitest |
| Prevention | tests/prevention/ |
Vitest |
| Cockpit | tests/cockpit/ |
Vitest with a browser setup |
| Performance | tests/performance/ |
Vitest |
| End to end | tests/ |
Playwright |
| Engine domain | engine/test/ |
node:test |
| Live provider and MCP | engine/live/ |
node:test, opt-in |
| Public smoke | tests/public/ |
node:test |
| Benchmark | bench/ |
Node harness |
| Guardian | engine/guardian/tests/ |
C and shell |
The category is assigned by the generator from the path and the test surface. The page does not guess it from a filename.
Dispositions
| Disposition | Meaning | Limit |
|---|---|---|
canonical-node-test |
Qualified by the central Node test pattern and run by the inventory-derived runner | The runner may still need a corpus, a service, or a browser |
qualified-external-oracle |
A live provider or MCP test, run only with explicit consent and credentials | It is not part of the hermetic run |
pending-external-qualification |
Recognized but not yet qualified | It blocks a full-repository test claim |
non-test-fixture |
A recognized source that is not a test | It contributes no test count |
not-inventoried |
A web test file exists outside the engine inventory | It is listed for inspection and does not contribute an inventoried test count |
unknown |
The generator could not classify the entry | It is treated as blocking, never as a pass |
A missing disposition is not a default pass. The generator maps an unrecognized entry to unknown and the atlas marks it.
Prevention guards
A prevention guard is a test that protects a class of regression. Its header states the class, the plant, the driven behavior, and the liveness check. The atlas shows those four fields as declared. If a header omits one, the row is marked incomplete. The generator does not reconstruct a missing field from the test body.
A guard’s presence is not proof of liveness. The guard must fail when its plant is reintroduced and pass when it is removed. That check belongs in the run record, not in the inventory.
Decision records
A decision record carries id, date, by, group, status, and implementation. status is in-force or superseded. implementation is standing, pending, partial, or done. A pending record names a route; a partial or done record names the paths where it was carried out. The generated README.md index is excluded from the atlas count.
The implementation state is maintained by the tracker checker. It is a claim about paths and work, not a runtime proof.
Filters and states
- Search is case-insensitive and matches the entry id, title, name, path, group, and state.
- Kind restricts the table to tests, guards, or decisions.
- Test category and disposition apply only to test rows.
- Guard state selects guards with a complete or incomplete header.
- Decision state matches either the
statusor theimplementationvalue. - Filters combine with AND. The count reports matching entries out of the snapshot total. Clearing the filters restores the full set.
- The table is sorted by kind, then group, then entry. It renders every matching row and states the filtered total. If an implementation caps the table, it provides visible pagination rather than silently hiding rows.
The page has explicit states:
| State | What the visitor sees |
|---|---|
| Loading | A status line. No counts and no placeholder rows. |
| Ready | Filters, the count, and the table |
| No entries | The snapshot parsed but contains no records. This is not zero tests. |
| No matches | The snapshot has records but the current filters select none |
| Error | The file is missing, unreadable, invalid JSON, or an unsupported schema. The table is withheld. |
| Stale | The snapshot’s generatedAt is older than the deployed page beyond the build window. A warning is shown; the rows remain visible. |
If any entry fails schema validation, the page withholds the whole table and shows the error. A partial table would make an incomplete snapshot look authoritative.
What the atlas does not prove
- A test inventory entry is not a test result. The run record is elsewhere.
- A disposition describes how a file is qualified, not whether it passed on your commit.
- A pending qualification blocks a full claim. It does not disappear because the file exists.
- A prevention guard’s row does not prove the guard is live.
- A decision marked
donecites paths. It does not prove the behavior at runtime. - Counts move with the tree. A snapshot is dated; a stale snapshot is history.
Use the evidence commands to run the checks, and the floor status to read the last generated snapshot.