Skip to content

docs(parallel-issues): warn that gh api -f/-F promotes reads to POST - #458

Merged
thewrz merged 2 commits into
mainfrom
feat/issue-443
Aug 25, 2026
Merged

docs(parallel-issues): warn that gh api -f/-F promotes reads to POST#458
thewrz merged 2 commits into
mainfrom
feat/issue-443

Conversation

@thewrz

@thewrz thewrz commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

This was written agentically; verify its assertions:

Why

gh api infers its HTTP method from its flags: any -f/-F parameter promotes the request to POST unless -X GET is explicit. The kit's REST-first guidance told agents to route bulk reads over gh api repos/... without saying so, and a field run's filtered issue read became an attempted issue create in a repository being read. The knowledge lived only in helper code (merge-gate.sh passes -X GET); it now lives at the instruction sites agents actually read.

What

  • parallel-issues/references/triage-and-selection.md: a short paragraph after the REST-routing rule stating the -f/-F → POST promotion, plus a correct filtered-read example (gh api -X GET "repos/$REPO/issues" -f labels=bug -f state=open).
  • parallel-issues/SKILL.md: one clause on its own REST-routing sentence and a pointer to the example — kept minimal because the file sits at its size ceiling.
  • No guard, hook, or lint added (issue's explicit out-of-scope list); no ceiling raise needed.

Decisions

  • agentkit/references.md from the issue's scope list does not exist; the real index (agentkit/skills/references.md) only points at triage-and-selection.md, so it needed no edit.
  • Example uses $REPO rather than a literal <owner>/<repo> placeholder: shellcheck (via the markdown-block gate) misparses the angle brackets as redirection.
  • Root review: diff within the pinned write set; correctness/security/tests lenses clear.

Diff facts (root, diff-facts.sh --base origin/main):
base=origin/main
files=2
total.insertions=14
total.deletions=3
total.lines=17
operational.files=2
operational.insertions=14
operational.deletions=3
operational.lines=17
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

  • Worker: agent-run.sh --cmd test ALL GREEN (.agent/logs/20260825T133432Z-test.log)
  • CI green
  • Adversarial review (Codex gpt-5.6-sol, xhigh) — receipt posted
  • Manual: grep both instruction sites for -X GET

🤖 Co-authored by Claude Sonnet 5 (worker) / Claude Fable 5 (root).

Closes #443

A field run hit gh api repos/<owner>/<repo>/issues with a filter and got a 422 from a POST, not the intended GET -- gh api infers POST from any -f/-F unless -X GET is passed explicitly. merge-gate.sh already knew this in code; the REST-routing prose that tells agents to route reads through gh api never said so. Add the warning at both instruction sites (SKILL.md and its references/triage-and-selection.md detail) plus a correct filtered-read example.

Co-Authored-By: Claude claude-sonnet-5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 207e0324-9804-47fa-8f37-b333dd4b19c8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@thewrz

thewrz commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator Author

This was written agentically; verify its assertions:

Adversarial review receipt

🤖 Co-authored by Claude Fable 5 (root orchestrator).

Merges the 13-PR wave that landed on main (Work-shape verdict, run-dir ledger recipe, wait-bound reprint, and more) into this branch, ahead of PR #458 merge. Auto-merged cleanly at the file level in both files this branch touches (parallel-issues/SKILL.md and references/triage-and-selection.md) -- no conflict markers, both the -X GET REST-routing warning and every main-only addition are present. Re-measured the parallel-issues SKILL.md size ratchet against the merged body: TOKENS rises 19713 -> 19743 (minimum that passes), LINES unchanged at 1133; tests/test-skill-size.sh pinned message updated to match.

Co-Authored-By: Claude claude-sonnet-5 <noreply@anthropic.com>
@thewrz
thewrz marked this pull request as ready for review August 25, 2026 20:58
@thewrz
thewrz merged commit 3bdb2e0 into main Aug 25, 2026
4 checks passed
@thewrz
thewrz deleted the feat/issue-443 branch August 25, 2026 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gh api -f/-F silently turns a GET into a POST and the REST-first guidance never says so

1 participant