diff --git a/CLAUDE.md b/CLAUDE.md index 31bed9c6f..21286e074 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -45,17 +45,28 @@ pwd # /home/fox/git/java-topology git log --oneline -3 ``` -## #1 Priority — MOAD-1 No Stone Unturned +## #1 Priority — All MOADs, No Stone Unturned -**Active mission: CWE-407 (MOAD-2026-0001) exhaustive sweep. Keep scanning, patching, and publishing until every reachable target has been triaged.** +**Every scan checks ALL 5 MOADs. Never single-thread on one MOAD per target. Extract maximum value per clone.** -Protocol: -- Pick next unscanned target from the defects/ directory or clone fresh -- Scan → patch → unit test → whitepaper/outreach → commit → generate_undf.py → push both repos -- After every new defect: update MOAD-1 count in `~/git/undefect.com/content/moad/moad-2026-0001.md` -- Targets with no scan result and no CLEAN marker = unturned stone → scan them next -- Widen the keyword net: `visited|seen|path|stack|ancestors|predecessors|worklist|open_list|contains` -- "No stone unturned" completes when every defect directory has either a patch or a CLEAN marker +### The 5 MOADs + +| MOAD | Codename | Pattern | Fix | +|------|----------|---------|-----| +| 0001 | The Sedimentary Defect (CWE-407) | list.contains inside loop, O(N^2) | hash set O(1) | +| 0002 | The Intertangle Defect | independent subsystems coupled through shared mutable global state / god object | phase snapshot, clean interface, separate execution context | +| 0003 | The Leaked Context | ThreadLocal / thread-scoped carrier holding request-scoped identity | ScopedValue, context.Context, ContextVar | +| 0004 | The Logged Secret (CWE-312) | HTTP headers logged verbatim exposing credentials | credential denylist at log serialization layer | +| 0005 | The Thundering Herd (CWE-362) | cache get+null+compute+put without synchronization | computeIfAbsent, singleflight, sync=true | + +### Protocol + +- Pick next unscanned target from SCAN-TODO.md or clone fresh +- Scan ALL 5 MOADs per target +- Patch + unit test (MOAD-0001) or document findings (MOAD-0002/0003/0004/0005) +- Commit → generate_undf.py → push both repos +- Delete clone after scanning to save disk +- Targets with no scan result and no CLEAN marker = unturned stone ## Operating Mode — AUTONOMOUS @@ -143,7 +154,7 @@ git push ### Current counts (update when generator runs) -**865** assigned | **865** UNDF posts | last run: 2026-03-30 +**892** assigned | **892** UNDF posts | last run: 2026-03-30 ### Patch stamp format