Repository navigation
fix: a landing refusal carries the text the next call needs - #150
Merged
rodrigoteamx merged 13 commits intoOct 8, 2026
Merged
rodrigoteamx merged 13 commits into
rodrigoteamx merged 13 commits into
Conversation
…plugin's only entity by default, and judged when the code lands (greenhouse evidence/1154)
…on works through Three real residents out of three, with their operations scaffolded, spent their next fourteen to seventeen calls to the model finding out how a test gets the repository run() receives; one never found it and filled no body (greenhouse evidence/1156). The judge's scaffold was a bare TestCase. When the class judged is an operation of the plugin, its judge now builds the repository its plugin hands run() — in memory — and shows the call the house makes, with a value for each required input. It still fails on purpose. What is not an operation, or does not exist yet, gets the judge it always got, byte for byte. The generator reads the operation's source and its plugin's entry; it loads nothing.
… them A resident wrote one judge for its plugin's whole cycle and named it after one operation. That operation's body was refused three times as «judged red by its own test» and the run ended with it still a scaffold: the judge called the plugin's other operations, which in that copy of the house were scaffolds (greenhouse evidence/1156). The refusal showed ten lines of phpunit. The house wrote those scaffolds and reads that they are unfilled from the sentence they answer with. A behavior refusal now names the unfilled operations its judge names — by class or by the operation they declare — and gives the order: fill and promote those, then send the same implement again. A judge red over no scaffold is told nothing new.
…hat only contain a scaffold's Four tests written after the code, for hand mutants that survived or that I expected to: the judge holds one repository and shows a second one missing; a class under Operations/ that is not an operation gets the bare judge; a name that starts or ends like a scaffold's is another name; a filled body that quotes another class's scaffold sentence is still filled. glob() already sorts.
…lder's own lines, where an edit stops matching, the lines an ambiguous text sits on Three refusals are about the text itself, and each said something was wrong without the words to put it right (greenhouse evidence/1162). In runs with a real resident a body refused for syntax was answered with one line number — beside the house's hint to repair the proposal with exact find and replace pairs. In one run the edit of that proposal did not find its text, the next edit did not either, and no body landed: 1,240 of the run's 1,414 seconds. In another the resident sent the whole file again each time: it landed, about three minutes later each time. - Syntax: the refusal shows the proposal's own lines where the parser stopped — that line, the three before it and the one after, and the line a bracket was opened on when the parser names one. The parser stops after the mistake, not on it. After the gutter each line is the proposal's, byte for byte: it is what a find is copied from. - An edit whose text is not there: where it stops matching — the line, how the text reads there, how the find reads there — and the text's own lines over that stretch, handed over as the find that matches, only when they sit in the text once. When only spacing parts the two, it says so. A later pair is told it was judged against the text the earlier ones left. - An edit whose text is there more than once: the lines it sits on. - A body the parser reads and the compile check refuses — a void function that returns a value, a method declared twice: the same lines around the line the check names. A resident met that door on a house that carried the rest of this: 300 characters, a line number, no text. Nothing is taken away: the first sentence of each, the whole text, and the finding the diagnostic carries are what they were. And an answer costs what the stretch it speaks of costs, not what the file does: two tests time it on a long file.
…sion says of it PHP 8.3 prints «A void function must not return a value» and 8.4 «A void method must not return a value». The test quoted the first; it asks now only for what both say. The refusal itself was right on both: the check's own words travel whole, whatever they are.
…t keeps a secret)
rodrigoteamx
changed the base branch from
hp/greenhouse/t-0092-a-judges-scaffold-holds-what-it-judges
to
main
October 8, 2026 21:51
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
It came stacked on #149, which stacked on #148; both are in main now. This one's base is
main, withmainmerged in — against it, it changes its own four files.What
Four refusals of
implementandeditare about the text itself. Each now carries the text the next call is written from.php -l, the check after the parser)find, and the whole filefindreads there — and the file's own lines over that stretch, as thefindthat matchesNothing is taken away: the first sentence of each refusal, the whole text, and
diagnostic.resultare what they were.Why
Measured on session ledgers of real residents (greenhouse evidence/1162). The parser names the line where it gave up, not the line of the mistake — a missing semicolon is reported two lines down — and beside the refusal the house tells the builder to repair its proposal with exact find and replace pairs. There was no text to copy a pair from.
How it was checked
Not in this change