|
5 | 5 | "assigned:20260830000017:PERSISTENT": "loader: active_cost HD=0.0 engine=11; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
6 | 6 | "assigned:20260830000020:LOS": "loader: duration HD=INSTANT engine=CONSTANT; orig_duration HD=INSTANT engine=CONSTANT; range_value HD=200 engine=-1; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
7 | 7 | "assigned:20260830000085:PHYSICALMANIFESTATION": "loader: active_cost HD=0.0 engine=13; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
8 | | - "assigned:20260830000135:DOUBLEENDCOST": "5E-fallback EXCLUDES, investigated: 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; the fix (clear excludes/requires/types on a fallback-sourced TemplateData in apply_template) was built and verified to close exactly this pair, but broke test_included_generic.py::test_requires_any_of_lists_the_options_and_is_met_by_one -- MULTIPLESFX is ALSO fallback-only (5E Main.hdt has it, Main6E does not) and its REQUIRES is a currently-asserted, real 6E rule. The brief's own gate (\"ONLY if it moves no cost -- full suite\") was not met, so left for the loader follow-up rather than shipped broad. 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\"}", |
9 | | - "assigned:20260830000135:ENDRESERVEOREND": "5E-fallback EXCLUDES, investigated: see the DOUBLEENDCOST cell at this same object -- identical cause and identical deferral (fix built, reverted: broke MULTIPLESFX's REQUIRES, also fallback-sourced but a real rule).", |
| 8 | + "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\"}", |
| 9 | + "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).", |
10 | 10 | "template:1674528649027:CONTINUOUS": "loader: orig_duration HD=CONSTANT engine=PERSISTENT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
11 | 11 | "template:1674528649027:NONPERSISTENT": "loader: orig_duration HD=CONSTANT engine=PERSISTENT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
12 | 12 | "template:1674528649027:PERSISTENT": "loader: orig_duration HD=CONSTANT engine=PERSISTENT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
13 | | - "template:1674528649148:ACV:MENTALOCV": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
14 | | - "template:1674528649148:AFFECTSPHYSICALWORLD": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
15 | | - "template:1674528649148:AOE:RADIUS": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
16 | | - "template:1674528649148:CANBEMISSILEDEFLECTED": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
17 | | - "template:1674528649148:DAMAGEOVERTIME": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
18 | | - "template:1674528649148:INDIRECT:SAMEDIRECT": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
19 | | - "template:1674528649148:PERSONALIMMUNITY": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
20 | | - "template:1674528649148:RANGED:RANGED": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
21 | | - "template:1674528649148:STICKY:STANDARD": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
22 | | - "template:1674528649148:TRANSDIMENSIONAL:SINGLE": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
| 13 | + "template:1674528649148:ACV:MENTALOCV": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 14 | + "template:1674528649148:AFFECTSPHYSICALWORLD": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 15 | + "template:1674528649148:AOE:RADIUS": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 16 | + "template:1674528649148:CANBEMISSILEDEFLECTED": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 17 | + "template:1674528649148:DAMAGEOVERTIME": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 18 | + "template:1674528649148:INDIRECT:SAMEDIRECT": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 19 | + "template:1674528649148:PERSONALIMMUNITY": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 20 | + "template:1674528649148:RANGED:RANGED": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 21 | + "template:1674528649148:STICKY:STANDARD": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 22 | + "template:1674528649148:TRANSDIMENSIONAL:SINGLE": "loader (non-duration field): target HD=DCV engine=SELFONLY; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
23 | 23 | "template:1674528649234:CONTINUOUS": "loader: orig_duration HD=CONSTANT engine=PERSISTENT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
24 | 24 | "template:1674528649234:NONPERSISTENT": "loader: orig_duration HD=CONSTANT engine=PERSISTENT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
25 | 25 | "template:1674528649234:PERSISTENT": "loader: orig_duration HD=CONSTANT engine=PERSISTENT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
26 | 26 | "template:1674528649464:CONTINUOUS": "loader: orig_duration HD=CONSTANT engine=PERSISTENT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
27 | 27 | "template:1674528649464:NONPERSISTENT": "loader: orig_duration HD=CONSTANT engine=PERSISTENT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
28 | 28 | "template:1674528649464:PERSISTENT": "loader: orig_duration HD=CONSTANT engine=PERSISTENT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
29 | | - "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 (2).", |
| 29 | + "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).", |
30 | 30 | "template:20260830000011:CONTINUOUS": "loader: active_cost HD=0.0 engine=9.0; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
31 | 31 | "template:20260830000011:COSTSEND:ACTIVATE": "loader: active_cost HD=0.0 engine=9.0; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
32 | 32 | "template:20260830000011:INCREASEDEND:2X": "loader: active_cost HD=0.0 engine=9.0; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
33 | 33 | "template:20260830000011:INHERENT": "loader: active_cost HD=0.0 engine=9.0; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
34 | 34 | "template:20260830000011:NONPERSISTENT": "loader: active_cost HD=0.0 engine=9.0; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
35 | 35 | "template:20260830000011:PERSISTENT": "loader: active_cost HD=0.0 engine=9.0; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
36 | 36 | "template:20260830000011:TIMELIMIT": "loader: active_cost HD=0.0 engine=9.0; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
37 | | - "template:20260830000015:COSTSENDTOMAINTAIN:FULL": "follow-up: continuing_effect is inferred, not the HD field -- engine continuing_effect=True (inferred from duration modifiers) where HD's own field is False, which is what lets \"...do not already cost END to maintain\" apply on HD's side and not the engine's (orig_duration=INSTANT on both). 2026-08-30 anatomy note Follow-ups (3).", |
| 37 | + "template:20260830000015:COSTSENDTOMAINTAIN:FULL": "follow-up: continuing_effect is inferred, not the HD field -- engine continuing_effect=True (inferred from duration modifiers) where HD's own field is False, which is what lets \"...do not already cost END to maintain\" apply on HD's side and not the engine's (orig_duration=INSTANT on both). 2026-08-30 anatomy note Follow-ups (4).", |
38 | 38 | "template:20260830000017:CONTINUOUS": "loader: active_cost HD=0.0 engine=11; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
39 | 39 | "template:20260830000017:NONPERSISTENT": "loader: active_cost HD=0.0 engine=11; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
40 | 40 | "template:20260830000020:CONTINUOUS": "loader: duration HD=INSTANT engine=CONSTANT; orig_duration HD=INSTANT engine=CONSTANT; range_value HD=200 engine=-1; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
|
89 | 89 | "template:20260830000045:NONPERSISTENT": "loader: active_cost HD=0.0 engine=9.0; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
90 | 90 | "template:20260830000045:PERSISTENT": "loader: active_cost HD=0.0 engine=9.0; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
91 | 91 | "template:20260830000045:PHYSICALMANIFESTATION": "loader: active_cost HD=0.0 engine=9.0; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
92 | | - "template:20260830000046:ARMORPIERCING": "loader (non-duration field): defense HD=SPECIAL engine=NONE; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
93 | | - "template:20260830000046:CUMULATIVE": "loader (non-duration field): defense HD=SPECIAL engine=NONE; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
| 92 | + "template:20260830000046:ARMORPIERCING": "loader (non-duration field): defense HD=SPECIAL engine=NONE; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 93 | + "template:20260830000046:CUMULATIVE": "loader (non-duration field): defense HD=SPECIAL engine=NONE; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
94 | 94 | "template:20260830000052:ALWAYSON": "loader: active_cost HD=0.0 engine=9.0; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
95 | 95 | "template:20260830000052:CONTINUOUS": "loader: active_cost HD=0.0 engine=9.0; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
96 | 96 | "template:20260830000052:INHERENT": "loader: active_cost HD=0.0 engine=9.0; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
|
129 | 129 | "template:20260830000085:NONPERSISTENT": "loader: active_cost HD=0.0 engine=13; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
130 | 130 | "template:20260830000085:PERSISTENT": "loader: active_cost HD=0.0 engine=13; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
131 | 131 | "template:20260830000085:PHYSICALMANIFESTATION": "loader: active_cost HD=0.0 engine=13; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
132 | | - "template:20260830000091:CANBEMISSILEDEFLECTED": "loader (non-duration field): defense HD=SPECIAL engine=NORMAL; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
133 | | - "template:20260830000101:COSTSENDTOMAINTAIN:FULL": "follow-up: continuing_effect is inferred, not the HD field -- engine continuing_effect=False where HD's own field is True, which is what lets HD allow COSTSENDTOMAINTAIN on an INSTANT-duration Drain (both sides read duration=INSTANT) and not the engine's \"...must be Constant in duration\" refusal. 2026-08-30 anatomy note Follow-ups (3).", |
134 | | - "template:20260830000111:CANBEMISSILEDEFLECTED": "loader (non-duration field): defense HD=POWER engine=NORMAL; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
| 132 | + "template:20260830000091:CANBEMISSILEDEFLECTED": "loader (non-duration field): defense HD=SPECIAL engine=NORMAL; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
| 133 | + "template:20260830000101:COSTSENDTOMAINTAIN:FULL": "follow-up: continuing_effect is inferred, not the HD field -- engine continuing_effect=False where HD's own field is True, which is what lets HD allow COSTSENDTOMAINTAIN on an INSTANT-duration Drain (both sides read duration=INSTANT) and not the engine's \"...must be Constant in duration\" refusal. 2026-08-30 anatomy note Follow-ups (4).", |
| 134 | + "template:20260830000111:CANBEMISSILEDEFLECTED": "loader (non-duration field): defense HD=POWER engine=NORMAL; follow-up 2026-08-30 anatomy note Follow-ups (7)", |
135 | 135 | "template:20260830000118:ALWAYSON": "loader: active_cost HD=0.0 engine=9.0; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
136 | 136 | "template:20260830000118:CONTINUOUS": "loader: active_cost HD=0.0 engine=9.0; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
137 | 137 | "template:20260830000118:INHERENT": "loader: active_cost HD=0.0 engine=9.0; duration HD=PERSISTENT engine=CONSTANT; orig_duration HD=PERSISTENT engine=CONSTANT; follow-up 2026-08-30 anatomy note Follow-ups (1)", |
|
0 commit comments