-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyqual.yaml
More file actions
61 lines (51 loc) · 2.01 KB
/
pyqual.yaml
File metadata and controls
61 lines (51 loc) · 2.01 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
pipeline:
name: quality-loop
# Quickstart: replace all of this with a single profile line:
# profile: python-minimal # analyze → validate → lint → fix → test
# profile: python-publish # + git-push and make-publish
# profile: python-secure # + pip-audit, bandit, detect-secrets
# profile: python # standard (needs manual stage config)
# profile: ci # CI-only, no fix
# See: pyqual profiles
# Quality gates — pipeline iterates until ALL pass
metrics:
cc_max: 15 # cyclomatic complexity per function
vallm_pass_min: 40 # vallm validation pass rate (%)
coverage_min: 60 # test coverage (%)
# Pipeline stages — use 'tool:' for built-in presets or 'run:' for custom commands
# See all presets: pyqual tools
# when: any_stage_fail — run only when a prior stage in this iteration failed
# when: metrics_fail — run only when quality gates are not yet passing
# when: first_iteration — run only on iteration 1 (skip re-runs after fix)
# when: after_fix — run only after the fix stage ran in this iteration
stages:
- name: analyze
tool: code2llm-filtered # uses sensible exclude defaults
- name: validate
tool: vallm-filtered # uses sensible exclude defaults
- name: prefact
tool: prefact
optional: true
when: metrics_fail
timeout: 900
- name: fix
tool: llx-fix
optional: true
when: metrics_fail
timeout: 1800
- name: test
tool: pytest
- name: push
tool: git-push # built-in: git add + commit + push
optional: true
timeout: 120
# Loop behavior
loop:
max_iterations: 3
on_fail: report # report | create_ticket | block
ticket_backends: # backends to sync when on_fail = create_ticket
- markdown # TODO.md (default)
# - github # GitHub Issues (requires GITHUB_TOKEN)
# Environment (optional)
env:
LLM_MODEL: openrouter/qwen/qwen3-coder-next