Skip to content

fix(web): consume plans on new-thread implementation - #1203

Merged
juliusmarminge merged 5 commits into
pingdotgg:mainfrom
UtkarshUsername:fix/consume-plan-on-new-thread-implementation
Apr 1, 2026
Merged

juliusmarminge merged 5 commits into
pingdotgg:mainfrom
UtkarshUsername:fix/consume-plan-on-new-thread-implementation

Conversation

@UtkarshUsername

@UtkarshUsername UtkarshUsername commented Mar 19, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #978
Continues #1133 (see https://pr-navigator.pages.dev/t3code-utkarsh).

What Changed

This extends plan consumption to the Implement in a new thread flow #1133.

PR 1133 introduced the shared plan-consumption plumbing and applied it to same-thread Implement. This PR wires the remaining caller: when the user chooses Implement in a new thread, the new thread’s thread.turn.start command now includes sourceProposedPlan.

That allows the existing orchestration and runtime-ingestion path to mark the source proposed plan as implemented when the new thread’s implementation turn actually starts, so the original plan thread no longer has the "Plan Ready" label.

Why

Before this change, the same-thread implementation flow consumed the plan, but the new-thread implementation flow still started an implementation turn without identifying which source plan it came from.

That left the original thread in a stale "Plan Ready" state even though the plan was already being implemented elsewhere.

This PR keeps the behavior consistent across both implementation entrypoints by reusing the same source-plan mechanism introduced in PR 1133.

UI Changes

Combined the before/after videos and posted it on X because the files' sizes were too large to upload here: https://x.com/UtkarshUsername/status/2033161459447087223?s=20

PR Context

This PR continues on top of:

  • fix/consume-plan-on-same-thread-implementation

See https://pr-navigator.pages.dev/t3code-utkarsh.
image

Made this a different PR because it solves a different pre-existing problem. Actually, I had solved this first, but changed the order to make reviewing easier.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included a video for animation/interaction changes

Note

[!NOTE]

Include sourceProposedPlan metadata in orchestration dispatch for new-thread flow

When starting a new thread from a proposed plan, the orchestration action payload in ChatView.tsx now includes a sourceProposedPlan object carrying the originating threadId and planId. This ensures the plan is consumed/associated correctly when a thread is created from it.

Macroscope summarized c84b472.


Note

Low Risk
Small, localized change that only adds metadata to an existing orchestration dispatch; risk is limited to plan-consumption behavior and edge cases around missing/incorrect plan IDs.

Overview
Fixes the "Implement in a new thread" flow to pass sourceProposedPlan in the thread.turn.start orchestration command, linking the new implementation turn back to the originating proposed plan (by threadId/planId).

This enables the existing plan-consumption path to mark the original plan as implemented so the source thread no longer remains in a stale "Plan Ready" state when implementation starts in a separate thread.

Written by Cursor Bugbot for commit c84b472. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitai Bot commented Mar 19, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: baac4105-32cb-49a6-aea0-a42f6745449c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 and usage tips.

@github-actions github-actions Bot added size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Mar 19, 2026
@juliusmarminge
juliusmarminge merged commit 64d6938 into pingdotgg:main Apr 1, 2026
10 checks passed
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
polymaniadeveloper-hub pushed a commit to Tevin2119/t3code that referenced this pull request Oct 3, 2026
…emselves

From the review of the T3 transitions (task pingdotgg#1203: Claude Opus, GLM, Kimi,
DeepSeek; nothing blocking):

- A move sends the column the card was seen in; the engine refuses it if
  the card stands elsewhere now, so a stale drop cannot become a step
  nobody asked for.
- A refused column in the task view can be chosen: it moves nothing and
  shows why, for sighted users on any device as well as screen readers. It
  was disabled, with the reason only in a tooltip that could not appear.
- A second press while a request is out says so instead of vanishing.
- The lane hint names a step as its button does (Mark part as reviewed,
  Try publishing again); a card in a refused lane shows no drop ring.
- Triage while a seat works is refused with that reason.
- Publishing sends the commit the dialog names.
- Team defaults are saved with the revision they were read at, and the
  engine refuses a save over a newer one; the seat dialogs keep the save's
  answer until the next read arrives, then take the read, and never empty
  the form on an answer they cannot read.
- The Seats button says on screen why it is disabled.
- A seat's defined fallbacks fall back to the chain in use on an engine
  that does not send them.
- The Claude usage comment no longer says the capabilities budget bounds
  the usage request.

Needs the engine at Operation-PaperClip fix/transitions-2.

Typecheck clean; lint adds nothing new; deliveryBoard and delivery tests 62
of 62.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Link planning and implementation threads when using Implement in new thread

3 participants