Skip to content

Conditions on materials: where they live and what a violation means (ADR 0017) - #47

Merged
lwaldron merged 3 commits into
mainfrom
materials-conditions
Oct 23, 2026
Merged

lwaldron merged 3 commits into
mainfrom
materials-conditions

Conversation

@lwaldron

Copy link
Copy Markdown
Member

Closes #46. ADR 0017 is Proposed, not Accepted; flip it on merge if you agree with it.

What changes:

  • PROTOCOL_STANDARD.md, Markdown Content Structure: Materials lists every input and every condition on it; steps don't add conditions; must stops before Step 1, should warns and proceeds. Scoped to protocol Materials text, not the standard's own prose. The skeleton gains Input data and Parameters bullet groups showing the form.
  • PROTOCOL_STANDARD.md, Tests: a diagnostic outcome may carry expected_warning, a phrase matched case-insensitively against the executor's warnings. It accompanies evidence, it isn't evidence. warnings (list of strings) is allowed in result.yaml in either mode and is reserved alongside outcome and observation.
  • scripts/models.py, scripts/check_test_result.py: the above, checker at 0.2.0. The shape shows that warnings exists and withholds the phrase.
  • skills/protocol-runner 2.1.0: step 6.1 checks Materials before Step 1; step 7 lists warnings with departures.
  • skills/test-protocol 0.2.0: same check; warnings in result.yaml.
  • template/: an Input data bullet with one must and one should.
  • docs/adr/0017-conditions-on-materials.md and the index.
  • Tests: the with-tests fixture's orientation_corrected outcome now expects a warning; two new pytest cases. 123 pass.

Not changed: the validator's body checks. It can't read prose semantics; the rule is applied in review.

Drafted with Claude Code; decisions and edits are mine.

@claude claude 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.

⚠️ Code review skipped — your organization has no extra usage available to pay for this review.

If your organization's extra usage balance is empty, an organization admin can add extra usage credits at claude.ai/admin-settings/usage. If its monthly spend limit was reached, an admin can raise it on the same page. If neither applies, contact Anthropic support.

Once extra usage is available, someone with write access to this repository can comment @claude review on this pull request to trigger a review.

lwaldron and others added 3 commits October 23, 2026 10:00
…warning

ADR 0017 (Proposed). Materials is the single home for conditions on
inputs; must stops before Step 1, should warns and proceeds. Diagnostic
outcomes may carry expected_warning; result.yaml may carry warnings.
Runner and test-protocol skills check Materials before Step 1.

Closes #46

Drafted with Claude Code.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…no early return

The with-tests fixture's Materials now states the orientation condition
its test expects a warning for. Diagnostic mode is defined as failing a
condition in Materials. Run-record example at 0.2.0. Malformed warnings
is reported alongside the other failures rather than short-circuiting.
expected_warning is stripped in the model. Blank-warning invalid fixture.

Drafted with Claude Code.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@lwaldron
lwaldron force-pushed the materials-conditions branch from 8682b50 to 9f44eb6 Compare October 23, 2026 14:00
@lwaldron
lwaldron merged commit 5017bd9 into main Oct 23, 2026
2 checks passed
@lwaldron
lwaldron deleted the materials-conditions branch October 23, 2026 14:02
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.

State where requirements on input materials live, and whether a violation is an error or a warning

1 participant