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
Parent task MUST create this file before ANY subtasks.
108
+
Parent task MUST create this file (and .roo/tmp/release-notes/temp_pr_inclusion.json, .roo/tmp/release-notes/temp_pr_list.md if needed) before ANY subtasks.
<dependency_note>Use the first non-empty result as changelog_source. Prefer the Release body; only fall back to file or PR scan if empty or unavailable.</dependency_note>
239
+
<critical>Do not attempt to locate a "changelog PR" when a Release body or CHANGELOG.md content is available.</critical>
240
+
</step>
241
+
242
+
<stepnumber="2">
243
+
<action>Extract version section lines from changelog_source</action>
244
+
<details>
245
+
If using Release body: treat the entire body as the v[VERSION] section.
246
+
If using CHANGELOG.md: isolate the v[VERSION] section by heading match:
247
+
- Headings commonly appear as "## vX.Y.Z", "## X.Y.Z", or "## [X.Y.Z]".
- If a bullet has no explicit PR number, attempt fuzzy matching to PR titles
253
+
- If ambiguous, mark as "unlinked" and exclude by default pending user choice
254
+
</heuristics>
255
+
</parsing>
256
+
</step>
257
+
258
+
<stepnumber="2a">
259
+
<action>Supplement candidate PR set with changelog-referenced PRs not in fetched list and spawn analysis subtasks</action>
260
+
<details>
261
+
- Identify referenced PR numbers from step 2 that are missing from .roo/tmp/release-notes/temp_pr_analysis.md
262
+
- For each missing PR, fetch details and create a new investigation subtask (same pattern as pr_processing) to append analysis to temp_pr_analysis.md
263
+
- Mark these as out_of_range if their mergedAt is outside the computed date window
264
+
- Wait for all spawned subtasks to complete before proceeding
265
+
</details>
266
+
<commands>
267
+
<fetch><![CDATA[
268
+
# For each referenced PR number N not present in .roo/tmp/release-notes/temp_pr_analysis.md:
269
+
gh pr view N --repo RooCodeInc/Roo-Code --json number,title,author,mergedAt,labels,files
270
+
]]></fetch>
271
+
<spawn_subtask><![CDATA[
272
+
<new_task>
273
+
<mode>release-notes-writer</mode>
274
+
<message>Investigate PR #[NUMBER] (changelog-referenced, possibly out of original range) for release notes v[version]. Follow standard analysis and append to .roo/tmp/release-notes/temp_pr_analysis.md.</message>
275
+
<todos>
276
+
[ ] Fetch PR #[NUMBER] details using gh pr view
277
+
[ ] Extract linked issues from PR body
278
+
[ ] Get issue details for each linked issue
279
+
[ ] Categorize the change (Feature/QOL/Bug Fix/Provider Update)
280
+
[ ] Identify documentation needs
281
+
[ ] Write analysis to .roo/tmp/release-notes/temp_pr_analysis.md
<metricname="out_of_range_count">Number of referenced PRs with mergedAt outside the YYYY-MM-DD..YYYY-MM-DD window</metric>
291
+
</output>
292
+
</step>
293
+
294
+
<stepnumber="3">
295
+
<action>Partition PRs using changelog</action>
296
+
<result>
297
+
<in_changelog>PRs explicitly referenced or confidently matched to changelog lines</in_changelog>
298
+
<excluded>PRs not referenced or ambiguous</excluded>
299
+
</result>
300
+
<analysis>
301
+
Provide a brief summary:
302
+
- Included: [IN_COUNT] PRs
303
+
- Excluded: [EX_COUNT] PRs
304
+
Possible reasons for exclusion:
305
+
- Not mentioned in changelog
306
+
- Combined under a meta PR
307
+
- Documentation-only or infra work
308
+
- Outside computed date window
309
+
- Title did not match any changelog line
310
+
</analysis>
311
+
</step>
312
+
313
+
<stepnumber="4">
314
+
<action>Ask for inclusion policy</action>
315
+
<tool>ask_followup_question</tool>
316
+
<template><![CDATA[
317
+
<ask_followup_question>
318
+
<question>Changelog alignment for v[VERSION]: [IN_COUNT] PRs referenced, [EX_COUNT] not referenced. How should I proceed?</question>
319
+
<follow_up>
320
+
<suggest>Only include the PRs referenced in the changelog</suggest>
321
+
<suggest>Include all PRs from the date range</suggest>
322
+
<suggest>Review each excluded PR one by one so I can choose</suggest>
323
+
</follow_up>
324
+
</ask_followup_question>
325
+
]]></template>
326
+
<critical>Do not proceed until one of the provided options is selected.</critical>
327
+
</step>
328
+
329
+
<stepnumber="5"optional="true">
330
+
<when>User selects per-PR review</when>
331
+
<action>Iteratively review excluded PRs</action>
332
+
<loop>
333
+
For each PR in the excluded set:
334
+
- Show title, author, brief labels, and a 1–2 sentence user-impact summary
335
+
- Ask: include this PR?
336
+
- Options: "Yes, include this PR" or "No, skip this PR"
337
+
- Build the final inclusion set as (in_changelog ∪ user_selected_inclusions)
338
+
</loop>
339
+
<template><![CDATA[
340
+
<ask_followup_question>
341
+
<question>Include PR #[NUMBER] - [TITLE]? Short analysis: [WHY IT MATTERS].</question>
342
+
<follow_up>
343
+
<suggest>Yes, include this PR</suggest>
344
+
<suggest>No, skip this PR</suggest>
345
+
</follow_up>
346
+
</ask_followup_question>
347
+
]]></template>
348
+
<completion>After the loop, proceed with the finalized PR set.</completion>
349
+
</step>
350
+
351
+
<handoff>Proceed to feature selection using the finalized PR set. Persist included/excluded lists to .roo/tmp/release-notes/temp_pr_inclusion.json for downstream filtering.</handoff>
352
+
</phase>
207
353
208
354
<phasename="compilation">
209
355
<stepnumber="1">
210
-
<action>Read and organize PR findings</action>
356
+
<action>Read and organize PR findings (filtered to finalized inclusion set)</action>
If .roo/tmp/release-notes/temp_pr_inclusion.json does not exist, you MUST execute the changelog_alignment phase now to obtain an inclusion decision, then retry this step.
363
+
</precondition>
364
+
<filtering>
365
+
Include only PRs listed in "included" from .roo/tmp/release-notes/temp_pr_inclusion.json. Do not fall back to using all analyzed PRs without an explicit inclusion policy.
366
+
</filtering>
211
367
<categories>Features, QOL Improvements, Bug Fixes, Provider Updates</categories>
212
368
<critical>QOL Improvements MUST come before Bug Fixes</critical>
213
369
</step>
@@ -227,12 +383,19 @@ I've analyzed all PRs for v[VERSION]. Here are the changes I found:
227
383
228
384
Which features should I highlight with expanded sections in the release notes?
229
385
]]></template>
230
-
<critical>Must get explicit confirmation before writing notes</critical>
386
+
<gating>
387
+
<rule>Do not proceed until an explicit selection from the provided options is received.</rule>
388
+
<rule>On freeform responses, re-ask with reformulated options derived from the user's input until a provided option is chosen.</rule>
389
+
</gating>
390
+
<critical>Must get explicit confirmation before writing notes; see user_interactions.feature_selection.gating_rules</critical>
231
391
</step>
232
392
233
393
<stepnumber="3">
234
394
<action>Create release notes file</action>
235
-
<format>docs/update-notes/vX.Y.Z.mdx</format>
395
+
<format>
396
+
For patch versions (X.Y.Z): docs/update-notes/vX.Y.Z.mdx
397
+
For minor/major summaries (X.Y): docs/update-notes/vX.Y.mdx
398
+
</format>
236
399
</step>
237
400
238
401
<stepnumber="4">
@@ -256,6 +419,10 @@ Which features should I highlight with expanded sections in the release notes?
256
419
<when>If any documentation flags were identified</when>
257
420
<tool>new_task with mode="documentation-writer"</tool>
258
421
</step>
422
+
<stepnumber="7">
423
+
<action>Cleanup temporary files</action>
424
+
<details>Delete .roo/tmp/release-notes/* (temp_pr_analysis.md, temp_pr_list.md, temp_pr_inclusion.json) after notes are finalized.</details>
425
+
</step>
259
426
</phase>
260
427
</main_workflow>
261
428
@@ -265,6 +432,7 @@ Which features should I highlight with expanded sections in the release notes?
265
432
<transformations>
266
433
- Remove PR links and numbers
267
434
- Convert /path to https://docs.roocode.com/path
435
+
- Convert "* " list bullets to "• " bullets
268
436
- Add footer link with markdown format
269
437
- Handle compression if requested
270
438
- Wrap entire output in markdown code block
@@ -302,25 +470,41 @@ Which features should I highlight with expanded sections in the release notes?
302
470
<workflowname="version_only">
303
471
<description>Extract PR list when user provides just a version</description>
304
472
<steps>
473
+
<step>Ensure parent created .roo/tmp/release-notes/temp_pr_list.md (empty)</step>
305
474
<step>Spawn PR extraction subtask using new_task with mode="release-notes-writer"</step>
306
-
<step>Subtask writes PR list to temp_pr_list.md</step>
475
+
<step>Subtask appends PR list to .roo/tmp/release-notes/temp_pr_list.md using insert_content line 0</step>
307
476
<step>Ask user how to proceed</step>
308
477
</steps>
309
478
<implementation>
310
479
<tool>new_task</tool>
311
480
<mode>release-notes-writer</mode>
312
-
<message>Extract PR list for version [VERSION] and write to temp_pr_list.md</message>
481
+
<message>Extract PR list for version [VERSION] and append to .roo/tmp/release-notes/temp_pr_list.md using insert_content line 0</message>
<note>Present the set difference (tags/releases not present in docs) as candidates.</note>
506
+
</commands>
507
+
<handoff>After the user selects versions to process, immediately execute the changelog_alignment phase for each selected version before entering the compilation phase.</handoff>
0 commit comments