Skip to main content

regres

img.png

Narzędzia do analizy regresji, refaktoryzacji i duplikatów kodu — z naciskiem na autonomiczne wykrywanie regresji frontendu (placeholder pages, broken imports, runtime 500 z Vite, niezgodność konwencji loadera modułów) i generowanie skryptów naprawczych z trybami --preview / --diff / --apply.

Installation

pip install -e .

What's new (0.1.55)

  • --runtime-log end-to-end — doctor_cli + regres_cli forwarding dla diagnostyki runtime z logów konsoli (np. [IconComponent] SVG icon not found).
  • runtime_icon_registry_miss diagnosis — wykrywa brakujące wpisy w rejestrze ikon na podstawie logów runtime (emoji-tokeny używane w UI bez definicji SVG).
  • Fixed DoctorOrchestrator._extract_page_token — poprawione parsowanie nested routes (np. connect-test/operator-workshop), wcześniej zwracało None.
  • Rozszerzone wzorce placeholderów — dodano generic 'w trakcie migracji' do PLACEHOLDER_TEXT_PATTERNS.
  • Page-registry compliance check (page_registry_default_missing) — parsuje <module>/pages-index.ts, weryfikuje że defaultPage istnieje w rejestrze stron (z pominięciem zakomentowanych wpisów). Brak → krytyczna diagnoza z gotową instrukcją naprawy.
  • Module-loader compliance check (module_loader_no_class) — wykrywa pliki <name>.module.ts, które nie eksportują klasy *Module ani default.
  • Vite runtime probe (--vite-base, autoderywowane z --url) — pobiera plik celu z dev-servera Vite i parsuje błędy 500.
  • Dependency chain analysis — BFS po relatywnych importach pliku celu (depth=1); zaznacza BROKEN/STUB.
  • Decision-tree workflow w raporcie — ścieżka decyzyjna, snapshot struktury, plan kroków.
  • Patch scripts z --preview / --diff / --apply + automatyczne przepisywanie ścieżek importów.
  • Nowe workflows: .windsurf/workflows/c2004-preanalysis-predeploy.md i .windsurf/workflows/c2004-security-settings-baseline.md.

What's new (0.1.40-0.1.45)

  • DoctorConfig + .regres/.env loader — 4-tier priority chain: CLI > os.environ > .regres/.env > defaults.
  • Startup banner — pokazuje aktywne okno analizy (history days, max iterations, shrinkage factor, vite base).
  • Nowe flagi CLI: --history-window-days, --history-max-iterations, --history-shrinkage-factor, --no-banner.
  • Defaults bumped: HISTORY_DEFAULT_DAYS 2→30, HISTORY_DEFAULT_ITERATIONS 10→30.
  • Mapping connect-deleted w MODULE_PATH_MAP.

Usage

Główny CLI regres obsługuje następujące komendy:

  • regres — analiza regresji plików (historia, zmiany)
  • regres refactor — analiza kodu przy refaktoryzacji (duplikaty, zależności, symbole)
  • regres defscan — skaner duplikatów definicji klas, funkcji i modeli
  • regres doctor — orchestrator analizy i generator akcji naprawczych (z trybem URL)
  • regres import-error-toon-report — raport błędów importów TS w formacie Toon

Doctor — typowy workflow URL → naprawa

# 1) Analiza konkretnej strony, która nie wyświetla się poprawnie:
regres doctor \
  --scan-root /path/to/repo \
  --url 'http://localhost:8100/connect-config-sitemap?...' \
  --all --git-history \
  --vite-base http://localhost:8100 \
  --out-md .regres/sitemap-doctor.md

# Raport zawiera:
#   - Plan kroków (decision-tree) z inputs/outputs/decision per krok
#   - Page implementation analysis (placeholder/stub detection)
#   - Module loader compliance (czy <name>.module.ts spełnia kontrakt loadera)
#   - Dependency chain (broken/stub linki w importach celu)
#   - Vite runtime probe (autorytatywny status 200/500 + missing import)
#   - Patch scripts z preview/diff/apply per kandydat z historii git

# 2) Każdy "broken link" w raporcie zawiera gotową komendę regres
#    dla pliku, który zgłosił błąd — wystarczy ją skopiować i uruchomić,
#    aby kontynuować naprawę łańcuchową.

# 3) Po wybraniu kandydata uruchom patch script:
bash .regres/patches/<page-token>/restore-<hash>.sh --preview   # podgląd
bash .regres/patches/<page-token>/restore-<hash>.sh --diff      # diff
bash .regres/patches/<page-token>/restore-<hash>.sh --apply     # zapis

Examples

# Analiza regresji pliku
regres regres --file path/to/file.py

# Analiza kodu przy refaktoryzacji
regres refactor find encoder
regres refactor symbols encoder
regres refactor duplicates

# Skan duplikatów definicji
regres defscan
regres defscan --kind class --min-count 2

# Orchestrator analizy i generator akcji naprawczych
regres doctor --all
regres doctor --import-log .regres/import-error-toon-report.raw.log --out-md .regres/doctor-report.md
regres doctor --url http://localhost:8100/connect-deleted --vite-base http://localhost:8100

# Raport błędów importów TS
regres import-error-toon-report

Diagnozy doctor — typy

problem_type Severity Wykrycie
page_content_regression high git history pokazuje znacznie większą poprzednią wersję pliku
placeholder_page high tekst pasuje do PLACEHOLDER_TEXT_PATTERNS (w tym 'w trakcie migracji')
import_resolution_failure high/medium BFS po relatywnych importach — nie rozwiązany / placeholder
vite_runtime_failure critical HTTP probe Vite zwraca 500 z Failed to resolve import
module_loader_no_class critical <name>.module.ts bez *Module / export default
page_registry_default_missing critical pages-index.ts ma defaultPage nieobecny w rejestrze → ryzyko nieskończonej rekurencji w BasePageManager
runtime_icon_registry_miss medium/high Logi runtime z [IconComponent] SVG icon not found: <emoji> — brak definicji ikony w rejestrze
module_not_found medium URL prefix bez modułu w MODULE_PATH_MAP (obsługa nested routes: connect-test/operator-workshop)
import_error medium TS2307/TS2305 z logu kompilatora

Documentation

AI Cost Tracking

AI Cost AI Model

This project uses AI-generated code. Total cost: $21.4770 with 57 AI commits.

Generated on 2026-06-29 using openrouter/qwen/qwen3-coder-next


License

Licensed under Apache-2.0.

Metadata

Release files for regres 0.1.58

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for regres 0.1.58
File Size Uploaded
regres-0.1.58.tar.gz 131.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for regres 0.1.58
File Interpreter ABI Platform
regres-0.1.58-py3-none-any.whl Python 3 none any Details

Total release size: 242.9 kB

Release files / regres-0.1.58.tar.gz

Download URL regres-0.1.58.tar.gz
Size 131.5 kB
Tags Source
SHA-256 checksum
How to use checksums
464b90fd568406e91aa2f7e13ffc08d2e7366cb40a66107153aeb3ee0773325d
BLAKE2b-256 checksum
How to use checksums
2bb802813548b8d28f5e2c748fdcd601869f4cbbbb2965c1f86b5e60d4f18d23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / regres-0.1.58-py3-none-any.whl

Download URL regres-0.1.58-py3-none-any.whl
Size 111.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8593c570cd975558b892a9dd138c5034e6fe6f4e7d2a0f48bc6706343bad760
BLAKE2b-256 checksum
How to use checksums
079fcba04331ddc08da696c33105f2ab9ec5df27580d98fc62baf5c2b3449b95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.58 This release

2 release files

0.1.55

2 release files

0.1.54

2 release files

0.1.53

2 release files

0.1.52

2 release files

0.1.51

2 release files

0.1.50

2 release files

0.1.49

2 release files

0.1.48

2 release files

0.1.47

2 release files

0.1.46

2 release files

0.1.45

2 release files

0.1.44

2 release files

0.1.43

2 release files

0.1.42

2 release files

0.1.41

2 release files

0.1.40

2 release files

0.1.39

2 release files

0.1.37

2 release files

0.1.35

2 release files

0.1.34

2 release files

0.1.33

2 release files

0.1.32

2 release files

0.1.30

2 release files

0.1.27

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.23

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page