Repository navigation
Conversation
- turn-start on a RUNNING record whose thread is idle reconciles against the live thread before starting, instead of refusing. - handoff: criteria-audit.mjs (fresh-context MET audit on the final head, criteria x surface x input x flag matrix, flag-off parity) and rulings-check.mjs (every ruling on the ticket with what it amends); qa-merge-order.mjs --evidence needs each changed e2e spec passing at the head in its lane; diff rules for comparators without a tie test and new exports nothing uses. - precedent-check.mjs --behavior makes each disputed behavior a required checklist item. - fleet-orchestrator: finding-brief.mjs refuses findings without evidence and fleet.sh ships the screenshots with the prompt. - vibe 1.0.75 and its changelog. Testing: node --test and pytest over the plugins on a second machine. Risks: the unused-export rule blocks a handoff that adds an export nothing names until it is removed or recorded with Export:.
- The operator ruled that skipping pre-merge e2e was a deliberate trade for a deadline, not a standing plugin rule, so the check, its prose and its changelog line come out. Testing: qa-merge-order tests and the vibe contract tests on a second machine. Risks: None identified.
This was referenced Oct 21, 2026
Collaborator
Author
|
Folded into #334 as part of the combined vibe 1.0.74 lessons release. |
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.
Purpose
vibe 1.0.75 covers every lessons-ledger entry that #331 does not. This branch is stacked on #331 (
fix/vibe-lessons-20261021b) because it extends code that only exists there. It is retargeted tomainonce #331 merges. Each lesson got a check inside the plugin first. Prose only points at the check.No test in this PR sends a signal to a process it did not start. Every run happened on a second machine in a throwaway copy.
Rung table
turn-starton a RUNNING record without a pending operation runsreconcileSessionagainst the live thread first, then decides; a thread with a turn in progress is still refusedcriteria-audit.mjs: a fresh-context MET/PARTIAL/MISSED table on the current head, every criterion METno behavior change:(a diff against the base) orruling:comparator-tie(a new comparator needs a recorded tie test that exists) andunused-export(a new export nothing else names blocks unless recorded). Agent-authored aria copy is the existingcopy-provenancerulerulings-check.mjs: everyRulingline in the QA record or resume log is on the ticket withamends:; the ticket template carries the linefinding-brief.mjsrefuses a finding with no story or route, viewport, and selector or screenshot; it copies screenshots to<prompt>.evidence/, whichfleet.shnow shipsprecedent-check.mjs --behavior(repeatable) puts the items in the brief andchecklist.json;checkrefuses until each isobserved: ...; screenshot: ...orneeds a write to testCloseout per class
run-turnpath refuses from RUNNING too, but it starts and waits on a turn and was not in the incident, so it is unchanged. The fix is made in the plugin's copy. The user-levelapp-server-orchestratorskill outside this repo carries the same code and needs the same change there.exportkeyword was dropped. No assertion changed.Ledger entries
Taken: every entry without "in PR #331", except one. Skipped: "our merges broke main's Desktop E2E; heavy suites never ran on the PR". The operator ruled that skipping pre-merge e2e was a deliberate trade for a deadline and not a standing plugin rule, so this PR adds no check, gate or prose for it. Two sub-items of the #8960 entry have no check, with reasons above.
Commands run
All on the second machine, in a throwaway copy:
node --testover everyplugins/**/*.test.{mjs,cjs,js}: 645 of 648 passed. The 3 failures were handoff-inventory fixtures the new unused-export rule flagged; after the fixture fix above, that file and its sibling ran 28 of 28.uv run pytest plugins/: 2553 passed.uv run ruff check .anduv run pyright: clean.tools/vibe-workersis unchanged.