You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create the temp directory and file to track PR analysis results.
120
-
Each PR analysis will be appended to this file as it completes.
113
+
Parent task MUST create this file (and .roo/tmp/release-notes/temp_pr_inclusion_v[version].json, .roo/tmp/release-notes/temp_pr_list_v[VERSION].md if needed) before ANY subtasks.
114
+
Subtasks will ONLY add entries to these temp files using the available safe file-editing capability (preserve existing content; no overwrites).
115
+
Parent task MUST NOT add entries to temp_pr_analysis_v[version].md; this file is reserved exclusively for subtask outputs. The parent may only create/initialize the empty file(s).
5. Identify documentation needs (new features, behavior changes, deprecations)
142
+
6. Add to .roo/tmp/release-notes/temp_pr_analysis_v[version].md at the start, preserving existing content (use the available safe file-editing capability)
143
+
144
+
Include documentation flags:
145
+
- docs-new: Completely new feature
146
+
- docs-update: Existing docs need updating
147
+
- docs-example: New examples needed
148
+
- docs-migration: Breaking changes
149
+
150
+
CRITICAL: Never overwrite existing content; only add entries while preserving prior content.
151
+
MANDATORY: Insert the marker line '<!-- generated-by-subtask: true -->' immediately before the '---' separator in each PR entry.
Categorize the change and identify documentation needs
190
+
Add analysis to .roo/tmp/release-notes/temp_pr_analysis_v3.20.1.md at the start, preserving existing content</message>
191
+
<todos>
192
+
[ ] Fetch PR #1234 details
193
+
[ ] Extract linked issues and get details
194
+
[ ] Categorize and analyze
195
+
[ ] Write to temp_pr_analysis_v3.20.1.md
196
+
</todos>
197
+
</new_task>
198
+
]]></implementation>
199
+
<critical_notes>
200
+
- Parent creates temp files first
201
+
- Each PR gets its own subtask
202
+
- Subtasks only add entries; never overwrite existing content
203
+
</critical_notes>
204
+
</subtask_creation_example>
184
205
</phase>
185
206
186
207
<phasename="changelog_alignment">
@@ -320,11 +341,11 @@ fi
320
341
- Author signal: if bullet contains "thanks @user", "by @user", or "PR by @user" and that user equals the PR author or credited issue reporter, add +0.20 to score
321
342
- Keyword boost: +0.05 when provider/model/domain keywords (e.g., OpenAI, Claude, Grok, Chutes, Qwen, LongCat, etc.) appear in both
- 0.45 <= score < 0.65 OR multiple candidates within 0.05 -> ambiguous (needs review)
346
+
- score < 0.45 -> unlinked
326
347
Tie-breakers: higher score; if within 0.02 then same author; then closer merge date to release date; then lowest PR number
327
-
Edge case: If bullet credits exactly one username and exactly one PR in the window has that author, accept with score >= 0.50 (confidence="author-boost")
348
+
Edge case: If bullet credits exactly one username and exactly one PR in the window has that author, accept with score >= 0.50 (confidence="author-boost")
328
349
Implementation notes:
329
350
- Match only against PRs fetched for the version's date window
330
351
- Persist mapping bullet_text -> { prNumber, confidenceScore, rationaleSignals[] } and use it to compute linked/ambiguous/unlinked counts
@@ -333,24 +354,33 @@ fi
333
354
</step>
334
355
335
356
<stepnumber="2a">
336
-
<action>Supplement candidate PR set with changelog-referenced PRs not in fetched list</action>
357
+
<action>Supplement candidate PR set with changelog-referenced PRs not in fetched list and spawn analysis subtasks</action>
337
358
<details>
338
359
- Identify referenced PR numbers from step 2 that are missing from .roo/tmp/release-notes/temp_pr_analysis_v[version].md
339
-
- For each missing PR, fetch details and analyze inline (same process as pr_processing phase)
360
+
- For each missing PR, fetch details and create a new investigation subtask (same pattern as pr_processing) to add analysis to temp_pr_analysis_v[version].md without overwriting existing content
340
361
- Mark these as out_of_range if their mergedAt is outside the computed date window
341
-
- Append analysis to the tracking file
362
+
- Wait for all spawned subtasks to complete before proceeding
342
363
</details>
343
-
<inline_analysis>
344
-
<for_each>Missing PR number referenced in changelog</for_each>
- Append to .roo/tmp/release-notes/temp_pr_analysis_v[version].md
352
-
</process>
353
-
</inline_analysis>
364
+
<commands>
365
+
<fetch><![CDATA[
366
+
# For each referenced PR number N not present in .roo/tmp/release-notes/temp_pr_analysis_v[version].md:
367
+
gh pr view N --repo RooCodeInc/Roo-Code --json number,title,author,mergedAt,labels,files
368
+
]]></fetch>
369
+
<spawn_subtask><![CDATA[
370
+
<new_task>
371
+
<mode>release-notes-writer</mode>
372
+
<message>Investigate PR #[NUMBER] (changelog-referenced, possibly out of original range) for release notes v[version]. Follow standard analysis and add to .roo/tmp/release-notes/temp_pr_analysis_v[version].md without overwriting existing content.</message>
[ ] Categorize the change (Feature/QOL/Bug Fix/Provider Update)
378
+
[ ] Identify documentation needs
379
+
[ ] Write analysis to .roo/tmp/release-notes/temp_pr_analysis_v[version].md
380
+
</todos>
381
+
</new_task>
382
+
]]></spawn_subtask>
383
+
</commands>
354
384
</step>
355
385
356
386
<stepnumber="2b">
@@ -429,6 +459,7 @@ fi
429
459
</inputs>
430
460
<precondition>
431
461
- Inclusion policy required: If .roo/tmp/release-notes/temp_pr_inclusion_v[version].json does not exist, you MUST execute the changelog_alignment phase now to obtain an inclusion decision, then retry this step.
462
+
- Subtask provenance required: All PR analysis entries MUST contain the marker '<!-- generated-by-subtask: true -->'. If any entries are missing this marker, HALT and re-run PR analysis via per-PR subtasks before proceeding.
432
463
</precondition>
433
464
<filtering>
434
465
Include only PRs listed in "included" from .roo/tmp/release-notes/temp_pr_inclusion_v[version].json. Do not fall back to using all analyzed PRs without an explicit inclusion policy.
@@ -453,7 +484,7 @@ fi
453
484
<checks>
454
485
<check>Each bullet must answer: what changed, where the user sees it, why it matters.</check>
455
486
<check>Replace internal terms (e.g., "protocol selector") with the on-screen wording users see.</check>
456
-
<check>For fixes, start with "Fixes an issue where …" or "Resolves a problem where …" instead of echoing PR titles.</check>
487
+
<check>For fixes, start with “Fixes an issue where …” or “Resolves a problem where …” instead of echoing PR titles.</check>
457
488
</checks>
458
489
</user_facing_rewrite>
459
490
</step>
@@ -525,38 +556,10 @@ Which features should I highlight with expanded sections in the release notes?
<when>If any documentation flags were identified during PR analysis</when>
530
-
<output>
531
-
Present a summary of documentation needs to the user:
532
-
- List items flagged as docs-new (new features needing new pages)
533
-
- List items flagged as docs-update (existing pages needing updates)
534
-
- List items flagged as docs-example (new examples needed)
535
-
- List items flagged as docs-migration (migration guides needed)
536
-
537
-
The user can then follow up with documentation-writer mode separately if desired.
538
-
</output>
539
-
<template><![CDATA[
540
-
**Documentation Update Summary:**
541
-
542
-
The following items may need documentation updates:
543
-
544
-
**New Documentation Needed:**
545
-
- [Feature name]: [Brief description of what needs documenting]
546
-
547
-
**Existing Docs Updates:**
548
-
- [Page/feature]: [What needs updating]
549
-
550
-
**Examples Needed:**
551
-
- [Feature]: [Example scenarios to add]
552
-
553
-
**Migration Guides:**
554
-
- [Breaking change]: [Migration path to document]
555
-
556
-
To create these documentation updates, you can start a new task with documentation-writer mode.
557
-
]]></template>
559
+
<action>Create documentation update task</action>
560
+
<when>If any documentation flags were identified</when>
561
+
<tool>new_task with mode="documentation-writer"</tool>
558
562
</step>
559
-
560
563
<stepnumber="7">
561
564
<action>Cleanup temporary files</action>
562
565
<details>Delete .roo/tmp/release-notes/* (temp_pr_analysis_v[version].md, temp_pr_list_v[version].md, temp_pr_inclusion_v[version].json) after notes are finalized.</details>
@@ -697,13 +700,20 @@ gh pr list --repo RooCodeInc/Roo-Code --state merged --base main --limit 1000 \
697
700
Date format is YYYY-MM-DD (ISO 8601) where MM is month (01-12)
698
701
</rule>
699
702
<rulepriority="CRITICAL">
700
-
All PR analysis happens inline within this task - do not spawn subtasks
For each PR, the parent MUST create a subtask via new_task. The parent MUST NOT write PR analysis entries; only subtasks may add entries to .roo/tmp/release-notes/temp_pr_analysis_v[version].md without overwriting existing content. Do not proceed to changelog_alignment or compilation until all PR subtasks complete.
707
+
Even when the parent already has the PR number, title, description, or a user‑provided
708
+
summary list, it MUST still create and wait on the per‑PR subtask. These summaries are
709
+
insufficient for functional understanding of the change, discovery of linked issues, and
710
+
correct contributor attribution (PR authors and issue reporters).
701
711
</rule>
702
712
<rulepriority="CRITICAL">
703
713
Use the simplified PR extraction command for consistent results
704
714
</rule>
705
715
<rulepriority="HIGH">
706
-
Acknowledge PR author AND issue reporter, unless the username is on the release-notes "thank you" exclusion list.
716
+
Acknowledge PR author AND issue reporter, unless the username is on the release-notes “thank you” exclusion list.
707
717
If all candidate acknowledgements are excluded, omit the thanks parenthetical entirely.
0 commit comments