Skip to content

feat(todo): add blocked and dropped task statuses - #1832

Merged
Alan-TheGentleman merged 1 commit into
mainfrom
feat/todo-blocked-dropped
Oct 6, 2026
Merged

Alan-TheGentleman merged 1 commit into
mainfrom
feat/todo-blocked-dropped

Conversation

@Alan-TheGentleman

@Alan-TheGentleman Alan-TheGentleman commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Linked issue

Closes #1814 (status:approved).
Closes #1820 (status:approved).

PR type

  • New feature (type:feature)

Summary

  • Add dropped (✕): a terminal status for tasks a change of plan made obsolete. It never counts as open, so a list of only done and dropped finishes, clears, and leaves the prompt. It leaves the done of total count, renders dim without strikethrough, and folds into ✕ N dropped in long lists. cancelled, canceled, and abandoned are accepted as aliases.
  • Add blocked (⊘, warning role): open but not actionable. It requires a note (blocked needs a note naming what it waits for), renders that note next to the title, never makes the list stale on its own, and the collapsed card skips it when choosing the next task.
  • ODD guidance in assets/orchestrator-memory.md covers projecting both from the feature document: dropped tasks get a ## Log reason and never satisfy their dependents; blocked tasks name their unblocking condition; an in-list prerequisite is ordering, not blocking.

Review path

Area Change
lib/shell-todo.ts New statuses, aliases, note rule, open/stale semantics, card rendering, prompt rules line.
extensions/gentle-todo.ts Tool schema enums, note description, and two prompt guidelines.
assets/orchestrator-memory.md Pi-only todo projection guidance (not part of the gentle-ai routing canon, which is cross-runtime).
docs/gentle-shell.md Gentle Todo section documents the five statuses.
Tests One test per rule in shell-todo, extension lifecycle and schema in gentle-todo, guidance in odd-integration.

TodoSummary keeps its shape; open now excludes dropped tasks. Herdr only reads in_progress titles and is unaffected.

Verification

  • RED first: 7 new library tests, the schema test, and the ODD guidance test failed before the change; all pass after it.
  • node --experimental-strip-types --test tests/shell-todo.test.ts tests/gentle-todo.test.ts: 40 passed.
  • Contract tests (odd-integration, odd-routing-contract, task-size-routing-contract, orchestrator-budget, artifact-language, odd-routing-canonical-ratchet): 75 passed.
  • npm test: 4,979 passed, 34 skipped, 0 failed; provider-contract and runtime harness passed (run before the final asset edit, whose contract tests were rerun above).
  • npm run typecheck: no regressions. node scripts/verify-package-files.mjs and git diff --check passed.

Summary by CodeRabbit

  • New Features

    • Todo lists now support blocked tasks, which require a note explaining what they’re waiting on, and dropped tasks for work that will not be completed.
    • Blocked tasks remain visible without making a list stale. Dropped tasks are treated as finished but do not count as done.
    • Todo guidance now distinguishes external blockers from task prerequisites and explains how to resume or drop tasks.
  • Documentation

    • Updated task status descriptions and behavior, including accepted aliases for dropped tasks.

blocked keeps a task open but not actionable: it requires a note naming
what it waits for, never makes the list stale, and the collapsed card
skips it. dropped is terminal: it never counts as open, leaves the
done-of-total count, and renders dim without strikethrough. ODD guidance
covers projecting both from the feature document.

Closes #1814
Closes #1820
@Alan-TheGentleman Alan-TheGentleman added the type:feature New feature label Oct 6, 2026
@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: b6bf4ae4-4ac2-4572-a744-0e998bc828f0
📥 Commits

Reviewing files that changed from the base of the PR and between 69c9b5a and a33982c.

📒 Files selected for processing (7)
  • assets/orchestrator-memory.md
  • docs/gentle-shell.md
  • extensions/gentle-todo.ts
  • lib/shell-todo.ts
  • tests/gentle-todo.test.ts
  • tests/odd-integration.test.ts
  • tests/shell-todo.test.ts
 ____________________________________________________________________
< Never go full rewrite. You don't buy that? Ask Netscape Navigator. >
 --------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@Alan-TheGentleman
Alan-TheGentleman merged commit 49a2b3d into main Oct 6, 2026
7 of 9 checks passed
@Alan-TheGentleman
Alan-TheGentleman deleted the feat/todo-blocked-dropped branch October 6, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(todo): a blocked status for tasks waiting on something outside the list feat(todo): a dropped status for tasks a change of plan made obsolete

1 participant