This commit is contained in:
2026-07-13 21:46:29 +02:00
parent 41cb412cb0
commit 9d96ecadfb
17 changed files with 638 additions and 124 deletions
+13
View File
@@ -1,5 +1,18 @@
# Impact Map
## Post-apply 20260713-2111
- Zmieniono wyłącznie `app/Views/receipts/new.php` i `app/Views/receipts/review.php`.
- Aparat korzysta z istniejącego pola `receipt` i `Receipts::create`; backend, routing, parser, modele i baza bez zmian.
- Mobilny przegląd pozycji używa układu kart poniżej `md`, zachowując nazwy pól i skrypt grupowania.
- UAT aparatu i poprawionego przeglądu zatwierdzony przez użytkownika.
## Plan 20260713-2111 — skanowanie paragonu kamerą telefonu
- UI: `app/Views/receipts/new.php`; istniejące pole `receipt` może użyć natywnego `capture="environment"`.
- Backend: `Receipts::create` już obsługuje JPG/JPEG/PNG do 10 MB i przekazuje obraz do obecnego parsera; bez zmiany kontrolera.
- Trasy, parser AI, modele, baza i zapis operacji pozostają bez zmian.
- UAT: telefon mobilny — tylna kamera, wysłanie zdjęcia, przejście do przeglądu oraz zachowany wybór istniejącego pliku.
- Ukryte sprzężenie: zachować `name="receipt"`, `multipart/form-data` i obecny `accept`, aby nie rozdzielić przepływu uploadu.
## Post-apply 20260712-1647
- Mechanizm wdrożony w kontrolerze logowania, filtrze, widoku, modelu i migracji.
- Zdalna tabela `remember_tokens` istnieje.
+13
View File
@@ -1,5 +1,18 @@
# Quality Risks
## Post-apply 20260713-2111
- **Obsłużone:** jeden istniejący upload, natywne `capture="environment"`, brak nowej zależności i zmian backendu.
- **Obsłużone po UAT:** mobilny overflow formularza przeglądu — tabela zmienia się w karty poniżej `md`.
- **Potwierdzone:** nazwy pól, `accept`, `required`, limit 10 MB i skrypt grupowania pozostały spójne.
- **Zaakceptowane:** zachowanie selektora aparatu zależy od przeglądarki; działa na docelowym telefonie.
## Plan 20260713-2111 — skanowanie paragonu kamerą telefonu
- **Jedno źródło uploadu:** użyć istniejącego pola `receipt` i `Receipts::create`; bez drugiego endpointu, kontrolera lub parsera.
- **Natywna funkcja platformy:** `capture="environment"`; bez WebRTC, JavaScriptu i nowej zależności.
- **Zgodność urządzeń:** `capture` jest wskazówką dla przeglądarki; wymagany manualny UAT na docelowym telefonie.
- **Regresja formatów:** zachować istniejący `accept` dla JPG/JPEG/PNG/PDF/JSON i sprawdzić wybór pliku obok aparatu.
- **Odroczone:** podgląd na żywo, kadrowanie, kompresja i wiele zdjęć — brak wymagania (YAGNI).
## Post-apply 20260712-1647
- **Obsłużone:** osobne tokeny urządzeń, hash walidatora, `hash_equals`, selektywne wylogowanie.
- **Obsłużone operacyjnie:** tabela utworzona na zdalnej bazie po wykryciu błędu braku migracji.
+13 -15
View File
@@ -1,15 +1,13 @@
Tryb: plan
Data: 2026-07-12T16:47:19+02:00
Projekt: C-visual-studio-code-finansePRO
Status indeksu: indexed, moderate, 789 nodes, 1015 edges
Zapytania: logowanie, sesja, filtr auth, logout, remember.
Najważniejsze pliki:
- `app/Controllers/Auth.php`
- `app/Filters/AuthFilter.php`
- `app/Views/auth/login.php`
- `app/Config/Session.php`
- `app/Config/Cookie.php`
Wniosek: osobne trwałe tokeny per urządzenie odtwarzające istniejącą sesję; bez wydłużania globalnej sesji.
Plan scan: 2026-07-13T21:11:21+02:00
Scope: skanowanie paragonu bezpośrednio z kamery telefonu
Project: C-visual-studio-code-finansePRO
Index status: ready; 789 nodes; 1015 edges
Relevant symbols:
- app/Controllers/Receipts.php: Receipts::new
- app/Controllers/Receipts.php: Receipts::create (lines 41-147; accepts JPG/JPEG/PNG and routes them through existing parser)
- app/Views/receipts/new.php: existing multipart input name="receipt", accepts image/* plus PDF/JSON
- app/Config/Routes.php: GET receipts/new, POST receipts
Impact conclusion: native HTML capture hint in the existing view; no backend, route, parser, model, or database change.
Trace note: trace_path did not resolve the qualified method despite search_graph result; code snippet and connected graph search were sufficient for this one-view change.
jscpd: disabled by policy
ast-grep: disabled by policy
@@ -1,12 +1,16 @@
Tryb: post-apply
Data: 2026-07-12T17:31:28+02:00
Projekt: C-visual-studio-code-finansePRO
- Indeks moderate odświeżony: 789 nodes, 1015 edges.
- `search_graph` nie zwrócił nowych symboli `RememberTokenModel`.
- `search_code` zakończył się błędem tworzenia pliku tymczasowego.
- Fallback: bezpośredni lint 6 zmienionych plików — wszystkie poprawne.
- Zdalna tabela `remember_tokens`: 6 kolumn, 3 indeksy.
- PHPUnit: niedostępny, brak `vendor/bin/phpunit`.
Status: degraded — kod i schemat sprawdzone, brak automatycznego testu runtime.
Post-apply scan: 2026-07-13T21:29:46+02:00
Plan: 20260713-2111-skanowanie-paragonu-kamera
Project: C-visual-studio-code-finansePRO
Index refreshed in fast mode: ready; 835 nodes; 1048 edges
Modified source files:
- app/Views/receipts/new.php
- app/Views/receipts/review.php
Impact conclusion:
- Existing Receipts::create flow, routes, parser, models, and database remain unchanged.
- Native camera capture reuses the receipt upload field.
- Mobile review layout changes presentation only; form names and grouping script remain intact.
Verification:
- php -l both views: pass
- mobile UAT camera and review: approved by user
jscpd: disabled by policy
ast-grep: disabled by policy
+6 -5
View File
@@ -1,11 +1,12 @@
# Tooling Status
- Timestamp: 2026-07-12T17:31:28+02:00
- Timestamp: 2026-07-13T21:29:46+02:00
- Scan mode: post-apply
- codebase-memory-mcp: degraded; indeks odświeżony, ale nowe symbole nie zostały zwrócone, a `search_code` zgłosił błąd pliku tymczasowego
- fallback: `php -l` dla 6 plików — pass
- PHPUnit: unavailable (`vendor/bin/phpunit` missing)
- codebase-memory-mcp: ok; CLI 0.6.1, indeks odświeżony w trybie fast (835 węzłów, 1048 krawędzi)
- Queries: `index_repository`, `index_status`, `search_graph`
- PHP syntax: pass dla `app/Views/receipts/new.php` i `app/Views/receipts/review.php`
- Mobile UAT: pass, potwierdzony przez użytkownika
- jscpd: disabled by policy
- ast-grep: disabled by policy
- Raw output: `.paul/codebase/radar/codebase-memory-post-apply.txt`
- Next action: opcjonalny UAT dwóch profili przeglądarki.
- Next action: pętla zamknięta; gotowe do kolejnego planu.