feat: add researched fixed companion builds #1
Merged@anthodev wants to merge
feature/fixed-companion-builds/companions/1 into developMerged as
91e3df9f9e81.- @anthodev opened this merge request · Sep 26, 2026edited
Closes #1.
What
- Canonical curated builds for all 22 non-Cross companions in new static data
src/data/companionBuilds.ts: ordered Arts/Skills, bilingual role/rationale, character-specific sourced weapon/armor/availability advice, and source links with DE/XCX/both edition badges. - Strict companion TP ceiling: at most 2 TP-consuming Arts per companion loadout, including substitutes; Cross keeps its own 3-Art budget (
TP_ART_BUDGET) unchanged. - Deterministic progression substitutes: unavailable canonical abilities fall back to explicit, ordered personal-rank substitutes — never dynamic strategy re-ranking. Canonical Arts reclaim their slot as they unlock (regression-tested, e.g. Phog Side Slash at rank 5).
- Fixed kits invariant to Cross class, weapons, teammates, team variant and combat mode; Skell mode no longer substitutes ground Skills (
planCompanionForModeremoved). - Equipped-only companion scoring:
evaluateCompanionContextscores the equipped Arts/Skills; Skell aptitude counts equipped pilot Skills only — no credit for unlocked reserves. - BuildCard UI (EN/FR): RESEARCHED BUILD badge, curated role, build rationale, ordered Art/Skill substitute ladders, per-character equipment advice (generic strategy manufacturer/stat blocks suppressed for curated companions), sources with edition badges. Skell packages remain separate.
- Research matrices (
docs/research/companion-builds-{core,veterans,specialists,remaining}.md): per-Art personal rank, weapon, TP flag and source URL; documents guide errors rejected (weapon-incompatible lists, missing TP markers, invalid Art names), sparse-evidence editorial choices, and explicit disagreements (e.g. Iron Saber attribute).
Evidence
- 57/57 tests pass (
fixedCompanionBuilds.test.ts: roster coverage, legality/weapon triple-check, TP ceiling, kit invariance across 8 Cross configs, determinism, rank clamps, progression boundaries; contextualEngine equipped-only tests). - typecheck,
eslint app src, production build clean. Repo-widenpm run lintstill reports pre-existing errors in.claude/helpers/*.cjs(out of scope). - 24-case Cross baseline (6 final classes × signature flag × legacy/contextual) byte-identical before/after.
- Production UI smoke EN/FR: fixed kits across class/mode/variant changes, Phog rank 4→5 substitution, FR equipment advice, keyboard-operable source disclosures, no console errors, no horizontal overflow desktop/mobile.
Rickub deployment caveat
Rickub ignores
environment: production: it does not enforce environment reviewers, protection rules or wait timers. The Bunny workflow still deploys automatically on pushes todevelopafter its checks pass when its deployment secrets are configured. Any production-environment approvals on the previous host are not carried over; their prior configuration was not verified.Deliberate choices
- Irina equips 3 of 4 Skill slots: her remaining personal Skills depend on Sleep/Control the curated support bar never provides; an inert fourth Skill is worse than an empty slot.
- Affinity missions teach companion signature Arts to Cross only; they are not an extra gate on the owner's personal-rank Art.
🤖 Generated with omp
- Canonical curated builds for all 22 non-Cross companions in new static data
Sign in to comment.