Files
cc-ci/BACKLOG-1b.md

29 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# BACKLOG — Phase 1b (review & lint pass)
Phase-namespaced backlog. Builder owns `## Build backlog`; Adversary owns `## Adversary findings`.
## Build backlog
### W0 — Tooling + format (RL1)
- [ ] Add lint tooling to the flake: a `lint` devshell (nixpkgs-fmt, statix, deadnix, ruff,
shellcheck, shfmt, yamllint) built from the pinned nixpkgs.
- [ ] Add a `lint` entrypoint script (`scripts/lint.sh`) with check + `--fix` modes; tool configs
(ruff, yamllint, etc.).
- [ ] Auto-format the codebase (nix + python + shell); commit the mechanical reformat separately.
- [ ] Fix remaining lint findings (statix/deadnix/ruff-lint/shellcheck) without weakening any test.
- [ ] Wire a `lint` stage into `.drone.yml` (push event) so future commits stay clean; verify green
in CI from a clean checkout.
### W1 — Review checklist + fixes (RL2)
- [ ] Run the §3 white-box checklist over the codebase; classify each finding blocking vs advisory.
- [ ] Fix every blocking finding; triage advisory ones to BACKLOG/IDEAS with a one-line rationale.
### W2 — Re-verify + document (RL3/RL4)
- [ ] After W0+W1 land, request Adversary cold re-verification of all D1D10 (RL3).
- [ ] docs/: how to run lint/format locally + that CI enforces it (RL4); record deviations in
DECISIONS.md.
- [ ] On full PASS handshake, write `## DONE` to STATUS-1b.md.
## Adversary findings
(empty — Adversary owns this section)