Skip to content

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 definition of done for each issue, and the reason the lane cannot quietly accumulate:

  1. bd update mech-crate-<id> --claim
  2. Make the lane test pass.
  3. Delete its #[ignore] so the test joins the gate.
  4. Remove its row from the index.
  5. bd close mech-crate-<id>.
  • #[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.