1.2 KiB
1.2 KiB
id, epic, title, type, status, feature, depends-on, blocks
| id | epic | title | type | status | feature | depends-on | blocks | |
|---|---|---|---|---|---|---|---|---|
| 01-ast-manifest-source | conformance-hardening-v1 | Replace regex manifest source parser with AST | technical-story | done | core-eslint |
|
Goal
readManifestSource in _manifest-source.js returns the same shape but
uses @typescript-eslint/parser AST traversal instead of regex.
In scope
- Rewrite
readManifestSourceto delegate to a newparseManifestFullyin_manifest-ast.jsthat returns{ name, requiredCores, useCases } - Existing 4 tests for
readManifestSourcemust still pass - Add tests covering the previously-fragile cases:
name:in JSDoc, single-quoted strings, manifest declared withletinstead ofconst
Out of scope
- Changing the
_manifest-source.jsexports surface (filesystem helpersmanifestPathForFeatureandfeatureRootForFilestay untouched) - Changing any rule's behaviour beyond the parsing path
Tasks
- Epic + story scaffold
- Extend
_manifest-ast.jswithparseManifestFully - Switch
readManifestSourceto delegate toparseManifestFully - Add edge-case tests
- Verify all rules still pass; commit