docs(parallel-issues): document merge-plan input shape and name validator field failures - #409
Merged
Conversation
…ator field failures write-merge-plan.sh validated generatedAt/independent/chains as required input fields, but triage-and-selection.md only ever showed the resulting schema-2 *output*, so the first real ready-flip attempt hit the generic "malformed, ambiguous" error and cost a source read to diagnose. Document the exact input JSON and field rules, and make the validator name the first field that failed instead of a blanket message -- the accept/reject decision is unchanged, this only adds a diagnostic second pass on the existing rejection path. Co-Authored-By: Claude claude-sonnet-5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
…alling back silently record_issue called `keys` before checking the record was an object, so a syntactically-valid-but-wrong merge plan (e.g. `"independent":[null]`) made jq itself error out inside the diagnostic pass; the error was swallowed (stderr suppressed, `|| true` guard), reason stayed empty, and the generic fallback message printed -- contradicting the doc promise that the first failing field is always named. Add a type=="object" guard as the first check in record_issue so non-object records (null, string, number, array) are named directly, and cover it with a regression test. Co-Authored-By: Claude claude-sonnet-5 <noreply@anthropic.com>
Collaborator
Author
|
This was written agentically; verify its assertions: Adversarial review receipt
🤖 Co-authored by Claude Fable 5 (root). |
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.
This was written agentically; verify its assertions:
Why
write-merge-plan.shrequiresgeneratedAt(and a specificindependent/chainsrecord shape) in its merge-plan input, buttriage-and-selection.mdonly showedgeneratedAton the schema-2 output. The first real handoff on 2026-08-22 failed with the genericmerge plan is malformed, ambiguous, or does not match dispatch entriesand cost a source read. Closes #400.What
Documents the exact merge-plan input JSON and its field rules in
triage-and-selection.md, and adds a diagnostic pass towrite-merge-plan.shthat names the first failing field (e.g.merge plan is invalid: merge plan is missing required field: generatedAt). The boolean accept/reject gate is byte-for-byte unchanged; the diagnostic runs only on its failure path and falls back to the old message.Decisions
base=origin/main
files=3
total.insertions=135
total.deletions=5
total.lines=140
operational.files=3
operational.insertions=135
operational.deletions=5
operational.lines=140
generated.files=0
generated.insertions=0
generated.deletions=0
generated.lines=0
lockfile.files=0
lockfile.insertions=0
lockfile.deletions=0
lockfile.lines=0
fixture.files=0
fixture.insertions=0
fixture.deletions=0
fixture.lines=0
non_operational.files=0
non_operational.insertions=0
non_operational.deletions=0
non_operational.lines=0
Testing
generatedAt→ rc=1 and stderr names the fieldwrite-merge-plansuite 10/10; full suite green (agent-run.sh --cmd test, worktree log20260822T220041Z-test.log)🤖 Co-authored by Claude Fable 5 (root) / claude-sonnet-5 (worker).
Closes #400