Skip to content

fix(task): preserve silent template overrides - #12215

Merged
jdx merged 3 commits into
jdx:mainfrom
risu729:agent/task-template-silent-provenance
Aug 22, 2026
Merged

jdx merged 3 commits into
jdx:mainfrom
risu729:agent/task-template-silent-provenance

Conversation

@risu729

@risu729 risu729 commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • distinguish an omitted silent field from an explicit silent = false while applying task templates
  • preserve that field-presence information after inheriting a template value

Bug example

A template can set silent = true while one extending task explicitly sets silent = false. The resolved value is false in both the explicit-false and omitted cases, so the template previously reapplied true and made the explicitly audible task silent. Omitted tasks still inherit true; explicit false now remains false.

Testing

  • mise run lint-fix
  • mise run test:e2e e2e/tasks/test_task_templates

AI-assisted — Tool: Codex; model: openai/gpt-5; version: unavailable.

Summary by CodeRabbit

  • Bug Fixes

    • Task templates now correctly inherit the silent setting when it is omitted.
    • Explicitly setting silent = false is preserved, ensuring tasks remain audible when configured.
  • Tests

    • Added end-to-end coverage for boolean inheritance and explicit overrides.

@coderabbitai

coderabbitai Bot commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 28bf16c6-14c8-4577-a6f1-3b1509fec4f5

📥 Commits

Reviewing files that changed from the base of the PR and between 7a94d1b and bfa2037.

📒 Files selected for processing (2)
  • e2e/tasks/test_task_templates
  • src/task/task_template.rs
🚧 Files skipped from review as they are similar to previous changes (2)
  • e2e/tasks/test_task_templates
  • src/task/task_template.rs

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

Task template merging now distinguishes omitted silent values from explicit silent = false values. End-to-end tests verify inheritance of true and preservation of explicit false.

Changes

Task template silent inheritance

Layer / File(s) Summary
Preserve explicit silent configuration
src/task/task_template.rs, e2e/tasks/test_task_templates
Task::merge_template uses TOML field presence to resolve silent. Tests verify inherited true and explicit false values.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to bfa20

This localized change preserves explicit task overrides while allowing omitted values to inherit template defaults; no actionable merge-blocking risk remains beyond normal checks and review.

Poem

A rabbit checks the silent switch,
Omitted values inherit true.
Explicit false stays audible,
Tests confirm the setting too.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes preserving explicit task-level silent overrides during template inheritance.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (1 skipped: 1 unsupported.)
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR distinguishes an omitted task silent field from an explicit silent = false during template inheritance.

  • Gates template inheritance on TOML field-presence metadata rather than the resolved enum value.
  • Records inherited presence so subsequent overlays preserve the resolved setting.
  • Adds end-to-end coverage for omitted inheritance and explicit-false overrides.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
src/task/task_template.rs Updates silent-template merging to preserve explicit false values and inherited provenance; no eligible blocking issue was identified.
e2e/tasks/test_task_templates Adds end-to-end assertions covering inherited true and explicitly overridden false silent values.

Reviews (3): Last reviewed commit: "Merge branch 'main' into agent/task-temp..." | Re-trigger Greptile

@risu729
risu729 marked this pull request as ready for review August 20, 2026 15:27
@coderabbitai

coderabbitai Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@jdx
jdx merged commit edd4ff7 into jdx:main Aug 22, 2026
30 checks passed
@risu729
risu729 deleted the agent/task-template-silent-provenance branch August 23, 2026 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants