You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: add key reference files and known gotchas to CLAUDE.md
Graduate stable knowledge from auto-memory into CLAUDE.md where it's
more reliably available: 6 key reference file paths and 6 known gotchas
accumulated over 27 development sessions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
-`docs/research/` — Requirements reference, gap analysis, approved patterns, real review findings
44
+
-`docs/internal/` — Field test reports, false-positive analysis, pipeline reviews
45
+
-`tests/fixtures/regressions/` — Regression test fixtures
46
+
38
47
### Skill hierarchy
39
48
40
49
`ego-submit` is the top-level orchestrator: it invokes `ego-lint` (automated checks) then `ego-review` (manual code review) then validates packaging. `ego-simulate` is an optional pre-flight that simulates the reviewer's triage process using a 23-reason rejection taxonomy with weight-based scoring; it integrates ego-lint FAIL results into its verdict. `ego-scaffold` is independent (creates new extensions).
@@ -120,6 +129,15 @@ fix(ego-scaffold): correct schema path in template
120
129
test(ego-lint): add fixture for deprecated ByteArray usage
121
130
```
122
131
132
+
### Known gotchas
133
+
134
+
-**Guard pattern comment gotcha**: Comments mentioning deprecated API (e.g., `// use Clutter.Color`) trigger the pattern but NOT the guard — use `skip-comments: true` for rules where comment FPs are common
135
+
-**Import graph BFS direction**: `check-imports.sh` uses BFS from extension.js/prefs.js (not glob) to find runtime-reachable files. Helper functions must be defined before both BFS blocks
136
+
-**`src/` layout fallback**: check-css.py, check-prefs.py, ego-lint.sh all check `src/` as fallback for extension.js, stylesheet.css, prefs.js
137
+
-**Schema trademark case-insensitive**: check-schema.sh lowercases schema ID before stripping `org.gnome.shell.extensions.` prefix
138
+
-**Obfuscation regex pitfalls**: `[a-z]\d+` catches unicode escapes (`\u2013`); `re.IGNORECASE` on guard patterns catches `console.debug` when matching `DEBUG`
139
+
-**Git history rewritten 2026-02-27**: `git filter-repo` removed internal files. All SHAs before that date are invalid
0 commit comments