Skip to content

P448: derive goal controls from execution, not stored goal state - #1133

Merged
trissim merged 4 commits into
mainfrom
fix/p448-derived-goal-controls
Oct 21, 2026
Merged

trissim merged 4 commits into
mainfrom
fix/p448-derived-goal-controls

Conversation

@trissim

@trissim trissim commented Oct 21, 2026

Copy link
Copy Markdown

P448: goal controls consume the derived execution owner

Draft, paired with Core #2529 (636c5311d). Do not install either side alone.

GoalSession already owns the bound display, execution, controls and modal lifetime. Its interactions now use that same owner for captions, visibility and actions. ToggleInteraction asks GoalExecution for its toggle/label instead of reconstructing execution from stored goal state. GoalBar's existing execution watcher updates the same control loop, including ledger-only changes.

Deleted all three ThreadGoalExecution imports/annotations and the test enum constructors; no compatibility alias, new status field or second observation path. Preserved source-binding checks, rejected-write refresh, draft/focus behavior, standby animation and collapse/resize owners. Scripted goal replies now include their matching execution instead of silently giving a present goal IdleGoalExecution.

Source evidence

Refactor-audit Package parsed all 283 production modules at Toad main 242e173, zero omissions. Related declarations, inheritance, imports, calls and consumers were read before the edit. Core's execution owner and reviewed reissue factory remain in #2529, not reimplemented here. Dynamic rebinding is outside AST proof. Patterns: IMPL-2 enum fixture constructors removed; no TIME-3 alias of the retired execution base.

Verification

Not yet run at this first checkpoint. Focused affected goal tests, real failed-ledger/active-goal paint, native stop/relaunch, fresh DM/reply and physical paired Toad acceptance remain required. No local ratchets or full suite. No installed acceptance or full P448 delivery claimed.

Assumed:

  • Core's captured GoalSnapshot supplies the decision/execution together.
  • Server-side ledger authorization remains authoritative for Retry; showing Retry never grants UNKNOWN replay.
  • Paired source tests are not an installation proof. The merger still owns the fresh practice installation on the pushed paired heads.

@trissim
trissim marked this pull request as ready for review October 21, 2026 21:51
Copilot AI balanced review requested due to automatic review settings October 21, 2026 21:51
@trissim
trissim merged commit 91073f0 into main Oct 21, 2026
1 of 2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

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.

3 participants