Skip to content

feat!: port JP7 game rules and prepare 0.1.0 - #45

Merged
nichinichisou0609 merged 5 commits into
mainfrom
feat/jp7-rules
Oct 8, 2026
Merged

nichinichisou0609 merged 5 commits into
mainfrom
feat/jp7-rules

Conversation

@nichinichisou0609

@nichinichisou0609 nichinichisou0609 commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Behavior

JP7 area items and World Link finales now use the current game-rule model across the Rust, CLI, HTTP and WASM interfaces. Finale events are identified from master data, skill caps retain their raw values, and explicit shuffle tables feed both scoring and admissible search bounds.

The business rules are ported from Team-Haruki/sekai-deck-recommend-cpp, pinned to 496caed78a07ffe1f2d1f1553047dbf6b2ed0314. The source map in docs/game-rule-sources.md identifies the files and attributes the additional master-table and browser integration cases to Moesekai's published patches. Existing Rust skill corrections remain in place.

Finale callers can explicitly request mandatory-member constraints without assigning the first fixed item as leader. The default ordered-slot contract is unchanged. Ordinary finale Top-K supports all objectives; mandatory-member requests combined with exact bonus tiers are rejected. Requests without mandatory members retain the existing fast paths and tier support.

Release

Prepare 0.1.0, including the public API changes since 0.0.15. Native binaries and both WASM packages are checked as one complete asset set with SHA256SUMS. Manual release preflight builds and validates without publishing. Tag publication uses the tested npm tarball and verifies registry integrity, including recovery when an identical version was already uploaded.

Both READMEs, the npm README, and the versioned release notes explicitly credit the business-rule source.

Validation

  • Linux dev container, Rust 1.98.1: 341 core tests passed; 8 controlled/external tests remain opt-in. Integration and doctest passed.
  • Final mandatory-member checks: 12 matched tests passed, including an independent ordered-deck oracle across objectives, skill orders and leader modes, five required cards, minimum power, and a shared expired deadline.
  • The 256-case exhaustive matrix and extended 16-seed oracle passed.
  • HTTP: 15 unit and 13 integration tests passed. Core, server and WASM Clippy passed with warnings denied; formatting and Rust 1.89 checks passed.
  • 24 release packaging and registry-recovery tests passed; actionlint passed.
  • Browser WASM built successfully. Node exercised public master data with synthetic user data, including real and simulated events, exact bonus tiers and finale membership.
  • Chromium 156 executed the actual browser worker: complete finale results, order-independent fixed cards, explicit leader, and timed-out status propagation all passed. These checks do not establish a latency bound for every real collection.
    The successful release preflight is run 37726382888 at 8e4fad1. The follow-up only updates the HTTP OpenAPI version and parameter documentation; native and WASM package sources are unchanged, and the HTTP tests were rerun successfully.

Preserve multidimensional area-item effects, gate selection, and upgrade evaluation
across the engine, CLI, HTTP, and WASM APIs. Integrate mixed-unit power states
and finale shuffle bonuses into exact search bounds and result reporting.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@nichinichisou0609 nichinichisou0609 changed the title feat: support JP7 area items and world link rules feat!: port JP7 game rules and prepare 0.1.0 Oct 8, 2026
@nichinichisou0609
nichinichisou0609 merged commit 627dd0e into main Oct 8, 2026
8 checks passed
@nichinichisou0609
nichinichisou0609 deleted the feat/jp7-rules branch October 8, 2026 04:44
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.

1 participant