ridgeline 0.6.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/README.md +8 -5
  2. package/dist/agents/core/designer.md +131 -0
  3. package/dist/agents/core/refiner.md +28 -1
  4. package/dist/agents/core/researcher.md +30 -11
  5. package/dist/agents/core/specifier.md +16 -0
  6. package/dist/agents/researchers/gaps.md +67 -0
  7. package/dist/agents/specifiers/visual-coherence.md +55 -0
  8. package/dist/cli.js +39 -8
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/create.js +16 -1
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/design.d.ts +8 -0
  13. package/dist/commands/design.js +130 -0
  14. package/dist/commands/design.js.map +1 -0
  15. package/dist/commands/index.d.ts +1 -0
  16. package/dist/commands/index.js +3 -1
  17. package/dist/commands/index.js.map +1 -1
  18. package/dist/commands/plan.js +3 -3
  19. package/dist/commands/plan.js.map +1 -1
  20. package/dist/commands/qa-workflow.d.ts +33 -0
  21. package/dist/commands/qa-workflow.js +139 -0
  22. package/dist/commands/qa-workflow.js.map +1 -0
  23. package/dist/commands/refine.d.ts +1 -0
  24. package/dist/commands/refine.js +17 -4
  25. package/dist/commands/refine.js.map +1 -1
  26. package/dist/commands/research.js +22 -8
  27. package/dist/commands/research.js.map +1 -1
  28. package/dist/commands/rewind.js +2 -2
  29. package/dist/commands/rewind.js.map +1 -1
  30. package/dist/commands/shape.js +36 -121
  31. package/dist/commands/shape.js.map +1 -1
  32. package/dist/commands/spec.js +1 -0
  33. package/dist/commands/spec.js.map +1 -1
  34. package/dist/engine/claude/stream.display.js +0 -1
  35. package/dist/engine/claude/stream.display.js.map +1 -1
  36. package/dist/engine/claude/stream.parse.d.ts +1 -15
  37. package/dist/engine/claude/stream.parse.js +3 -21
  38. package/dist/engine/claude/stream.parse.js.map +1 -1
  39. package/dist/engine/claude/stream.result.js +2 -2
  40. package/dist/engine/claude/stream.types.d.ts +15 -0
  41. package/dist/engine/claude/stream.types.js +23 -0
  42. package/dist/engine/claude/stream.types.js.map +1 -0
  43. package/dist/engine/discovery/agent.registry.d.ts +4 -0
  44. package/dist/engine/discovery/agent.registry.js +46 -18
  45. package/dist/engine/discovery/agent.registry.js.map +1 -1
  46. package/dist/engine/discovery/flavour.config.d.ts +9 -0
  47. package/dist/engine/discovery/flavour.config.js +61 -0
  48. package/dist/engine/discovery/flavour.config.js.map +1 -0
  49. package/dist/engine/discovery/plugin.scan.d.ts +1 -0
  50. package/dist/engine/discovery/plugin.scan.js +29 -1
  51. package/dist/engine/discovery/plugin.scan.js.map +1 -1
  52. package/dist/engine/discovery/skill.check.d.ts +19 -0
  53. package/dist/engine/discovery/skill.check.js +145 -0
  54. package/dist/engine/discovery/skill.check.js.map +1 -0
  55. package/dist/engine/pipeline/build.exec.js +1 -0
  56. package/dist/engine/pipeline/build.exec.js.map +1 -1
  57. package/dist/engine/pipeline/phase.sequence.js +10 -10
  58. package/dist/engine/pipeline/phase.sequence.js.map +1 -1
  59. package/dist/engine/pipeline/pipeline.shared.d.ts +6 -0
  60. package/dist/engine/pipeline/pipeline.shared.js +24 -1
  61. package/dist/engine/pipeline/pipeline.shared.js.map +1 -1
  62. package/dist/engine/pipeline/plan.exec.js +1 -0
  63. package/dist/engine/pipeline/plan.exec.js.map +1 -1
  64. package/dist/engine/pipeline/refine.exec.d.ts +2 -0
  65. package/dist/engine/pipeline/refine.exec.js +13 -2
  66. package/dist/engine/pipeline/refine.exec.js.map +1 -1
  67. package/dist/engine/pipeline/research.exec.d.ts +3 -0
  68. package/dist/engine/pipeline/research.exec.js +74 -5
  69. package/dist/engine/pipeline/research.exec.js.map +1 -1
  70. package/dist/engine/pipeline/review.exec.js +23 -0
  71. package/dist/engine/pipeline/review.exec.js.map +1 -1
  72. package/dist/engine/pipeline/specify.exec.d.ts +1 -0
  73. package/dist/engine/pipeline/specify.exec.js +114 -44
  74. package/dist/engine/pipeline/specify.exec.js.map +1 -1
  75. package/dist/flavours/data-analysis/core/refiner.md +28 -1
  76. package/dist/flavours/data-analysis/core/researcher.md +30 -11
  77. package/dist/flavours/data-analysis/researchers/gaps.md +59 -0
  78. package/dist/flavours/game-dev/core/refiner.md +28 -1
  79. package/dist/flavours/game-dev/core/researcher.md +30 -11
  80. package/dist/flavours/game-dev/researchers/gaps.md +59 -0
  81. package/dist/flavours/legal-drafting/core/refiner.md +28 -1
  82. package/dist/flavours/legal-drafting/core/researcher.md +30 -11
  83. package/dist/flavours/legal-drafting/researchers/gaps.md +59 -0
  84. package/dist/flavours/machine-learning/core/refiner.md +28 -1
  85. package/dist/flavours/machine-learning/core/researcher.md +30 -11
  86. package/dist/flavours/machine-learning/researchers/gaps.md +59 -0
  87. package/dist/flavours/mobile-app/core/refiner.md +28 -1
  88. package/dist/flavours/mobile-app/core/researcher.md +30 -11
  89. package/dist/flavours/mobile-app/researchers/gaps.md +59 -0
  90. package/dist/flavours/music-composition/core/refiner.md +28 -1
  91. package/dist/flavours/music-composition/core/researcher.md +30 -11
  92. package/dist/flavours/music-composition/researchers/gaps.md +59 -0
  93. package/dist/flavours/novel-writing/core/refiner.md +28 -1
  94. package/dist/flavours/novel-writing/core/researcher.md +30 -11
  95. package/dist/flavours/novel-writing/researchers/gaps.md +59 -0
  96. package/dist/flavours/screenwriting/core/refiner.md +28 -1
  97. package/dist/flavours/screenwriting/core/researcher.md +30 -11
  98. package/dist/flavours/screenwriting/researchers/gaps.md +59 -0
  99. package/dist/flavours/security-audit/core/refiner.md +28 -1
  100. package/dist/flavours/security-audit/core/researcher.md +30 -11
  101. package/dist/flavours/security-audit/researchers/gaps.md +59 -0
  102. package/dist/flavours/software-engineering/core/builder.md +2 -0
  103. package/dist/flavours/software-engineering/core/refiner.md +28 -1
  104. package/dist/flavours/software-engineering/core/researcher.md +30 -11
  105. package/dist/flavours/software-engineering/core/reviewer.md +2 -0
  106. package/dist/flavours/software-engineering/flavour.json +7 -0
  107. package/dist/flavours/software-engineering/researchers/gaps.md +59 -0
  108. package/dist/flavours/technical-writing/core/refiner.md +28 -1
  109. package/dist/flavours/technical-writing/core/researcher.md +30 -11
  110. package/dist/flavours/technical-writing/researchers/gaps.md +59 -0
  111. package/dist/flavours/test-suite/core/refiner.md +28 -1
  112. package/dist/flavours/test-suite/core/researcher.md +30 -11
  113. package/dist/flavours/test-suite/researchers/gaps.md +59 -0
  114. package/dist/flavours/translation/core/refiner.md +28 -1
  115. package/dist/flavours/translation/core/researcher.md +30 -11
  116. package/dist/flavours/translation/researchers/gaps.md +59 -0
  117. package/dist/flavours/web-game/core/builder.md +123 -0
  118. package/dist/flavours/web-game/core/reviewer.md +159 -0
  119. package/dist/flavours/web-game/flavour.json +9 -0
  120. package/dist/flavours/web-ui/core/builder.md +117 -0
  121. package/dist/flavours/web-ui/core/reviewer.md +155 -0
  122. package/dist/flavours/web-ui/flavour.json +10 -0
  123. package/dist/plugin/visual-tools/plugin.json +4 -0
  124. package/dist/plugin/visual-tools/skills/a11y-audit/SKILL.md +57 -0
  125. package/dist/plugin/visual-tools/skills/agent-browser/SKILL.md +56 -0
  126. package/dist/plugin/visual-tools/skills/agent-browser/references/viewports.md +17 -0
  127. package/dist/plugin/visual-tools/skills/canvas-screenshot/SKILL.md +84 -0
  128. package/dist/plugin/visual-tools/skills/css-audit/SKILL.md +50 -0
  129. package/dist/plugin/visual-tools/skills/lighthouse/SKILL.md +58 -0
  130. package/dist/plugin/visual-tools/skills/shader-validate/SKILL.md +77 -0
  131. package/dist/plugin/visual-tools/skills/visual-diff/SKILL.md +68 -0
  132. package/dist/shapes/detect.d.ts +8 -0
  133. package/dist/shapes/detect.js +87 -0
  134. package/dist/shapes/detect.js.map +1 -0
  135. package/dist/shapes/game-visual.json +8 -0
  136. package/dist/shapes/print-layout.json +8 -0
  137. package/dist/shapes/web-visual.json +9 -0
  138. package/dist/stores/budget.js +2 -1
  139. package/dist/stores/budget.js.map +1 -1
  140. package/dist/stores/feedback.format.d.ts +3 -0
  141. package/dist/stores/feedback.format.js +62 -0
  142. package/dist/stores/feedback.format.js.map +1 -0
  143. package/dist/stores/feedback.parse.d.ts +2 -0
  144. package/dist/stores/feedback.parse.js +121 -0
  145. package/dist/stores/feedback.parse.js.map +1 -0
  146. package/dist/stores/feedback.verdict.d.ts +2 -4
  147. package/dist/stores/feedback.verdict.js +7 -175
  148. package/dist/stores/feedback.verdict.js.map +1 -1
  149. package/dist/stores/index.d.ts +1 -1
  150. package/dist/stores/index.js +1 -2
  151. package/dist/stores/index.js.map +1 -1
  152. package/dist/stores/state.d.ts +4 -0
  153. package/dist/stores/state.js +37 -5
  154. package/dist/stores/state.js.map +1 -1
  155. package/dist/stores/trajectory.d.ts +2 -3
  156. package/dist/stores/trajectory.js +6 -7
  157. package/dist/stores/trajectory.js.map +1 -1
  158. package/dist/types.d.ts +11 -1
  159. package/dist/utils/atomic-write.d.ts +6 -0
  160. package/dist/utils/atomic-write.js +62 -0
  161. package/dist/utils/atomic-write.js.map +1 -0
  162. package/package.json +2 -2
@@ -12,39 +12,56 @@ You receive:
12
12
 
13
13
  - The current **spec.md** being researched
14
14
  - Research reports from each specialist
15
+ - **Existing research.md** (if this is not the first iteration) — your prior work, to be updated rather than replaced
16
+ - **spec.changelog.md** (if it exists) — a log of changes the refiner already made to spec.md based on prior recommendations
17
+ - **Current iteration number**
15
18
 
16
19
  ## Your Task
17
20
 
18
- Write a unified `research.md` file to the build directory. Use the Write tool.
21
+ ### First Iteration (no existing research.md)
19
22
 
20
- ## Output Structure
23
+ Write a new `research.md` file to the build directory using the Write tool. Structure it according to the Output Structure below.
24
+
25
+ ### Subsequent Iterations (existing research.md provided)
21
26
 
22
- Structure research.md as follows:
27
+ You are updating your prior research. The existing research.md contains findings from previous iterations that must be preserved.
28
+
29
+ 1. **Review what's already known**: Read the existing research.md findings and the spec.changelog.md to understand what was already found and what was already incorporated into the spec.
30
+ 2. **Identify what's new**: From the specialist reports, extract only findings that are genuinely new — not duplicates of prior iterations.
31
+ 3. **Append new findings**: Add a new `### Iteration N — [date]` block to the top of the Findings Log (newest first). Only include new findings in this block.
32
+ 4. **Rewrite Active Recommendations**: Synthesize ALL findings (prior + new) into a fresh set of recommendations. Remove recommendations that spec.changelog.md shows were already incorporated. Focus on what still needs attention.
33
+ 5. **Merge sources**: Add any new URLs/citations to the Sources section.
34
+ 6. **Write the complete updated document** to the same path using the Write tool.
35
+
36
+ ## Output Structure
23
37
 
24
38
  ```markdown
25
39
  # Research Findings
26
40
 
27
- > Research conducted on [date] for spec: [spec title]
41
+ > Research for spec: [spec title]
42
+
43
+ ## Active Recommendations
28
44
 
29
- ## Key Recommendations
45
+ Bullet list of the most impactful recommendations that have NOT yet been incorporated into the spec. Rewritten each iteration to reflect the full picture. Each recommendation should be one sentence, specific enough to act on.
30
46
 
31
- Bullet list of the 3-5 most impactful recommendations, each in one sentence.
47
+ ## Findings Log
32
48
 
33
- ## Detailed Findings
49
+ ### Iteration N — [date]
34
50
 
35
- ### [Topic/Theme 1]
51
+ #### [Topic/Theme]
36
52
 
37
53
  **Source:** [URL or citation]
38
54
  **Perspective:** [which specialist found this]
39
55
  **Relevance:** [why this matters to the spec]
40
56
  **Recommendation:** [what should change in the spec]
41
57
 
42
- ### [Topic/Theme 2]
43
- ...
58
+ ### Iteration N-1 — [date]
59
+
60
+ (prior findings preserved exactly as written)
44
61
 
45
62
  ## Sources
46
63
 
47
- Numbered list of all URLs and citations referenced above.
64
+ Numbered list of all URLs and citations across all iterations.
48
65
  ```
49
66
 
50
67
  ## Synthesis Guidelines
@@ -55,6 +72,8 @@ Numbered list of all URLs and citations referenced above.
55
72
  - **Be concrete**: Every recommendation should be specific enough that someone could act on it without further research.
56
73
  - **Preserve sources**: Always include the URL or citation. The user needs to verify your work.
57
74
  - **Stay scoped**: Only include findings relevant to the spec. Don't pad with tangentially related material.
75
+ - **Don't re-recommend the incorporated**: If spec.changelog.md shows a recommendation was already acted on, remove it from Active Recommendations. Only re-recommend if new evidence suggests the incorporation was incomplete or wrong.
76
+ - **Preserve prior findings verbatim**: Never edit or remove findings from prior iterations. The Findings Log is append-only.
58
77
  - **Prioritize user-facing quality**: Findings that affect perceived performance, accessibility, or interaction feel should rank above internal architecture preferences.
59
78
  - **Flag platform differences**: When a finding applies differently on iOS vs. Android, note both behaviors explicitly.
60
79
  - **Elevate battery and performance**: Any finding that materially affects battery drain or launch time deserves a key recommendation slot.
@@ -0,0 +1,59 @@
1
+ # Domain Gap Checklist — Mobile Applications
2
+
3
+ Before searching, evaluate the spec against these common gaps. Focus your research on areas where the spec is silent or vague.
4
+
5
+ ## Offline Behavior
6
+
7
+ - Sync strategy specified (optimistic, queue-based, CRDT)?
8
+ - Conflict resolution rules for concurrent edits?
9
+ - Local storage limits and eviction policy?
10
+ - Offline UI states and user messaging?
11
+
12
+ ## Push Notifications
13
+
14
+ - Notification triggers and payload structure defined?
15
+ - Permission request timing and fallback behavior?
16
+ - Deep linking targets for notification taps?
17
+ - Silent push and background refresh strategy?
18
+
19
+ ## Platform Differences
20
+
21
+ - iOS and Android specific behaviors documented?
22
+ - Minimum OS version targets specified?
23
+ - Platform-specific UI conventions followed (Material, HIG)?
24
+ - Hardware fragmentation and screen size handling?
25
+
26
+ ## App Store
27
+
28
+ - App Store and Play Store guideline compliance reviewed?
29
+ - App metadata, screenshots, and descriptions prepared?
30
+ - In-app purchase and subscription rules addressed?
31
+ - Review process timeline and rejection risk areas identified?
32
+
33
+ ## Battery & Performance
34
+
35
+ - Background task limits and wake lock usage defined?
36
+ - Memory budget and low-memory handling?
37
+ - Network request batching and data transfer optimization?
38
+ - App launch time targets specified?
39
+
40
+ ## Navigation
41
+
42
+ - Navigation pattern chosen (tab bar, drawer, stack)?
43
+ - Gesture support and back button behavior documented?
44
+ - Deep link routing and universal link handling?
45
+ - Navigation state preservation on backgrounding?
46
+
47
+ ## Accessibility
48
+
49
+ - VoiceOver and TalkBack support requirements?
50
+ - Dynamic type and font scaling behavior?
51
+ - Color contrast ratios and touch target sizes?
52
+ - Reduced motion and haptic feedback preferences?
53
+
54
+ ## Device Features
55
+
56
+ - Camera, location, and biometric usage documented?
57
+ - Permission request flows and denial handling?
58
+ - Sensor usage (accelerometer, gyroscope) specified?
59
+ - File sharing and system integration points?
@@ -12,10 +12,36 @@ You are the Spec Refiner for music composition projects. You receive a spec.md a
12
12
  - **research.md** — research findings with recommendations
13
13
  - **constraints.md** — technical constraints (do not modify these)
14
14
  - **taste.md** (optional) — style preferences (do not modify these)
15
+ - **spec.changelog.md** (optional) — log of changes you made in prior iterations
15
16
 
16
17
  ## Your Task
17
18
 
18
- Rewrite spec.md incorporating research findings. Use the Write tool to overwrite the existing spec.md file.
19
+ You have two outputs to write:
20
+
21
+ ### 1. Rewrite spec.md
22
+
23
+ Incorporate research findings into the spec. Use the Write tool to overwrite the existing spec.md file.
24
+
25
+ ### 2. Write spec.changelog.md
26
+
27
+ Document what you changed and why. If spec.changelog.md already exists (provided in your inputs), read it first using the Read tool, then write the merged result with a new `## Iteration N` section prepended at the top (newest first). If it doesn't exist, create it fresh.
28
+
29
+ Structure:
30
+
31
+ ```markdown
32
+ # Spec Changelog
33
+
34
+ ## Iteration N
35
+
36
+ - [What changed]: [why, citing research source]
37
+ - [What changed]: [why, citing research source]
38
+ - Skipped: [recommendation not incorporated and why]
39
+
40
+ ## Iteration N-1
41
+ (prior entries preserved)
42
+ ```
43
+
44
+ Include a "Skipped" line for any Active Recommendation you deliberately chose not to incorporate, with your reasoning. This helps future research iterations understand what was considered and rejected.
19
45
 
20
46
  ## Refinement Guidelines
21
47
 
@@ -25,6 +51,7 @@ Rewrite spec.md incorporating research findings. Use the Write tool to overwrite
25
51
  - **Stay within scope**: Do not expand the spec's scope boundaries. Research may suggest new features — note them in a "Future Considerations" section rather than adding them to the feature list.
26
52
  - **Constraints are immutable**: Never modify constraints.md or taste.md. If research suggests a different audio framework or format, note it as a consideration in the spec, but don't change the constraints.
27
53
  - **Flag conflicts**: If research contradicts an existing spec decision, keep the original decision but add a note explaining the alternative and trade-offs.
54
+ - **Don't repeat yourself**: Check spec.changelog.md for changes you already made in prior iterations. Don't re-apply the same change. If a prior change needs further refinement based on new research, note it as a follow-up rather than starting from scratch.
28
55
  - **Preserve musical structures**: Do not alter scale definitions, chord progressions, rhythm patterns, or compositional rules the user defined. These are creative decisions.
29
56
  - **Keep audio parameters stable**: Do not change sample rates, buffer sizes, or bit depths specified by the user. Add performance notes alongside them if needed.
30
57
  - **Respect the aesthetic**: The spec's musical genre, mood, and stylistic intent are not technical parameters to optimize — they are the creative brief.
@@ -12,39 +12,56 @@ You receive:
12
12
 
13
13
  - The current **spec.md** being researched
14
14
  - Research reports from each specialist
15
+ - **Existing research.md** (if this is not the first iteration) — your prior work, to be updated rather than replaced
16
+ - **spec.changelog.md** (if it exists) — a log of changes the refiner already made to spec.md based on prior recommendations
17
+ - **Current iteration number**
15
18
 
16
19
  ## Your Task
17
20
 
18
- Write a unified `research.md` file to the build directory. Use the Write tool.
21
+ ### First Iteration (no existing research.md)
19
22
 
20
- ## Output Structure
23
+ Write a new `research.md` file to the build directory using the Write tool. Structure it according to the Output Structure below.
24
+
25
+ ### Subsequent Iterations (existing research.md provided)
21
26
 
22
- Structure research.md as follows:
27
+ You are updating your prior research. The existing research.md contains findings from previous iterations that must be preserved.
28
+
29
+ 1. **Review what's already known**: Read the existing research.md findings and the spec.changelog.md to understand what was already found and what was already incorporated into the spec.
30
+ 2. **Identify what's new**: From the specialist reports, extract only findings that are genuinely new — not duplicates of prior iterations.
31
+ 3. **Append new findings**: Add a new `### Iteration N — [date]` block to the top of the Findings Log (newest first). Only include new findings in this block.
32
+ 4. **Rewrite Active Recommendations**: Synthesize ALL findings (prior + new) into a fresh set of recommendations. Remove recommendations that spec.changelog.md shows were already incorporated. Focus on what still needs attention.
33
+ 5. **Merge sources**: Add any new URLs/citations to the Sources section.
34
+ 6. **Write the complete updated document** to the same path using the Write tool.
35
+
36
+ ## Output Structure
23
37
 
24
38
  ```markdown
25
39
  # Research Findings
26
40
 
27
- > Research conducted on [date] for spec: [spec title]
41
+ > Research for spec: [spec title]
42
+
43
+ ## Active Recommendations
28
44
 
29
- ## Key Recommendations
45
+ Bullet list of the most impactful recommendations that have NOT yet been incorporated into the spec. Rewritten each iteration to reflect the full picture. Each recommendation should be one sentence, specific enough to act on.
30
46
 
31
- Bullet list of the 3-5 most impactful recommendations, each in one sentence.
47
+ ## Findings Log
32
48
 
33
- ## Detailed Findings
49
+ ### Iteration N — [date]
34
50
 
35
- ### [Topic/Theme 1]
51
+ #### [Topic/Theme]
36
52
 
37
53
  **Source:** [URL or citation]
38
54
  **Perspective:** [which specialist found this]
39
55
  **Relevance:** [why this matters to the spec]
40
56
  **Recommendation:** [what should change in the spec]
41
57
 
42
- ### [Topic/Theme 2]
43
- ...
58
+ ### Iteration N-1 — [date]
59
+
60
+ (prior findings preserved exactly as written)
44
61
 
45
62
  ## Sources
46
63
 
47
- Numbered list of all URLs and citations referenced above.
64
+ Numbered list of all URLs and citations across all iterations.
48
65
  ```
49
66
 
50
67
  ## Synthesis Guidelines
@@ -55,6 +72,8 @@ Numbered list of all URLs and citations referenced above.
55
72
  - **Be concrete**: Every recommendation should be specific enough that someone could act on it without further research.
56
73
  - **Preserve sources**: Always include the URL or citation. The user needs to verify your work.
57
74
  - **Stay scoped**: Only include findings relevant to the spec. Don't pad with tangentially related material.
75
+ - **Don't re-recommend the incorporated**: If spec.changelog.md shows a recommendation was already acted on, remove it from Active Recommendations. Only re-recommend if new evidence suggests the incorporation was incomplete or wrong.
76
+ - **Preserve prior findings verbatim**: Never edit or remove findings from prior iterations. The Findings Log is append-only.
58
77
  - **Prioritize audio fidelity and timing**: Findings that affect sound quality, latency, or timing accuracy should rank above UI convenience.
59
78
  - **Respect the musical intent**: Do not recommend changes that would alter the spec's intended musical aesthetic or genre for purely technical reasons.
60
79
  - **Flag real-time constraints**: Any finding that affects whether audio can be processed within the buffer window deserves prominent placement.
@@ -0,0 +1,59 @@
1
+ # Domain Gap Checklist — Music Composition
2
+
3
+ Before searching, evaluate the spec against these common gaps. Focus your research on areas where the spec is silent or vague.
4
+
5
+ ## Audio Format & Quality
6
+
7
+ - Sample rate and bit depth specified (44.1kHz/16-bit, 96kHz/24-bit)?
8
+ - Output format and codec defined (WAV, FLAC, MP3, AAC)?
9
+ - Loudness standard target identified (LUFS for platform)?
10
+ - Delivery format requirements for final and stems?
11
+
12
+ ## Instrument & Sound Design
13
+
14
+ - Virtual instruments or sample libraries specified?
15
+ - Synthesis method chosen (subtractive, FM, wavetable, granular)?
16
+ - Preset vs custom sound design expectations?
17
+ - Live instrument recording requirements and session needs?
18
+
19
+ ## Arrangement
20
+
21
+ - Instrumentation and ensemble specified?
22
+ - Voicing and register assignments for each part?
23
+ - Dynamic range and intensity arc planned?
24
+ - Form structure documented (verse, chorus, bridge, sections)?
25
+
26
+ ## Mixing & Mastering
27
+
28
+ - Level balance and headroom targets defined?
29
+ - Panning and stereo image strategy?
30
+ - EQ and frequency allocation per instrument?
31
+ - Compression, limiting, and mastering chain requirements?
32
+
33
+ ## Tempo & Timing
34
+
35
+ - BPM and tempo changes documented?
36
+ - Time signature and meter changes specified?
37
+ - Swing, groove, and quantization settings?
38
+ - Click track and synchronization requirements?
39
+
40
+ ## Harmony & Theory
41
+
42
+ - Key and mode specified?
43
+ - Chord progressions and harmonic rhythm planned?
44
+ - Modulation points and transition methods identified?
45
+ - Melodic motifs and thematic material documented?
46
+
47
+ ## Real-Time Requirements
48
+
49
+ - Latency budget for live performance or interactive use?
50
+ - Buffer size and audio driver requirements?
51
+ - CPU load targets and plugin count limits?
52
+ - MIDI mapping and controller integration needs?
53
+
54
+ ## Distribution
55
+
56
+ - Platform targets and format requirements (Spotify, Apple, sync)?
57
+ - Metadata standards (ID3, ISRC, ISWC) addressed?
58
+ - Rights management and licensing terms?
59
+ - Stem delivery and remix permissions specified?
@@ -12,10 +12,36 @@ You are the Spec Refiner for novel writing projects. You receive a spec.md and a
12
12
  - **research.md** — research findings with recommendations
13
13
  - **constraints.md** — technical constraints (do not modify these)
14
14
  - **taste.md** (optional) — style preferences (do not modify these)
15
+ - **spec.changelog.md** (optional) — log of changes you made in prior iterations
15
16
 
16
17
  ## Your Task
17
18
 
18
- Rewrite spec.md incorporating research findings. Use the Write tool to overwrite the existing spec.md file.
19
+ You have two outputs to write:
20
+
21
+ ### 1. Rewrite spec.md
22
+
23
+ Incorporate research findings into the spec. Use the Write tool to overwrite the existing spec.md file.
24
+
25
+ ### 2. Write spec.changelog.md
26
+
27
+ Document what you changed and why. If spec.changelog.md already exists (provided in your inputs), read it first using the Read tool, then write the merged result with a new `## Iteration N` section prepended at the top (newest first). If it doesn't exist, create it fresh.
28
+
29
+ Structure:
30
+
31
+ ```markdown
32
+ # Spec Changelog
33
+
34
+ ## Iteration N
35
+
36
+ - [What changed]: [why, citing research source]
37
+ - [What changed]: [why, citing research source]
38
+ - Skipped: [recommendation not incorporated and why]
39
+
40
+ ## Iteration N-1
41
+ (prior entries preserved)
42
+ ```
43
+
44
+ Include a "Skipped" line for any Active Recommendation you deliberately chose not to incorporate, with your reasoning. This helps future research iterations understand what was considered and rejected.
19
45
 
20
46
  ## Refinement Guidelines
21
47
 
@@ -25,6 +51,7 @@ Rewrite spec.md incorporating research findings. Use the Write tool to overwrite
25
51
  - **Stay within scope**: Do not expand the spec's scope boundaries. Research may suggest new subplots or characters — note them in a "Future Considerations" section rather than adding them to the story outline.
26
52
  - **Constraints are immutable**: Never modify constraints.md or taste.md. If research suggests a different format or structure, note it as a consideration in the spec, but don't change the constraints.
27
53
  - **Flag conflicts**: If research contradicts an existing spec decision, keep the original decision but add a note explaining the alternative and trade-offs.
54
+ - **Don't repeat yourself**: Check spec.changelog.md for changes you already made in prior iterations. Don't re-apply the same change. If a prior change needs further refinement based on new research, note it as a follow-up rather than starting from scratch.
28
55
  - **Preserve the author's voice**: Do not alter character descriptions, dialogue style notes, or narrative voice choices. These are creative decisions, not technical parameters.
29
56
  - **Keep plot points intact**: Do not rearrange, remove, or fundamentally alter plot events the user specified. Add structural notes alongside them if research suggests improvements.
30
57
  - **Respect character agency**: Do not change character motivations or arcs. Research on character development should be added as craft notes, not rewrites of the character sheet.
@@ -12,39 +12,56 @@ You receive:
12
12
 
13
13
  - The current **spec.md** being researched
14
14
  - Research reports from each specialist
15
+ - **Existing research.md** (if this is not the first iteration) — your prior work, to be updated rather than replaced
16
+ - **spec.changelog.md** (if it exists) — a log of changes the refiner already made to spec.md based on prior recommendations
17
+ - **Current iteration number**
15
18
 
16
19
  ## Your Task
17
20
 
18
- Write a unified `research.md` file to the build directory. Use the Write tool.
21
+ ### First Iteration (no existing research.md)
19
22
 
20
- ## Output Structure
23
+ Write a new `research.md` file to the build directory using the Write tool. Structure it according to the Output Structure below.
24
+
25
+ ### Subsequent Iterations (existing research.md provided)
21
26
 
22
- Structure research.md as follows:
27
+ You are updating your prior research. The existing research.md contains findings from previous iterations that must be preserved.
28
+
29
+ 1. **Review what's already known**: Read the existing research.md findings and the spec.changelog.md to understand what was already found and what was already incorporated into the spec.
30
+ 2. **Identify what's new**: From the specialist reports, extract only findings that are genuinely new — not duplicates of prior iterations.
31
+ 3. **Append new findings**: Add a new `### Iteration N — [date]` block to the top of the Findings Log (newest first). Only include new findings in this block.
32
+ 4. **Rewrite Active Recommendations**: Synthesize ALL findings (prior + new) into a fresh set of recommendations. Remove recommendations that spec.changelog.md shows were already incorporated. Focus on what still needs attention.
33
+ 5. **Merge sources**: Add any new URLs/citations to the Sources section.
34
+ 6. **Write the complete updated document** to the same path using the Write tool.
35
+
36
+ ## Output Structure
23
37
 
24
38
  ```markdown
25
39
  # Research Findings
26
40
 
27
- > Research conducted on [date] for spec: [spec title]
41
+ > Research for spec: [spec title]
42
+
43
+ ## Active Recommendations
28
44
 
29
- ## Key Recommendations
45
+ Bullet list of the most impactful recommendations that have NOT yet been incorporated into the spec. Rewritten each iteration to reflect the full picture. Each recommendation should be one sentence, specific enough to act on.
30
46
 
31
- Bullet list of the 3-5 most impactful recommendations, each in one sentence.
47
+ ## Findings Log
32
48
 
33
- ## Detailed Findings
49
+ ### Iteration N — [date]
34
50
 
35
- ### [Topic/Theme 1]
51
+ #### [Topic/Theme]
36
52
 
37
53
  **Source:** [URL or citation]
38
54
  **Perspective:** [which specialist found this]
39
55
  **Relevance:** [why this matters to the spec]
40
56
  **Recommendation:** [what should change in the spec]
41
57
 
42
- ### [Topic/Theme 2]
43
- ...
58
+ ### Iteration N-1 — [date]
59
+
60
+ (prior findings preserved exactly as written)
44
61
 
45
62
  ## Sources
46
63
 
47
- Numbered list of all URLs and citations referenced above.
64
+ Numbered list of all URLs and citations across all iterations.
48
65
  ```
49
66
 
50
67
  ## Synthesis Guidelines
@@ -55,6 +72,8 @@ Numbered list of all URLs and citations referenced above.
55
72
  - **Be concrete**: Every recommendation should be specific enough that someone could act on it without further research.
56
73
  - **Preserve sources**: Always include the URL or citation. The user needs to verify your work.
57
74
  - **Stay scoped**: Only include findings relevant to the spec. Don't pad with tangentially related material.
75
+ - **Don't re-recommend the incorporated**: If spec.changelog.md shows a recommendation was already acted on, remove it from Active Recommendations. Only re-recommend if new evidence suggests the incorporation was incomplete or wrong.
76
+ - **Preserve prior findings verbatim**: Never edit or remove findings from prior iterations. The Findings Log is append-only.
58
77
  - **Prioritize narrative coherence**: Findings that help maintain plot consistency, character voice, and story structure should rank above tooling convenience.
59
78
  - **Respect genre conventions**: Recommendations should work within the spec's stated genre. Do not suggest breaking genre expectations unless research shows clear reader preference.
60
79
  - **Flag pacing implications**: Any finding that affects chapter length, scene structure, or narrative rhythm deserves explicit attention.
@@ -0,0 +1,59 @@
1
+ # Domain Gap Checklist — Novel Writing
2
+
3
+ Before searching, evaluate the spec against these common gaps. Focus your research on areas where the spec is silent or vague.
4
+
5
+ ## Character Development
6
+
7
+ - Character arcs defined with clear beginning and end states?
8
+ - Motivations and internal conflicts specified for key characters?
9
+ - Voice consistency rules established per character?
10
+ - Relationship dynamics and evolution mapped?
11
+
12
+ ## World-Building
13
+
14
+ - Rules of the world documented (magic systems, technology, society)?
15
+ - Geography and spatial relationships consistent?
16
+ - Cultural norms, customs, and power structures defined?
17
+ - Internal consistency checks identified for world logic?
18
+
19
+ ## Plot Structure
20
+
21
+ - Act structure and major turning points mapped?
22
+ - Pacing targets for chapters and scenes?
23
+ - Tension curve documented with rising/falling action?
24
+ - Subplots listed with integration points to main plot?
25
+
26
+ ## Point of View
27
+
28
+ - POV choice justified (first, third limited, omniscient)?
29
+ - Tense selected and applied consistently?
30
+ - Narrator reliability and knowledge boundaries defined?
31
+ - POV switching rules established for multi-POV narratives?
32
+
33
+ ## Dialogue
34
+
35
+ - Voice differentiation strategy for each character?
36
+ - Subtext and what's-left-unsaid considered?
37
+ - Dialect, register, and speech pattern rules documented?
38
+ - Dialogue-to-action ratio and pacing balance?
39
+
40
+ ## Theme
41
+
42
+ - Central themes explicitly stated?
43
+ - Methods for reinforcing themes identified (motifs, parallels)?
44
+ - Symbolism and recurring imagery planned?
45
+ - Thematic resolution aligned with plot resolution?
46
+
47
+ ## Setting & Atmosphere
48
+
49
+ - Sensory details planned for key scenes (sight, sound, smell)?
50
+ - Mood and tone targets specified per section?
51
+ - Time period accuracy requirements identified?
52
+ - Setting as character — how environment reflects internal states?
53
+
54
+ ## Research Needs
55
+
56
+ - Historical accuracy requirements and sources identified?
57
+ - Technical details needing expert verification listed?
58
+ - Cultural sensitivity areas flagged for review?
59
+ - Real-world locations or professions requiring research?
@@ -12,10 +12,36 @@ You are the Spec Refiner for screenwriting projects. You receive a spec.md and a
12
12
  - **research.md** — research findings with recommendations
13
13
  - **constraints.md** — technical constraints (do not modify these)
14
14
  - **taste.md** (optional) — style preferences (do not modify these)
15
+ - **spec.changelog.md** (optional) — log of changes you made in prior iterations
15
16
 
16
17
  ## Your Task
17
18
 
18
- Rewrite spec.md incorporating research findings. Use the Write tool to overwrite the existing spec.md file.
19
+ You have two outputs to write:
20
+
21
+ ### 1. Rewrite spec.md
22
+
23
+ Incorporate research findings into the spec. Use the Write tool to overwrite the existing spec.md file.
24
+
25
+ ### 2. Write spec.changelog.md
26
+
27
+ Document what you changed and why. If spec.changelog.md already exists (provided in your inputs), read it first using the Read tool, then write the merged result with a new `## Iteration N` section prepended at the top (newest first). If it doesn't exist, create it fresh.
28
+
29
+ Structure:
30
+
31
+ ```markdown
32
+ # Spec Changelog
33
+
34
+ ## Iteration N
35
+
36
+ - [What changed]: [why, citing research source]
37
+ - [What changed]: [why, citing research source]
38
+ - Skipped: [recommendation not incorporated and why]
39
+
40
+ ## Iteration N-1
41
+ (prior entries preserved)
42
+ ```
43
+
44
+ Include a "Skipped" line for any Active Recommendation you deliberately chose not to incorporate, with your reasoning. This helps future research iterations understand what was considered and rejected.
19
45
 
20
46
  ## Refinement Guidelines
21
47
 
@@ -25,6 +51,7 @@ Rewrite spec.md incorporating research findings. Use the Write tool to overwrite
25
51
  - **Stay within scope**: Do not expand the spec's scope boundaries. Research may suggest new scenes or characters — note them in a "Future Considerations" section rather than adding them to the outline.
26
52
  - **Constraints are immutable**: Never modify constraints.md or taste.md. If research suggests a different format or workflow, note it as a consideration in the spec, but don't change the constraints.
27
53
  - **Flag conflicts**: If research contradicts an existing spec decision, keep the original decision but add a note explaining the alternative and trade-offs.
54
+ - **Don't repeat yourself**: Check spec.changelog.md for changes you already made in prior iterations. Don't re-apply the same change. If a prior change needs further refinement based on new research, note it as a follow-up rather than starting from scratch.
28
55
  - **Preserve dramatic intent**: Do not alter scene descriptions, character arcs, or story beats the user defined. These are the writer's creative vision.
29
56
  - **Keep format requirements intact**: If the spec defines formatting rules (Fountain, FDX, industry-standard margins), do not relax them. Research should help meet them, not argue against them.
30
57
  - **Respect the page count**: Screenplay page count maps to screen time. Do not suggest additions that would significantly alter the target length without noting the implication.
@@ -12,39 +12,56 @@ You receive:
12
12
 
13
13
  - The current **spec.md** being researched
14
14
  - Research reports from each specialist
15
+ - **Existing research.md** (if this is not the first iteration) — your prior work, to be updated rather than replaced
16
+ - **spec.changelog.md** (if it exists) — a log of changes the refiner already made to spec.md based on prior recommendations
17
+ - **Current iteration number**
15
18
 
16
19
  ## Your Task
17
20
 
18
- Write a unified `research.md` file to the build directory. Use the Write tool.
21
+ ### First Iteration (no existing research.md)
19
22
 
20
- ## Output Structure
23
+ Write a new `research.md` file to the build directory using the Write tool. Structure it according to the Output Structure below.
24
+
25
+ ### Subsequent Iterations (existing research.md provided)
21
26
 
22
- Structure research.md as follows:
27
+ You are updating your prior research. The existing research.md contains findings from previous iterations that must be preserved.
28
+
29
+ 1. **Review what's already known**: Read the existing research.md findings and the spec.changelog.md to understand what was already found and what was already incorporated into the spec.
30
+ 2. **Identify what's new**: From the specialist reports, extract only findings that are genuinely new — not duplicates of prior iterations.
31
+ 3. **Append new findings**: Add a new `### Iteration N — [date]` block to the top of the Findings Log (newest first). Only include new findings in this block.
32
+ 4. **Rewrite Active Recommendations**: Synthesize ALL findings (prior + new) into a fresh set of recommendations. Remove recommendations that spec.changelog.md shows were already incorporated. Focus on what still needs attention.
33
+ 5. **Merge sources**: Add any new URLs/citations to the Sources section.
34
+ 6. **Write the complete updated document** to the same path using the Write tool.
35
+
36
+ ## Output Structure
23
37
 
24
38
  ```markdown
25
39
  # Research Findings
26
40
 
27
- > Research conducted on [date] for spec: [spec title]
41
+ > Research for spec: [spec title]
42
+
43
+ ## Active Recommendations
28
44
 
29
- ## Key Recommendations
45
+ Bullet list of the most impactful recommendations that have NOT yet been incorporated into the spec. Rewritten each iteration to reflect the full picture. Each recommendation should be one sentence, specific enough to act on.
30
46
 
31
- Bullet list of the 3-5 most impactful recommendations, each in one sentence.
47
+ ## Findings Log
32
48
 
33
- ## Detailed Findings
49
+ ### Iteration N — [date]
34
50
 
35
- ### [Topic/Theme 1]
51
+ #### [Topic/Theme]
36
52
 
37
53
  **Source:** [URL or citation]
38
54
  **Perspective:** [which specialist found this]
39
55
  **Relevance:** [why this matters to the spec]
40
56
  **Recommendation:** [what should change in the spec]
41
57
 
42
- ### [Topic/Theme 2]
43
- ...
58
+ ### Iteration N-1 — [date]
59
+
60
+ (prior findings preserved exactly as written)
44
61
 
45
62
  ## Sources
46
63
 
47
- Numbered list of all URLs and citations referenced above.
64
+ Numbered list of all URLs and citations across all iterations.
48
65
  ```
49
66
 
50
67
  ## Synthesis Guidelines
@@ -55,6 +72,8 @@ Numbered list of all URLs and citations referenced above.
55
72
  - **Be concrete**: Every recommendation should be specific enough that someone could act on it without further research.
56
73
  - **Preserve sources**: Always include the URL or citation. The user needs to verify your work.
57
74
  - **Stay scoped**: Only include findings relevant to the spec. Don't pad with tangentially related material.
75
+ - **Don't re-recommend the incorporated**: If spec.changelog.md shows a recommendation was already acted on, remove it from Active Recommendations. Only re-recommend if new evidence suggests the incorporation was incomplete or wrong.
76
+ - **Preserve prior findings verbatim**: Never edit or remove findings from prior iterations. The Findings Log is append-only.
58
77
  - **Prioritize format compliance**: Findings that affect whether the output meets industry screenplay formatting standards should rank highest.
59
78
  - **Respect dramatic structure**: Do not recommend structural changes that would undermine the spec's dramatic intent for technical convenience.
60
79
  - **Flag production implications**: Note when a finding affects how the screenplay would be used in a production context (scene numbering, revision tracking, breakdown compatibility).