This issue is the mailbox for landed-fix records from pr_debug runs (the copilot's pr.harvest_debug_knowledge step). The reviewbot's knowledge-intake scanner reads the comments here and turns them into bugfix_run intake rows for its daily knowledge batch. Design record: doc/RFC-knowledge-intake.md.
Why an issue: the copilot and the reviewbot run on different hosts, so the shared drop directory that v1 assumed never carried a record. Comments on a locked issue can only come from collaborators, which bounds who can inject evidence, and the bot additionally checks author_association.
Comment contract (bugfix-record:v1)
One comment per landed run, posted by the copilot, shaped exactly as:
<!-- infermatrix-copilot:bugfix-record:v1 -->
```json
{ ...the same JSON record the step writes to KNOWLEDGE_INTAKE_DIR... }
```
run_id is the dedup key; repo is the target repository full name (owner/name); the reviewbot instance whose watched repository matches records the row, others ignore it.
- The step keeps writing the local drop file; the comment is an additional publisher and is fail-open: an unset
KNOWLEDGE_INTAKE_ISSUE, a missing token, or a failed post never fails the run.
- Records are untrusted evidence: the SDK fences them as
<untrusted_data> and the model only proposes; merging the resulting knowledge PR stays the human gate.
Do not post anything else here. Human discussion goes to a [Knowledge] issue.
This issue is the mailbox for landed-fix records from
pr_debugruns (the copilot'spr.harvest_debug_knowledgestep). The reviewbot's knowledge-intake scanner reads the comments here and turns them intobugfix_runintake rows for its daily knowledge batch. Design record:doc/RFC-knowledge-intake.md.Why an issue: the copilot and the reviewbot run on different hosts, so the shared drop directory that v1 assumed never carried a record. Comments on a locked issue can only come from collaborators, which bounds who can inject evidence, and the bot additionally checks
author_association.Comment contract (
bugfix-record:v1)One comment per landed run, posted by the copilot, shaped exactly as:
run_idis the dedup key;repois the target repository full name (owner/name); the reviewbot instance whose watched repository matches records the row, others ignore it.KNOWLEDGE_INTAKE_ISSUE, a missing token, or a failed post never fails the run.<untrusted_data>and the model only proposes; merging the resulting knowledge PR stays the human gate.Do not post anything else here. Human discussion goes to a
[Knowledge]issue.