Repository navigation
A blueprint that names a critical zone as soon as the plan changes a file that holds its code - #117
Merged
Merged
Conversation
…file that holds its code In 10 of the 27 runs of the evaluations that reached conformity, the blueprint the developer approved said that the plan touches no critical zone, and the hand back at conformity sent them to read a file of one (#107). Both were right by their own reading: the extractor and the cross-check read a zone as what it protects, the reviewer as the files that hold its code. The developer learned at conformity what the approval was to tell them, and one who trusts the page takes the list for a mistake. The developer decided on 2026-10-08, the first of the three ways of the issue: the blueprint announces by file, and says how far. The cost was said with the choice and is accepted: the page says "touched" for a change that leaves the rule of a zone alone, and says so. - `agents/surface-extractor.md`: the plan touches a zone as soon as a slice changes, creates or deletes a file that holds its code, whatever it changes there. Which files hold that code is the extractor's reading, of the file the agent instructions name and of the files whose code defines, computes or writes what they say the zone protects, as the code stands or as the plan leaves it: it opens the files the slices change to tell, and says none only when not one of them holds the code of a declared zone. For each zone touched it names those files, then says in one sentence how far the plan goes: into what the zone protects, or only into something else the file holds. That sentence points to the criterion or the section that holds the rule and tells it no second time. - `agents/surface-checker.md`: the same test, in the same words. A zone touched that way and not named is an omission, and so is one the page names only to say that it is left alone. A zone named without its files or without how far is no omission: the cross-check holds that the developer learns which zone, the extractor how it is told. - `agents/surface-reviewer.md`: one sentence says what the reviewer already does, so that both ends rest on the same test and nobody mends it: a file of a zone is listed as soon as the branch changed it, whatever it changed there, since a list that weighed the change could hide code the developer was to read. Its reading of the files stays its own, whatever the blueprint names. - `skills/surface-plan/templates/blueprint.md`: the line that opens the sensitive zones says none or names the zones with their files, and how far follows it, a sentence per zone, so that the statement itself stays a bare line. - `ARCHITECTURE.md`, "Critical zones", and step 2 of the guide: the same, with the reason and the way set aside, a reviewer that lists by the lines changed. - `tests/prompts/`: the contract holds the test by file at both ends, the sentence on how far, and the list of the reviewer by file and on its own reading. What it does not do. The script, the line of the hand back at conformity and the journal are as they were. The reviewer's reading of which files a zone covers stays free, so the two ends may still differ on a file that is not the one the host names: in the fourth and fifth campaigns the reviewer listed `lending/__main__.py` for the fine computation, which the sensitive zones of no blueprint named. And a branch that comes to change a file of a zone the frozen blueprint did not name, by a fix or a deviation, is listed at conformity as before: whether that is a contract break is said by no prompt. Not checked by a session: no blueprint was drawn and no cross-check played with these prompts.
…hey measure Once the blueprint names a zone as soon as the plan changes a file that holds its code (#107), two readings of the harness would tell that change as a fault. - `zones_none_said` held a page to the need of its case: a case that asks nothing of a zone was to say none. `06-borrow-limit` asks nothing of the format of `loans.jsonl` and changed `lending/loans.py` in each of its four runs that reached conformity: the page that now names the zone would read false, and the report would call it worse. None is to be said when no file of a zone changes, which only the proof of conformity tells. The measure is kept for a run whose need asks nothing of a zone and whose proof lists no file, and is empty for the others: a run that did not reach conformity has none, and one whose proof lists a file is read by `zones_announced`. - Whether a page says none was read in the whole paragraph that opens its closing section. That paragraph now says how far the plan goes into a zone, where "none of the computation" is not the statement that no zone is touched. It is read in the sentence that opens the section. Read again with no session. On the 147 blueprints kept under `.evals/`, the sentence and the paragraph say the same. On the runs of the fourth and fifth campaigns, measured again, `zones_announced` is as kept on every run, and `zones_none_said` goes from a value to empty on the runs stopped at the hand over and on those whose proof lists a file, never from true to false nor back. `evals/README.md` says what the measure now reads, that a summary kept before holds it for runs it no longer applies to, and that a case names the zones its need asks to change. The cases and the host are as they were. What it does not do: `zones_announced` still does not tell a file listed for one zone under a blueprint that named another. A measure by file, every file listed named in the closing section, would, and is left to a choice: on the pages of the fifth campaign it holds on 1 run of the 8 that reached conformity, where `zones_announced` holds on 5.
…the three agents The twelve plans of the fifth campaign were drawn again with the extractor of this branch. The surprise at conformity is gone on them: no file is listed under a page that said none on 8 runs of 8, where 5, and every file listed is named in the closing section on the 7 runs that list one, where 1. But the page now announces too much. Both pages of `01-overdue-list` name the fine computation "through `lending/__main__.py`, which already prints the fines", and the format of `loans.jsonl` "through `tests/test_cli.py`, whose new tests write loan lines straight into the file": no reviewer listed a file for that case, in 5 runs of 5. A page of `02-reservations` names both zones where its reviewer listed nothing, one of them for a file the plan "allows to gain new code". The extractor was told "the files whose code defines, computes or writes" what a zone protects, and the reviewer was told nothing: the two ends still read by two definitions. - One definition, between the marks `zone-files`, word for word in the extractor, the cross-check and the reviewer, and pinned as such: a file holds the code of a zone when it is the file the agent instructions name for it, or when what the zone protects is defined or computed there, in whole or in part, as the code stands or as the change leaves it. A file that only uses that code does not hold it: one that calls it, that prints, stores or builds on what it returns, or that tests it. For the reviewer it states what the reviewers of the five campaigns did, `lending/__main__.py` listed for the fine computation only once it chooses the price that caps a fine, and its list stays its own reading, whatever the blueprint names. - The extractor and the cross-check read the plan by the files its slices change. A slice that names none is read from what it does and from the code where it lands, and a file a slice only allows to change is not one the plan changes. `templates/plan.md` asks a slice for the files it changes, by their path, where it asked for "what it touches". - The cross-check: the omission is a page that says none, or says of a zone that the plan does not touch it, while the plan changes a file that holds its code. "Touched through this file, its rule unchanged" is the form the page is asked for, and no omission: the wording of the first pass, "names a zone the plan touches only to say that it is left alone", sat too close to it. - After the freeze. What the sensitive zones say of the files of a zone tells the developer which code they will read: it is neither a criterion nor a promise on the layout of the code. The reviewer holds no break against a branch, or an amendment of the plan, that changes a file of a zone the page does not name, or leaves alone one it names, for that alone: its list at conformity is the reference. And the extractor says of the files of a zone which the plan changes and how far, nothing else: not that another of them stays as it is. - `ARCHITECTURE.md`, "Critical zones": the definition and its reason, the plan read by the files of its slices, and what the page says of files after the freeze. The guide: the developer learns at approval which files they will read, and the list at conformity is the reference, which a fix after their approval may lengthen. What it leaves. A page that announces a zone no file of which the branch then changes is caught by no prompt: the cross-check counts omissions, and nothing counts a zone named in excess. Not checked by a session: no page was drawn with this definition.
…ame that changed meaning The commit before last kept `zones_none_said` under its name and its direction with another meaning: a report against a summary kept would have called "worse" a page that follows the new prompt. And its reading of "the page says none", the first sentence of the closing section, misses "**Critical zones**. None is touched: ..." and takes "which changes none of its fields", said of a zone the page names, for the statement. - `zones_none_said` is gone. It held a page to the need of its case, a rule of the page the decision retires: none is said by the files the plan changes. The five summaries kept hold it, and `evals/README.md` says that it is no longer measured. - `zones_files_announced`, a measure of the execution: every file the proof of conformity lists is named, by its path, in the closing section of the last blueprint. Empty when the proof lists none. It tells what `zones_announced` does not, a file listed for one zone under a page that named another, and is read with it, since a page that says none may name a file further down. - `zones_announced` keeps its meaning. A page says none in the paragraph that opens its closing section: outright, "Critical zones touched: none", "None is touched", "the plan touches neither of the two critical zones", or by a "none" or a "neither" that comes before any zone the host declares. After a zone is named, such a word says how far the plan goes into it. - A measure one of two summaries alone holds was compared with nothing and said of nothing, which reads as a measure that did not move: `report --against` now names it as not compared, whichever side lacks it. A campaign that played planning alone is told the same of every measure of the execution, which its report already says in a paragraph of its own. - `corpus.py`, `evals/README.md` and the builder of the tests say that a case names the zones its need asks to change, where they said the zones it touches. Read again with no session. The reading of none holds the phrasings above and those of the tests, and says the same as the reading by paragraph on the 166 blueprints kept under `.evals/`, the twelve pages drawn again included, none of which says none. Summarized again and set against its summary kept, the fifth campaign moves on no measure: `zones_announced` holds on 5 runs of 8 as kept, `zones_files_announced` on 1 of the 7 that list a file, and the report names the two measures it does not compare. On the twelve pages drawn again with the extractor of the first pass, read against the lists of the campaign: 8 of 8 and 7 of 7. What it does not tell: a page that announces a zone no file of which is listed. Of those twelve pages, one of `02-reservations` does, and both of `01-overdue-list` name two zones for a case no reviewer ever listed a file for: they are found by reading.
…is asked on a zone it touches The blueprint now says, for each critical zone the plan touches, how far the plan goes into it, in one sentence, which often reads "the plan changes only the borrow check in that file and leaves the format of a loan line as it is (criterion 12)". The method of the count set aside "the bare line" of the zones alone, and calls a sentence of its own that tells a fact again a repeat "even with a pointer attached": it would count against the page the sentence the prompt asks of it. The rubric drew the same line for `blueprint.no-padding`. - `evals/judge/count.md`: that one sentence is no statement that something stays untouched, even where it says that the rule of the zone is left as it is, and is not to skip. Any other sentence that says again that it is unchanged still is one, and so is the rule of a zone told again in full. - `evals/judge/rubric.md`, `no-padding`: the same, and "the rule of a zone told again in full still does" stays. - `evals/README.md` lists it with what the frame asks for, and says that the campaign kept in `evals/reports/2026-10-07-*` was judged and counted before it, on pages that held no such sentence: against it, a move of `blueprint.no-padding` or of a count may come from the judge. Not checked by a session: the check of the judge was not played again. Its pairs do not bear on this line, since the lean page and the padded one say the same of their zone.
PierreMardon
force-pushed
the
fix/zones-announced-by-file
branch
from
October 8, 2026 10:42
2a10f1f to
e4315cd
Compare
…ode, and a zone said untouched held as the contract The narrower definition was drawn and played. The twelve plans of the fifth campaign, drawn again (`.evals/redraw-107b`): on the 8 runs that reached conformity, the files each page names for the zones it touches are the files the reviewer listed, and the two cases that announced too much say none. Two cases were then played whole (`.evals/zones-107`), both conformant. On `06-borrow-limit` the page names `lending/loans.py`, and the reviewer listed `README.md` beside it: "`README.md` states the fields of a loan line and their meaning in its "Data" section, and the branch changed that file". No reviewer listed the README in 27 earlier runs. Told that what a zone protects is "defined ... there", this one read a document as code, and the hand back sent the developer to read it as such. A second review found the rest. - The definition, in the three agents. It speaks of code: "when code there defines or computes what the zone protects", and a file that describes what a zone protects, a README or any other document, does not hold its code. A file the agent instructions place in a zone, by its name, its folder or a pattern, holds it whatever it holds: the narrowing bears on the files they do not place. And "before the change or after it", where "as the code stands or as the change leaves it" was one moment for a reviewer at conformity: a plan that moves the code of a zone out of a file still has that file announced and listed. - A zone the page says is not touched is the contract. The paragraph of the second pass, "a branch that changes a file of a zone they do not name is no break for that alone", could be read of a page that said none: the symptom of #107 back by rule. It now holds for a zone the page names as touched, another of its files changed or a named one left alone. A branch or an amendment that changes a file that holds the code of a zone the page says is not touched, or of any zone when it says none, makes the blueprint false: a break like any other, and the developer decides, since they approved a page that told them they would not read that code. The amendment check says the same. - The statement of the zones has a fixed form: the closing section opens on one sentence, the lead-in of the template, then `none`, or each zone touched, named as the agent instructions name it, with in backticks its files the plan changes. The developer finds there at once which files they will read, and what reads the page, the cross-check and the evaluations, reads it there and no longer guesses from free prose. A file stands in backticks in that sentence only when the plan changes it, and the sentences on how far come after it. The cross-check reads the zones the page names there. The contract pins the lead-in. - `templates/plan.md`: of the three things the chain reads in a plan, the script reads the markers and the `gates` block, and agents read the rest, the files each slice changes among it. - `ARCHITECTURE.md`, "Critical zones", and the guide: the same. The guide no longer says that a fix may lengthen the list without saying where: another file of a zone the blueprint named, and a change that reaches a zone it said untouched comes back first. - `tests/prompts/`: the definition is held whole, equal to the contract in the three agents. The two assertions on "writes" and "reads" came after that equality and could fail on no prompt: they are gone. Left as it is: the cross-check counts no omission for a zone named without its files, and the fixtures of the toy keep the form of the page of before. Not checked by a session: no page was drawn in the fixed form, and no review was played with the rule on a zone said untouched.
…page announces beyond the list The harness guessed from free prose whether a page says none and which files it announces, and a second review made it misread both ways: "no critical zone rule changes", in a sentence on how far, read as none; "neither is touched" after the zones were named did not; a path given to deny it, "(`lending/fines.py`) is not touched", counted as announced. The page is now held to one first sentence of fixed form, and nothing told the other direction, the one the narrower definition fixed: a page that announces a file no reviewer lists. - `blueprint.statement` reads the sentence a closing section opens on, when it opens on the lead-in of the template: after its colon, `none`, or what stands between backticks to the end of the sentence, the files the page announces. The colon and that end are found outside backticks, and a word the host names a zone with, `loans.jsonl`, is no file. No list of phrasings: nothing after that sentence is read. - `zones_announced` and `zones_files_announced` read those files. A page outside the form, which opens on other words or whose lead-in ends its line with the zones in a list under it, is read as before, as free prose, and the README says that it guesses. - `zones_announced_listed`, a measure of the execution, higher being better: every file the page announced is one the proof of conformity lists. Empty when the page announces none, and for a page outside the form. - `tests/evals/test_probes.py` reads the spoiled page of the toy as the measures do. Read again with no session, on the 188 blueprints kept under `.evals/`, 153 of them in the form. Whether a page says none: the same on all. `zones_announced`, on the 82 last pages that have a list: the same on all. `zones_files_announced` differs on six, which are three pages and their copies: `04-suspension` of the first campaign and `02-reservations` run-01 of `redraw-63` and `redraw-63b`. Each says none in its first sentence and names `lending/loans.py` further down, to say that the file changes and the zone does not. Its path stood in the section, so the file counted as announced; the sentence says none, so it no longer does, which is the reading the measure was meant for. On the pages of the second redraw, read against the lists of the campaign: 8 of 8, 7 of 7, and every file announced is listed on the 7 pages that announce one. On the two cases played whole: the README listed and not announced shows on `zones_files_announced`. What it does not tell: the five pages of the first redraw that state their zones in a list, those of `01-overdue-list` and `02-reservations` that announced too much among them, are outside the form, and `zones_announced_listed` is empty for them.
…hanges in a file of a zone The sentence on how far the plan goes into a zone it touches says what the plan changes in a file of that zone: "by its imports only", "only how the file loads the loans module". The method of the count lists as a detail of implementation "an import cycle" and "where a piece of code sits inside a file", and would count against the page what the prompt asks of it. - `evals/judge/count.md`: what that one sentence says the plan changes in a file of the zone is no such detail, next to "a file or a module named only to say where a change lands". - `evals/README.md` says so under `implementation_details`. Not checked by a session: the check of the judge was not played again.
This was referenced Oct 8, 2026
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.
In 10 of the 27 runs of the evaluations that reached conformity, the blueprint the developer approved said that the plan touches no critical zone, and the hand back at conformity sent them to read a file of one (#107). Both were right by their own reading: the extractor and the cross-check read a zone as what it protects, the reviewer as the files that hold its code.
The developer decided on 2026-10-08, among the three ways of the issue: the blueprint announces by file. A zone is touched as soon as the plan changes a file that holds its code, and the page says how far.
What changes
none, or each zone touched with in backticks its files the plan changes. One sentence per zone then says how far the plan goes: into what the zone protects, or only into something else the file holds.ARCHITECTURE.mdunder "Critical zones", and the guide.zones_none_saidis gone: it held a page to say none whenever the need of its case asks nothing of a zone, a rule this decision retires. Two are new, for the runs that reach conformity:zones_files_announced, every file the proof lists was announced, andzones_announced_listed, every file the page announced is listed. The statement of the zones is read by its form, the first sentence of the closing section, and no longer guessed from its prose. A report names a measure that one of two summaries alone holds, where it said nothing.What it costs
The page says "touched" for a change that leaves the rule of a zone alone, and says so. And a fix or an amendment that reaches a zone the page said was not touched now stops the loop on a plan change proposal, where it was listed without a word. The developer accepted the first with the choice; the second follows from it, and is said here for them to weigh.
Measured
Three passes, each read by a session before the next: an independent review and the runs changed the text twice.
The plans of the fifth campaign, drawn again by the extractor of the branch, the plan held still, each page read against the files its run listed at conformity. Eight of those twelve runs reached conformity, seven with a file listed.
zones_announcedzones_announced_listed7 of 7The first definition took for the code of a zone a file that prints a fine and a test file that writes loan lines:
01-overdue-listnamed two zones where reviewers had listed no file in five runs of five. As it stands, the files a page names are the files the reviewer listed, no more and no fewer, and the four pages stopped at the hand over say none. The twelve pages follow the fixed form.Four runs played whole, all conformant, every hidden acceptance test passed:
05-fine-caplending/fines.py,lending/__main__.py06-borrow-limitlending/loans.pylending/loans.pyandREADME.md06-borrow-limitlending/loans.py02-reservationsThe second pass gave the reviewer the definition, and it read "defined there" as covering the README, which describes the fields of a loan line: a file no reviewer had listed in 27 runs. The definition now says that it speaks of code, and the run played again lists
lending/loans.pyalone, on a branch that also changed the README.The cross-check, on the toy, twice on the second pass and twice on the prompts as they stand: it counts nothing on a faithful blueprint, and finds a zone a blueprint hides.
22.13 USD at list price: 10.19 for the three redraws, 11.17 for the four runs, 0.77 for the cross-check.
Not measured, and left as it is
shelf/__main__.py, which only calls the export: the probes and the end to end states play a page the extractor no longer draws.02-reservations, on one run: how often the two ends still differ is not known.Read twice by an independent reviewer, fifteen findings each time. What the first found is in the second pass, what the second found in the third.