Skip to content

feat(labs): add blind model evaluations and orchestration guidance - #53

Merged
ScriptedAlchemy merged 15 commits into
mainfrom
feat/blind-model-evaluation
Nov 5, 2026
Merged

ScriptedAlchemy merged 15 commits into
mainfrom
feat/blind-model-evaluation

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

T3 orchestration has no project-specific record of how a model handled earlier tasks. This adds optional blind evaluations and brief guidance agents can consult when choosing models and writing delegated prompts.

Behavior

  • Settings → Labs → Model evaluations on web/desktop and mobile. The Judge model picker is independent of the working model; it can also follow the existing text-generation default.
  • Eligible Claude and Pi instances judge a bounded packet of the request, context, final response, and recorded outcomes. Known model/provider identities are removed. The judge runs without tools or project customizations and can abstain when evidence is insufficient.
  • Project reports retain evidence-backed scores, strengths, weaknesses, and prompting advice, separated by candidate and judge settings. Agents receive bounded advisory guidance through orchestrator_capabilities; explicit user model choices take precedence.
  • Durable jobs handle retries, changed or deleted evidence, settings changes, rollbacks, and history clearing. Evaluation failures do not block completion of the user's task.

Review and simplification

The review fixed selected Pi thinking options, isolated Claude execution with subscription authentication, failed-tool evidence, recent verification retention, cancelled requests, and unavailable/mixed judge selections.

The cleanup removes the duplicate evaluation runtime and silent fallback, reuses the mobile model-menu builder, shares one verdict validator, and simplifies guidance serialization and the eval runner. Dry runs write prompts only. Tests now provide evaluation dependencies explicitly.

Verification

  • 500 tests across 23 files passed: the affected-file suite plus shared model-picker and peer integration coverage.
  • 7 React compiler checks passed; the corrected mobile component also passed its targeted rerun.
  • All 35 affected packages passed typechecking with caching disabled and single-threaded TypeScript.
  • Formatting, lint, both knip passes, GraphQL generation, and the native addon build passed. The required check:changed run hit the environment's cached typecheck launcher failure; its lint finding was fixed and rechecked, and the affected typechecks were completed without caching.
  • Four synthetic judge cases passed the dry run, which writes prompts only and makes no model calls.

This remains a draft: the repository's test-t3-app and test-t3-mobile skills require T3 Browser/Device tools unavailable in this session. Live web/mobile verification and judge calibration remain pending. Identity filtering cannot remove every clue from writing style or task content.

Implemented and reviewed with GPT-6 Astra Pro in ChatGPT.

@changeset-bot

changeset-bot Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 081bd84

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

ScriptedAlchemy and others added 14 commits November 3, 2026 00:53
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Extend the existing identity regression and retain evaluation isolation assertions.

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
The ambient GitHub shim enabled extra config reads absent from recorded provider frames.

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
…wlines

Names that followed a newline in command output, diffs, or subagent reports kept
their escaped line break as a word character and slipped past the redactor. Names
followed by version digits (Qwen3), bare GPT, and several newer model families also
survived. Redaction now runs on each string before serialization, derives family
tokens from the evaluated model id, and drops Claude's subagent usage trailer.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…onment

With one environment in scope, "Select that environment" had nowhere to go.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uation

Moves ModelEvaluations to migration 088 after main claimed 086 and 087.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Kiro arrived from upstream without a judge entry and reports it as unsupported, like other drivers without text generation. Two tests adapt to effect 4.1 command args and crypto layers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…conciliation

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	apps/mobile/src/features/settings/ThreadSettingsSections.tsx
#	evals/README.md
# Conflicts:
#	apps/server/src/auth/RpcAuthorization.test.ts
#	apps/server/src/auth/RpcAuthorization.ts
#	apps/server/src/observability/RpcInstrumentation.ts
#	apps/server/src/orchestration-v2/EffectWorker.test.ts
#	apps/server/src/orchestration-v2/EffectWorker.ts
#	apps/server/src/provider/agentContextBudget.json
#	apps/server/src/server.ts
#	apps/server/src/ws.test.ts
#	apps/server/src/ws.ts
#	packages/client-runtime/package.json
#	packages/contracts/src/rpc.ts
#	packages/contracts/src/settings.ts
@ScriptedAlchemy
ScriptedAlchemy marked this pull request as ready for review November 5, 2026 01:04
@ScriptedAlchemy
ScriptedAlchemy merged commit 34cf3a9 into main Nov 5, 2026
16 checks passed
@ScriptedAlchemy
ScriptedAlchemy deleted the feat/blind-model-evaluation branch November 5, 2026 01:05
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