graph TD
I372["#372 UTF-8 crash (P1 bug)"]
I374["#374 schedule :slow (P1)"]
I375["#375 CI hygiene (P2)"]
I376["#376 Ruby policy (P2)"]
I377["#377 post_install (P3)"]
I373["#373 offline unit specs (P1)"]
I378["#378 coverage floor (P2)"]
I379["#379 missing specs (P2)"]
I380["#380 abort→exceptions (P2)"]
I381["#381 args hardening (P2)"]
I382["#382 flakiness (P3)"]
I383["#383 HTTP retry (P2)"]
I384["#384 Base refactor (P3)"]
I385["#385 Controlplane refactor (P3)"]
I386["#386 family dedupe (P3)"]
I373 -.-> I378
I373 --> I379
I373 -.-> I380
I373 -.-> I381
I373 --> I382
I380 --> I383
I380 --> I384
I381 --> I384
I380 --> I385
I383 --> I385
I384 -.-> I386
Tracking issue for the 15 improvements from the 2026-07-02 automated codebase health review (tooling run: rubocop clean, offline unit suite 256/256, shellcheck, docs check; plus architecture/test/CI analysis — all findings verified against 7c96df9, one reproduced live). Composite health score at baseline: 8.4/10 (weakest dimensions: test strategy and error handling).
Each issue is scoped to one small, reviewable PR (or a short series). Solid arrows below are hard blockers; dashed are sequencing preferences.
All issues by priority
:slowsuiteDependency graph
Suggested execution order
Progress
Review notes
generate.rbalways copies the common files (Dockerfile, entrypoint.sh) from the base template dir, so SQLite projects are complete.bundle exec rubocop(200 files, 0 offenses) and the offline unit subset (CPLN_ORG=dummy-org bundle exec rspec spec/core spec/patches spec/rakelib spec/support_specs spec/github_workflows_spec.rb spec/readme_heroku_command_mapping_spec.rb spec/command/*_unit_spec.rb→ 256 examples, 0 failures). Test suite cannot load without CPLN_ORG — even pure unit specs require live-org configuration #373 makes that loop credential-free.