Commit Graph

248 Commits

Author SHA1 Message Date
schalli 9d5aca0e1b docs(13): phase verification — gaps_found (normalizer stub blocks criteria 1/2/3)
Tessera CI/CD / Lint & Type Check (push) Successful in 48s
Tessera CI/CD / Tests (push) Successful in 47s
Tessera CI/CD / Build & Publish Images (push) Successful in 1m36s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 09:58:59 +02:00
schalli 7602795622 docs(13-05): complete cosinex/DTVP adapter plan 2026-07-23 09:51:43 +02:00
schalli 775ed153b7 docs(13-04): complete NetServer adapter plan
Tessera CI/CD / Lint & Type Check (push) Successful in 48s
Tessera CI/CD / Tests (push) Successful in 45s
Tessera CI/CD / Build & Publish Images (push) Successful in 3m43s
2026-07-23 09:16:04 +02:00
schalli 2c28605397 docs(13-06): complete multi-source read surface plan 2026-07-23 08:57:25 +02:00
schalli 1c523c039c docs(13-03): complete dedup-resolver-fan-out-wiring plan 2026-07-23 08:53:33 +02:00
schalli 83d8eff40d docs(13-02): complete source-registry-denylist plan 2026-07-23 08:44:53 +02:00
schalli a547a1d31d docs(13-01): complete fingerprint + TenderSource datenkern plan 2026-07-23 08:40:47 +02:00
schalli f3cd702197 docs(13): revise plans per checker FLAG — SCHEMA-02 preserve + task order
- 13-03: dedup resolve() created=false branch preserves Phase-10 SCHEMA-02
  change detection (mutable fields + contentHash on changed re-poll); spec
  covers it. Prevents silent regression of DÖE re-poll updates.
- 13-01: reorder so fingerprint fn (Task 1) precedes fingerprint backfill
  (Task 2) — removes forward reference.
- 13-VALIDATION: task-id + coverage rows updated to match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 08:31:27 +02:00
schalli 74c00166e2 docs(13): create phase plan — scraping adapters + cross-source dedup
6 plans (INGEST-02/03/07, SCHEMA-03) + Nyquist validation.
Core (registry, fingerprint, dedup, TenderSource, backfill) lands
first and is green independent of live scraping (D-01).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 08:24:16 +02:00
schalli f2e0fc8cef docs(13): phase research — portals live-verified, SourceRegistry, fingerprint dedup
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 08:14:25 +02:00
schalli b98d2e5993 docs(13): phase context — scraping adapters, fuzzy cross-source dedup, denylist
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 08:06:41 +02:00
schalli 0dd104054b docs(12): phase verified — live email UAT passed (digest sent via tenant SMTP, no double-send)
Tessera CI/CD / Lint & Type Check (push) Successful in 45s
Tessera CI/CD / Tests (push) Successful in 45s
Tessera CI/CD / Build & Publish Images (push) Successful in 3m45s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 09:57:20 +02:00
schalli f0948bcab1 docs(12): phase verified — 4/4 criteria, 340 tests green, UAT pending rebuild
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 09:37:09 +02:00
schalli 314e83f5c1 docs(12-04): complete digest-interval + Sofort-Alert UI plan 2026-07-22 09:32:45 +02:00
schalli 1a0cd375c2 docs(12-03): complete instant-alert dispatch plan 2026-07-22 09:23:21 +02:00
schalli f509bf4948 docs(12-02): complete digest-mail plan 2026-07-22 09:16:22 +02:00
schalli 4823c245ee docs(12-01): complete schema + delta-only matching plan 2026-07-22 09:07:06 +02:00
schalli 37a4042e53 docs(12): add VALIDATION.md, resolve RESEARCH open questions 2026-07-22 08:58:35 +02:00
schalli 09993b001c docs(12): create phase plan (4 vertical slices, waves 1-3) 2026-07-22 08:52:05 +02:00
schalli 08b507ce8d docs(12): phase research — notifiedAt dedup, delta-only matching, global digest cron
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 08:42:21 +02:00
schalli 9ac1142fcd docs(12): phase context — digest/instant alerts, matched-vs-notified, tenant SMTP
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 08:33:10 +02:00
schalli d874d8a24f docs(11): phase verified — live browser UAT passed, status human_needed -> passed
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 08:02:48 +02:00
schalli ca712f65a7 docs(11): phase verification — 5/5 criteria verified, 293 tests green, UAT pending rebuild
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 16:59:15 +02:00
schalli f7a2bfd3d8 docs(11-06): complete Persönliche Suchprofile plan 2026-07-21 16:53:08 +02:00
schalli 421fe00ed9 docs(11-05): complete Persönliche Triage plan 2026-07-21 16:40:22 +02:00
schalli 4c22d7731a docs(11-04): complete Detailansicht plan 2026-07-21 16:23:38 +02:00
schalli acd7e55094 docs(11-03): complete CPV-Divisions-Katalog + Wert-Filter-UI plan 2026-07-21 16:16:59 +02:00
schalli a4c02116c1 docs(11-02): complete region/plz/bundesland filter plan 2026-07-21 16:05:25 +02:00
schalli 3e064e0124 docs(11-01): complete query-engine + results-ui + coverage-banner plan 2026-07-21 15:57:25 +02:00
schalli 34b8df28d5 docs(11): validation strategy + state update — plans PASS, ready to execute
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:28:02 +02:00
schalli d7b8e9bf5f docs(11): revise phase plan per checker BLOCK — VALIDATION.md, FILTER-04 date range, serialized deps
- Add 11-VALIDATION.md (Nyquist Dimension 8: per-task test map, sampling, Wave-0 gaps)
- Implement FILTER-04 deadlineFrom/deadlineTo (DTO + builder branch + FilterPanel) in 11-01
- Serialize depends_on into a linear chain (11-04<-03, 11-05<-04, 11-06<-05) to prevent parallel shared-file/migration corruption
- Mark 11-RESEARCH Open Questions RESOLVED
- Fix 11-05 Task 2 <files> dto/ path typo

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:26:18 +02:00
schalli 4036991acd docs(11): create phase plan — 6 vertical-slice plans (filter engine, results UI, saved searches)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:17:48 +02:00
schalli 930a8d8f79 docs(11): phase research — live-DB findings, query patterns, new models
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 15:07:41 +02:00
schalli a4a661f829 docs(11): phase context from user requirements — filters, triage, saved searches
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 14:57:09 +02:00
schalli 48d1246043 fix(10): resolve GET /source-config 404 shadowed by :id route
The admin source-config settings form failed to load with "Failed to
fetch tender-radar source config". Network trace showed
GET /modules/tender-radar/source-config returning 404.

Root cause: NestJS RouterExplorer maps routes in method-declaration
order. `@Get(':id')` was declared before `@Get('source-config')`, so
the param route captured "source-config" as an id and shadowed the
static handler (401 unauthenticated, 404 past the guard — no Tender
with id "source-config").

Fix: declare `@Get('source-config')` before `@Get(':id')`. Add a
declaration-order regression test — unit tests call controller methods
directly, bypass routing, and could never catch route shadowing.

Verified live: settings form now loads real config, interval save
persists and live-re-registers the scheduler (INGEST-06). Phase 10
verification raised human_needed -> passed after full browser UAT.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 14:52:17 +02:00
schalli eb10bd3116 wip: pause phase 10 (code complete, UAT+rebuild pending) 2026-07-21 11:36:31 +02:00
schalli a3cef389df docs(10): phase verification — 5/5 must-haves verified, UAT pending docker rebuild
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:34:07 +02:00
schalli 4f3c6cf5e9 docs(10-06): complete tender-radar admin settings UI plan 2026-07-21 11:27:31 +02:00
schalli 6d6302294e docs(10-05): complete tenders controller plan 2026-07-21 11:21:52 +02:00
schalli 9227cc9e78 docs(10-04): complete ingestion orchestration & multi-tenant-safe scheduler plan 2026-07-21 11:13:39 +02:00
schalli 761077814f docs(10-03): complete DÖE source adapter & normalizer plan 2026-07-21 11:01:50 +02:00
schalli f80d491adc docs(10-02): complete Ausschreibungs-Radar marketplace registration plan 2026-07-21 10:46:30 +02:00
schalli 6cfda90960 docs(10-01): complete tender-radar foundation plan 2026-07-21 10:40:15 +02:00
schalli b33213b04b docs(10): begin phase execution
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 10:24:28 +02:00
schalli 66efd08dc0 docs(10): mark phase planned (6 plans) + add pattern map
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 10:10:41 +02:00
schalli b52a0a796b docs(10): add admin config UI plan (INGEST-06 gap), resolve research open questions 2026-07-21 10:08:40 +02:00
schalli e7b59d16af docs(10): create phase plan (5 plans, DÖE ingestion foundation) 2026-07-21 10:03:19 +02:00
schalli 1a6061bc0e docs(phase-10): add validation strategy 2026-07-21 09:47:16 +02:00
schalli 3a51d9bfed docs(10): research DÖE OpenData API live verification and phase domain 2026-07-21 09:46:20 +02:00
schalli fe55e7c054 docs(state): record phase 10 context session 2026-07-17 13:49:36 +02:00