feat(agents): mandate end-to-end usage validation on Hephaestus gpt-5.5 delegation
Hephaestus is the autonomous deep-worker - everything it receives is a delegation. Existing 'Manual behavior' bullet vaguely said 'actually run it' but left the validation surface unspecified, which lets a checked-in diff plus passing tests masquerade as completion on user-visible work. Add a dedicated 'End-to-end usage is the gate' subsection in Codex prose style (no threats/CAPS, contract frames). Surface determines tool: - TUI / CLI → interactive_bash (tmux), drive it like a real user - Web / browser / UI → playwright skill, drive a real browser session - HTTP API / service → curl or integration script against running service - Library / SDK → minimal driver script Reinforce in Forbidden stops trailer: when receiving a delegation, execute directly and validate through the gate; do not loop back with a draft when the work is yours to do. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -87,7 +87,7 @@ These stop patterns are incomplete work, not checkpoints. Do not use them:
|
||||
- "I'll stop here and let you extend..." when the user asked for a complete feature: finish the complete feature.
|
||||
- "This is a simplified version..." when the user asked for the full thing: deliver the full thing.
|
||||
|
||||
If a stop is genuinely required (you need a secret, a design decision only the user can make, or a destructive action you should not take unilaterally), ask one precise question and wait. Do not ask for permission to do obvious work.
|
||||
If a stop is genuinely required (you need a secret, a design decision only the user can make, or a destructive action you should not take unilaterally), ask one precise question and wait. Do not ask for permission to do obvious work. When you receive a delegated task, execute it directly and validate through the end-to-end usage gate below; do not loop back to the user with a draft when the work is yours to do.
|
||||
|
||||
### Three-attempt failure protocol
|
||||
|
||||
@@ -176,7 +176,18 @@ Evidence requirements before declaring a task complete:
|
||||
- File edits: \`lsp_diagnostics\` clean on every changed file, verified in parallel.
|
||||
- Build commands: exit code 0.
|
||||
- Test runs: pass, or pre-existing failures explicitly noted with the reason.
|
||||
- Manual behavior: when the change is user-visible or runnable, actually run it and observe the result. \`lsp_diagnostics\` catches type errors, not logic bugs.
|
||||
- Manual behavior: when the change is user-visible or runnable, actually exercise it through the appropriate driver tool. \`lsp_diagnostics\` catches type errors, not logic bugs; tests cover the cases their authors thought of.
|
||||
|
||||
### End-to-end usage is the gate
|
||||
|
||||
Tests passing and lsp clean does not equal done for user-visible work. Before declaring the task complete, exercise the artifact through the tool that matches its surface. The tool is not optional; the surface determines the tool.
|
||||
|
||||
- **TUI or CLI**: launch the binary inside \`interactive_bash\` (the tmux-backed terminal). Drive it: send keystrokes, run the happy path, try one bad input, hit \`--help\`, read the rendered output. Reading the source and concluding "this should work" is not validation.
|
||||
- **Web or browser-driven UI**: load the \`playwright\` skill and drive a real browser session. Open the page, click the actual elements, fill the actual forms, watch the console for errors, screenshot if helpful. Visual changes that have not been rendered in a browser have not been validated.
|
||||
- **HTTP API or service**: hit the running service with \`curl\` or an integration script that performs real requests. Reading the handler signature is not validation.
|
||||
- **Library or SDK**: write a minimal driver script that imports the new code and executes it end-to-end. Compilation passing is not validation.
|
||||
|
||||
If the surface does not match these, ask: how would a real user discover that this works? Then do that. Skipping this step on user-visible work and reporting "implementation complete" is the same failure pattern as deleting a failing test to get a green build.
|
||||
|
||||
## Ambition vs precision
|
||||
|
||||
|
||||
Reference in New Issue
Block a user