Skip to content

feat(efficacy): the change prompt states what its grader drives - #1848

Merged
braboj merged 2 commits into
mainfrom
feat/efficacy-change-prompt-api
Sep 24, 2026
Merged

braboj merged 2 commits into
mainfrom
feat/efficacy-change-prompt-api

Conversation

@braboj

@braboj braboj commented Sep 24, 2026

Copy link
Copy Markdown
Collaborator

Part of #1767, the checklist item "Name, in the change prompt, the API the change acceptance module drives".

What changes

  • change-prompt.txt keeps its first paragraph word for word and adds two paragraphs:
    • The Python API: tariff.ThresholdRule(rule_id, percent=..., minimum=...) with its eligibility, slot and refusal rules, and Jurisdiction(..., caps={...}) with the per-line formula and the at-the-cap rule. These are the names and rules the private acceptance modules check. Until now they were written only in the suite's CHANGE-TASK.md.
    • The web application: kind threshold with percent and minimum on POST /rules; caps on POST /jurisdictions, written like rates; and the preview pricing with both.
  • Design §5.4 now lists what is measured, states that the prompt names everything the grader drives, and says the UI is graded by HTTP cases from round 3. It gains a decision-log row.
  • Harness self test. An existing check changes on purpose. The stale "change prompt is read from the design" check, which expected the old last sentence, becomes two checks:
    • the prompt is read whole from its file
    • the prompt names every API and field the grader drives

Not in this PR

The suite's HTTP cases for the UI half. They need sign-in, which lands with the round-3 suite extension (the next #1767 step).

Evidence

  • Harness self test: 94/94.
  • Control: the change was staged. Renaming tariff.ThresholdRule in the prompt (the mutation landed: one occurrence) makes the new check fail (93/94). The file was then restored and compared byte for byte.
  • Gates: smoke 33, 0 failed. Conformance: 0 failed.

Changelog

No entry. This changes the benchmark's own trial input and tooling.

🤖 Generated with Claude Code

braboj and others added 2 commits September 24, 2026 17:37
Round 1's change-task pass rate was withdrawn. The acceptance modules
built the new rule and the cap through names the prompt never gave, so
they graded which trials guessed them. They also checked four rules that
only the private suite wrote down: an ineligible threshold rule is not
reported, construction refuses bad values, the cap is per line, and an
amount at the cap is wholly reduced.

The prompt now names all of it:
- `tariff.ThresholdRule(rule_id, percent=..., minimum=...)` and its
  eligibility and slot rules
- `Jurisdiction(..., caps={...})` and the per-line tax formula
- the form fields and pages the web application must accept

The UI half was asked for but never graded. The suite's HTTP cases for
it come with the round-3 suite extension, and design §5.4 now says so.

The harness self test checks that the prompt is read whole from its file
and names every API and field the grader drives. Removing the class name
makes that check fail.

Part of #1767.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Conformance's comment-layout check wants a blank line between a comment
block and the code above it.

Part of #1767.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@braboj
braboj merged commit 1ebaf4f into main Sep 24, 2026
1 check passed
@braboj
braboj deleted the feat/efficacy-change-prompt-api branch September 24, 2026 14:41
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