fix(#3533): effort inherit — expressible, omitted at writers, never re-added (#3541)

This commit is contained in:
Tom Boucher
2026-08-15 07:00:44 -04:00
committed by GitHub
parent 500df8e37f
commit 50d5368add
10 changed files with 284 additions and 8 deletions

View File

@@ -744,7 +744,12 @@ function resolveProviderEscalation(
// ─── #443 — Unified effort + fast_mode resolvers ─────────────────────────────
const VALID_EFFORTS = ['minimal', 'low', 'medium', 'high', 'xhigh', 'max'];
const EFFORT_SET = new Set(VALID_EFFORTS);
// #3533 (10d): the VOCABULARY carries one more member than the LADDER —
// 'inherit' is a declarable effort choice ("follow the session", expressed by
// OMITTING the effort key at the writer) but not a level nextEffort may step
// into. Keeping it out of VALID_EFFORTS means escalation (resolveEffortForTier)
// never walks past an explicit inherit: nextEffort('inherit') is null.
const EFFORT_SET = new Set([...VALID_EFFORTS, 'inherit']);
/**
* Walk one step up the effort ladder from `e`.