Skip to content

Commit 4a5e5ae

Browse files
fix: harden native review publication
1 parent 71f4b39 commit 4a5e5ae

4 files changed

Lines changed: 1697 additions & 119 deletions

File tree

AGENTS.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,11 @@ pull requests against this repo. This is the agent-specific layer; read
3232

3333
## Repo-specific invariants (don't break these)
3434

35-
- This is a **thin hosted forwarder**, not the app logic. Familiar/authority and
36-
GitHub-App behavior lives in `coven-github` — don't reimplement it here.
35+
- This is the **hosted deployment adapter**, not the canonical product worker.
36+
Familiar/authority rules, result contracts, and GitHub App product behavior
37+
live in `coven-github`; keep only deployment-specific webhook verification,
38+
evidence capture, runtime invocation, and safe GitHub transport here. Do not
39+
fork or redefine the canonical contracts in this repository.
3740
- **Never commit webhook secrets, signing secrets, App private keys, or tokens.**
3841
Configuration comes from the deploy environment, not the repo.
3942
- **Always verify the GitHub webhook signature** (`X-Hub-Signature-256`) before

README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,15 +106,22 @@ connection guide in
106106
signed delivery -> policy route -> delivery/task/result state without calling
107107
GitHub or `coven-code`.
108108
- Captures PR checkout metadata and changed-file patches before invoking
109-
`coven-code`.
109+
`coven-code`, including paginated file lists and patch-completeness checks.
110110
- Publishes PR results as native GitHub reviews: complete no-finding evidence
111111
approves, actionable findings request changes, and incomplete or
112112
contradictory evidence is published as a comment review. Findings are made
113113
inline only when their captured diff location is valid; all other findings
114-
remain in the review body.
114+
remain in the review body. Decisive reviews are bound to the captured commit
115+
and require full changed-file coverage, a clean matching checkout, and
116+
verified passing test evidence. They are created pending, then submitted only
117+
after a fresh head check; a concurrent head change causes a COMMENT downgrade
118+
or automatic dismissal.
115119
- Persists publication identities and review/comment IDs in the configured
116-
state directory so retries do not duplicate output and a newer review links
117-
to the prior covencat publication it supersedes.
120+
state directory, reconciles HMAC-signed App-authored identities with GitHub,
121+
and serializes publication per PR so retries and concurrent runs do not
122+
duplicate output.
123+
Newer reviews link to superseded covencat output and dismiss its prior
124+
decisive state when GitHub permits it.
118125
- Publishes non-PR task results and operational notices as issue comments,
119126
including structured `reviewed_files`, `supporting_files`, findings, test
120127
evidence, no-findings rationale, and limitations.

0 commit comments

Comments
 (0)