-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdefaults.yml
More file actions
84 lines (73 loc) · 3.83 KB
/
Copy pathdefaults.yml
File metadata and controls
84 lines (73 loc) · 3.83 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
83
84
# defaults.yml
# Org-default universal gates. Every consuming repo inherits these unless its profile
# overrides a specific one with a reason. Gates marked (stubbed) have their contract
# specified but no working logic this sprint; they are Phase 1+.
# Adoption-Ramp-1: every gate's tier (see profiles/_schema.yml's `gates[].tier` /
# `polarity.tier` / `claude_contract.tier`) defaults to "advisory" when a profile
# doesn't declare one -- consuming `resolve_tier` in
# packages/konjo-gates-py/src/konjo_gates_py/cli.py. A gate earns "blocking" only after
# meeting BOTH promotion criteria: a passing `rejects_test` kill-test, and a measured
# false-positive rate under a stated ceiling over at least N runs (lib/gate_stats.py).
# This mirrors gate_polarity's own pre-existing default and generalizes it org-wide --
# quality tooling that blocks merge before it has demonstrated it deserves to block
# merge is exactly the failure mode Gate-Tiering-1 (konjoai/lopi) found and fixed.
default_tier: advisory
universal_gates:
secrets_redact:
enabled: true
description: >
Three-tier secret scan (lib/redact.py) on every Ledger write and on the
cross-machine state sync before push. HIGH blocks, MEDIUM flags for confirm,
LOW surfaces. No MEDIUM-to-HIGH promotion.
supply_chain:
enabled: true
stubbed: true
description: >
Dependency and provenance checks (lockfile integrity, advisory scan). TODO(phase-3):
wire the per-stack runners in packages/.
decision_logging:
enabled: true
description: >
Durable decisions go to the Konjo Ledger (ledger/engine.py) via konjo-decision.
Append-only, event-sourced, redact-scanned.
one_way_door:
enabled: true
description: >
Classify hard-to-reverse changes (schema/migration, public-API removal, data
delete, key rotation, release actions) and require an explicit acknowledgement.
Implemented in Phase 3: lib/oneway.py + bin/konjo-oneway classify the change; the
interactive confirm (lib/confirm.py) requires a typed token and logs to the Ledger;
the CI one_way_door gate in konjo-gates checks for the commit-trailer acknowledgement
and never prompts.
net_new_only:
enabled: true
description: >
Strict gates report only net-new findings versus the base ref (bin/konjo-newonly),
so gates stay on against an existing codebase without blocking on legacy findings.
prose_lint:
enabled: true
description: >
Editorial gate (lib/prose_lint.py): no em dashes, no AI-tell vocabulary. Blocking
on article branches, --warn on general docs.
self_test:
enabled: true
description: >
The gates test themselves against the eval corpus (the meta-gate). Implemented in
Phase 1 (konjo-eval + evals/runner.py) and wired into the CI plane in Phase 2 via
the deterministic replay backend (konjo-eval run --replay), so it runs in CI with no
model and no network. The 30-run paired Wilcoxon prove baseline remains Phase 3.
prove:
enabled: true
description: >
The perf prove gate (Phase 4). A 30-run paired Wilcoxon signed-rank test renders a
MERGE / NOISE / REGRESSION verdict; MERGE requires p<0.05 AND a median improvement at
or above the minimum effect size, so significance alone never merges. konjo-prove
runs locally on the bench hardware and records the verdict (BENCHMARKS.md, prove.jsonl,
a Ledger ack, and a MERGE commit trailer). The CI prove gate checks for the MERGE
trailer on a perf-labeled change and never runs the benchmark.
specialist_stats:
enabled: true
description: >
Tag a review specialist by its record: ACTIVE, GATE_CANDIDATE (zero findings over
the sample floor), NEVER_GATE (insurance set), or INSUFFICIENT_DATA below the floor.
Implemented in Phase 1: lib/specialist_stats.py, fed by lib/review_log.py.