Skip to content
This repository was archived by the owner on Aug 10, 2026. It is now read-only.

fix: harden route-case boolean validation (#14) - #17

Merged
sleegme merged 2 commits into
devfrom
fix/issue-14-route-case-validation
Jul 23, 2026
Merged

fix: harden route-case boolean validation (#14)#17
sleegme merged 2 commits into
devfrom
fix/issue-14-route-case-validation

Conversation

@sleegme

@sleegme sleegme commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • require boolean route-case mutation fields
  • enforce symmetric mutating/non-mutating route contracts
  • add regression coverage

Closes #14

sleegme added 2 commits July 23, 2026 13:40
Issue #14: mutates_artifact and redesign_authorized were treated as
runtime truthy checks without strict boolean type validation. Mutating
routes (preserve, expand, create, redesign, translate) were also not
required to declare mutates_artifact: true.

validated_contract:
- mutates_artifact must be a real bool for every route case
- redesign_authorized must be a real bool for every route case
- preserve/expand/create/redesign/translate require mutates_artifact: true
- critique/brand-check/profile require mutates_artifact: false
- redesign still requires redesign_authorized: true (unchanged)
- errors identify the case id plus the offending field or route contract

Add regression coverage for string/integer rejections, each mutating
route rejecting mutates_artifact: false, each non-mutating route
rejecting mutates_artifact: true, and committed-fixture pass-through.

Red+green: full suite moves from 31 to 39 tests.
@sleegme
sleegme merged commit 6d16ba8 into dev Jul 23, 2026
8 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant