Skip to content

Harden canonical NodeAgent workbook execution#197

Open
HomenShum wants to merge 11 commits into
mainfrom
codex/nodeagent-prod-route-evidence
Open

Harden canonical NodeAgent workbook execution#197
HomenShum wants to merge 11 commits into
mainfrom
codex/nodeagent-prod-route-evidence

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

Summary

  • make durable workbook runs lease-fenced, idempotent, and exactly-once accounted
  • persist nonempty hash-chained step traces and correlate selected-job telemetry
  • enforce hard remaining-turn spend across concrete and free model failover
  • terminalize workflow failures honestly without zero-usage successor runs

Verification

  • focused reliability suite: 133 tests passed
  • NodeAgent frame smoke: PASS
  • Omnigent NodeAgent compatibility: 5/5 plus frame PASS
  • npm run floor: 331 files / 2,303 tests passed
  • npm run prod:gate: PASS (317.7s)
  • independent read-only release review: SHIP, no P0-P2 findings

@vercel

vercel Bot commented Jul 15, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
noderoom Ready Ready Preview, Comment Jul 15, 2026 1:35pm

Request Review

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

Scaffold Handoff — For Your Coding Agent

Your coding agent (Codex, Claude Code, etc.) should apply the accepted
scaffold proposals below. Do NOT touch any immutable files.

Immutability Check

Mode: advisory

✅ No immutable files were modified in this branch.

Changed Files

  • convex/agent.ts
  • convex/agentJobRunner.ts
  • convex/agentJobs.ts
  • convex/agentRuns.ts
  • convex/agentStepChain.ts
  • convex/agentStepJournal.ts
  • convex/agentStepJournalClient.ts
  • convex/agentSteps.ts
  • convex/agentWorkflows.ts
  • convex/credits.ts
  • convex/schema.ts
  • docs/eval/OFFICIAL_BENCHMARK_READINESS.md
  • docs/eval/OFFICIAL_BENCHMARK_TASK_COVERAGE.md
  • docs/eval/OPENROUTER_CONVEX_BENCHMARK.md
  • docs/eval/agent-improvement-loop.md
  • docs/eval/agent-improvement-loop.svg
  • docs/eval/agent-improvement-loop/20260715T133456Z.json
  • docs/eval/agent-improvement-loop/latest.json
  • docs/eval/agent-workspace-sandbox-smoke.json
  • docs/eval/algorithm-artifact-smoke.json
  • docs/eval/bankertoolbench-official-contract.json
  • docs/eval/docker-sandbox-probe.json
  • docs/eval/eval-runs.jsonl
  • docs/eval/halo-convex-context-telemetry.json
  • docs/eval/halo-self-improvement-smoke.json
  • docs/eval/halo-variant-selection.json
  • docs/eval/official-benchmark-readiness.json
  • docs/eval/official-benchmark-task-coverage.json
  • docs/eval/openrouter-convex-benchmark.json
  • docs/eval/professional-catalog-proofs.json
  • docs/eval/professional-proof-ledger.json
  • docs/eval/spreadsheetbench-chart-visual-probe.json
  • docs/eval/traces/credit/20260715T133505495Z-6f0ec8e8_dirty.c0b3b1d51ec25dd9/cascade-healthy.json
  • docs/eval/traces/credit/20260715T133505495Z-6f0ec8e8_dirty.c0b3b1d51ec25dd9/delta-incomplete.json
  • docs/eval/traces/credit/20260715T133505495Z-6f0ec8e8_dirty.c0b3b1d51ec25dd9/mapping-correct.json
  • docs/eval/traces/credit/20260715T133505495Z-6f0ec8e8_dirty.c0b3b1d51ec25dd9/mapping-misbind.json
  • docs/eval/traces/credit/20260715T133505495Z-6f0ec8e8_dirty.c0b3b1d51ec25dd9/summit-stressed.json
  • docs/eval/traces/ladder/20260715T133504997Z-6f0ec8e8_dirty.739f87f46b6e0715/ladder_L1_read_scripted.json
  • docs/eval/traces/ladder/20260715T133504997Z-6f0ec8e8_dirty.739f87f46b6e0715/ladder_L2_edit_scripted.json
  • docs/eval/traces/ladder/20260715T133504997Z-6f0ec8e8_dirty.739f87f46b6e0715/ladder_L3_conflict_scripted.json
  • docs/eval/traces/ladder/20260715T133504997Z-6f0ec8e8_dirty.739f87f46b6e0715/ladder_L4_blocked_scripted.json
  • docs/eval/traces/ladder/20260715T133504997Z-6f0ec8e8_dirty.739f87f46b6e0715/ladder_L5_large_range_scripted.json
  • docs/eval/traces/ladder/20260715T133504997Z-6f0ec8e8_dirty.739f87f46b6e0715/ladder_L6_long_horizon_scripted.json
  • docs/eval/traces/ladder/20260715T133504997Z-6f0ec8e8_dirty.739f87f46b6e0715/ladder_L7_resume_scripted.json
  • e2e/benchmark-ui-spreadsheetbench-generic.spec.ts
  • package-lock.json
  • package.json
  • scripts/spreadsheetbench-merge-repair-report.ts
  • scripts/spreadsheetbench-official-v2-project.ts
  • scripts/spreadsheetbench-refresh-excel.py
  • scripts/spreadsheetbench-run-chunked.ts
  • scripts/spreadsheetbench-run.ts
  • src/app/store.tsx
  • src/eval/spreadsheetBenchNodeAgentBridge.ts
  • src/eval/spreadsheetBenchReportRepair.ts
  • src/eval/spreadsheetBenchRunner.ts
  • src/eval/spreadsheetBenchScorer.ts
  • src/eval/spreadsheetBenchWorkbookEmitter.ts
  • src/nodeagent/core/formulaEngine.ts
  • src/nodeagent/core/proofloopSupervisor.ts
  • src/nodeagent/core/runtime.ts
  • src/nodeagent/core/types.ts
  • src/nodeagent/guardrails/workbookWorkflow.ts
  • src/nodeagent/integrations/modelInterop.ts
  • src/nodeagent/models/adapter.ts
  • src/nodeagent/models/convexModel.ts
  • src/nodeagent/models/modelCatalog.ts
  • src/nodeagent/models/phaseModel.ts
  • src/nodeagent/models/qualityFailover.ts
  • src/nodeagent/skills/spreadsheet/cellMutator.ts
  • src/nodeagent/skills/spreadsheet/workbookTaskIntelligence.ts
  • src/nodeagent/traces/traceRedaction.ts
  • src/ui/RoomShell.tsx
  • tests/agentJobsRuntime.test.ts
  • tests/agentJobsSource.test.ts
  • tests/agentRuntime.test.ts
  • tests/convexCredits.test.ts
  • tests/convexModelFreeAutoMode.test.ts
  • tests/formulaEngine.test.ts
  • tests/gatewayAndJournal.test.ts
  • tests/idempotencyRuntime.test.ts
  • tests/modelAdapterFreeAutoMode.test.ts
  • tests/modelAdapterProviderNeutralRoute.test.ts
  • tests/nodeagentTraceSpine.test.ts
  • tests/phaseModel.test.ts
  • tests/proofloopSupervisor.test.ts
  • tests/qualityFailover.test.ts
  • tests/roomShellTelemetry.test.ts
  • tests/spreadsheetBenchNodeAgentBridge.test.ts
  • tests/spreadsheetBenchOfficialV2Project.test.ts
  • tests/spreadsheetBenchReportRepair.test.ts
  • tests/spreadsheetBenchScorer.test.ts
  • tests/spreadsheetBenchWorkbookEmitter.test.ts
  • tests/spreadsheetbench_refresh_excel_test.py
  • tests/workArtifacts.test.ts
  • tests/workbookAgentTools.test.ts
  • tests/workbookTaskIntelligence.test.ts
  • tests/workbookWorkflowHook.test.ts

Needs Adversarial Review — Do NOT Apply Yet

These proposals passed the reject check but have not been approved by
an adversarial reviewer. A human or frozen LLM judge must approve them first.

  • scaf-001 (AGENTS.md): Add explicit instruction for step spreadsheetbench-runner-fixture: Step spreadsheetbench-runner-fixture failed — scaffold may need explicit instruction or evidence assertion.
  • scaf-002 (AGENTS.md): Add explicit instruction for step convex-boundaries: Step convex-boundaries failed — scaffold may need explicit instruction or evidence assertion.

Safety Boundary

Agent may improve the scaffold.
Agent may NOT weaken the proof gate.

Immutable files (never modify):

  • scripts/proofloop.mjs
  • scripts/agent-improvement-loop.ts
  • tests/harnessChangeEval.test.ts
  • .github/workflows/
  • src/eval/evalTrustPolicy.ts
  • src/eval/architectureBudget.ts
  • evals/evalStore.ts

Scaffold files (safe to modify):

  • AGENTS.md
  • CLAUDE.md
  • proofloop/scenarios/*.yaml
  • proofloop/rubrics/*.yaml
  • proofloop/subagents/*.md
  • proofloop/adapters/*.js
  • .proofloop/memory.jsonl
  • src/nodeagent/models/prompts/systemPrompt.ts

convex: fence durable workbook jobs and persist exact trace accounting
src: enforce routed spend budgets and correlate live telemetry
tests: cover lease, retry, trace, routing, and UI regressions
Covers scripts, src runtime, and tests for traced workbook execution and official projection.
Covers src runtime and tests for original-first workbook mutation reads.
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.

1 participant