feat(image): add NDJSON feedback log (MK-5 Layer 3, feedback half) #27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/image-feedback-log-MK-5"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Feedback-log half of MK-5 Layer 3. The external tuner is deferred to its own follow-up issue/PR per the umbrella plan (it only earns its keep once dozens of rated runs exist).
monkey image auto --record runs.jsonlappends one NDJSON line per run:ts_unix_ms, input blake3, class, recipe sha, steps, output blake3,duration_ms.monkey image rate <input> --score 1..5 [--notes "..."] --record runs.jsonlhashes the input and appends a verdict keyed by the same blake3, so a rating joins its run.Design choices (confirmed before building)
image(monkey image rate), consistent withclassify/auto.--recordrequires an explicit path. No default, noXDG_DATAwrites, no hidden state.Notes
unknownpassthrough records an output hash equal to its input hash.recipe_shais the blake3 of the recipe source text, so the exact recipe version (including a--recipe-diroverride) is captured.Recipe::loadnow returns that source;recipe::Stepispub+Serialize.blake3,serde_json.Testing
just pre-commitgreen (fmt, clippy-D warnings, build, 72 tests). New unit tests cover hash stability, score-range rejection, and one-NDJSON-line-per-record withnotesomitted when absent. Manually verified in the builder image:auto --recordthenrateproduce two joined records; anunknownpassthrough recordsoutput == input;--score 9errors with exit 1.Closes MK-5 Layer 3 (feedback log). Remaining: the tuner +
recipe promote(separate follow-up).🤖 Generated with Claude Code