Move the parse-and-compile core of src/signals/focus-manifest.ts (1665 lines total) into packages/gittensory-engine/src/focus-manifest.ts — specifically parseFocusManifest, parseFocusManifestContent, the internal parseGateConfig/parseFeaturesConfig/parseSettingsOverride/parseReviewConfig/parseReviewPreMergeChecks/parseManifestGlobList family, matchesManifestPath, compileFocusManifestPolicy, and isFocusManifestPublicSafe. Given the file's size, this issue covers the parse/compile core only (roughly the first two-thirds of the file); buildFocusManifestGuidance and deriveContributionLanes can follow in a separate issue if the diff would otherwise exceed the 1000-LOC/10-file cap. This module is the direct pattern-template for the MinerGoalSpec parser (a separate issue in this phase parses .gittensory-miner.yml the same way) — extracting it first lets that parser import the shared glob/path-matching helpers instead of reimplementing them.
Deliverables
References
src/signals/focus-manifest.ts (1665 lines total; lines 300, 392-995 are the parse/compile core targeted here) — the exact functions to port.
packages/gittensory-engine/ — created by the package-skeleton issue (must land first).
- Phase description: "MinerGoalSpec (.gittensory-miner.yml) schema + parser (mirror src/signals/focus-manifest.ts's parse pattern)" — this extraction is the prerequisite for that mirroring.
Move the parse-and-compile core of
src/signals/focus-manifest.ts(1665 lines total) intopackages/gittensory-engine/src/focus-manifest.ts— specificallyparseFocusManifest,parseFocusManifestContent, the internalparseGateConfig/parseFeaturesConfig/parseSettingsOverride/parseReviewConfig/parseReviewPreMergeChecks/parseManifestGlobListfamily,matchesManifestPath,compileFocusManifestPolicy, andisFocusManifestPublicSafe. Given the file's size, this issue covers the parse/compile core only (roughly the first two-thirds of the file);buildFocusManifestGuidanceandderiveContributionLanescan follow in a separate issue if the diff would otherwise exceed the 1000-LOC/10-file cap. This module is the direct pattern-template for the MinerGoalSpec parser (a separate issue in this phase parses.gittensory-miner.ymlthe same way) — extracting it first lets that parser import the shared glob/path-matching helpers instead of reimplementing them.Deliverables
packages/gittensory-engine/src/focus-manifest.tswith the parse/compile core ported verbatim (same function names, same doc comments, same defaults).src/signals/focus-manifest.tsre-exports the ported functions from@jsonbored/gittensory-enginefor every name moved, keeping every other export (buildFocusManifestGuidance,deriveContributionLanes, theresolveReview*helpers, etc.) defined locally as before, importing the moved pieces from the engine.packages/gittensory-engine/src/index.tsre-exports the new module..gittensory-miner.yml) parser.References
src/signals/focus-manifest.ts(1665 lines total; lines 300, 392-995 are the parse/compile core targeted here) — the exact functions to port.packages/gittensory-engine/— created by the package-skeleton issue (must land first).