|
1 | 1 | { |
2 | 2 | "_comment": "SHRINK-ONLY. Cells where the engine's included() disagrees with Hero Designer's, with what each side said. Written once as the raw survey baseline (2026-08-30); every later commit may only remove entries. The target is empty.", |
3 | | - "_baseline": "304 of 9627 cells disagree (2026-08-30) (fixture regenerated after Task 4 added one state); re-seeded 236 of 9744 (2026-08-30) after the oracle tier-2 fix (Task 6 item 0); re-seeded 137 of 9744 (2026-08-30) after the raw-.target batch (Task 6 item 2, 23 overrides switched to effective_target(), plus the assigned-tier survey harness itself made to detach-then-ask like GenericObject.java:4584-4661 -- SELFONLY-on-Adjustable-Drain would otherwise regress, since it is asked about its own target while still attached) -- 100 closed across the 23 raw-target overrides + SELFONLY-on-Adjustable-Drain, 1 new: PERSISTENT-on-Resistant-Protection surfaced by the detach, the same constructor-hardcoded-duration loader follow-up as test_verify_modifiers.LOADER_DIVERGENCE); still shrink-only from here; now 12 remain (2026-08-30); loader precedence fix 2026-08-30: 107 closed, 6 new field-vs-computed cells accepted (now 36 remain)", |
| 3 | + "_baseline": "304 of 9627 cells disagree (2026-08-30) (fixture regenerated after Task 4 added one state); re-seeded 236 of 9744 (2026-08-30) after the oracle tier-2 fix (Task 6 item 0); re-seeded 137 of 9744 (2026-08-30) after the raw-.target batch (Task 6 item 2, 23 overrides switched to effective_target(), plus the assigned-tier survey harness itself made to detach-then-ask like GenericObject.java:4584-4661 -- SELFONLY-on-Adjustable-Drain would otherwise regress, since it is asked about its own target while still attached) -- 100 closed across the 23 raw-target overrides + SELFONLY-on-Adjustable-Drain, 1 new: PERSISTENT-on-Resistant-Protection surfaced by the detach, the same constructor-hardcoded-duration loader follow-up as test_verify_modifiers.LOADER_DIVERGENCE); still shrink-only from here; now 2 remain (2026-08-30); loader precedence fix 2026-08-30: 107 closed, 6 new field-vs-computed cells accepted (now 36 remain)", |
4 | 4 | "gaps": { |
5 | 5 | "assigned:20260830000135:DOUBLEENDCOST": "5E-fallback EXCLUDES/REQUIRES precedence, restated 2026-08-30 (anatomy note Follow-ups (2)): DOUBLEENDCOST/ENDRESERVEOREND are not Main6E.hdt modifiers at all (0 hits; only the 5E Main.hdt sibling declares them), so their assigned _excludes come from HDTTemplateProvider's fallback pass (hdt_provider.py:405-427) naming each other. HD's real assigned-tier ask (detached per Task 6 item 0) is allowed=True for both. A definitions-only fallback fix (clear excludes/requires/types on a fallback-sourced TemplateData in apply_template) was built and verified to close exactly this pair, but was reverted because it broke test_included_generic.py::test_requires_any_of_lists_the_options_and_is_met_by_one, whose docstring claimed MULTIPLESFX's REQUIRES was \"Main6E's only REQUIRES\" -- that claim was false: MULTIPLESFX's REQUIRES is ALSO fallback-only (5E Main.hdt has it, Main6E does not), with 0 Main6E entries and 0 HD rows in either fixture backing it, so the fix was blocked by an untested assertion, not a genuine 6E rule. The open question -- whether MULTIPLESFX's REQUIRES is real -- is settled by adding a MULTIPLESFX state to the sink and asking HD directly, not by more reading. HD state={\"active_cost\": 50.0, \"defense\": \"NORMAL\", \"does_body\": true, \"does_damage\": true, \"does_kb\": true, \"duration\": \"INSTANT\", \"end_usage\": 5, \"orig_duration\": \"INSTANT\", \"range_value\": 400, \"target\": \"DCV\"}", |
6 | | - "assigned:20260830000135:ENDRESERVEOREND": "5E-fallback EXCLUDES/REQUIRES precedence, restated 2026-08-30: see the DOUBLEENDCOST cell at this same object -- identical cause and identical deferral (fix built, reverted only because it broke an untested REQUIRES assertion on MULTIPLESFX, not because MULTIPLESFX's REQUIRES is a genuine rule).", |
7 | | - "template:20260830000009:TIMELIMIT": "follow-up: uses_end is a field (True) independent of end_usage (0 here) -- HD state end_usage=0 satisfies TimeLimit's END check directly; the engine's uses_end==True check (a stale/unrelated flag) trips the refusal instead. 2026-08-30 anatomy note Follow-ups (4).", |
8 | | - "template:20260830000043:CUMULATIVE": "sink cost shape: active_cost HD=2.0 engine=3; defense HD=SPECIAL engine=NONE; HD costs this sink object differently from the engine -- the sink is not yet a cost fixture; Follow-ups (9)", |
9 | | - "template:20260830000043:LINKED": "sink cost shape: active_cost HD=2.0 engine=3; defense HD=SPECIAL engine=NONE; HD costs this sink object differently from the engine -- the sink is not yet a cost fixture; Follow-ups (9)", |
10 | | - "template:20260830000045:ARMORPIERCING": "sink cost shape: active_cost HD=0.0 engine=9.0; defense HD=SPECIAL engine=NONE; HD costs this sink object differently from the engine -- the sink is not yet a cost fixture; Follow-ups (9)", |
11 | | - "template:20260830000045:CUMULATIVE": "sink cost shape: active_cost HD=0.0 engine=9.0; defense HD=SPECIAL engine=NONE; HD costs this sink object differently from the engine -- the sink is not yet a cost fixture; Follow-ups (9)", |
12 | | - "template:20260830000046:ARMORPIERCING": "template precedence for target/defense: defense HD=SPECIAL engine=NONE; Follow-ups (7)", |
13 | | - "template:20260830000046:CUMULATIVE": "template precedence for target/defense: defense HD=SPECIAL engine=NONE; Follow-ups (7)", |
14 | | - "template:20260830000054:LINKED": "message/verdict-only: states agree, verdicts differ -- a rule port defect; engine allowed=False 'Linked can only be applied to Powers.' HD allowed=True '' HD state={\"active_cost\": 1.0, \"defense\": \"NONE\", \"does_body\": false, \"does_damage\": false, \"does_kb\": false, \"duration", |
15 | | - "template:20260830000091:CANBEMISSILEDEFLECTED": "template precedence for target/defense: defense HD=SPECIAL engine=NORMAL; Follow-ups (7)", |
16 | | - "template:20260830000111:CANBEMISSILEDEFLECTED": "template precedence for target/defense: defense HD=POWER engine=NORMAL; Follow-ups (7)" |
| 6 | + "assigned:20260830000135:ENDRESERVEOREND": "5E-fallback EXCLUDES/REQUIRES precedence, restated 2026-08-30: see the DOUBLEENDCOST cell at this same object -- identical cause and identical deferral (fix built, reverted only because it broke an untested REQUIRES assertion on MULTIPLESFX, not because MULTIPLESFX's REQUIRES is a genuine rule)." |
17 | 7 | } |
18 | 8 | } |
0 commit comments