detect skyline empty components separated by full-height columns
add sound gcd and bounded subset-sum area feasibility modes
compare boundary-event and periodic-eight trigger schedules
retain all component modes as opt-in because their measured cost exceeds their tree reduction
document the proof, counters, results, and default-off Gate D decision
Measurements
Counter-free Release medians with existing cheap rules enabled:
order 7: disabled 0.985 s; gcd 1.027 s; subset sum 1.052 s
order 8: disabled 0.203 s; gcd 0.212 s; subset sum 0.219 s
Gcd changed fewer than 0.005% of nodes and slowed both orders about 4.3%. Subset sum reduced nodes only 0.21–0.24% while slowing them 6.8–7.5%. Periodic-eight checking was slower still, so boundary-event triggering is retained only for opt-in experiments and component pruning defaults to disabled.
Validation
Debug CTest: 14/14 passed
ASan+UBSan CTest: 14/14 passed
focused boundary and periodic exhaustive comparisons passed
Release benchmark modes and runner self-test passed
warning-enabled syntax, Python compile, invalid CLI, and diff checks passed
## Summary
- detect skyline empty components separated by full-height columns
- add sound gcd and bounded subset-sum area feasibility modes
- compare boundary-event and periodic-eight trigger schedules
- retain all component modes as opt-in because their measured cost exceeds their tree reduction
- document the proof, counters, results, and default-off Gate D decision
## Measurements
Counter-free Release medians with existing cheap rules enabled:
- order 7: disabled 0.985 s; gcd 1.027 s; subset sum 1.052 s
- order 8: disabled 0.203 s; gcd 0.212 s; subset sum 0.219 s
Gcd changed fewer than 0.005% of nodes and slowed both orders about 4.3%. Subset sum reduced nodes only 0.21–0.24% while slowing them 6.8–7.5%. Periodic-eight checking was slower still, so boundary-event triggering is retained only for opt-in experiments and component pruning defaults to disabled.
## Validation
- Debug CTest: 14/14 passed
- ASan+UBSan CTest: 14/14 passed
- focused boundary and periodic exhaustive comparisons passed
- Release benchmark modes and runner self-test passed
- warning-enabled syntax, Python compile, invalid CLI, and diff checks passed
- issue-specific review completed with no findings
Closes #13
Full-height skyline columns partition the remaining board. Add sound gcd and bounded subset-sum checks for the resulting component areas, with boundary-event and periodic benchmark schedules.
Keep the rules disabled by default because their small tree reductions do not recover their measured cost. Record the rejected default and scheduling evidence so it can be revisited only with new data.
Tests: Debug CTest (14 passed)
Tests: ASan+UBSan CTest (14 passed)
Refs: #13
mcp
merged commit 39ff5cb340 into main2026-07-31 08:41:16 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Measurements
Counter-free Release medians with existing cheap rules enabled:
Gcd changed fewer than 0.005% of nodes and slowed both orders about 4.3%. Subset sum reduced nodes only 0.21–0.24% while slowing them 6.8–7.5%. Periodic-eight checking was slower still, so boundary-event triggering is retained only for opt-in experiments and component pruning defaults to disabled.
Validation
Closes #13