Skip to content

[no-mistakes#766] fix(agent): prefer closed JSON fences over unclosed pi tails #3058

Description

@github-actions

Decision needed - no-mistakes#766

PR review by onyx-space · merge-ready

Agent triage: not started

fix(agent): prefer closed JSON fences over unclosed pi tails

Situation

  • Compliance: pass
  • Tests: green
  • Merge state: mergeable (informational)
  • Configured checks: PR must be raised via no-mistakes (compliance: pass), Generated files must not be hand-edited (informational: pass), Greptile Review (informational: pass), check (informational: pass), e2e (test: pass), test (macos-latest) (test: pass), test (ubuntu-latest) (test: pass), test (windows-core) (test: pass), test (windows-git) (test: pass)
  • Freshness: complete target observation as of 2026-08-18T04:20:08Z
  • Notes: compliance=pass tests=green

Related work

Note

Related-work context is truncated (comparison_incomplete): comparison across open pull requests is incomplete, so a relation may be missed; this says nothing about the target itself. The candidate list, shared paths, and references are advisory display only and never an overlap or action gate.

  • kunchenguid/no-mistakes#334 - fix(agent): pass acpx prompt via temp file to avoid Windows CLI length limit - exact shared path: internal/agent/agent_test.go
  • kunchenguid/no-mistakes#337 - feat(agent): add first-class Cursor support via cursor-agent acp - exact shared paths: internal/agent/agent.go, internal/agent/agent_test.go
  • kunchenguid/no-mistakes#537 - fix: neutralize Copilot project instructions - exact shared path: internal/agent/agent.go
  • kunchenguid/no-mistakes#563 - feat(agent): neutralize Cursor project instructions under disable_project_settings - exact shared path: internal/agent/agent.go
  • kunchenguid/no-mistakes#604 - fix(agent): recover schema-valid JSON from Pi responses with unclosed json fences or malformed backt - exact shared paths: internal/agent/agent.go, internal/agent/agent_test.go
  • kunchenguid/no-mistakes#673 - feat(agent): add Antigravity (agy) support - exact shared path: internal/agent/agent.go
  • kunchenguid/no-mistakes#756 - feat(agent): make opencode a verified gate-agent instruction neutralizer - exact shared path: internal/agent/agent.go

Advisory context only. Shared paths and references are not an auto-merge overlap gate.

Auto-merge criteria

Note

Read-only preflight from the authoritative auto-merge evaluator. A displayed MET result never authorizes a merge: Wheelhouse re-evaluates every gate and performs G7 immediately before acting.

Scope

  • MET Scope - merge-ready PR review - kind=pr-review bucket=merge-ready

Safety

  • MET Safety - complete healthy scan - repo scan is ok and complete
  • MET Safety - target PR is open - target PR is open and unmerged
  • UNAVAILABLE Safety - no per-PR auto-merge opt-out - target labels could not be read
  • MET Safety - head SHA unchanged - scan and live head cdf49ec0

G0 (repo)

  • UNMET G0 - repository auto-merge enabled - effective auto_merge policy is disabled
  • MET G0 - default-branch VISION.md present - default-branch VISION.md 9a323ae3

G1 (card)

G2 (files)

  • MET G2 - complete immutable file list - 2 immutable changed path entries read
  • MET G2 - workflow and security exclusions clear - no unconditional workflow/security/governance exclusions

G3 (author)

  • MET G3 - non-maintainer human contributor - onyx-space is a non-maintainer human
  • UNMET G3 - prior merged contribution in this repo - G3 author onyx-space has no prior merged PR in no-mistakes

G4 (checks)

  • MET G4 - configured checks green - comp=pass tests=green (merge-ready)
  • MET G4 - PR mergeable - live mergeable is MERGEABLE
  • MET G4 - merge state clean - live merge state is CLEAN

G5 (size)

  • MET G5 - changed-file limit - 2 changed files <= 20
  • MET G5 - changed-line limit - 250 changed lines <= 1000

G6 (triage + behavior)

  • MET G6 - automatic triage credential configured - model credential is configured; card triage eligibility is evaluated separately
  • UNMET G6 - successful triage for current head - current assessment is not admitted for its observation/head
  • UNMET G6 - top-level recommendation is merge - top-level triage recommendation is not an explicit merge
  • UNMET G6 - eligible behavior class - structured behavior verdict absent; dependent behavior checks were not evaluated
  • UNAVAILABLE G6 - existing/default behavior unchanged - not evaluated because no structured behavior verdict exists
  • UNAVAILABLE G6 - class C is opt-in and default-off - not evaluated because no structured behavior verdict exists
  • VISION.md-dependent checks
    • UNAVAILABLE G6 - behavior aligns with VISION.md - not evaluated because no structured behavior verdict exists
    • UNAVAILABLE G6 - behavior verdict recommends merge - not evaluated because no structured behavior verdict exists
    • UNAVAILABLE G6 - verdict uses current VISION.md revision - not evaluated because no vision-bound behavior verdict exists
    • UNAVAILABLE G6 - verdict uses current base revision - not evaluated because no vision-bound behavior verdict exists

G7 (final gate)

  • UNAVAILABLE G7 - immediate live recheck and manual merge gate - runs only immediately before merge: card claim, VISION, head/base, mergeability, checks, opt-out label, and unchanged manual workflow gate

Triage

Automatic triage was not started because repository policy disables it.

Your decision

Tick one box for a quick call, or reply with a slash-command (/merge, /close, /decline <reason>, /hold, /comment <text>, /request-changes <text>):

  • Merge it
  • Close / decline
  • Investigate - deep code-grounded review (leaves this card open)
  • Hold - I'll handle this manually

Only the repository owner can drive this decision - everyone else's edits and comments are ignored.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions