- createEnemy/createEnemyById now resolve prefabs through internalGetPrefab,
matching getPrefab/deletePrefab/modifyPrefabAttribute behaviour
- add a Chinese invariant comment above createEnemyById covering all
code/id prefab entry points
- un-skip the two correct-expectation reuse mapping cases in manager.test.ts
(assertions unchanged) and sync their Chinese comments
- read the before result into proceed and abandon only on falsy, matching the
ICombatScript.before contract in types.ts
- un-skip the correct-expectation case and correct the three existing cases that
encoded the inverted semantics (explicit truthy beforeResult, complementary
truthy-branch assertion, synced FakeScript comment)
- register viewStore/damageStore reverse indexes when sourced damage is written
and re-register them after a refreshIndex recompute (route A)
- deleteEnemy now finds and removes the enemy-sourced damage instead of leaving
stale entries behind
- un-skip the correct-expectation case in mapDamage.test.ts (#06-01-2)
- reset every EnemyView before a full buildup so repeated builds start from
the base enemy instead of compounding on the previous result
- un-skip the correct-expectation cases in damage.test.ts (#06-01-4) and
context.test.ts (#06-15-1)
- move targetInfo assignment into the damage < referenceDamage branch so the
reported critical info matches the yielded next value
- un-skip the correct-expectation case in damage.test.ts (#06-01-1)
- register G-06-01-D -> deleteAura skip case -> context.test.ts -> 06-15
- note the case is a D-05 correct-expectation it.skip blocked by #06-15-1 (same root cause as #06-01-4)
- no new warn/error codes; existing cases and skips untouched
- add pplies a global aura after addAura and stops applying it after deleteAura (it.skip, D-05)
- reuse in-file createContextFixture/createEnemy/FakeAura/FakeConverter, no new helpers
- register finding #06-15-1 in 06-TEST-FINDINGS.md (same root cause as #06-01-4)
- unskip-verified: addAura applies (atk 2 -> 5) but deleteAura + buildup stays 5, expected 2
- add correct-expectation it.skip for the heterogeneous route after delete(1) (anchor #06-04-3)
- add correct-expectation it.skip for the heterogeneous route after insert(2, 9, [true, 5]) (anchor #06-04-4)
- add file-inline expectRouteStream helper (stream-only typed reads with index 1..N and terminal null)
- append the create-or-append 06-14 section to 06-COVERAGE-MAP.md; existing 5 skips unchanged
- rewrite expectHeterogeneousRead to assert per-param typeof + value, stream index i+1, terminal null and stream.index === length
- add per-param typeof/value and stream.index progression to the sequence and expand stream cases
- add 'expires a read stream after the heterogeneous route is mutated': add() expires the old stream (warn 155) and a fresh stream reads the new 7-step order
- Add 06-13-SUMMARY.md (status: complete) with per-stage outcome, commits, D-44 evidence
- Record 06-13 results in 06-TEST-FINDINGS.md (no new #06-13-N bugs; 3 new correct-expectation skips reuse #06-09-1/#06-09-2)
- Log the two blocked skipped-test windows (ids 25/26)
- Update STATE.md (plan 13 of 14, 646 passed / 25 skipped) and ROADMAP.md (06-13 checked, phase 6 13/14)
- seedState/mutateState/assertRestored now cover every key state: hero base attrs + modifier final atk + location, flags score/coins/stage, map two blocks + active status, enemy hp/atk, replay steps
- Replay seeded with 10 @system/replay steps mixing Up/Right/Down/Left/Teleport/UseItem/Equip/Unequip and varied param types, asserted per step
- New container test loops flags and replay through CoreState across the three compression tiers
- Append 06-13 create-or-append section to 06-COVERAGE-MAP.md; existing #06-09-1..5 skips unchanged
- StaticTile covered-event round trip looped over NoCompression/LowCompression/HighCompression
- DynamicTile covered-event round trip looped over the three tiers, keeping the tile num assertion
- Existing #06-09-3 it.skip unchanged
- mapLayer.test.ts: both keepEvent branches verified after a real-timer move,
with exact event maps, dirty flags, block write-back and dynamic index updates
- 06-COVERAGE-MAP.md: append the 06-11 gap-fill section (create-or-append)
- gameMap.test.ts: three layers at z-index 1/5/9 keep independent block data and
are judged separately by z-index during compareWith (missing ref marks dirty)
- equipment.test.ts: G-06-05-A asserts combined atk/def for weapon+armor and keeps the other slot's modifier after unequip
- mapState.test.ts: G-06-06-B writes/reads block, point event, event layer binding and dirty flag on a createMap floor
- drive real MainDamageCalculator over a monster with 10 top-level specials,
real aura 25, real support 26, common/special query and final effects
- assert one exact {damage,turn} with full per-branch derivation in comments
- add a control asserting the result differs without the support pipeline
- append the 06-10 coverage-map section (create-or-append, no new codes)
- G-06-01-A: four effect kinds together, assert stage order and final
atk/def/hp/special on the computed enemy
- G-06-01-B: m1 -> A1 -> m2 -> A2 -> all enemies, assert per-enemy final
atk plus A1 range boundary via special 21 ownership