Skip to content

fix(agents): harden tier fallback runtime#529

Merged
HomenShum merged 1 commit into
mainfrom
fix/agent-tier-fallback-errors
Jul 14, 2026
Merged

fix(agents): harden tier fallback runtime#529
HomenShum merged 1 commit into
mainfrom
fix/agent-tier-fallback-errors

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

Summary

  • route queued FastAgent turns through tier-eligible models with one exact, maximum reservation and cumulative input-plus-output step caps
  • retain the conservative maximum for ambiguous provider failures, fence retries/releases by exact attempt and queue lease, and keep UTC/cache accounting stable
  • propagate durable cancellation through the provider and Linkup fetch, with one bounded Linkup call per logical run and no nested unmetered model path
  • render persisted active and terminal run states so owner-visible failures no longer look like silent hangs
  • add the runtime/UI regressions to Runtime smoke CI and document the shared contracts in AGENT_COORDINATION.md

Production incident fixed

Signed-in production dogfood after #528 persisted user messages but produced no assistant output. The worker selected gemini-3-flash-preview despite the stored kimi-k2.6 choice, then failed because that Gemini model was unavailable on the free tier. The UI masked the terminal worker error. This PR fixes the routing, accounting, cancellation, and presentation chain together.

P0 size exception

This is a cohesive P0 runtime safety repair across the provider boundary, atomic billing ledger, additive schema, queue lease, UI projection, and exact regressions. Splitting those contracts would create intermediate states that can either call a provider without the matching reservation semantics or continue masking terminal failures.

Verification

  • npx tsc --noEmit --pretty false
  • npx tsc -p convex --noEmit --pretty false
  • runtime/accounting + release/UI focused gate: 57/57
  • full FastAgentPanel suite: 213 passed, 19 skipped
  • design system: 13/13
  • design linter: exit 0, 0 high findings (existing medium/low baseline only)
  • npm run build: 7,900 modules, PWA 406 entries; Shiki remains split across 556 assets
  • git diff --check
  • three independent read-only reviewers: P0, accounting/concurrency, and runtime/release all APPROVE

Release

P0 workflow: required CI only, squash auto-merge, no admin bypass. Production will be dogfooded once after merge/deploy before this is called live.

@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nodebench-ai Ready Ready Preview, Comment Jul 14, 2026 4:01pm

Request Review

@HomenShum HomenShum enabled auto-merge (squash) July 14, 2026 16:00
@github-actions

Copy link
Copy Markdown

PR size advisory

This PR adds 3687 lines of substantive change. CONTRIBUTING.md defines a soft limit of ~400 LOC.

If the PR is genuinely cohesive (e.g. an architecture map, a generated migration, a deletion of a dead module), no action is needed. Otherwise consider:

  • splitting into 2-3 PRs along independent concerns
  • pre-discussing the architecture change in a GitHub Discussion before merge

This is advisory — it does not block the merge.

@github-actions

Copy link
Copy Markdown

✅ Dogfood Visual QA Gate: PASSED

Check Status
Screenshots 23 captured (pass)
Walkthrough 9 chapters (pass)
Key Frames 9 extracted (pass)
Scribe Steps 8 how-to steps (pass)
Build success
Artifacts

Download the dogfood-evidence-faedcd0 artifact from the Actions tab for full screenshots, frames, and walkthrough video.


Generated by Dogfood QA Gate

@HomenShum HomenShum merged commit c403525 into main Jul 14, 2026
16 of 18 checks passed
@HomenShum HomenShum deleted the fix/agent-tier-fallback-errors branch July 14, 2026 16:07
@github-actions

Copy link
Copy Markdown

Demo: walkthrough of the surfaces this PR changed is available as a workflow artifact (pr-demo-529) at https://github.com/HomenShum/NodeBenchAI/actions/runs/29348292341

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants