Known-broken lane
Every tracked, testable defect in this repository has a test that asserts its
fixed behaviour today, annotated #[ignore = "bd:mech-crate-<id> …"]. The
release gate never runs them. make test-known-broken runs only them and
scoreboards the result.
Expected state: all red. A lane test that turns green is the signal that a fix landed without bookkeeping, surfaced rather than silently absorbed.
11 open defects, each with a red test asserting its fixed
behaviour. Read live from tests/KNOWN_BROKEN.md when this page
was built.
| bd id | Test | Where | Asserts once fixed | Tier |
|---|---|---|---|---|
mech-crate-066 | kb_infra_link_writes_marker_and_inspect_resolves_global | crates/mx-cli/tests/known_broken.rs | mx infra link cloudflare creates the resolver's .env.linked marker, after which mx infra inspect resolves to the global credentials | integration |
mech-crate-vxq | kb_mx_cf_subcommand_exists | crates/mx-cli/tests/known_broken.rs | The documented mx cf subcommand exists (mx cf --help exits 0). Retire this test if the issue is instead closed by purging the doc references. | integration |
mech-crate-9be | kb_recipes_apply_fix_changes_behavior | crates/mx-cli/tests/known_broken.rs | mx recipes apply <r> --fix output differs from a plain apply — i.e. --fix performs the advertised dependency-drift comparison (wiremock Unyform stub) | integration |
mech-crate-rnj | kb_both_unyform_clients_use_the_same_org_path_segment | crates/mx-mcp-server/tests/known_broken_unyform.rs | The CLI client (mx_lib::unyform) and the MCP client request the same /v1/orgs/<seg>/recipes path against a recording wiremock (today: org id vs org slug) | integration |
mech-crate-dpi | kb_build_platform_reaches_the_build_script | crates/mx-cli/tests/known_broken.rs | mx build svc --platform linux/arm64 reaches scripts/build.sh through the real make _build (recording build.sh stub) | integration |
mech-crate-fr6 | kb_make_rebuild_is_a_real_target | crates/mx-cli/tests/known_broken.rs | make rebuild is a real target: make -n rebuild prints at least one command instead of nothing | integration |
mech-crate-ten | kb_nuxt_recipe_ships_the_release_scripts_make_invokes | crates/mx-lib/tests/recipes_conformance.rs | The nuxt recipe's app package.json declares every yarn release* script templates/make/release.mk invokes. Retire if the issue is closed by making make release degrade gracefully instead. | integration |
mech-crate-3jt | kb_recipes_info_shows_the_recipe_version | crates/mx-cli/tests/known_broken.rs | mx recipes info nuxt surfaces recipe.json's version (read from the recipe so it cannot go stale) | integration |
mech-crate-o5f | kb_router_inspect_lists_connected_services | crates/mx-cli/tests/known_broken.rs | mx router inspect lists the containers attached to devmesh-traefik (stub-bin docker returns a 2-container network inspect) | integration |
mech-crate-dqw | kb_doctor_reports_router_status | crates/mx-cli/tests/known_broken.rs | mx doctor reports on the router (network / container / port 80) alongside its structure and docker checks | integration |
mech-crate-4jw | corpus::store::tests::kb_lexical_arm_separates_relevant_from_irrelevant | crates/mx-lib/src/corpus/store.rs | With the vector arm held equal (identical embeddings, orthogonal to the query), the lexical arm separates a relevant from an irrelevant ~1.2KB chunk by ≥5× and ≥0.05 of final score. Measured today: 2.18× / 0.0062 | integration (DB) |
Last recorded make test-known-broken scoreboard: 11 tests
run, 0 passed, 11 failed, 441 skipped.
The fix workflow
Section titled “The fix workflow”The definition of done for each issue, and the reason the lane cannot quietly accumulate:
bd update mech-crate-<id> --claim- Make the lane test pass.
- Delete its
#[ignore]so the test joins the gate. - Remove its row from the index.
bd close mech-crate-<id>.
House rules
Section titled “House rules”#[ignore]is reserved exclusively for this lane. Database-gated tests skip via an env-var early return, never#[ignore], so the attribute means one thing and the two counts stay meaningful.- Every lane test’s arrange half must succeed today. A lane test that dies on
a missing fixture tells you nothing about the defect, so setup assertions
carry a
setup:prefix and the two failure classes stay distinguishable. - Lane tests live beside the suite that owns their subject, not in one central file. The test is the first thing whoever fixes it should read.
The two numbers partition the workspace: the lane count plus the gate count is
the total test count. If they stop summing, either a lane test lost its
#[ignore] or a gate test grew one.
→ Testing for the gates this lane sits beside, and the evidence that each one actually blocks.