Skip to content

Feature Request: Add "Optional" or "Future" Section Support in fix_plan.md #239

@1642409273

Description

@1642409273

Summary

Currently, Ralph's exit condition checks if all - [ ] checkboxes in fix_plan.md are completed. However, there's no semantic distinction between "Low Priority (required but deferred)" and "Optional (not
required)".

This leads to AI confusion:

  • AI sees "Low Priority" items with - [ ] format
  • AI interprets them as "optional" and doesn't implement
  • But Ralph treats them as "required", blocking exit
  • Result: AI neither implements nor exits → infinite loop

Problem Statement

Current behavior:

    • format = required for exit (blocks Condition 6)
  • No way to mark items as "truly optional"

AI's interpretation challenge:

  • "Low Priority" is ambiguous - does it mean "required but do later" or "optional/future"?
  • AI may choose not to implement, but also hesitate to exit
  • Creates deadlock: not implementing + not exiting

Example Scenario

High Priority

  • Core feature implementation

Medium Priority

  • Additional features

Low Priority

  • Configurable settings
  • Frontend integration
  • SMS/Email notifications ← Are these required or optional?

AI thinks: "Core done, Low Priority seems optional, I'll wait"
Ralph thinks: "Not all checkboxes done, keep looping"

Proposed Solution

Add semantic support for truly optional items:

Option A: Recognize special section headers

Optional

  • Frontend integration
  • SMS verification

Future Enhancements

  • Multi-language support

These sections would NOT block Condition 6 exit.

Option B: Use different list format

Low Priority (Required)

  • Must implement later

Optional / Nice to Have

  • Frontend integration (not blocking)
  • SMS verification (not blocking)

Items using * instead of - [ ] would not count toward completion check.

Option C: Add configuration in .ralphrc

Sections that don't block exit

OPTIONAL_SECTIONS="Optional,Future Enhancements,Nice to Have"

Benefits

  1. Clearer semantics for AI: knows which items are truly optional
  2. Faster exit when core work is done
  3. Reduces wasted loops on optional items
  4. Better user control over exit conditions

Environment

  • Ralph version: latest
  • Observed: 177 loops wasted on a completed captcha feature because AI couldn't decide whether to implement "Low Priority" items or exit

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions