PR webhooks only carry title/body; fetch /pulls/{i}/commits so the
trailer ledger and per-agent digests attribute PR reviews correctly.
Co-Authored-By: Claude Fable 5 <[email protected]>
The router's current-info briefing fast-path (enableToolsEffective gate)
was intercepting review prompts whose diffs mention GitHub-like terms and
returning a trending-repos digest instead of the model's review. Reviews
need pure model reasoning; body.tools=false disables the tool layer.
Co-Authored-By: Claude Fable 5 <[email protected]>
The router's response shape varies by upstream: some backends return
.message.content, some choices[0].message.content, some only top-level
.content. Prefer them in that order. Record the actually-served model
(_shre.model) in the ledger and log a snippet of unparseable output for
diagnosis.
Co-Authored-By: Claude Fable 5 <[email protected]>
Webhook-driven central review service for Granthi forges: HMAC-verified
push/pull_request webhooks, per-repo serialization with global LLM
concurrency 1, shre-router powered rubric review (8 axes, strict JSON,
tolerant extractor + retry), commit statuses + PR scorecard comments,
sqlite attribution ledger with Co-Authored-By trailer parsing, per-repo
HTML history dashboard, nightly per-agent digests, fail-open-with-
visibility when the router is unavailable.
Posture: BLOCK on confirmed critical/high correctness+security findings;
admin merge is the human override.
Co-Authored-By: Claude Fable 5 <[email protected]>