Skip to content

feat(catalog): accept any value as the First Of argument - #291

Merged
Teakowa merged 1 commit into
mainfrom
feat/290-first-of-wrapper
Sep 25, 2026
Merged

Teakowa merged 1 commit into
mainfrom
feat/290-first-of-wrapper

Conversation

@e54-bot

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

Copy link
Copy Markdown
Contributor

Summary

Declare the First Of argument as Any in the catalog, so canonical validation accepts First Of(<any value>).

Per ADR-0014, pinned OverPy 9.7.10 emits First Of(<value>) (astToWorkshop.ts) for values the client rejects in a Boolean parameter. That deliberate emission rule is acceptance evidence for the wrapper's argument; the previous Array|EntityId was a presumption only.

Changes

  • catalog.json: firstOf paramTypes[0] -> Any; catalog and pinned digest regenerated.
  • Docs: source-attribution row citing the emission rule; First Of signature updated.
  • Regression: Vector, Hero, Team Of, Map, Color, Button and Game Mode wrapped values validate and round-trip; arity is still checked.

Verification

cargo fmt --check, cargo clippy --workspace --all-targets -D warnings, cargo test --workspace --all-targets, workshop-catalog-gen check, git diff --check all pass.

The opy-rs half (removing the validation-first-of-wrapper gap after the version bump) remains a follow-up in that repository.

Refs #290 (partial: the opy-rs validation-first-of-wrapper gap removal remains, so #290 stays open).

Pinned OverPy writes First Of(<value>) around values the client rejects in a Boolean parameter, so the wrapper's argument is any value, not only an array or entity ID. Declare the firstOf parameter as Any per ADR-0014 and cite the observed emission rule.

Fixes #290

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

Blocking: the PR body says Fixes #290, so merging it will auto-close #290, but #290 still has an unmet acceptance criterion: after the opy-rs bump, validation-first-of-wrapper must be removed. This PR explicitly says that work remains a follow-up. Remove the auto-close reference and leave #290 open until that acceptance criterion is satisfied. The implementation/tests/CI otherwise look correct.

@Teakowa
Teakowa merged commit 44cff53 into main Sep 25, 2026
10 checks passed
@Teakowa
Teakowa deleted the feat/290-first-of-wrapper branch September 25, 2026 09:30
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.

2 participants