Skip to content

The seeder has no eviction/restructuring rung — a piled board is unreachable even when legal space exists #630

Description

@edgehero

Measured on run 19: place_seed from an 87-part pile could not produce a placement unaided — the run needed a disclosed hand-arranged seed before the engine could finish the job (its own contribution was the last mile via two --reseat --repair invocations). The winning pattern — census the blockers, evict them, reseat — was executed manually through a widened scope. The original board proves legal room exists for every part; the seeder just cannot reach seats behind movable obstacles, because it places one part at a time against a frozen rest and never lifts anything.

Suggested fix: make the blocker census (issue above) an automatic ladder rung: seed → 0 poses → census → evict-and-retry, bounded depth, every move gated and recorded. This composes with the reseat_scope lift-and-reseat machinery that PR #623 ships — the pieces exist; the ladder never invokes them on its own behalf.

Full evidence: LEARNINGS.md findings 2–3 (link above), plus the four seeder-path performance fixes the run already forced (committed as d0feafb on the run branch).

Metadata

Metadata

Assignees

No one assigned

    Labels

    placementComponent placement: the placement engine, its CLIs, and floorplan-level work

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions