Skip to content

ci: decision sweep (sweep_decision.py) - #817

Merged
tawei-amd merged 3 commits into
feat/d3-litefrom
ci/sweep-decision
Oct 23, 2026
Merged

tawei-amd merged 3 commits into
feat/d3-litefrom
ci/sweep-decision

Conversation

@tawei-amd

Copy link
Copy Markdown
Collaborator

Summary

.github/script/sweep_decision.py: the decision-model sweep (plan F-3), stacked on #816. Per decision model, served with --decision, it runs:

  • goldens: 15 stored requests answered by the upstream BF16 model. Every answer must have the upstream shape, top-1 agreement ≥ 85% and mean |dp| ≤ 0.05.
  • types: choice, noul and score in one request.
  • two-letter: a 27-option question (the 27th option's code is AA).
  • invalid: a malformed question → 422 invalid_questions, nothing runs.
  • not-json: a body that isn't JSON → 422.
  • too-long: a prompt over the limit → max_length_exceeded.
  • docs: the example request of docs/docs/models/d3.md, so the docs can't drift from the server.

SweepTask gains needs_decision. Following model-sweep.yml's own rule, the sweep stays out of the matrix with embedding and audio until llm and vision have proven themselves.

Test results

All 7 cases pass on this machine against the local XRT build and the HRX build.

🤖 Generated with Claude Code

@tawei-amd
tawei-amd force-pushed the ci/sweep-decision branch 3 times, most recently from f6b0f7e to 65d982c Compare October 19, 2026 14:04
@tawei-amd
tawei-amd marked this pull request as ready for review October 19, 2026 14:04
@tawei-amd
tawei-amd requested a review from zaneni6 October 19, 2026 14:11

@tawei-amd tawei-amd left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Self-review (author). Two small findings in the sweep; neither affects today's single-model catalog.

🤖 Generated with Claude Code

Comment thread .github/script/sweep_decision.py Resolved
Comment thread .github/script/sweep_decision.py Resolved
tawei-amd and others added 3 commits October 22, 2026 14:33
Per decision model, served with --decision: 15 stored requests answered by the
upstream BF16 model (shape exact, top-1 agreement and mean |dp| within limits),
choice / noul / score in one request, a 27-option question (two-letter code),
invalid question (422), body that is not JSON (422), a prompt over the limit
(max_length_exceeded) and the example of docs/docs/models/d3.md. SweepTask gains
needs_decision. Kept out of the model-sweep matrix with embedding and audio,
per that workflow's rule.

Co-Authored-By: Claude <[email protected]>
…ON bodies

- Each further decision model restarts the server with its own
  --decision tag; before, every model was measured against the first
  model's server. --no-server with more than one model is refused.
- The docs case also checks that the server decides what the documented
  reply decides (choice, noul side, most likely score level); the shape
  alone let the documented numbers drift.
- A reply body that is not JSON (e.g. a proxy's 5xx page) fails its
  case instead of raising out of the sweep.

Co-Authored-By: Claude <[email protected]>
@tawei-amd
tawei-amd merged commit e22634d into feat/d3-lite Oct 23, 2026
tawei-amd added a commit that referenced this pull request Oct 23, 2026
feat(d3): image input for d3:lite (draft; stacked on #817)
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