Skip to content

F56 leftovers — the subdirectory case's long tail - #124

Merged
munchist merged 4 commits into
mainfrom
aflow/f56-leftovers-subdirectory
Oct 17, 2026
Merged

munchist merged 4 commits into
mainfrom
aflow/f56-leftovers-subdirectory

Conversation

@munchist

Copy link
Copy Markdown
Contributor

Fix round on the F56 leftovers: the first publication attempt failed the folder's large-files guard (a new production file at 1,534 lines over the 1,500-line hard limit). This splits or restructures that file — 2 files, applies clean against d45a4b2 — with no baseline or allowlist entry and no behavior change.

- Ask the rules file of the clone's top as well as the connected folder
- Follow the full alternates chain, or refuse the folder with a clear message
- Replace the F56 entry's false boundary sentence
- Give the continueFrom refusal the failed-checkout re-preparation its list omits, with the test extended to assert it
…tate the F56 boundary as built

- objectAlternates: the depth check counts only stores that exist and are new to the collected set, so a deepest level of duplicates and missing entries does not refuse a folder a clone would read in full; test walks such a chain and asserts it is not refused
- docs/plans/315: the F56 entry says the chain is followed as git follows it, that a chain deeper than a clone would read is refused by name with the operator's remedy, and that the brief names the rules file at the clone's top as well as the folder
…lternates entries by code point

- harnessHandlers: a test pins borrowedReads before removeWorktree/prepareWorktree — a turn naming a new base on a folder the alternates check refuses leaves the session's checkout in place and the session held
- objectAlternates: the quoted-entry decoder walks code points, not UTF-16 code units, so an unescaped character outside the BMP no longer splits into lone surrogates and skips the store; test holds such an entry
@munchist
munchist merged commit 4b40848 into main Oct 17, 2026
3 checks passed
@munchist
munchist deleted the aflow/f56-leftovers-subdirectory branch October 17, 2026 13:15
munchist added a commit that referenced this pull request Oct 18, 2026
* Local Publish decides its own next step, measured first

- Measurement first: a labelled set from the stream's records (failed checks, reviews with findings, CI failures of PRs #91–#124) measured over three deciders — Jev via ai.decision.decide, critique-then-verdict gpt-6-luna, critique-then-verdict claude-opus-5-5 — on agreement, abstention at the chosen minConfidence, latency and cost; recorded in Plan 316's measurement section (yarn decisions:measure-loop)
- After a failed check: one choice among recheck_on_timeout, fix_commission, operator_install_mismatch; onUndecided = today's failure, which wakes Helmsman; the fix brief assembled from the check's output tail and the failing guard's name, no prose author
- After a review with findings: one yes_no per finding and a choice among fix_before_merge, publish_as_is, ask; minConfidence high, onUndecided = the fix round; the fix brief assembled from the findings that passed
- The push gate, the scan and the posture untouched (316 D9); tests route planted check outputs and finding lists through each route and the undecided branch; Plan 315 §2 gains the decision, Plan 316's status names the first production consumer

* fix(315): round 1 — republish-fix carries the child's outcome, each.items are entries, the comment matches the paths

* fix(315): round 2 — the per-finding step comes out on the measurement, the fix round waits for the approval and pushes nothing declined, the measure script survives its own history

* fix(315): round 3 — the after-review choice has two options, and two comments stop telling stories

* fix(315): round 4 — a no-change fix round is a valid outcome, the bundle names its prerequisite, and the after-check decision waits for its measurement

* fix(315): round 5 — a publication decides and records, it does not start another publication

* fix(315): round 7 — the decision's bar is recorded with the model it was measured on, and a round hands on findings that fit

* fix(315): round 8 — a check that could not run says so, and the fix round reads the review's own findings
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