Skip to content

feat(wir): add canonical rule event surface - #13

Merged
Teakowa merged 4 commits into
mainfrom
feat/workshop-rs-12-rule-events-codex
Aug 17, 2026
Merged

feat(wir): add canonical rule event surface#13
Teakowa merged 4 commits into
mainfrom
feat/workshop-rs-12-rule-events-codex

Conversation

@Teakowa

@Teakowa Teakowa commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements the canonical Workshop WIR/event surface required by del-rs#8.

  • Adds locale-independent WIR representations for filtered ongoing-player events and nine player event identities.
  • Extends the canonical catalog with evidence-backed event identities, EventTeam/EventPlayer filters, locale aliases, parameter domains, validation, parser/emitter, dump, and semantic round-trip support.
  • Preserves the public parameterless Event::EachPlayer variant as the legacy/default representation of EachPlayerWithFilters { team: All, target: All }.
  • Emits legacy Event::EachPlayer as the canonical filtered Workshop event with explicit All / All filters.
  • Proves semantic equivalence between legacy EachPlayer and explicit EachPlayerWithFilters(All, All) across supported en-US and zh-CN emission and reparsing.
  • Regenerates the pinned zh-CN corpus from workshop-data export commit d854bf01fc7bbf3b2169f67408c07a8da8989ad6: 366/366 exact matches, 0 exclusions.

Closes #12.

Validation

Workshop-rs:

  • cargo fmt --all --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace --all-targets
  • cargo test -p workshop-rs --test rule_events — 6/6 passed
  • cargo run -p workshop-rs --bin workshop-catalog-gen -- check
    • catalog digest: 48b3a07188f7137a8a81e51fc33c06681da5ca5d30b79ee636b0147eb14dfc6d
    • en-US: 366/366; zh-CN: 366/366
  • The same fmt, clippy, tests, and catalog gates pass with Rust 1.85.0.

Current Wright consumer verification:

  • Companion wright#163 pins workshop-rs to this PR head 3b9a9b6b5ce70921c466268522272abad8aaee34.
  • cargo fmt --all --check passed.
  • cargo clippy --locked --workspace --all-targets --all-features -- -D warnings passed.
  • cargo test --locked --workspace --all-targets --all-features passed.
  • cargo build --locked --release -p wright-cli -p wright-lsp -p wright-bench passed.
  • python3 scripts/v1-gates.py --wright target/release/wright passed: 6/6.
  • python3 scripts/run-scenarios.py --wright target/release/wright passed: 7/7, including the each-player All / All event scenario.
  • target/release/wright-bench passed.

No DEL/OSTW-specific types or provider-local event encoding are added. workshop-rs remains the sole canonical Workshop event owner.

@Teakowa
Teakowa marked this pull request as ready for review August 17, 2026 11:31
@Teakowa

Teakowa commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Consumer verification is complete against the pushed PR head 3b9a9b6b5ce70921c466268522272abad8aaee34.

  • Wright companion PR: wright#163, branch commit 705fa64e9d85a0cd0ae8a31bd120fe126c164c00.
  • The companion branch pins workshop-rs to this exact revision; it does not use a local path patch.
  • Wright full locked workspace clippy and test gates passed with all features.
  • Release build for wright-cli, wright-lsp, and wright-bench passed.
  • Release N gate: 6/6 passed.
  • Release scenario gate: 7/7 passed, including the each-player event with All / All defaults.
  • Release benchmark completed successfully.

The consumer accepts legacy Event::EachPlayer and explicit EachPlayerWithFilters(All, All) as equivalent at the supported reconstruction surfaces. New filtered/player forms remain explicit unsupported boundaries where the current consumer has no target representation.

@Teakowa
Teakowa merged commit cb34532 into main Aug 17, 2026
2 checks passed
@Teakowa
Teakowa deleted the feat/workshop-rs-12-rule-events-codex branch August 17, 2026 13:43
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.

Extend canonical WIR rule events for DEL/OSTW provider integration

1 participant