fix(run): address round-2 gadfly nits (max(), drop dead soft fallback, decouple doc)
executus CI / test (pull_request) Successful in 49s
executus CI / test (pull_request) Successful in 49s
All low-severity follow-ups on the critic-deadline change:
- hardCap uses max(CriticAbsoluteMax, maxRuntime) instead of a nested if (723193a7).
- Drop the now-dead 90s soft-trigger fallback + its bare literal: the sole caller
passes the resolved MaxRuntime (>0), and Run's unsupervised-run failsafe bounds
even an impossible 0 (8d377051, 2f86bf58).
- Decouple the kernel doc from a named downstream convar ("a 6h host convar")
(730c67fc).
Graded false-positive: agent.go BackstopMultiplier validation (handled in the host;
not in this diff), the 24h default "magic number" (matches every withFallbacks
default), and the defer-in-conditional pattern (idiomatic). Kept: the thorough
two-tier comment (this logic regressed once) and the rare-path nested timer.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jo75sqmeVPgFUWZQBn179X
This commit is contained in:
+4
-7
@@ -44,18 +44,15 @@ func (e *Executor) criticOwnsDeadline(ra RunnableAgent) bool {
|
||||
// is the soft wake (mort's two-tier semantics — the critic first reviews once the
|
||||
// run exceeds its nominal budget, and its backstop = softTrigger × multiplier).
|
||||
// The caller (Run) always passes the resolved MaxRuntime, which withFallbacks
|
||||
// guarantees is > 0; the 90s floor below is purely a defensive guard for a
|
||||
// hypothetical caller that passes a non-positive value.
|
||||
// guarantees is > 0, so no fallback is needed here. (A non-positive soft would make
|
||||
// the host Monitor return no handle, and Run's unsupervised-run failsafe then bounds
|
||||
// the run at MaxRuntime — so even that impossible case stays bounded.)
|
||||
func (e *Executor) startCritic(runCtx context.Context, cancelCause context.CancelCauseFunc, ra RunnableAgent, info RunInfo, softTrigger time.Duration) (*criticBinding, func()) {
|
||||
noop := func() {}
|
||||
if !e.criticOwnsDeadline(ra) {
|
||||
return nil, noop
|
||||
}
|
||||
soft := softTrigger
|
||||
if soft <= 0 {
|
||||
soft = 90 * time.Second // defensive only; the sole caller passes MaxRuntime (>0)
|
||||
}
|
||||
h := e.cfg.Ports.Critic.Monitor(runCtx, info, soft)
|
||||
h := e.cfg.Ports.Critic.Monitor(runCtx, info, softTrigger)
|
||||
if h == nil {
|
||||
return nil, noop
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user