Add per-run system prompt extension hook - #597
Open
KirschBluteX wants to merge 1 commit into
Open
Conversation
KirschBluteX
force-pushed
the
codex/issue-532-system-prompt-hook
branch
from
August 18, 2026 01:27
d7e7018 to
54a2dda
Compare
KirschBluteX
force-pushed
the
codex/issue-532-system-prompt-hook
branch
from
August 22, 2026 04:49
37ae32b to
a151f0e
Compare
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.
Summary
before_agent_startextension hook that chains run-scoped system prompt replacements in registration order.AgentHarnessrun argument so initial, tool-loop, and overflow-retry requests share it while the configured base prompt and transcript stay unchanged.Handler exceptions and invalid returns are diagnosed and skipped, so later handlers still run. Static prompt guidelines remain supported and are included in the structured input snapshot. Reload and session replacement refresh that snapshot without persisting run-specific replacements.
The branch is rebased onto the current
mainrelease head (62eab4e).Verification
Current-head checks run in this workspace:
uv run pytest tests/test_extensions.py -k "before_agent_start or per_run_system_prompt or prompt_guideline"(4 passed)uv run pytest tests/test_agent_harness.py -k "system_override or teardown_base_exception"(2 passed)uv run pytest tests/test_example_extensions.py tests/test_package_metadata.py(18 passed)uv run ruff check .uv run ruff format --check --no-cache .git diff --checkThe full Windows pytest run reaches only existing platform-specific failures (path casing, POSIX shell commands, file permissions, and TUI sizing); the feature-focused tests pass. Hugo and a Linux runtime are unavailable in this workspace, so the earlier Linux baseline (
1533 passed, 3 skipped) is historical pre-rebase evidence rather than a current-head claim.uv run mypyreaches only the existing Windows-onlyfcntldiagnostics insrc/tau_coding/project_trust.py.Closes #532