-
-
Notifications
You must be signed in to change notification settings - Fork 89
Expand file tree
/
Copy path.loopover-miner.yml.example
More file actions
82 lines (71 loc) · 3.58 KB
/
Copy path.loopover-miner.yml.example
File metadata and controls
82 lines (71 loc) · 3.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# ============================================================================
# .loopover-miner.yml - per-repo miner configuration (EXAMPLE)
# ============================================================================
# A repo owner drops this file in to tell an autonomous LoopOver miner what to
# look for and how to behave when targeting their repo. It is the MINER-side
# analogue of `.loopover.yml` (the review-side focus manifest).
#
# Every field is OPTIONAL and has a safe default (shown as "Default: X" below).
# The file is parsed tolerantly: an unknown key is ignored, and a single
# malformed field falls back to its default with a warning - a broken file never
# hard-fails the miner, it just falls back to the defaults.
#
# Discovery order (first match wins):
# .loopover-miner.yml -> .github/loopover-miner.yml
# -> .loopover-miner.json -> .github/loopover-miner.json
#
# Copy to `.loopover-miner.yml` and edit. YAML or JSON are both accepted.
# Whether this repo permits autonomous miners at all. Explicit OPT-OUT: a public
# repo with no file is still minable. Set false to halt all miner targeting.
# Boolean. Default: true.
minerEnabled: true
# Work areas you want a miner to focus on; a candidate touching these is preferred.
# Glob list. Default: [] (no preference).
wantedPaths:
- "src/**"
# Paths off-limits to a miner; a candidate touching one should be skipped.
# Glob list. Default: [] (nothing blocked).
blockedPaths:
- "vendor/**"
- ".github/workflows/**"
# Issue/PR labels you prefer a miner to target; a candidate carrying one is favored.
# String list. Default: [] (no preference).
preferredLabels:
- bug
- enhancement
# Issue/PR labels a miner must not target; candidates carrying one are skipped.
# String list. Default: [] (nothing blocked).
blockedLabels:
- wontfix
- duplicate
# Maximum issues a single miner may hold claimed on this repo at once, so one
# miner cannot monopolize the queue. A positive integer (>= 1); a non-integer is
# floored. Default: 1.
maxConcurrentClaims: 1
# How strongly this repo encourages a miner to open discovery issues.
# Values: encouraged | neutral | discouraged. Default: neutral.
issueDiscoveryPolicy: neutral
# Per-repo tuning for the feasibility gate a miner consults before starting work.
# `enabled` (boolean, default: true) turns the gate off entirely for this repo.
# `suppressedReasons` (string list, default: []) ignores specific avoid/raise
# reason codes (e.g. duplicate_cluster_high) from the gate's verdict.
feasibilityGate:
enabled: true
suppressedReasons: []
# Self-plagiarism throttle (#2345): similarity threshold for the miner's own recent open_pr fingerprints.
# Float in [0, 1]. Default: 0.85.
selfPlagiarism:
similarityThreshold: 0.85
# Per-repo kill-switch (#2341) consulted by the Governor chokepoint before every write action. Distinct from
# minerEnabled: pausing halts an already-in-flight queue without deregistering the repo from discovery, and
# un-pausing resumes exactly where the queue left off. A separate GLOBAL kill-switch (env var
# LOOPOVER_MINER_KILL_SWITCH) halts every repo at once and always wins over this per-repo flag.
# `paused` (boolean, default: false).
killSwitch:
paused: false
# Per-repo dry-run/live execution opt-in (#2342). A freshly-configured miner always defaults to dry-run; this
# field alone is NOT sufficient to go live -- the miner's own operator must also separately opt in globally
# (env var LOOPOVER_MINER_LIVE_MODE=live). `liveModeOptIn` must equal EXACTLY the string "live" (not a
# boolean, not "yes"/"on") -- any other value stays dry-run. Default: null.
execution:
liveModeOptIn: null