Files
agentic-dev/docs/work/conformance-hardening-v1/01-ast-manifest-source/_story.md

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
02-dev-seed-assertion

Goal

readManifestSource in _manifest-source.js returns the same shape but uses @typescript-eslint/parser AST traversal instead of regex.

In scope

  • Rewrite readManifestSource to delegate to a new parseManifestFully in _manifest-ast.js that returns { name, requiredCores, useCases }
  • Existing 4 tests for readManifestSource must still pass
  • Add tests covering the previously-fragile cases: name: in JSDoc, single-quoted strings, manifest declared with let instead of const

Out of scope

  • Changing the _manifest-source.js exports surface (filesystem helpers manifestPathForFeature and featureRootForFile stay untouched)
  • Changing any rule's behaviour beyond the parsing path

Tasks

  • Epic + story scaffold
  • Extend _manifest-ast.js with parseManifestFully
  • Switch readManifestSource to delegate to parseManifestFully
  • Add edge-case tests
  • Verify all rules still pass; commit