Skip to content

shape-search: score an explicit source file through the overlay route (--source/--owner/--span) - #9

Open
wowwheaties wants to merge 1 commit into
PascalPixel:mainfrom
wowwheaties:wip/shape-search-overlay
Open

shape-search: score an explicit source file through the overlay route (--source/--owner/--span)#9
wowwheaties wants to merge 1 commit into
PascalPixel:mainfrom
wowwheaties:wip/shape-search-overlay

Conversation

@wowwheaties

Copy link
Copy Markdown

Summary

shape-search <owner-hex> only reaches main-image owners: it reads games/gs1/recon/en/main/<owner>.c and scores through compiler candidate-show. The same greedy respelling loop is just as useful on an overlay candidate that a hand pass or thumb2c tune left a few halfwords short.

Second form, everything else unchanged:

shape-search --source FILE --owner <overlay>:<addressHex> --span N [rounds]

scores FILE (edited in place, as the first form does) through overlay score FILE --owner <owner> --span N. Mutation engine and accept-on-improvement loop untouched; the first form behaves exactly as before. No new dependencies; rustfmt --check clean; make verify green.

Measured

On 33 overlay residuals that hand work had left at differing_halfwords 1–40, six rounds each (a few seconds per owner) converted one to exact: resource_383:02002db4, 6 → 0, by a single s32 → s16 retype of a table base local. The other 32 did not move, which matches their scorer class (scheduling and allocation floors that respelling does not reach). Cheap enough to run as a fixed rung before any manual attempt.

…verlay route

`shape-search <owner-hex>` reads games/gs1/recon/en/main/<owner>.c and scores
it with `compiler candidate-show`, so it only reaches main-image owners. The
same greedy respelling loop is just as useful on an overlay candidate that a
lane or `thumb2c tune` left a few halfwords short.

Second form: `shape-search --source FILE --owner <overlay>:<addressHex>
--span N [rounds]` scores FILE (edited in place, as before) through
`overlay score FILE --owner <owner> --span N`. The mutation engine and the
accept-on-improvement loop are untouched; the first form behaves as before.

On 33 overlay residuals left at differing_halfwords 1-40 by hand work, six
rounds each converted one to exact (resource_383:02002db4, 6 -> 0, by a
single s32 -> s16 retype of a table base local).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant