Repository navigation
Conversation
- Add pr-facts.mjs: overlap by shared and imported files, assertion and contract changes, new refusals, ticket asks, server-only lanes and run evidence, with a check that refuses an incomplete or miscited body - Build and refresh pull request bodies from those facts and block creation while required runs are pending - Run the same overlap at requirements time, including named dependencies - Add node tests, contract tests and two shared eval cases
This was referenced Oct 20, 2026
- Report the facts from handoff-inventory.mjs and gate the body and run evidence as pull-request phase options, through an imported module with no CLI of its own - Delete the prose the gate replaces and the separate lanes step - Re-evaluate PostHog before marking a flag key pending - Keep one eval case and pin the wiring in the existing handoff contract test
# Conflicts: # CHANGELOG.md # plugins/vibe/.claude-plugin/plugin.json # plugins/vibe/.codex-plugin/plugin.json # plugins/vibe/README.md # plugins/vibe/agents/vibe-environment-worker.md
Collaborator
Author
|
Folded into #317. |
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 pull request bodies kept stating the wrong facts: overlaps listed from memory, flipped and deleted assertions left unnamed, a test change attributed to a file whose diff only removed a comment, "additive" on bodies that added refusals, ticket asks left unanswered, and pull requests opened while device and play runs were still pending. The prose rules for these did not hold, so this replaces them with a check in a step vibe already runs.
The handoff inventory (
handoff-inventory.mjs, already run in step 1 and with--phase pull-requeston the pull request path) now reports the facts from the diff:serverOnly,requiredLanes,assertionChanges,contractChanges,refusals,asks(with--ticket) andoverlap(with--overlap: onegh pr listcall). In the pull-request phase,--bodyaddsblocking.prBodyand--runs --commitaddsblocking.prEvidence. The environment worker builds the body from those facts and runs the gate in its existing pull-request step; it creates nothing while either is false. The logic lives inpr-facts.mjs, an imported module with no CLI, because folding it in would take the inventory far past 500 lines. No new handoff step: a server-only diff now skips Storybook, Desktop runs and visual QA through the step 1 inventory.Size
agents/*.mdandskills/**/*.md, evals excluded), merge-basef65aec2vs head: 15,647 to 15,646 lines, 149,444 to 149,453 words (-1 line, +9 words). The newly requested PostHog line accounts for about 19 words; without it the gate's net is about -10 words. Removed: the handoff hard-gate and play-evidence paragraphs and the verify worker's evidence sentence, which the gate now enforces.git diff -U0(subsecond). The pull request path adds twogh pr listcalls (seconds). A pull request with pending runs now waits for them instead of opening.Ledger lines
overlapincludes imported files; requirements worker step 4blocking.prBody: every cited path:line must be a changed lineassertionChangesgated; summarizer lists removed guards and gate predicatescontractChangesgatedoverlapfromgh pr listfiles, each PR number required by the gateasksgated: quoted and answeredassertionChanges(incl. deleted test files) gatedrefusalsgated; Breaking changes "none" only when emptyserverOnlyfrom the step 1 inventoryblocking.prEvidence: pending, running, missing or wrong-commit runs blockNot encoded here: the "never build a parallel path" half of #8958/#8963, which belongs to the separate tech-debt guardrail PR.
Affected files
plugins/vibe/skills/handoff/scripts/handoff-inventory.mjs;pr-facts.mjsandpr-facts.test.mjs(new)plugins/vibe/skills/handoff/SKILL.md; agentsvibe-environment-worker,vibe-handoff-summarizer,vibe-requirements-worker,vibe-verify-workerplugins/vibe/tools/python/test_handoff_skill_contract.py(one added test)plugins/vibe/evals/pm-pr-body-facts-block-create/(new),plugins/vibe/evals/codex/test_run.py(71 cases)CHANGELOG.md,plugins/vibe/README.mdThe vibe version may need re-resolving at merge: #310 claims 1.0.59, #312 claims 1.0.60, and other open vibe pull requests claim nearby versions.
Commands run
node --test plugins/vibe/skills/handoff/scripts/*.test.mjs: 53 passeduv run pytest plugins/vibe: 335 passeduv run ruff check .: clean;uv run pyright: 0 errorstools/vibe-workersvitest, the twomain-sync.test.tscases that spawn the inventory: 2 passed