Skip to content

BAD CODE: separate fast PR iteration gates from release-grade verification #376

Description

@flyingrobots

Problem

Normal PR iteration is now paying release-grade verification multiple times:

  • local pre-push runs Code Dojo debt/strict checks, DOGFOOD i18n completeness/build/debt, code size, typecheck, build, full chunked Vitest, and scripted interactive example smoke;
  • GitHub then runs overlapping remote gates: Code Dojo, full tests on Node 20 and Node 22, focused unit tests on Ubuntu and Windows, DOGFOOD smokes, Bench Gradient, changed-path classification, and CodeRabbit;
  • a small standards-only slice on PR Respecting the Dojo: 1000-count burndown #375 still had to wait for full local verification plus the full remote matrix.

This is not a request to weaken release quality. It is workflow debt: the repo lacks a clear fast PR iteration lane versus a full merge/release-grade gate.

Evidence

Observed during PR #375 at commit 6bb5b8b0:

  • local npm run code-dojo:ci passed only after build, workspace lint, typecheck, ESLint, and eight Vitest chunks;
  • git push repeated a heavy pre-push gate including full tests and scripted interactive smokes;
  • GitHub checks then reran remote matrix jobs, with Node 20/22 full tests and Code Dojo taking the longest visible wall time;
  • all checks were green, but the iteration loop spent most of its time proving broad gates that were not specific to the docs-preview helper slice.

Related narrower debt:

Desired Shape

Design a two-lane verification model:

  1. Fast PR iteration lane keyed from changed paths and risk class.
  2. Full merge/release lane that preserves current release-grade guarantees.
  3. A no-surprises local workflow where pre-push does not duplicate every expensive remote job by default.
  4. Clear escalation rules for touching core runtime, generated assets, DOGFOOD sources, release docs, or ratchet baselines.
  5. Timing evidence in CI summaries so slow gates are visible instead of anecdotal.

Acceptance Criteria

  • Document the intended fast/full gate split before implementation.
  • Keep Code Dojo ratchets enforceable.
  • Keep release-grade full verification available and required where appropriate.
  • Make a typical docs/test-only ratchet slice substantially faster to push and review.
  • Add timing output or a CI summary that shows which jobs consumed the most wall time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    lane:bad-codeKnown debt, rot, or structural risk.legend:dxDeveloper Experience work.legend:wfWorkflow and Delivery work.needs-designNeeds or is missing a Method design artifact.priority:mediumMedium priority.type:maintenanceMaintenance, cleanup, or operational workflow work.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions