Skip to content

Qualify the method judge with source context and native reasoning - #8

Open
hudsonaikins wants to merge 5 commits into
codex/native-provider-creditsfrom
codex/analyst-judge-context
Open

hudsonaikins wants to merge 5 commits into
codex/native-provider-creditsfrom
codex/analyst-judge-context

Conversation

@hudsonaikins

@hudsonaikins hudsonaikins commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

The method judge previously penalized valid pre-truncated snapshots and equivalent calculations, then treated answers that named their limited population as having no disclosure. This change supplies evaluator-only source context, makes caveat categories explicit, and uses native Anthropic JSON output at high effort. A partly scoped answer receives 0.5; a false broader claim still receives zero. Truncated assessments are rejected and their usage retained.

Native Haiku 5.5 passed all 10 frozen controls at the benchmark's 8192-token allowance: six original controls plus four prospectively authored sensor contrasts. The passing run cost an estimated $0.068076; earlier failures and the truncated 2048-token run remain preserved. These controls are targeted evaluator evidence, not human calibration or analyst accuracy. Numerical references, scoring tolerances and analyst code remain unchanged.

Validation: 252 tests passed, 15 optional skips; Ruff lint/format, Vulture, diff and Gitleaks checks passed. Actual SDK-payload tests verify high effort, JSON output, truncation rejection and usage accounting. LangSmith read-back matched 10 outputs and 20 feedback records. Passing experiment. Details and previous attempts: results/judge-context-validation.md; configuration rationale: docs/judge-native-output.md.

Stacked on PR #10 for native provider routing and bounded token accounting. The evaluator gate now passes; the fresh 92-response paired analyst campaign is the next separate requirement. Method scores remain uncalibrated and advisory. No release or deployment is included.

@hudsonaikins
hudsonaikins force-pushed the codex/analyst-judge-context branch from d21ed12 to c3ddb22 Compare November 13, 2026 23:51
@hudsonaikins
hudsonaikins changed the base branch from main to codex/native-provider-credits November 13, 2026 23:51
@hudsonaikins hudsonaikins changed the title Give the method judge validated snapshot and source context Qualify the method judge with source context and native reasoning Nov 14, 2026
@hudsonaikins
hudsonaikins marked this pull request as ready for review November 14, 2026 02:08
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 14, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-14T02:13:28.264349Z b056994 Draft marked ready
🔒 Security Review ❌ Failed 2026-11-14T02:09:01.367688Z
We couldn’t complete this review. Comment @codex security review to try again.
b056994 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

The account paying for this security review has reached its Codex usage limits. The payer can check the Codex usage dashboard. For personal accounts, using credits requires enabling “Use credits for security reviews” in Code review settings. If you do not manage the paying account, contact this repository's admins.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b056994226

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +402 to +403
"judge_context": scores.get("judge_method", {}).get("context"),
"judge_assessments": scores.get("judge_method", {}).get("assessments"),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve judge details in LangSmith records

When an experiment uses run_langsmith, its score dictionaries are reconstructed from LangSmith results and only metrics is copied back from evaluation_usage; the new context and assessments entries are discarded before record() reads them. Consequently, every LangSmith JSONL record writes both of these fields as null, losing the source-context and raw-assessment audit trail that local runs retain. Copy these entries back alongside the metrics, or build the record from the original scored dictionaries.

Useful? React with 👍 / 👎.

Comment on lines +89 to +102
profile = {
"name": table.name,
"row_count": table.row_count,
"columns": [{"name": c.name, "type": c.type} for c in table.columns],
"key_counts": {},
}
if isinstance(store, SQLiteStore):
for column in table.columns:
key, name = column.name, _quoted(column.name)
if key == "id" or key.endswith("_id"):
row = store.query(
f"SELECT COUNT({name}), COUNT(DISTINCT {name}) FROM {_quoted(table.name)}"
).rows[0]
profile["key_counts"][key] = {"non_null": row[0], "distinct": row[1]}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep answer-valued aggregates out of judge context

The new context sends exact row counts and distinct/non-null ID counts to the LLM judge, even when those aggregates are the scenario's reference value—for example, the transactions row count directly answers orii-l1-01, and customers.customer_unique_id's distinct count directly answers olist-l1-02. Timestamp null counts can likewise reveal pending-count answers. This lets the method judge check or infer numerical correctness instead of evaluating only reasoning, contaminating method scores on those scenarios; restrict the payload to structural/grain indicators that cannot equal requested results, or keep these checks entirely deterministic.

AGENTS.md reference: AGENTS.md:L22-L23

Useful? React with 👍 / 👎.

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