Migrated from Method backlog
This issue was created from a legacy filesystem backlog card. GitHub Issues are now the live work tracker; repository docs remain Method evidence.
Source backlog: docs/method/backlog/bad-code/red-green-lint-friction.md
Original lane: bad-code
Original backlog card
RED/GREEN can't be separate commits
Status: active bad-code note. scripts/verify-local.sh runs clippy with
-D warnings -D missing_docs, so production todo!() and unimplemented!()
stubs still fail local gates. The repo already uses explicit test-only
allowances for ignored future-contract tests, so the remaining problem is
documenting the approved RED pattern rather than weakening production linting.
Clippy denies todo!() and unimplemented!() in production code.
This means the RED phase (failing tests with stub implementations)
can't be committed separately from the GREEN phase (real code).
The discipline is preserved (tests are written first) but the git
history doesn't show it. Options:
- Allow
todo!() in a #[cfg(test)]-gated stub module
- Use a
method-dev clippy profile that allows stubs
- Accept it as a documentation-only friction (retro notes it)
- Use
unreachable!("not yet implemented") which clippy allows
(but is semantically wrong)
Not urgent — the retro documents it — but worth resolving if it
keeps coming up.
Migrated from Method backlog
This issue was created from a legacy filesystem backlog card. GitHub Issues are now the live work tracker; repository docs remain Method evidence.
Source backlog:
docs/method/backlog/bad-code/red-green-lint-friction.mdOriginal lane:
bad-codeOriginal backlog card
RED/GREEN can't be separate commits
Status: active bad-code note.
scripts/verify-local.shruns clippy with-D warnings -D missing_docs, so productiontodo!()andunimplemented!()stubs still fail local gates. The repo already uses explicit test-only
allowances for ignored future-contract tests, so the remaining problem is
documenting the approved RED pattern rather than weakening production linting.
Clippy denies
todo!()andunimplemented!()in production code.This means the RED phase (failing tests with stub implementations)
can't be committed separately from the GREEN phase (real code).
The discipline is preserved (tests are written first) but the git
history doesn't show it. Options:
todo!()in a#[cfg(test)]-gated stub modulemethod-devclippy profile that allows stubsunreachable!("not yet implemented")which clippy allows(but is semantically wrong)
Not urgent — the retro documents it — but worth resolving if it
keeps coming up.