feat(control-plane): MW Phase 3 B4 — durable reel.completed outbox (Option B) - #7
Merged
Conversation
… (MW Phase 3 B4 pt1)
Add the frozen JSON-Schema for the reel.completed handoff DTO
{run_id, status, reel_ref, source_execution_id, duration_s, beat_count},
auto-registered by presence exactly like research.completed. This is the
PREREQUISITE for announce() validation.
New registry/validation/freeze tests mirror research.completed's.
research.completed registry tests stay green (53 passed total).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… by AgentNodeID (MW Phase 3 B4 pt2, Option B)
Generalize completeExecution's terminal-write outbox hook to select the builder
by exec.AgentNodeID (events.BuildCompletedOutboxRecord — a tiny ordered builder
registry), and add BuildReelCompletedOutboxRecord mirroring the research one. A
reel-af completion now appends com.silmari.reel.completed.v1 IN THE SAME terminal
state-write tx as the execution result — identical durability path (C-Outbox /
C-AtLeastOnce) to research.completed. No new lossy mechanism.
DTO {run_id, status, reel_ref, source_execution_id, duration_s, beat_count};
video/narration body never leaks (C-Notification). Subject = execution_id
(C-Correlation). Emits for succeeded only.
research.completed unchanged — its builder is untouched and first in the registry;
its event + wiring tests stay green. New closure tests mirror research's:
in-tx append for reel node, no append for unrelated agents.
go test ./internal/events/ ./internal/handlers/ : ok / ok.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Performance
✓ No regressions detected |
This was referenced Jul 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MW Phase 3 B4 (human-approved Option B). (1) Registers frozen com.silmari.reel.completed.v1 contract. (2) Generalizes completeExecution to select the outbox builder by AgentNodeID + adds BuildReelCompletedOutboxRecord, so reel-af completions append reel.completed.v1 in the SAME terminal-write tx as research.completed (preserves C-Outbox/C-AtLeastOnce). Go: ok events+handlers; Python 53 passed (research.completed unchanged). Pairs with reel-af announce (PR Agent-Field#14) + deep-research dispatch (DR PR #3).