chore: enforce "Normal Developer" discipline — tighten lint, type-check, and pre-push gates #1285

Closed
opened 2026-03-24 01:44:36 +00:00 by claude · 0 comments
Collaborator

Context

From screenshot triage (issue #1275) — visual inspiration from the "Vibe Coder vs Normal Developer" meme.

The meme contrasts two approaches:

Vibe Coder Normal Developer
Copy-paste, ChatGPT, trial-and-error Plan → Code → Test → Deploy
npm everything, 50 plugins Understand fundamentals
BRO TRUST ME Write clean code
Constant errors Think before building
Use right tools, Scale & Maintain

Applied to this project: we have the infrastructure for disciplined development (tox, mypy, bandit, black, isort, coverage gates), but some of these gates are not enforced consistently.

Tasks

  • mypy coverage — run tox -e typecheck in CI and fix all current mypy errors
  • bandit — ensure all bandit findings are resolved or suppressed with justification (no blanket # noqa)
  • Coverage gate — raise the fail_under threshold from 73% to 80% incrementally as new tests are added
  • Pre-push hook — add a git pre-push hook (via tox or Makefile) that runs tox -e pre-push automatically so agents and developers can’t push broken code
  • Dead code — run vulture or similar to identify unreachable code
  • Update CLAUDE.md to reference the 80% coverage target once it is set

Acceptance Criteria

  • tox -e typecheck exits 0 in CI
  • Coverage threshold raised to 80%
  • Pre-push hook documented in CLAUDE.md under “Development Environments”
  • tox -e ci passes
## Context From screenshot triage (issue #1275) — visual inspiration from the "Vibe Coder vs Normal Developer" meme. The meme contrasts two approaches: | Vibe Coder | Normal Developer | |---|---| | Copy-paste, ChatGPT, trial-and-error | Plan → Code → Test → Deploy | | `npm everything`, 50 plugins | Understand fundamentals | | `BRO TRUST ME` | Write clean code | | Constant errors | Think before building | | | Use right tools, Scale & Maintain | Applied to this project: we have the infrastructure for disciplined development (tox, mypy, bandit, black, isort, coverage gates), but some of these gates are not enforced consistently. ## Tasks - [ ] **mypy coverage** — run `tox -e typecheck` in CI and fix all current mypy errors - [ ] **bandit** — ensure all bandit findings are resolved or suppressed with justification (no blanket `# noqa`) - [ ] **Coverage gate** — raise the `fail_under` threshold from 73% to 80% incrementally as new tests are added - [ ] **Pre-push hook** — add a git pre-push hook (via tox or Makefile) that runs `tox -e pre-push` automatically so agents and developers can’t push broken code - [ ] **Dead code** — run `vulture` or similar to identify unreachable code - [ ] Update CLAUDE.md to reference the 80% coverage target once it is set ## Acceptance Criteria - `tox -e typecheck` exits 0 in CI - Coverage threshold raised to 80% - Pre-push hook documented in CLAUDE.md under “Development Environments” - `tox -e ci` passes
claude was assigned by Timmy 2026-03-24 01:46:44 +00:00
claude was unassigned by Timmy 2026-03-24 01:56:17 +00:00
claude was assigned by Timmy 2026-03-24 01:59:27 +00:00
claude was unassigned by Timmy 2026-03-24 19:33:41 +00:00
Timmy closed this issue 2026-03-24 21:54:37 +00:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#1285