feat: v0.1.82#1075
Conversation
|
Note Reviews pausedUse the following commands to manage reviews:
Use the checkboxes below for quick actions:
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThis release introduces a terminal UI copy mode (Ctrl+Shift+S) for native text selection with mouse capture toggling and cleanup on exit, enhances the standalone checkpoint MCP server with configurable workspace context and mode-aware plan-quality criteria, updates TUI styling (ribbon dividers, modal borders), and provides comprehensive test and documentation updates. Version bumped to 0.1.82. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5 | ❌ 3❌ Failed checks (2 warnings, 1 inconclusive)
✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.Comment |
feat: Copy mode for tui, checkpoint standalone improvements
There was a problem hiding this comment.
Actionable comments posted: 10
🧹 Nitpick comments (3)
massgen/frontend/displays/textual_themes/base.tcss (1)
3214-3223: Consider consolidating duplicatedToolSectionrules.
ToolSectionis defined again later (Line 6564+). Keeping a single canonical block would reduce future cascade drift and make style intent easier to maintain.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@massgen/frontend/displays/textual_themes/base.tcss` around lines 3214 - 3223, There are duplicate CSS blocks for the ToolSection component (symbol: ToolSection); remove the redundant definition and consolidate all unique properties into a single canonical ToolSection rule so styles don’t diverge. Locate both ToolSection rule blocks, compare their declarations, merge any differing properties (preserving intended max-height, margin, padding, border, background, etc.) into one block, and delete the other duplicate so only the consolidated ToolSection rule remains.massgen/frontend/displays/textual_widgets/content_sections.py (1)
1716-1722: Avoid hardcoded separator width in timeline rule rendering.Line 1721 uses a fixed 60-char rule, which can look inconsistent across terminal widths. Consider deriving width dynamically for cleaner responsive behavior.
♻️ Suggested refactor
- else: - sep_text.append("─" * 60, style="dim") + else: + rule_width = max(12, (self.size.width or 64) - 4) + sep_text.append("─" * rule_width, style="dim")🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@massgen/frontend/displays/textual_widgets/content_sections.py` around lines 1716 - 1722, The separator uses a hardcoded 60-character rule ("─" * 60) which breaks responsiveness; update the code that builds sep_text (the Text object used to create Static with id widget_id) to compute the rule length from the available width instead of 60 — e.g., determine available_width via the rendering/container size (Console().size.width, shutil.get_terminal_size(), or the Textual widget’s self.size.width if inside a widget), subtract any padding/margins, clamp to a minimum, and generate "─" * computed_length; keep the label behavior unchanged so label still renders styled when present.massgen/mcp_tools/standalone/checkpoint_mcp_server.py (1)
438-445: Use Google-style docstrings on the new helpers.These docstrings are readable, but they still miss the
Args:/Returns:structure required for changed Python functions in this repo.As per coding guidelines,
**/*.py: For new or changed functions, include Google-style docstrings.Also applies to: 1039-1048, 1443-1480
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@massgen/mcp_tools/standalone/checkpoint_mcp_server.py` around lines 438 - 445, The docstring for the new helper _build_checkpoint_plan_quality_criteria is not in Google-style; update it to a Google-style docstring that includes a one-line summary, an Args: section documenting single_checkpoint: bool, and a Returns: section documenting the returned list[dict[str, Any]] (describe contents/keys briefly); apply the same Google-style docstring pattern to the other new helper functions added in this module so all changed/added functions follow the repo guideline.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@massgen/configs/features/fast_iteration.yaml`:
- Around line 18-19: Update the command_line_docker_image entries in this
feature config from massgen/mcp-runtime-sudo:latest to
ghcr.io/massgen/mcp-runtime-sudo:latest so the shared config uses the upstream
GHCR image; specifically change the value for the command_line_docker_image key
where it currently equals "massgen/mcp-runtime-sudo:latest" (both occurrences
referenced around the current lines) and ensure any commented-out ghcr.io line
is the active default instead of the local image tag.
In `@massgen/frontend/displays/textual_terminal_display.py`:
- Around line 10566-10568: Update the docstring for the helper method
_set_terminal_mouse_capture to use Google-style format: replace the
single-line/parameterized docstring with a multi-line Google-style docstring
that includes a short summary, an Args: section describing the parameter enabled
(type and meaning), and a Returns: section if applicable (or omit if None) so it
follows the project's Python docstring guidelines; ensure the docstring sits
immediately under the def and references the method name
_set_terminal_mouse_capture and parameter enabled.
- Around line 4400-4407: The current unmount path suppresses all exceptions from
restoring terminal mouse capture (guarded by self._copy_mode_active) which hides
terminal-state failures; update the try/except to catch Exception as e and
record the failure instead of silently passing (e.g. call an available logger
like self._logger.exception or logging.exception with a clear message
referencing _set_terminal_mouse_capture), ensuring the _copy_mode_active flag is
still cleared (use finally or set it after logging) so the state is reset even
if restore fails.
- Around line 10545-10569: Add unit tests covering action_toggle_copy_mode,
_set_terminal_mouse_capture, and the on_unmount teardown behavior: one test
should simulate the banner being absent by having query_one(CopyModeBanner)
raise and assert no exception is raised and a warning logged; another should
mount a CopyModeBanner instance, call action_toggle_copy_mode to flip its active
state and assert banner.set_active was called, _copy_mode_active updated, notify
called with the correct ON/OFF message, and that set_terminal_mouse_capture was
invoked with the inverse of banner.active (mock set_terminal_mouse_capture and
the driver's presence via getattr(self, "_driver", None)); a third test should
simulate exiting/unmounting while copy mode is active and assert
_set_terminal_mouse_capture restores mouse capture (calls
set_terminal_mouse_capture with enabled=True) and _copy_mode_active is cleared;
use mocking for CopyModeBanner, set_terminal_mouse_capture, and notify to
observe interactions and avoid real terminal I/O.
In `@massgen/frontend/displays/textual_themes/base.tcss`:
- Around line 1681-1683: The border declarations added earlier (border: solid
$primary; border-left: thick $primary; padding: 1 2;) are being overridden by
later same-specificity rules, so apply the intended border/padding styles inside
the canonical modal container blocks (the selectors TaskPlanModal > Container
and ToolDetailModal > Container currently defined later) rather than at the
earlier positions (the changes around lines 1681 and 1783); update the rules in
the later blocks (the definitions around the TaskPlanModal > Container and
ToolDetailModal > Container canonical sections) to include the new border,
border-left and padding values so they take effect.
- Around line 1447-1465: Add unit/UI tests covering the new CopyModeBanner
show/hide behavior: create tests mirroring patterns in
test_queued_input_banner.py and test_restart_attempt_banner_dedup.py that assert
CopyModeBanner is visible when Ctrl+Shift+S is invoked, hidden when dismissed,
and that transitions (class .hidden) toggle correctly; update test harness to
simulate the keypress and verify DOM/state for CopyModeBanner. For the modal
border cascade, remove or consolidate duplicate rules so there is a single
authoritative definition for ToolDetailModal > Container and TaskPlanModal >
Container (currently defined around the new edits and again later at the far end
of the file) and ensure the intended border style (round vs solid) is the one
left in place. Finally, consolidate the two ToolSection selector blocks (the
base rules at the earlier and later locations) into a single ToolSection
definition to avoid duplication and drift, keeping comments/variants merged into
that one block.
In `@massgen/frontend/displays/textual_widgets/content_sections.py`:
- Line 489: Add regression tests under massgen/tests/frontend/ that cover the
TUI widget rendering changes: (1) add a snapshot or assertion test for
CompletionFooter.render() to verify its footer output including the new
rendering behavior, (2) add a test that mounts or invokes show_winner_hint() and
asserts the displayed text contains "Press f to see final answer", and (3) add a
test for the separator creation logic (the non-RestartBanner dim rule branch in
content_sections.py) to assert the separator's style/dim behavior; reference the
functions CompletionFooter.render, show_winner_hint, and the separator creation
code in content_sections.py when locating targets for the tests.
In `@massgen/mcp_tools/standalone/checkpoint_mcp_server.py`:
- Around line 1713-1715: The current code replaces orchestrator.context_paths
with checkpoint context_paths (the line using config.setdefault("orchestrator",
{})["context_paths"] = context_paths), which drops existing mounts; change this
to merge/append instead: retrieve orchestrator =
config.setdefault("orchestrator", {}), ensure orchestrator.get("context_paths")
is a list (or initialize to []), then extend it with the new context_paths
(optionally skipping duplicates) so existing base config paths are preserved
rather than overwritten.
- Around line 1910-1921: The single-checkpoint guard is keyed off
_checkpoint_counter which is being incremented before the subrun succeeds,
causing the only checkpoint to be consumed on failed/timeout attempts; change
the logic in checkpoint handling so _checkpoint_counter is only incremented
after a successful subrun/valid plan is produced (or revert/decrement it
immediately on failure), i.e. move the increment out of the pre-subrun path into
the success/plan-validation path in checkpoint_mcp_server.py (or add an explicit
rollback on error) so failed first attempts do not consume the only checkpoint.
In `@massgen/mcp_tools/standalone/setup_instructions.py`:
- Around line 61-79: The setup path always calls load_template() with its
default (single_checkpoint=False) so the massgen-checkpoint-setup command writes
the multi-checkpoint instructions even for single-checkpoint deployments; update
the setup/command handler that writes the template (the massgen-checkpoint-setup
entrypoint / the function that calls load_template when creating the
instructions file) to accept/derive a single_checkpoint boolean (from the CLI
flag or config) and pass it through to
load_template(single_checkpoint=single_checkpoint) when rendering the file so
the correct section is preserved/removed.
---
Nitpick comments:
In `@massgen/frontend/displays/textual_themes/base.tcss`:
- Around line 3214-3223: There are duplicate CSS blocks for the ToolSection
component (symbol: ToolSection); remove the redundant definition and consolidate
all unique properties into a single canonical ToolSection rule so styles don’t
diverge. Locate both ToolSection rule blocks, compare their declarations, merge
any differing properties (preserving intended max-height, margin, padding,
border, background, etc.) into one block, and delete the other duplicate so only
the consolidated ToolSection rule remains.
In `@massgen/frontend/displays/textual_widgets/content_sections.py`:
- Around line 1716-1722: The separator uses a hardcoded 60-character rule ("─" *
60) which breaks responsiveness; update the code that builds sep_text (the Text
object used to create Static with id widget_id) to compute the rule length from
the available width instead of 60 — e.g., determine available_width via the
rendering/container size (Console().size.width, shutil.get_terminal_size(), or
the Textual widget’s self.size.width if inside a widget), subtract any
padding/margins, clamp to a minimum, and generate "─" * computed_length; keep
the label behavior unchanged so label still renders styled when present.
In `@massgen/mcp_tools/standalone/checkpoint_mcp_server.py`:
- Around line 438-445: The docstring for the new helper
_build_checkpoint_plan_quality_criteria is not in Google-style; update it to a
Google-style docstring that includes a one-line summary, an Args: section
documenting single_checkpoint: bool, and a Returns: section documenting the
returned list[dict[str, Any]] (describe contents/keys briefly); apply the same
Google-style docstring pattern to the other new helper functions added in this
module so all changed/added functions follow the repo guideline.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: f351a547-c687-4da5-9521-0307e46d05a3
⛔ Files ignored due to path filters (8)
massgen/tests/frontend/__snapshots__/test_review_modal_snapshot/TestReviewModalSnapshot.test_review_modal_multi_context.svgis excluded by!**/*.svg,!**/*.svgmassgen/tests/frontend/__snapshots__/test_review_modal_snapshot/TestReviewModalSnapshot.test_review_modal_multi_file.svgis excluded by!**/*.svg,!**/*.svgmassgen/tests/frontend/__snapshots__/test_review_modal_snapshot/TestReviewModalSnapshot.test_review_modal_widescreen.svgis excluded by!**/*.svg,!**/*.svgmassgen/tests/frontend/__snapshots__/test_timeline_snapshot_scaffold/test_timeline_snapshot_real_tui_round_view.svgis excluded by!**/*.svg,!**/*.svgmassgen/tests/frontend/__snapshots__/test_timeline_snapshot_scaffold/test_timeline_snapshot_real_tui_runtime_injection_queue_and_delivery.svgis excluded by!**/*.svg,!**/*.svgmassgen/tests/frontend/__snapshots__/test_timeline_snapshot_scaffold/test_timeline_snapshot_real_tui_subagent_input_bar.svgis excluded by!**/*.svg,!**/*.svgmassgen/tests/frontend/__snapshots__/test_timeline_snapshot_scaffold/test_timeline_snapshot_real_tui_subagent_runtime_injection_queue.svgis excluded by!**/*.svg,!**/*.svgmassgen/tests/frontend/__snapshots__/test_timeline_snapshot_scaffold/test_timeline_snapshot_real_tui_toast_stack.svgis excluded by!**/*.svg,!**/*.svg
📒 Files selected for processing (10)
massgen/configs/features/fast_iteration.yamlmassgen/frontend/displays/textual_terminal_display.pymassgen/frontend/displays/textual_themes/base.tcssmassgen/frontend/displays/textual_widgets/__init__.pymassgen/frontend/displays/textual_widgets/agent_status_ribbon.pymassgen/frontend/displays/textual_widgets/content_sections.pymassgen/mcp_tools/standalone/checkpoint_instructions.mdmassgen/mcp_tools/standalone/checkpoint_mcp_server.pymassgen/mcp_tools/standalone/setup_instructions.pymassgen/tests/test_checkpoint_mcp_standalone.py
✅ Files skipped from review due to trivial changes (2)
- massgen/frontend/displays/textual_widgets/init.py
- massgen/frontend/displays/textual_widgets/agent_status_ribbon.py
docs: docs for v0.1.82
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (5)
README.md (1)
158-166: Consider matching “Latest Features” bullets with the more detailed announcement.In
## 🆕 Latest Features (v0.1.82)you describe theCtrl+Shift+Stoggle (Line [163]-[164]), but the release announcement also highlights auto-restore on exit (Lines [5]-[6] in the announcement file). For consistency, you may want to add a short second bullet under “TUI Copy Mode” or extend the existing bullet.Based on coding guidelines: “Documentation must be consistent with implementation, concise, and usable.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` around lines 158 - 166, Update the "## 🆕 Latest Features (v0.1.82)" section to match the announcement by adding the auto-restore behavior to the TUI Copy Mode bullet: locate the "TUI Copy Mode" bullet under the header and either append a short clause like "auto-restores on exit" to the existing line referencing the Ctrl+Shift+S toggle or add a second indented bullet describing "auto-restore on exit" so the README text matches the announcement's behavior.CHANGELOG.md (2)
46-49: Avoid repeating the same Docker change in multiple places unless intentional.The Docker image reference appears in “Changed” (lines ~40-42) and again under “Documentation, Configurations and Resources” (lines ~48-49) for
massgen/configs/features/fast_iteration.yaml. If the second mention is intended to highlight docs updates, it may be better to explicitly note documentation changes vs config changes to prevent reader confusion.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@CHANGELOG.md` around lines 46 - 49, The changelog currently repeats the Docker image change for massgen/configs/features/fast_iteration.yaml in two sections; update the entry so the configuration change is listed only once (under the "Changed" or "Configurations" heading) and, if you must note documentation updates, add a separate clarifying line under "Documentations, Configurations and Resources" that explicitly states it’s a docs-only update (e.g., "Documentation: noted Docker image reference in fast_iteration.yaml for clarity") to avoid duplication and confusion between config vs docs changes.
34-42: Potential duplicate/overlap between “Recent Releases” summary and detailed v0.1.82 section.Lines ~12-14 provide a short summary of the same items expanded in the detailed section (lines ~25-45). This isn’t necessarily wrong, but it increases maintenance cost if future edits are made to one but not the other. Consider either:
- making the “Recent Releases” line a shorter pointer (e.g., “See detailed entry below”), or
- ensuring the same PR references/phrasing stay aligned.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@CHANGELOG.md` around lines 34 - 42, The "Recent Releases" summary duplicates content from the detailed "v0.1.82" section, increasing maintenance burden; update CHANGELOG by either shortening the "Recent Releases" line to a pointer like "See v0.1.82 below" or sync the language/PR refs so both the "Recent Releases" heading and the "v0.1.82" section (which lists TUI Ribbon Dividers, Checkpoint changes, templated workspace, and Docker image reference) match exactly; ensure PR `#1076` and the same bullet items (`agent_status_ribbon.py`, `checkpoint_mcp_server.py`, workspace template mention, and `fast_iteration.yaml`) are either removed from the summary or mirrored verbatim to avoid divergence.README_PYPI.md (2)
1560-1567: Verify the v0.1.83 roadmap issue references and titles.The v0.1.83 roadmap lists:
- issue
#1026(Line 1566),- issue
#994(Line 1567),
with specific problem statements.Please confirm these links still point to the intended issues and that the wording matches what’s in the issues (or update wording if the issues were renamed/re-scoped).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README_PYPI.md` around lines 1560 - 1567, Check the v0.1.83 roadmap block in README_PYPI.md and verify that GitHub issue links for `#1026` and `#994` resolve to the intended issues and that their titles/descriptions match the roadmap text; if an issue has been renamed or re-scoped, update the roadmap wording to match the current issue title/summary (or replace the link with the correct issue number) and ensure the two bullets for "Checkpoint Safety Mode for Irreversible Actions" and "Fix: Round Evaluator Over-indexes on Incremental Fixes" reflect the exact current issue titles and scope.
165-171: Verify the “Try v0.1.82 Features” install + example config path.The snippet instructs users to:
- install
massgen==0.1.82(Line 167), and- run
uv run massgen --config@examples/features/fast_iteration.yaml...(Line 168),
then referencesmassgen/configs/README.md#release-history--examples(Line 171).Please confirm:
- the
@examples/features/fast_iteration.yamlfile exists in the published package/docs,- the config path is correct relative to how
@...is resolved in MassGen,- the
#release-history--examplesanchor renders as expected.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README_PYPI.md` around lines 165 - 171, Check that the example path and anchor in the README are valid: verify that the published package (massgen==0.1.82) or docs include the file examples/features/fast_iteration.yaml, confirm how MassGen resolves `@-prefixed` config paths (e.g., in the code that handles config loading where the resolver interprets "@examples/...") and update the README if resolution expects a different prefix or relative path, and ensure the referenced anchor "release-history--examples" actually exists in massgen/configs/README.md (rename or adjust the anchor text to match the generated heading if it differs).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@CHANGELOG.md`:
- Around line 23-54: The header "### Documentations, Configurations and
Resources" in the CHANGELOG.md v0.1.82 entry is pluralized incorrectly; update
that header to "### Documentation, Configurations and Resources" to match the
project's existing changelog style and ensure consistency with other entries
(search for the exact header string "### Documentations, Configurations and
Resources" and replace it with "### Documentation, Configurations and
Resources").
In `@docs/announcements/github-release-v0.1.82.md`:
- Around line 1-23: The release notes jump from a top-level H1 to H3 sections;
update each "###" section header to "##" so headings increment by one level
(change "### 📋 TUI Copy Mode", "### 🔒 Checkpoint Standalone Improvements",
"### 🖥️ TUI Visual Polish", "### 🐳 Configuration", and "### 📖 Getting
Started" to use "##") to satisfy the markdownlint rule about incremental heading
levels.
In `@README_PYPI.md`:
- Around line 157-164: The import of COPY_MODE_BINDING and
set_terminal_mouse_capture in textual_terminal_display.py references a missing
module .textual_widgets.copy_mode_banner; to fix, either add the missing
copy_mode_banner.py implementing COPY_MODE_BINDING and
set_terminal_mouse_capture (and any UI banner widget used by the
comments/actions) under massgen/frontend/displays/textual_widgets, or change
textual_terminal_display.py to import the correct existing module that provides
those symbols and update references at the call sites (mentions at lines with
the copy mode banner comment and the "Toggle copy mode (Ctrl+Shift+S)" action);
ensure the Ctrl+Shift+S keybinding is declared consistently (COPY_MODE_BINDING)
and that set_terminal_mouse_capture toggles terminal mouse tracking as expected
so the binding can be validated.
---
Nitpick comments:
In `@CHANGELOG.md`:
- Around line 46-49: The changelog currently repeats the Docker image change for
massgen/configs/features/fast_iteration.yaml in two sections; update the entry
so the configuration change is listed only once (under the "Changed" or
"Configurations" heading) and, if you must note documentation updates, add a
separate clarifying line under "Documentations, Configurations and Resources"
that explicitly states it’s a docs-only update (e.g., "Documentation: noted
Docker image reference in fast_iteration.yaml for clarity") to avoid duplication
and confusion between config vs docs changes.
- Around line 34-42: The "Recent Releases" summary duplicates content from the
detailed "v0.1.82" section, increasing maintenance burden; update CHANGELOG by
either shortening the "Recent Releases" line to a pointer like "See v0.1.82
below" or sync the language/PR refs so both the "Recent Releases" heading and
the "v0.1.82" section (which lists TUI Ribbon Dividers, Checkpoint changes,
templated workspace, and Docker image reference) match exactly; ensure PR `#1076`
and the same bullet items (`agent_status_ribbon.py`, `checkpoint_mcp_server.py`,
workspace template mention, and `fast_iteration.yaml`) are either removed from
the summary or mirrored verbatim to avoid divergence.
In `@README_PYPI.md`:
- Around line 1560-1567: Check the v0.1.83 roadmap block in README_PYPI.md and
verify that GitHub issue links for `#1026` and `#994` resolve to the intended issues
and that their titles/descriptions match the roadmap text; if an issue has been
renamed or re-scoped, update the roadmap wording to match the current issue
title/summary (or replace the link with the correct issue number) and ensure the
two bullets for "Checkpoint Safety Mode for Irreversible Actions" and "Fix:
Round Evaluator Over-indexes on Incremental Fixes" reflect the exact current
issue titles and scope.
- Around line 165-171: Check that the example path and anchor in the README are
valid: verify that the published package (massgen==0.1.82) or docs include the
file examples/features/fast_iteration.yaml, confirm how MassGen resolves
`@-prefixed` config paths (e.g., in the code that handles config loading where the
resolver interprets "@examples/...") and update the README if resolution expects
a different prefix or relative path, and ensure the referenced anchor
"release-history--examples" actually exists in massgen/configs/README.md (rename
or adjust the anchor text to match the generated heading if it differs).
In `@README.md`:
- Around line 158-166: Update the "## 🆕 Latest Features (v0.1.82)" section to
match the announcement by adding the auto-restore behavior to the TUI Copy Mode
bullet: locate the "TUI Copy Mode" bullet under the header and either append a
short clause like "auto-restores on exit" to the existing line referencing the
Ctrl+Shift+S toggle or add a second indented bullet describing "auto-restore on
exit" so the README text matches the announcement's behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3ba3ac63-96db-4d55-9e6b-83965a7e66fe
📒 Files selected for processing (13)
CHANGELOG.mdCONTRIBUTING.mdREADME.mdREADME_PYPI.mdROADMAP.mdROADMAP_v0.1.83.mddocs/announcements/archive/v0.1.81.mddocs/announcements/current-release.mddocs/announcements/feature-highlights.mddocs/announcements/github-release-v0.1.81.mddocs/announcements/github-release-v0.1.82.mddocs/source/index.rstmassgen/configs/README.md
💤 Files with no reviewable changes (1)
- docs/announcements/github-release-v0.1.81.md
✅ Files skipped from review due to trivial changes (8)
- ROADMAP_v0.1.83.md
- docs/announcements/feature-highlights.md
- docs/announcements/archive/v0.1.81.md
- CONTRIBUTING.md
- massgen/configs/README.md
- docs/source/index.rst
- docs/announcements/current-release.md
- ROADMAP.md
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (1)
docs/announcements/github-release-v0.1.82.md (1)
3-19:⚠️ Potential issue | 🟡 MinorUse
##section headings under the H1 to fix markdownlint MD001.These headings jump from H1 (
#) to H3 (###). Change section headers to##to keep heading levels incremental.🔧 Proposed diff
-### 📋 [TUI Copy Mode](https://docs.massgen.ai/en/latest/user_guide/tui.html) +## 📋 [TUI Copy Mode](https://docs.massgen.ai/en/latest/user_guide/tui.html) -### 🔒 [Checkpoint Standalone Improvements](https://docs.massgen.ai/en/latest/user_guide/checkpoint.html) +## 🔒 [Checkpoint Standalone Improvements](https://docs.massgen.ai/en/latest/user_guide/checkpoint.html) -### 🖥️ TUI Visual Polish +## 🖥️ TUI Visual Polish -### 📖 Getting Started +## 📖 Getting Started🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/announcements/github-release-v0.1.82.md` around lines 3 - 19, The release notes jump from H1 to H3 headings causing markdownlint MD001; update the section headings under the top-level H1 so they use H2 instead of H3—specifically change "### 📋 TUI Copy Mode", "### 🔒 Checkpoint Standalone Improvements", and "### 🖥️ TUI Visual Polish" (and any other H3s immediately under the H1) to "##" so heading levels are incremental and MD001 is resolved.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@CHANGELOG.md`:
- Line 45: Update the CHANGELOG.md entry for "Updated Checkpoint Instructions:
`massgen/mcp_tools/standalone/checkpoint_instructions.md`" to include the
corresponding issue or PR reference (e.g., “(PR `#1234`)” or “(Issue `#1234`)”),
placing the reference inline with the entry to match the release section style
used elsewhere; locate the entry by the file path string
`massgen/mcp_tools/standalone/checkpoint_instructions.md` and append the correct
PR/issue number to the line.
- Around line 31-43: The changelog entries for "Checkpoint Plan Quality
Criteria", "Checkpoint Agent Recovery Guidance", and the "Checkpoint Workspace
Section Templated" change are missing explicit file paths; update each bullet to
include the affected file(s): mention the
`_build_checkpoint_plan_quality_criteria` function/file location (where that
helper lives) for the Plan Quality Criteria entry, add
`checkpoint_instructions.md` (or the exact docs path) for the Agent Recovery
Guidance entry, and include the template/code location that introduces
`{workspace_section}` and `include_workspace_context` (e.g.,
`massgen/mcp_tools/standalone/checkpoint_mcp_server.py` or the exact module that
injects the workspace_section) for the Workspace Section entry so every listed
change has a precise file path for traceability.
---
Duplicate comments:
In `@docs/announcements/github-release-v0.1.82.md`:
- Around line 3-19: The release notes jump from H1 to H3 headings causing
markdownlint MD001; update the section headings under the top-level H1 so they
use H2 instead of H3—specifically change "### 📋 TUI Copy Mode", "### 🔒
Checkpoint Standalone Improvements", and "### 🖥️ TUI Visual Polish" (and any
other H3s immediately under the H1) to "##" so heading levels are incremental
and MD001 is resolved.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: c0638a37-2cda-4516-8655-15615ea81b88
📒 Files selected for processing (2)
CHANGELOG.mddocs/announcements/github-release-v0.1.82.md
|
@coderabbitai pause |
✅ Actions performedReviews paused. |
PR Title Format
Your PR title must follow the format:
<type>: <brief description>Valid types:
fix:- Bug fixesfeat:- New featuresbreaking:- Breaking changesdocs:- Documentation updatesrefactor:- Code refactoringtest:- Test additions/modificationschore:- Maintenance tasksperf:- Performance improvementsstyle:- Code style changesci:- CI/CD configuration changesExamples:
fix: resolve memory leak in data processingfeat: add export to CSV functionalitybreaking: change API response formatdocs: update installation guideDescription
Brief description of the changes in this PR
Type of change
fix:) - Non-breaking change which fixes an issuefeat:) - Non-breaking change which adds functionalitybreaking:) - Fix or feature that would cause existing functionality to not work as expecteddocs:) - Documentation updatesrefactor:) - Code changes that neither fix a bug nor add a featuretest:) - Adding missing tests or correcting existing testschore:) - Maintenance tasks, dependency updates, etc.perf:) - Code changes that improve performancestyle:) - Changes that do not affect the meaning of the code (formatting, missing semi-colons, etc.)ci:) - Changes to CI/CD configuration files and scriptsChecklist
Pre-commit status
How to Test
Add test method for this PR.
Test CLI Command
Write down the test bash command. If there is pre-requests, please emphasize.
Expected Results
Description/screenshots of expected results.
Additional context
Add any other context about the PR here.
Summary by CodeRabbit
Release Notes v0.1.82
New Features
UI Improvements