Skip to content

Fix missing sentinel file in pipeline execution task prompts#691

Merged
Iron-Ham merged 1 commit into
mainfrom
Iron-Ham/959dd21c-we-recently-implemented-ultrap
Mar 20, 2026
Merged

Fix missing sentinel file in pipeline execution task prompts#691
Iron-Ham merged 1 commit into
mainfrom
Iron-Ham/959dd21c-we-recently-implemented-ultrap

Conversation

@Iron-Ham
Copy link
Copy Markdown
Owner

Summary

  • Task instances spawned via the Orchestration 2.0 pipeline path were not writing .claudio-task-complete.json sentinel files because the bridge's BuildTaskPrompt did not include the completion protocol
  • The protocol was only injected via --append-system-prompt-file, which silently failed to reach instances
  • Embeds the completion protocol directly in the user prompt as the primary mechanism, with the system prompt injection as defense-in-depth

Details

The old execution path (phase/ExecutionOrchestrator) used prompt.TaskBuilder which embedded the completion protocol directly in the user prompt. The 2.0 pipeline path (bridge + bridgewire) used a minimal BuildTaskPrompt that relied entirely on --append-system-prompt-file to inject the protocol via the Claude Code CLI flag. If that flag didn't propagate (version mismatch, path issue, silently ignored), instances had no knowledge of sentinel files.

The bridge package can't import orchestrator/prompt (import cycle), so completionFileName is duplicated as a local constant with documentation pointing to the canonical source.

Test plan

  • go test ./internal/bridge/... -race passes
  • go test ./internal/orchestrator/bridgewire/... -race passes
  • go test ./internal/orchestrator/prompt/... -race passes
  • go vet ./... clean
  • gofmt -d . clean
  • New test assertions verify completion protocol is present when taskID is set and absent when empty

The bridge's BuildTaskPrompt relied solely on --append-system-prompt-file
to inject the sentinel file instructions into task instances. If the
system prompt injection failed silently, instances had no knowledge of
the .claudio-task-complete.json convention and tasks would time out.

Embed the completion protocol directly in the user prompt as the primary
mechanism, with the system prompt injection as defense-in-depth.
@Iron-Ham Iron-Ham marked this pull request as ready for review March 20, 2026 22:41
@Iron-Ham Iron-Ham merged commit c0f6626 into main Mar 20, 2026
6 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