feat(autoland): per-repo lander model/effort; fix runs resolve on the AFK chain #190
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/coding-lab!190
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "afk/189"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #189
Lander model/effort knobs
lander_model/lander_effort(migration pair0016_lander_model_effort.sql, both dialects, lockstep-numbered). NULL = inherit the existing resolution — no existing repo gains an override.LaunchLanderandLaunchEscalatefeed the columns as strict per-spawn requests intoResolveModelEffortvia a sharedlanderRequestModelEfforthelper (one validation class, one set of knobs — no separate escalate override). An unknownlander_model/lander_effortfails the launch loudly; an effort in the provider union but outside the resolved model's own catalog is rejected (the #156 per-model rule holds, for free, by resolving model+effort in one call).lander_provider's registry check). Model/effort catalogs are per-provider and dynamic (#156/#157) and the lander's effective provider isn't knowable at write time — strictness is enforced where it's meaningful, at launch. Pinned by tests on both surfaces.Fix runs join the normal AFK chain
fixProvider, the model/effort warn-fallback ladder inLaunchFix, andstore.AuthoringRunForBranch(plus its test) are gone.LaunchFixand the producer's auth gate both resolve with empty requests throughResolveProvider/ResolveModelEffortunderRunKindFix, which is already an AFK kind — repo AFK override → global AFK override → base.Tests
TestSpawnOnce_rejectSpawnsFixRunOnAFKChain(authoring row sonnet/high, AFK overrides fable/xhigh, base opus[1m]/max → fix run must carry fable/xhigh) and the fix-forward cycle integration test keeps its seeded haiku/low authoring row precisely to prove it is ignored.Verified:
go build ./...,go test ./...(all packages),golangci-lint run(0 issues),tsc --noEmit,vitest run(871 tests),eslint,prettier --check,vite build— all green.🤖 Generated with Claude Code