Commit e592f85
preset: every file of a preset says what it is for (#140)
* preset: every file of a preset says what it is for
A run from a preset writes manifest.instructions.md beside the manifest,
named after it: the question the preset answers, how to read the four
outcomes, and every file with its format, size, expected outcome and one or
two sentences on why it is in the set. A run of files of one target is one
entry. Written from the manifest alone, by one function the command line
and the window share, so both leave the same directory behind.
The sentences come from a new optional recipe key, purpose, carried to
files[].purpose in the manifest. A plain recipe key rather than something a
preset passes around the recipe, because an ejected preset has to produce
what the preset does (PR5). It takes no part in the seed, so no generated
byte moves. It does enter the canonical recipe, so the pinned eject sums and
the recipe_hash of every run from a preset move once - the owner's decision.
All 140 targets of the six presets have one.
The name is reserved before any target can take it, instructions already in
the directory refuse the run before its first file, and a name too long for
a file system is refused on the manifest's box. Instructions that cannot be
written are said and leave no claim behind, and the run stands. verify does
not count them as extra, cleanup --with-manifest removes them first, and a
manifest naming anything but a plain name beside it is not acted on.
The window offers Open instructions beside Open manifest, from one type for
both buttons, and the batch screen has a Purpose box among the manifest
notes, which moved into a type of their own to keep the batch under its
field ceiling. cli/generate.go and preset/uploadset.go were split by what
their parts do, and the file ceiling came down to 401.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* guard: every box of the manifest notes is looked for with a value of its own
The same text went into every box, so once the purpose joined the kind of
case, a kind of case that stopped reaching the manifest was still found -
in the purpose. The mutation runner said NOT CAUGHT about a proven guard.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* guard: the purpose keeps to a text box, and the flush is read where it happens
Two guards were red on every system. The purpose box took the whole row of
the batch's notes, and only a path is allowed the row - it is now a text box
like the kind of case beside it, and the guard names it so a screen that
stops drawing it is red. The manifest is written through writeClaimed since
the instructions came to share it, so the durability guard reads the flush
there and first asks that writeOver still goes through it.
The line said when the instructions could not be written claimed the files
were complete. It is also said after a stopped or partly failed run, so it
now says only what is true there: the manifest was saved and holds the
same facts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* cleanup: the list before --yes names the manifest and the instructions too
With --with-manifest the list printed without --yes named only the files
the manifest lists, and --yes then removed the manifest and the
instructions beside it as well - the manifest since there was a flag for
it, the instructions since this branch. The list now ends with both, or
with why they would stay: a file that stays, or instructions somebody
already deleted. The run with --yes names them once they are gone, and
--json carries them in a new record list in both reports, so files,
removed, kept and would_remove still count only what the manifest lists.
A record that cannot be removed now ends with its report on stderr like
any failed run's, where it used to end with none.
The run's settings travel as one value, which takes applyCleanup from nine
arguments to three - it was the widest signature in the tree - and the
ceilings follow it down.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* cleanup: instructions not named after the manifest are left alone
A manifest is a file somebody can edit, and one whose run.instructions
named the instructions of another run in the same directory had
cleanup --with-manifest remove them - measured. cleanup now takes the
instructions only when they are named after the manifest it was given, and
reports any others as kept, with why, in the list before --yes and in the
run. A manifest renamed after its run keeps working the same way: its
files and the manifest go, its instructions stay and are named.
The window's line about instructions it could not write now escapes a
character nobody can see, in the path and in the system's sentence that
repeats it, as the command line does.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* changelog: cleanup takes only the instructions named after its manifest
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>1 parent 4479d9b commit e592f85
50 files changed
Lines changed: 2199 additions & 465 deletions
File tree
- internal
- audit
- cli
- engine
- guard
- gui
- text
- locale
- window
- manifest
- preset
- recipe
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
19 | 26 | | |
20 | 27 | | |
21 | 28 | | |
| |||
307 | 314 | | |
308 | 315 | | |
309 | 316 | | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
310 | 342 | | |
311 | 343 | | |
312 | 344 | | |
| |||
520 | 552 | | |
521 | 553 | | |
522 | 554 | | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
523 | 563 | | |
524 | 564 | | |
525 | 565 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
157 | 161 | | |
158 | 162 | | |
159 | 163 | | |
| |||
315 | 319 | | |
316 | 320 | | |
317 | 321 | | |
318 | | - | |
319 | | - | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
320 | 325 | | |
321 | 326 | | |
322 | 327 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
247 | | - | |
| 247 | + | |
| 248 | + | |
248 | 249 | | |
249 | 250 | | |
250 | 251 | | |
| |||
309 | 310 | | |
310 | 311 | | |
311 | 312 | | |
312 | | - | |
| 313 | + | |
313 | 314 | | |
314 | 315 | | |
315 | 316 | | |
| |||
0 commit comments