Skip to content

feat(mpc): identify accepted plan decisions - #899

Merged
frahlg merged 2 commits into
masterfrom
agent/mpc-decision-identity
Aug 11, 2026
Merged

feat(mpc): identify accepted plan decisions#899
frahlg merged 2 commits into
masterfrom
agent/mpc-decision-identity

Conversation

@frahlg

@frahlg frahlg commented Aug 11, 2026

Copy link
Copy Markdown
Member

Summary

  • Assign a Core-owned UUID only after the latest replan passes the publish gate.
  • Use (decision_id, slot_start_ms) as the stable planned-action key.
  • Carry the ID through the live plan, diagnostic JSON/SQLite, restart restore, and SlotDirective.
  • Reject overlapping input slots before any solver runs.
  • Reject solver output unless its action count, start, and length match every input slot.
  • Keep legacy diagnostics valid with an empty ID.

Scope

This changes only Core MPC files. It does not change the external optimizer wire format, database schema, control dispatch, driver commands, or measured-outcome tracking. It adds the join key needed for that later work.

Verification

  • make verify-all
  • Focused decision, chronology, restore, persistence, and latest-wins tests: 200 runs
  • The same focused concurrency paths with the race detector: 25 runs
  • Three final read-only reviews: no P0-P3 findings

Part of #885.

@frahlg
frahlg merged commit 68c95ff into master Aug 11, 2026
14 checks passed
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.

1 participant