Skip to content

fix(tb): E+C empty-gold scoring + unknown abstention finalize - #2833

Draft
Dominic Nguyen (datduyng) wants to merge 6 commits into
mainfrom
domnguyen/tb-ec-unknown-abstention
Draft

fix(tb): E+C empty-gold scoring + unknown abstention finalize#2833
Dominic Nguyen (datduyng) wants to merge 6 commits into
mainfrom
domnguyen/tb-ec-unknown-abstention

Conversation

@datduyng

Copy link
Copy Markdown
Contributor

Summary

  • E (unknown abstention): dispatcher finalizes unknown on DispatcherName instead of throwing; TB scoring treats unknown schema-match as zero-action PASS on empty-gold (not harness JSON error).
  • C (non-eval filter): shared HARDCODED_NON_EVAL_ACTION_IDS (chat.generateResponse, utility.claudeTask); runner drops them from scored chosen while keeping raw for viz.
  • Unit tests (10) cover abstention PASS, real tool fire FAIL, non-eval not fire, real JSON error still fails.

Live proof (separate claim run)

metric pre-E+C live E+C
overall 0.466 0.718
neg_pass 0.130 0.618
FPR 0.785 0.382
unknown-throw 1201 0

5832 cells · ~$185 · art ec-live-gen1k · goal note [[20260808-205309-experiment-typeagent]]

Test plan

  • jest --testPathPattern=runnerScoring → 10/10
  • fluid-build @typeagent/benchmarks + agent-dispatcher
  • CI green on this PR

- Dispatcher: return unknown on DispatcherName instead of throwing in
  finalizeAction / canTranslateWithoutContext (preserves multi-action).
- Runner scoring: unknown schema-match → zero-action PASS on empty gold (E);
  filter chat.generateResponse / utility.claudeTask from scored chosen (C).
- Share HARDCODED_NON_EVAL_ACTION_IDS from eligibleActions with runner.
- Unit tests: 10 cases covering abstention, non-eval, real errors still fail.

Live claim (separate run): unknown-throw 1201→0, neg_pass 0.13→0.618 on 5832 cells.
- Catch-path abstention rawChosen uses schemaName dispatcher (matches finalize).
- Package export chain index → runner → scoring (drop dual identical barrels).
@datduyng
Dominic Nguyen (datduyng) marked this pull request as draft August 9, 2026 06:36
typeagent-bot Bot and others added 3 commits August 9, 2026 06:40
- approve-and-eval.mjs drives the dual-root eval and, on completion,
  publishes eval-report.html + eval-results.json and regenerates the
  landing repo (index + per-cell explorer)
- config via commander flags / --config <file.json> instead of TB_* env
- no hardcoded paths; runtime-ts defaults to the local worktree
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