feat(protocol): declared-phase faculty (declare_phase tool) — Auto-mode foundation#14
Merged
Merged
Conversation
Foundation for Auto mode's bijective climber. The model declares its cognitive phase each turn (slow = context loading, fast = execution) via a new declare_phase tool, emitting EventMsg::PhaseDeclared. Why: the climber guard must distinguish a legitimate slow-phase turn (produces no plan step on purpose) from a ralph loop. A phase transition is a structural climb signal, not an inference — Structure Determines Action. - protocol: Phase enum (Slow/Fast), DeclarePhaseArgs, EventMsg::PhaseDeclared - core: declare_phase tool spec + PhaseHandler (parses args, emits event), registered alongside update_plan - rollout/rollout-trace/mcp-server: cover PhaseDeclared in EventMsg matches The faculty is registered but inert until Auto mode + the climber guard consume it (next slice). declare_phase emits PhaseDeclared into the event stream; the guard reads it from there. Tests: spec well-formed + args round-trip. codex-core builds clean. Co-Authored-By: Claude <noreply@anthropic.com>
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.
Foundation for Auto mode's bijective climber. The model declares its cognitive phase each turn (slow = context loading, fast = execution) via a new
declare_phasetool, emittingEventMsg::PhaseDeclared.Why: the climber guard must distinguish a legitimate slow-phase turn (produces no plan step on purpose — the chess-master loading phase) from a ralph loop. A phase transition is a structural climb signal, not an inference. SDA.
What's in:
Phaseenum (Slow/Fast),DeclarePhaseArgs,EventMsg::PhaseDeclareddeclare_phasetool spec +PhaseHandler(parses args, emits event), registered alongsideupdate_planPhaseDeclaredinEventMsgmatchesInert by design. The faculty is registered but does not change agent behavior until Auto mode + the climber guard consume it (next slice).
declare_phaseemits into the event stream; the guard reads from there. The app-server_catch-all covers it (not forwarded to TUI yet — that comes with the guard).Proven: spec well-formed + args round-trip tests green; codex-core builds clean.
🤖 Generated with Claude Code