Skip to content

[Night Shift] Add sendBrokerShutdown timeout and --context flag#293

Open
Pgarciapg wants to merge 5 commits intoopenai:mainfrom
Pgarciapg:exec-assistant/2026-05-04
Open

[Night Shift] Add sendBrokerShutdown timeout and --context flag#293
Pgarciapg wants to merge 5 commits intoopenai:mainfrom
Pgarciapg:exec-assistant/2026-05-04

Conversation

@Pgarciapg
Copy link
Copy Markdown

Summary

  • fix: Add 5-second timeout to sendBrokerShutdown function to prevent indefinite hangs during SessionEnd hook. Implements proper cleanup with timer.unref() matching the pattern in waitForBrokerEndpoint.
  • feat: Add --context flag to /codex command allowing users to pass additional context when delegating tasks. Context is appended to the prompt with a separator.

Test plan

  • All existing tests pass (92 tests)
  • Manual test: Verify SessionEnd hook completes even if broker is unresponsive
  • Manual test: Run /codex:rescue --context "additional info" fix the bug and verify context appears in prompt

🤖 Generated with Claude Code

Pgarciapg and others added 5 commits April 3, 2026 00:06
…olation

Add tests/args.test.mjs covering parseArgs (boolean flags, value options,
inline values, short aliases, passthrough positionals, missing value error)
and splitRawArgumentString (space splitting, single/double quotes, backslash
escaping, trailing backslash). Add tests/prompts.test.mjs covering
interpolateTemplate (single key, multiple keys, unknown key, no placeholders,
duplicate key).

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Cover graceful output when codex returns empty stdout, correct error
message formatting on non-zero exit codes and signals, timeout/stall
handling with slow-task and interruptible-slow-task behaviors, cancel
interruption of running turns, parseStructuredOutput edge cases, and
binaryAvailable for missing binaries. Add "empty-stdout" behavior to
the fake codex fixture.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
…EADME

The README documented all 7 commands and the rescue subagent but omitted
the three internal skills (codex-cli-runtime, codex-result-handling,
gpt-5-4-prompting) that ship with the plugin. Add them to the "After
install" section with a note that they are not user-invocable.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Add a 5-second timeout to sendBrokerShutdown to prevent indefinite hangs
during SessionEnd hook. Implements proper cleanup matching the pattern
used in waitForBrokerEndpoint with timer.unref() for graceful shutdown.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add --context flag to allow users to pass additional context string when
delegating tasks. The context is appended to the prompt with a separator.
Updates argument parsing, passes context through task request flow, and
documents the flag in SKILL.md and commands.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@Pgarciapg Pgarciapg requested a review from a team May 4, 2026 05:07
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 839050010f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

}

const contextSuffix = request.context ? `\n\n---\n\nAdditional context:\n${request.context}` : "";
const fullPrompt = request.prompt ? `${request.prompt}${contextSuffix}` : "";
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Apply --context when resuming without a prompt

--context is silently dropped for task --resume/--resume-last calls that omit a new prompt. In executeTaskRun, fullPrompt is only built when request.prompt is truthy, so resume runs with only defaultPrompt never include the context text. This breaks the documented behavior of passing extra context and affects follow-up rescue flows where users resume a thread and provide constraints via --context only.

Useful? React with 👍 / 👎.

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