-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathredup.toml.template
More file actions
61 lines (56 loc) · 2.05 KB
/
Copy pathredup.toml.template
File metadata and controls
61 lines (56 loc) · 2.05 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
# reDUP configuration for c2004.
#
# Scan settings — patrz `redup config --init` dla pełnego schema.
extensions = ".py,.js,.ts,.tsx,.jsx"
min_lines = 8
min_similarity = 0.92
include_tests = false
format = "toon"
[check]
# Duplicate budget gate (enforced by scripts/redup-check.sh AFTER post-process filter).
# Baseline 2026-05-10: 39 raw groups → po filtrze ~10 grup, ~250 linii.
# Budget conservatively set ~10× baseline to allow growth without false alarms.
max_groups = 400
max_lines = 6000
[output]
format = "toon"
output = ".redup/scan.toon.yaml"
[reporting]
include_snippets = true
generate_suggestions = true
# ── Post-scan exclude patterns ─────────────────────────────────────────
# IMPORTANT: redup CLI nie wczytuje [exclude] z TOML w current version.
# Te wzorce są filtrowane przez scripts/redup-check.sh (Python post-process).
# Synchronizuj z `EXCLUDE_PATTERNS` w scripts/redup-check.sh przy zmianach.
[exclude]
patterns = [
".swop/", # generated swop services (gitignored)
"archive/",
"_archive/",
"/_pb2", # generated protobuf
"/__generated__/",
"venv/",
".venv/",
"node_modules/",
"/alembic/", # alembic migrations są celowo "podobne" (template-based)
]
# Architectural shim detection (also in scripts/redup-check.sh).
#
# c2004 ma compat layer: pliki w `shared/` to NIE canonical implementation,
# tylko bootloader/wrapper które runtime-importują z packages/backend-shared-py/.
# redup widzi je jako duplikaty bo runtime-resolved symbols match canonical.
# Filter wykrywa shim po docstring (.read(800) prefix):
#
# - "Compatibility wrapper for"
# - "Compatibility shim for"
# - "Canonical implementation lives in"
#
# Plik w `shared/*.py` z którymkolwiek z tych markerów = automatycznie pominięty.
# Reszta plików w shared/ podlega normalnym EXCLUDE_PATTERNS.
[exclude.semantic]
shim_markers = [
"Compatibility wrapper for",
"Compatibility shim for",
"Canonical implementation lives in",
]
shim_path_prefix = "shared/"