Skip to content

docs(taxonomy): #299 LLM quality delta investigation (read-only, 0 run) — gpt-5.5 pivot + dormant /v1/responses - #855

Merged
jsboige merged 1 commit into
masterfrom
docs/299-llm-quality-delta-investigation
Jul 23, 2026
Merged

docs(taxonomy): #299 LLM quality delta investigation (read-only, 0 run) — gpt-5.5 pivot + dormant /v1/responses#855
jsboige merged 1 commit into
masterfrom
docs/299-llm-quality-delta-investigation

Conversation

@jsboige

@jsboige jsboige commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

What

#299 LLM translation quality — delta investigation (dispatched by ai-01 msg-gvpl31, tick 88, SECONDARY). Read-only — 0 run live (all 48 task configs Enabled=false, T&A freeze). 0 prod-CSV. INPUT for the post-T&A activation decision.

#299 is already closed — this is a delta, not a redo

#299 is CLOSED with a complete provider benchmark by jsboige (2026-05-17): OpenRouter claude-sonnet-4 (best quality + fastest 7s), OpenAI gpt-4.1-mini (reliable fallback), Myia qwen + ZAI glm-5.1 (reasoning-overhead, too slow for batch). jsboige's comment already measured the reasoning-overhead failure mode:

"Reasoning model uses tokens for thinking before generating content. Even with 4000 max_tokens, the reasoning consumed all tokens before producing output."

That is the same root cause later formalized for gpt-5.5 in [[gpt55-responses-api-effort-low]] — jsboige observed it empirically 2 months before the gpt-5.5 pivot. This doc does not redo the benchmark (it is closed and valid for its era); it characterizes what changed since.

The delta (two changes stale the benchmark)

1. The gpt-5.5 pivot

The benchmark tested gpt-4.1-mini / claude-sonnet-4 / glm-5.1 / qwen. Today (DatasetUpdaterRootConfig.cs, f70b20dc):

Model n tasks
gpt-5.5 44
gpt-5.4 4

Neither benchmark winner is configured (gpt-4.1-mini = 0, claude-sonnet-4 = 0). The fleet pivoted to gpt-5.5 — a reasoning model, the class jsboige flagged over-budget on Chat Completions.

2. The /v1/responses plumbing is dormant

PR #852 (merged f70b20dc) added the Responses-API path (reversible, default off). Empirical scan: UseResponsesApi set on 0/48 tasks, ReasoningEffort on 0/48. All 44 gpt-5.5 tasks are wired to legacy Chat Completions → the empty-Content failure mode is latent (would fire if Enabled flipped today).

Decision space for post-T&A activation

Option Path Model Verdict
A Chat Completions gpt-5.5 (current) ❌ empty-Content — don't activate as-is
B Chat Completions revert to gpt-4.1-mini / claude-sonnet-4 (#299 winners) proven by #299, discards gpt-5.5 reasoning
C /v1/responses + reasoning.effort=low (#852, OFF today) gpt-5.5 intended per dashboard metric; untested (didn't exist when #299 ran)

Recommendation (for ai-01 synthesis, not a verdict): Option C is the intended config (dashboard metric: gpt-5.5 /v1/responses, reasoning:{effort:"low"}, max_output_tokens=7000). Before any post-T&A campaign, flip UseResponsesApi=true + ReasoningEffort="low" on gpt-5.5 tasks + run a 5-record pilot (not full Phase 1) to confirm usable Content — Option C couldn't be tested by #299.

Governance (what this did NOT do)

Refs

🤖 Generated with Claude Code

…n) — gpt-5.5 pivot + dormant /v1/responses

#299 SECONDARY investigation dispatched by ai-01 (msg-gvpl31, tick 88). Read-only,
0 run live (Enabled=false on 48/48 tasks, T&A freeze), 0 prod CSV.

#299 is CLOSED with a complete provider benchmark by jsboige (2026-05-17:
claude-sonnet-4 best, gpt-4.1-mini fallback, Myia/ZAI reasoning-overhead too
slow). This doc does NOT redo the benchmark — it characterizes the DELTA since:

1. gpt-5.5 PIVOT: 44/48 tasks now on gpt-5.5 + 4 on gpt-5.4. Neither #299 winner
   (gpt-4.1-mini, claude-sonnet-4) is configured. gpt-5.5 is a reasoning model —
   exactly the class jsboige flagged over-budget on Chat Completions in the #299
   comment ("reasoning consumed all tokens before producing output", glm-5.1/qwen).

2. /v1/responses PLUMBING DORMANT: #852 (merged f70b20d) added the Responses-API
   path (reversible, default off). Empirical config scan: UseResponsesApi set on
   0/48 tasks, ReasoningEffort on 0/48. All 44 gpt-5.5 tasks wired to legacy Chat
   Completions = the empty-Content failure mode ([[gpt55-responses-api-effort-low]])
   is LATENT (would fire if Enabled flipped today).

Decision space for post-T&A activation (3 options): A=gpt-5.5 on chat/completions
(empty-Content, don't), B=revert to #299 winners, C=gpt-5.5 via /v1/responses +
effort:low (#852 path, OFF, untested — intended per dashboard metric). Reco:
Option C + 5-record pilot before full Phase 1 (Option C did not exist when #299
benchmarked, so it couldn't be tested then).

Did NOT: run live, change config (UseResponsesApi stays 0 — gated jsboige), reopen
#299 (benchmark stands), redo benchmark, write prod CSV.

Artefact: docs/taxonomy/299-llm-quality-delta-investigation.md.

Relates #299 #852 #141. Base master f70b20d.

Co-Authored-By: Claude-Code <noreply@anthropic.com>
@jsboige
jsboige merged commit 50a6134 into master Jul 23, 2026
3 checks passed
@jsboige
jsboige deleted the docs/299-llm-quality-delta-investigation branch July 23, 2026 02:45
jsboige added a commit that referenced this pull request Jul 25, 2026
… (0 run, 0 prod CSV) (#903)

Prepares the worker-side translation harness for #684 (DNN Rule prose, 7 langs × ~30 entities)
ahead of the #681 (2sxc App export) artefact, per ai-01 dispatch. Turns the export wait into
concrete readiness.

Design doc + draft prompt:
- docs/dnn-localization/684-rule-prose-translation-harness.md — the harness design: Option C
  task config (ready-to-paste C# snippet: UseResponsesApi=true, ReasoningEffort="low",
  MaxOutputTokens=7000, gpt-5.5, UseFunctionCalling=true, Enabled=false), Option C 5-record
  pilot protocol (#855 reco), cell-by-cell verification (3 dimensions: non-empty / not-FR-
  contaminated / language-correct — lessons #803 r7 false-0, #656 matcher-no-match), 7-language
  acceptance grid (DoD from #684), report format, serialization gate.
- DatasetUpdater/Resources/PromptDnnRuleProseTranslateEnUser.txt — draft EN user prompt adapting
  the #487 DNN UI-strings pattern to Rule prose (function calling, HTML preservation,
  placeholders {0}/{1}, RTL/CJK, zero-FR-contamination).

Closes the gap #855 flagged: every gpt-5.5 task today is wired to legacy Chat Completions
(UseResponsesApi unset on 0/48) → latent empty-Content on reasoning models. The harness
specifies the Option C routing for the Rule-prose task so the first Enabled=true flip doesn't
silently produce empty output.

Honest scope — no compiled config entry added: the source prose is DB-only (arrives via #681
export, no KnownDataSets.DnnRuleProse today) and the field model is pending #682. A compiled
entry with guessed field names would be dead code that looks ready. The snippet is the
ready-to-paste form, instantiated once the export format is known.

0 run, 0 prod CSV, 0 DB mutation. Enabled=false held until #681 + #682 + pilot PASS + T&A #802.
Re-import is jsboige-side; visual QA verdict is ai-01-only.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
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