fix: remove maturity from synthesis file frontmatter, seed sidecar instead#458
Conversation
…stead
synthesize.ts was writing `maturity: 'draft'` into markdown frontmatter
of newly created synthesis files. This was missed during the runtime-signals
migration (ENG-2160) which moved all five ranking fields to the sidecar.
- Remove `maturity` from the synthesis frontmatter object
- Add optional `runtimeSignalStore` to `SynthesizeDeps`
- Seed sidecar with `createDefaultRuntimeSignals()` after file write
- Thread `runtimeSignalStore` from `DreamExecutor.runOperations` to synthesize
- Update existing test assertion from `include('maturity: draft')` to `not.include`
- Add 4 new sidecar-specific tests (no ranking in markdown, sidecar seeded,
multi-candidate seeding, graceful no-store)
|
Claude finished @RyanNg1403's task in 2m 21s —— View job PR Review: fix/synthesize-maturity-sidecar
SummaryScore: 4 / 5 The fix is correct and minimal. Removing Two issues worth addressing in the tests: 1. False-positive sidecar-seeding tests (issue) 2. Missing fail-open test (suggestion) Minor nit: The implementation changes themselves are clean and correct — happy to approve once the test reliability issue is addressed. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7deea768e4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…eading - Spy on signalStore.set with callThrough to prove set() was called (not just asserting defaults that match missing-path fallback) - Add fail-open test: store.set() throws, synthesis file still created - Thread ILogger through SynthesizeDeps so warnSidecarFailure produces observable output instead of silently no-opping
|
Claude finished @RyanNg1403's task in 1m 34s —— View job PR Review: fix/synthesize-maturity-sidecar (re-review)
SummaryScore: 5 / 5 All three issues from the previous review have been addressed cleanly. Test reliability (issue → resolved) Fail-open test (suggestion → resolved) Logger threading (nit → resolved as designed) Implementation remains correct and minimal: |
Summary
synthesize.tswas writingmaturity: 'draft'into markdown frontmatter of newly created synthesis files — missed during the runtime-signals migration (ENG-2160)maturityfrom synthesis frontmatter, added sidecar seeding viacreateDefaultRuntimeSignals()after file write (best-effort, fail-open)runtimeSignalStorethroughSynthesizeDepsandDreamExecutor.runOperationsType of change
brv vc statuswith ranking field in markdown)Scope
synthesize.ts,dream-executor.tsRoot cause
synthesize.ts:246hadmaturity: 'draft'hardcoded in the frontmatter object. Every other write path (curate ADD/UPDATE/MERGE, consolidate, prune/archive) was migrated to write ranking signals to the sidecar only. Synthesize was missed.Test plan
expect(content).to.include('maturity: draft')→expect(content).to.not.include('maturity:')brv dream --forcecreated 4 synthesis files, all with clean frontmatter (nomaturity)Evidence
Synthesis file frontmatter before fix:
Synthesis file frontmatter after fix:
Full suite:
6505 passing / 0 failing. Lint: 0 errors. Types: clean.Checklist
npm test)npm run lint)npm run typecheck)npm run build)proj/runtime-signal