feat(WP-0016/C5): compilation layers docs and -fwrite-interface flag

- CLAUDE.md: add "Compilation Layers" section (C5) — layer map,
  compile-check tool usage, cache location, error-fix discipline
- .ghci: add -fwrite-interface so interface files are cached even
  on partial-success builds (completes C4 spec)
- WP-0016: mark C5 done; annotate C4 ✓ note in workplan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-10 20:03:54 +00:00
parent 64a9d4eeb4
commit 563983fa7f
3 changed files with 49 additions and 4 deletions

View File

@@ -71,6 +71,10 @@ skips the database startup, port binding, and service orchestration overhead.
### C1 — Create `scripts/compile-check` script ✓
Also created `scripts/compile-check-core` and `.ghci-core` to compile Layer 1+2
in isolation (no Main.hs, no Layer 3). Resolves the architecture gap where Layer
2 correctness could not be verified independently.
A shell script at `scripts/compile-check` that runs ghcid in isolation (no postgres, no tailwind):
```bash
@@ -124,7 +128,7 @@ Configure a ralph-workplan loop:
- Do NOT make speculative changes to stable layers while fixing working-surface errors
- Maximum 3 fix attempts per module before escalating to user
### C4 — Add GHC `-fwrite-interface` and `-keep-going` flags to `.ghci`
### C4 — Add GHC `-fwrite-interface` and `-keep-going` flags to `.ghci`
```
-- Continue past errors in other modules (report all errors in one pass)
@@ -136,12 +140,14 @@ Configure a ralph-workplan loop:
`-fkeep-going` lets GHC report errors from all modules in one pass rather than
stopping at the first failure — critical for batch error fixing.
### C5 — Document module surface constraints in CLAUDE.md
### C5 — Document module surface constraints in CLAUDE.md
Add a "Compilation Layers" section to CLAUDE.md noting:
- Never modify Layer 1 during error-fix loops
Added "Compilation Layers" section to CLAUDE.md covering:
- Never modify Layer 1 during error-fix loops (and why — cascade invalidation)
- Layer breakdown with file counts
- Each layer's expected compile time after first build
- Cache location and how to verify it's warm
- References to `scripts/compile-check` and `scripts/compile-check-core`
## Error-Fix Loop SOP (Standard Operating Procedure)