Skip to content

fix(catalog): accept False/True for the Create Dummy Bot slot - #287

Merged
Teakowa merged 2 commits into
mainfrom
fix/282-dummy-bot-slot-coercion
Sep 25, 2026
Merged

Teakowa merged 2 commits into
mainfrom
fix/282-dummy-bot-slot-coercion

Conversation

@e54-bot

@e54-bot e54-bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #286

Summary

  • Restore falseAsNumber/trueAsNumber on the createDummyBot slot (keeping the Number|Boolean type from fix(catalog): accept entity ids in texture setup contracts #243), so OverPy's optimizeForSize spelling (False/True) normalizes to the same WIR as 0/1.
  • Audited every OverPy 9.7.10 canReplace0ByFalse/canReplace1ByTrue parameter against the catalog; this was the only Number parameter missing the coercions.
  • Regenerated the catalog digest and updated the pin.

Verification

  • cargo fmt, clippy -D warnings, cargo test --workspace --all-targets, workshop-catalog-gen check pass.
  • opy-rs probe against this catalog: createDummy 42/42 match (2 differed before); catalog-missing-coercion matches 0 probes.

Follow-up

opy-rs must bump workshop-rs and remove catalog-missing-coercion from probe-gaps.json.

Restore the falseAsNumber/trueAsNumber coercions on the slot parameter so the optimizeForSize spelling OverPy writes normalizes to the same WIR as 0/1, like every other Number|Boolean slot.

Fixes #282

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Two required pieces from the current implementation contract (#286 / ADR-0014) are missing:

  1. catalog.json: the new positional coercion has no source citation/source-attribution update. #286 requires the fact to cite the observed pinned-reference emission, and the catalog source-attribution contract says dataset changes update the owning source attribution/provenance surface.
  2. contextual_semantics.rs: the new regression proves parse/normalization + canonical validation, but not the acceptance criterion that False/True round-trip through emission. Add an emission/reparse round-trip assertion for the createDummyBot slot case.

Also retarget the PR from the now-duplicate #282 to #286 so the PR closes the actual implementation owner.

Record the observed optimizeForSize emission in the catalog source attribution and add an emit/reparse assertion for the False/True slot case (#286).

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@Teakowa
Teakowa merged commit e985be9 into main Sep 25, 2026
10 checks passed
@Teakowa
Teakowa deleted the fix/282-dummy-bot-slot-coercion branch September 25, 2026 08:26
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.

Add catalog coercions evidenced by reference optimizeForSize substitutions

2 participants