LearnNewsExamplesServices
Frontmatter
titlefix(ai): accept micro-delta PR review bodies (#13910)
authorneo-gpt
stateMerged
createdAtJun 23, 2026, 8:40 AM
updatedAtJun 23, 2026, 9:28 PM
closedAtJun 23, 2026, 9:28 PM
mergedAtJun 23, 2026, 9:28 PM
branchesdevcodex/13910-micro-delta-review-validator
urlhttps://github.com/neomjs/neo/pull/13911
contentTrust
projected
quarantined0
signals[]
Merged
neo-gpt
neo-gpt commented on Jun 23, 2026, 8:40 AM

Resolves #13910

managePrReview now accepts the documented Micro-Delta Review format from the review-loop cost circuit breaker as a first-class review body shape. Full and follow-up reviews still use the existing canonical template validation; Micro-Delta reviews take their own narrower path with state-vector, focus, verdict, and remaining-blocker-class checks so they cannot become a semantic-review shortcut.

Evidence: L2 local unit/static evidence achieved for the close-target validator ACs. Residual: none.

Deltas from ticket

  • The implementation keeps the existing full/follow-up validator behavior intact by moving selected body-shape validation behind local helper functions.
  • The Micro-Delta template is now discoverable as .agents/skills/pr-review/assets/pr-review-micro-delta-template.md.
  • The circuit-breaker audit now points to the asset instead of burying the full template inline.
  • Failed Micro-Delta attempts point callers at .agents/skills/pr-review/SKILL.md, .agents/skills/pr-review/audits/review-cost-circuit-breaker.md, and .agents/skills/pr-review/assets/pr-review-micro-delta-template.md.

Turn-Memory Pre-Flight / Slot Rationale

Disposition: move. The detailed Micro-Delta template is not always-turn substrate and does not belong in SKILL.md; it is a conditional pr-review asset loaded only when the review-loop cost circuit breaker reaches state (a). The always-loaded delta is minimal: the existing audit keeps a one-line pointer to the asset, while the reusable body lives in .agents/skills/pr-review/assets.

Source-ticket contract ledger posted on #13910.

Test Evidence

  • node --check ai/services/github-workflow/PullRequestService.mjs
  • node --check test/playwright/unit/ai/services/github-workflow/PullRequestService.spec.mjs
  • git diff --check origin/dev...HEAD
  • node ai/scripts/lint/lint-skill-manifest.mjs --base origin/dev
  • npm run agent-preflight -- .agents/skills/pr-review/audits/review-cost-circuit-breaker.md .agents/skills/pr-review/assets/pr-review-micro-delta-template.md ai/services/github-workflow/PullRequestService.mjs test/playwright/unit/ai/services/github-workflow/PullRequestService.spec.mjs
  • npm run test-unit -- test/playwright/unit/ai/services/github-workflow/PullRequestService.spec.mjs -> 50 passed
  • npm run test-unit -- test/playwright/unit/ai/services/github-workflow/PullRequestService.spec.mjs --timeout=60000 -> 50 passed after rebase

Post-Merge Validation

  • Exercise manage_pr_review with the documented Micro-Delta body on the next real review-loop cost-compression event.

Commits

  • 0c172bd85c - accept Micro-Delta review bodies in the validator.
  • 6e6f65809d - expose the Micro-Delta template as a pr-review asset and point validator failures at it.

Authored by Euclid (GPT-5, Codex Desktop). Session 019ef100-77a2-7781-a83f-4f064a3c1aca.

Review Response — Micro-Delta Asset Discoverability

Reviewer feedback: peers cannot know the Micro-Delta review shape if it is not exposed under .agents/skills/pr-review/assets.

  • [ADDRESSED] Added .agents/skills/pr-review/assets/pr-review-micro-delta-template.md as the discoverable template contract.
  • [ADDRESSED] Changed .agents/skills/pr-review/audits/review-cost-circuit-breaker.md to point state (a) at the asset instead of carrying the full template inline.
  • [ADDRESSED] Updated PullRequestService.mjs failure guidance so attempted Micro-Delta bodies point to the skill, circuit-breaker audit, and asset template paths.
  • [ADDRESSED] Added/updated focused validator assertions for the asset path in PullRequestService.spec.mjs.
  • [ADDRESSED] Posted the required source-ticket contract ledger on #13910: https://github.com/neomjs/neo/issues/13910#issuecomment-4781393702
  • [ADDRESSED] Updated the PR body with the turn-memory pre-flight / slot-rationale audit.

Evidence:

  • npm run test-unit -- test/playwright/unit/ai/services/github-workflow/PullRequestService.spec.mjs -> 50 passed
  • npm run test-unit -- test/playwright/unit/ai/services/github-workflow/PullRequestService.spec.mjs --timeout=60000 -> 50 passed after rebase
  • node ai/scripts/lint/lint-skill-manifest.mjs --base origin/dev -> OK
  • npm run agent-preflight -- .agents/skills/pr-review/audits/review-cost-circuit-breaker.md .agents/skills/pr-review/assets/pr-review-micro-delta-template.md ai/services/github-workflow/PullRequestService.mjs test/playwright/unit/ai/services/github-workflow/PullRequestService.spec.mjs --pr-body /private/tmp/neo-pr-13911-body.md -> passed

CI hold: current head 6e6f65809d has GitHub checks still in progress, so I am not claiming re-review-ready until they are green.


@neo-gpt commented on 2026-06-23T17:53:52Z

Follow-up lifecycle note: current head 6e6f65809dab83cf9f3faefc2067527c30d1b0ce is now green after the earlier CI hold.

All GitHub checks are passing on the same head that addressed the requested Micro-Delta asset discoverability gap. Grace is already requested for re-review.


tobiu
tobiu CHANGES_REQUESTED reviewed on Jun 23, 2026, 9:32 AM

How should a peer know what a micro review is, in case it is not even mentioned inside .agents/skills/pr-review/assets. Micro re-reviews for edge cases only are fine, but hoping that a peer knows about the headline is not => this would trigger CI pretty much all the time.


neo-gpt
neo-gpt commented on Jun 23, 2026, 6:40 PM
tobiu
tobiu APPROVED reviewed on Jun 23, 2026, 9:28 PM

No review body provided.