Add factory config grounded in harvest data from stacks #160 and #163 (#165)

Configures the sigit-code-review outer loop for the getsigit/sigit repo: - Bot login sigit-code-review (confirmed from harvest JSON data['bot']) - Branch rules {fix,feature,release}/* matching actual branch conventions - CI gate "CI" from .github/workflows/ci.yml - Watch paths src/** (single-crate app, not a workspace) - Five guardrails: all_zero_summary (#163), confident_false_positives (#160), approval_on_disagree (#160), repeat_findings_high, force_pushes_inflate_rounds - Harvest: state=closed, limit=50, since=2026-09-01 Co-authored-by: siGit Code v1.6.0-acp <noreply@sigit.si>

Seto Elkahfi committed Oct 5, 2026 at 12:27 UTC ce3322c2a2396e3618e98bd2a71ffe84f7804875
1 file changed +65
.sigit/factory/config.toml new
+65
@@ -0,0 +1,65 @@
1 +[repo]
2 +owner = "getsigit"
3 +name = "sigit"
4 +slug = "getsigit-sigit"
5 +
6 +[bot]
7 +login = "sigit-code-review"
8 +display_name = "siGit Code Review"
9 +
10 +[harvest]
11 +state = "closed"
12 +limit = 50
13 +since = "2026-09-01"
14 +bot = "sigit-code-review"
15 +
16 +[review.reviewer_skill]
17 +name = "sigit-code-review-outer-loop"
18 +version = "1.0.0"
19 +
20 +[review.author_skill]
21 +name = "sigit-code-review-feedbacks-response"
22 +version = "1.0.0"
23 +
24 +[review.repo_guidance]
25 +branch_rules = "{fix,feature,release}/*"
26 +ci_gate = "CI"
27 +watch_paths = ["src/**"]
28 +ignore_paths = ["**/*.md", "**/*.txt", "docs/**", "vendor/**", ".github/**", "*.lock"]
29 +
30 +[outer_loop]
31 +cadence = "weekly"
32 +day_of_week = "Mon"
33 +runs_dir = "~/.agents/skills/sigit-code-review-outer-loop/runs"
34 +report_format = "markdown"
35 +compare_previous = true
36 +
37 +[[guardrails.known_issues]]
38 +pattern = "all_zero_summary"
39 +source = "getsigit-sigit"
40 +description = "Zero findings on a large control-flow diff may be recall loss from an over-corrected prompt bar, not a clean review. Seen on stack #163 (900 additions, 0 findings)."
41 +action = "flag_in_report"
42 +
43 +[[guardrails.known_issues]]
44 +pattern = "confident_false_positives"
45 +source = "getsigit-sigit"
46 +description = "Confident declarative findings whose premise is contradicted by the cited code. Seen on stack #160 (5 of 5 findings rejected, rejected_rate 1.0). The hedge ban replaced speculative questions with confident wrong claims."
47 +action = "flag_in_report"
48 +
49 +[[guardrails.known_issues]]
50 +pattern = "approval_on_disagree"
51 +source = "getsigit-sigit"
52 +description = "Bot approves within 30-45s of an author disagreement without processing the correction. Compounds with confident false positives: wrong claim, author corrects, bot approves without re-reading."
53 +action = "flag_in_report"
54 +
55 +[[guardrails.known_issues]]
56 +pattern = "repeat_findings_high"
57 +source = "getsigit-sigit-si"
58 +description = "Repeat findings above 30% indicate the bot is re-raising issues the author already addressed."
59 +action = "flag_in_report"
60 +
61 +[[guardrails.known_issues]]
62 +pattern = "force_pushes_inflate_rounds"
63 +source = "smbcloudXYZ-smbcloud"
64 +description = "Force pushes cause one-for-one review round inflation; the bot re-reads unchanged diffs."
65 +action = "note_in_report"