Repository navigation
New units: — kit-autonomy gauntlet - #153
Merged
Merged
Conversation
Daily new-unit watch (~/.nikke-newunit-autopilot): `npm run sync` against bakery-bot's DB added these units; their char-extracts are the characters.json entries minus nicknames. Per-unit gauntlet commits follow.
Regenerated web/public/sitemap.xml (npm run build:sitemap) for the new unit belorta-pumpkin-witch so sitemap-drift.test.ts matches the generator again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t" (for belorta-pumpkin-witch)
New positional target {kind:'adjacentAlly', side:'left'|'right'}: the ONE neighbouring slot on that
side (units[] is slot order, leftmost first), never self; an owner at the matching team edge resolves
to nobody (the literal kit reading). Sibling of selfAndAdjacent. Validator rejects a missing/unknown
side (sim.ts would otherwise resolve it to the left neighbour); web targetLabel names it. Pinned by
scripts/tests/engine/adjacent-ally.test.ts. Inert for every existing override (no carrier until
belorta-pumpkin-witch lands): scripts/regression.ts passes unchanged. Engine edit owner-approved
2026-10-02 (new-unit watch standing exception).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Six line groups (Ghost Costume gate → Ghostly Prank, Prank Preparation Max HP, FB-entry right-ally ATK, full-charge right-ally Sustained Damage, burst right-ally ATK + Sustained Damage) + the rightmost-slot edge, each with its named nearest-wrong counterfactual. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…review (CLEAN) Override from the kit prose: FB-entry Ghost Costume selfStatus 10s + self Max HP 15.84/10s; FB-entry right-ally casterAtkPct 44.88/10s; full charge while in Ghost Costume → boss Damage Taken 10.56/10s; full charge → right-ally Sustained Damage 19.97/5s; own burst cast → right-ally casterAtkPct 47.52 + Sustained Damage 27.23, 10s. Spec test 23/23 green (enemy debuffs attributed by key prefix). S2b on claude-fable-5 + claude-fable-5-1 converged on the spec + load-bearing set. adjacentAlly engine review on claude-fable-5-1: CLEAN (3 notes). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
S6 blind override is block-identical to the shipped one. S5 blind test: unmodified 8 RED from one harness-wiring defect (onEvent on CompOptions, not cfg); the adapted copy (that one line moved) runs 11 green / 3 RED / 4 skipped — the 3 RED are the burst group on controlComp, where crown (B2, cd 20s, slot 1) wins every stage-2 cast so she casts zero bursts (fixture finding; its burstFirst probe is green and non-vacuous: 1 cast, both grants to helm, the ally to her right). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t matrix (belorta-pumpkin-witch) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
simSupported true for belorta-pumpkin-witch (the variant only — base belorta untouched); kit-status row created (--refresh, single-unit run) and recorded with --gauntlet (same-family evidence + the owner spot-check residual); unit pages and the unmodeled-review mirror regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…inding) / GO 1.0 (claude-fable-5) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… GO faithfulness 1.0 / 1.0 NEW unit (VARIANT of the base unit belorta, RL/Electric), RL/Supporter/Water/Tetra Burst II cd 40s. Tier 2. Driver Claude Opus 5.5; Claude-only routing (owner 2026-10-02): S2b claude-fable-5 + claude-fable-5-1, S5/S6 claude-opus-5, S7 claude-fable-5-1 (binding) + claude-fable-5, engine review claude-fable-5-1 — same-family evidence. Override: FB entry → self Ghost Costume selfStatus 10s + Max HP 15.84/10s, and the ally to the right casterAtkPct 44.88/10s; full charge while in Ghost Costume → boss Damage Taken 10.56/10s; every full charge → right-ally Sustained Damage 19.97/5s; her burst cast → right-ally casterAtkPct 47.52 + Sustained Damage 27.23, 10s. New engine target adjacentAlly (cb191d3, board-inert, review CLEAN). Spec test 23/23 with named counterfactuals. S6 blind override block-identical. Blind S5 11/11 non-burst green after its one-line onEvent wiring fix; its 3 burst REDs are the contested-Burst-II controlComp fixture (crown always wins stage 2; its burstFirst probe is green). ⚑: direct-hit removal of Ghost Costume (window is an upper bound), rightmost slot → nobody, landing = pull frame. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Infernal-Crack-LED
marked this pull request as ready for review
October 9, 2026 16:31
…oss-team-polish)
bakery-bot now names three Treasure rows "<Name> (Favorite Item) (Treasure)" (slugs
drake, laplace, sugar). normalizeName only stripped " (Treasure)", so drake and laplace
no longer matched data/enikk-supported.json and flipped generatorSupported to false
(dropping laplace from cross-team-polish's B3 pool → greedy found 4 teams, expected 3).
The same names let bare aliases "drake"/"laplace"/"sugar" through the nickname filter,
which validate-nicknames rejects.
One shared normName in src/data/nicknames.ts now strips both markers; sync.ts uses it
for the enikk match and to build the display name ("Drake (Treasure)" again). Re-ran
`npm run sync`, then regenerated kit-status (--refresh), unmodeled-entries-review and
unit-pages (restores the drake/laplace overload tables). verify.sh green.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated by the daily new-unit watch (
~/.nikke-newunit-autopilot/run.sh): bakery-bot's sync seeded new units; nikke-sim synced them and ran the kit-autonomy gauntlet per unit (Claude-only model routing).Units
Gauntlet results
Belorta: Pumpkin Witch (
belorta-pumpkin-witch) — GO — faithfulness 1.0 / 1.0 — tier 2simSupported: true(variant only — basebelortauntouched).adjacentAlly {side:'left'|'right'}("the ally to the right of this unit" — first such kit in the roster). Own commitcb191d32,scripts/regression.tsunchanged before the override landed, pinned byscripts/tests/engine/adjacent-ally.test.ts. Code review on claude-fable-5-1: CLEAN (3 notes; the STATE.md row was added).onEventwiring bug is fixed. Its 3 burst assertions fail only because its fixture lets crown win every stage-2 cast, so she never bursts; its own probe that forces her to cast once passes. Both judges: GO 1.0, no gotchas. All reviewers are Claude models, so this is same-family evidence only.board-readhas no row for her.verify.shnot run (the wrapper runs it). Unit tests, validate-overrides,kit-status --check, typecheck,doc-driftandregression.tsall pass.kit-status --refreshwas needed to create her row; it also refreshed global counts. Regeneratingdata/unit-pages.jsondropped stale overload tables fordrake-great-villainandlaplace-ultimate-hero: both were alreadygeneratorSupported: falsebefore this run, so the committed pages were stale and the drop is correct.Roster test pins
Roster test pins — 2026-10-09 sync (new unit: belorta-pumpkin-witch)
scripts/tests/data+census-kit-numbers(72/72 passed),npm run typecheck(clean), and all ofscripts/testsexceptunits/(1474 passed, 2 failed).share/sitemap-drift.test.tsfailed because the sitemap had no/unit/belorta-pumpkin-witchentry. Regenerated it withnpm run build:sitemap(+4 lines) and committed as8fba772e roster: test pins follow the 2026-10-09 sync.generators/cross-team-polish.test.ts("recovers a roster greedy left on the table": greedy found 4 teams, expected 3). Cause: bakery-bot renamed the Treasure units to"Laplace (Favorite Item) (Treasure)","Drake (Favorite Item) (Treasure)"and"Sugar (Favorite Item) (Treasure)".normalizeNameinsrc/data/sync.ts:61strips only" (Treasure)", so these names no longer matchdata/enikk-supported.json, anddrakeandlaplaceflippedgeneratorSupportedfrom true to false. Laplace was in this test's B3 pool window. The proper fix is to makenormalizeNamealso strip(Favorite Item), then re-runnpm run sync. Re-pinning the test to the shrunken pool would have locked in the regression, so I didn't. The same bug also takes drake and laplace out of the Team Generator and DPS chart.web/public/img/portraits/belorta-pumpkin-witch-{128,256}.webp(sync output, not mine). No engine, snapshot, override ordata/**edits. Nothing pushed.Gate
bash scripts/verify.sh: RED (log on the owner's Mac:/Users/maxwellsutton/Library/Logs/nikke-newunit-watch/run-20261009T060005/verify.log)Same-family provenance: every blind/judge role ran on a Claude model (no Kimi/Qwen access) — a GO is weaker evidence than a cross-family GO; spot-check the scope / duration / trigger-identity lines.
🤖 Generated with Claude Code