docs(13-05): complete cosinex/DTVP adapter plan

This commit is contained in:
2026-07-23 09:51:43 +02:00
parent 6fe0dd07fe
commit 7602795622
4 changed files with 193 additions and 14 deletions
+12 -9
View File
@@ -4,16 +4,16 @@ milestone: v1.1
milestone_name: Ausschreibungs-Radar
current_phase: 13
current_phase_name: scraping-adapters-cross-source-dedup
status: executing
stopped_at: Completed 13-04-PLAN.md
last_updated: "2026-07-23T07:15:59.330Z"
status: verifying
stopped_at: Completed 13-05-PLAN.md
last_updated: "2026-07-23T07:51:24.572Z"
last_activity: 2026-07-23
last_activity_desc: Phase 13 execution started
progress:
total_phases: 13
completed_phases: 11
completed_phases: 12
total_plans: 62
completed_plans: 60
completed_plans: 61
---
# Project State
@@ -29,10 +29,10 @@ See: .planning/PROJECT.md (updated 2026-07-17)
Phase: 13 (scraping-adapters-cross-source-dedup) — EXECUTING
Plan: 6 of 6
Status: Ready to execute
Status: Phase complete — ready for verification
Last activity: 2026-07-23 — Phase 13 execution started
Progress: [██████████] 97%
Progress: [██████████] 98%
## Performance Metrics
@@ -95,6 +95,7 @@ Progress: [██████████] 97%
| Phase 13 P03 | 45min | 3 tasks | 5 files |
| Phase 13 P06 | 15min | 2 tasks | 5 files |
| Phase 13 P04 | 55min | 3 tasks | 6 files |
| Phase 13 P05 | 40min | 2 tasks | 4 files |
## Accumulated Context
@@ -203,6 +204,8 @@ Recent decisions affecting current work:
- [Phase ?]: Fingerprint always computed on tender.create regardless of dedupActive, so DÖE-only tenders become fingerprint-matchable the instant a 2nd source activates without further backfill
- [Phase ?]: 13-06: portalLabel()-Map bleibt lokal in TenderDetail.tsx (nicht geteilt) — einziger Consumer bisher; Fallback auf sourceUrl-Block bei fehlendem/leerem sources[].
- [Phase ?]: 13-04: cheerio (nicht node-html-parser) fuer NetServer-HTML-Parsing gewaehlt — Legitimacy-Gate flaggte node-html-parser als 'too-new' (Fehlmessung: Latest-Version-Datum statt Package-Alter); cheerio bestand das Gate sauber, Human-Approval eingeholt
- [Phase ?]: cosinex/DTVP-Selektoren voll befuellt statt needs-JS-deferred (D-01) — Trefferliste ist server-gerendert, live geprueft 2026-07-23
- [Phase ?]: cosinex/DTVP liefert echte Notice-Deep-Links (pid=) — besser als NetServer-Fallback (Such-URL); Rule-1-Fix: arrayBuffer()+TextDecoder('iso-8859-1') statt res.text(), da Portal ISO-8859-1 mit rohen Latin-1-Bytes sendet
### Pending Todos
@@ -240,7 +243,7 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity
Last session: 2026-07-23T07:15:59.317Z
Stopped at: Completed 13-04-PLAN.md
Last session: 2026-07-23T07:51:24.556Z
Stopped at: Completed 13-05-PLAN.md
Resume file: None
Last activity: 2026-07-14 - Built LDAP per-user exclude/denylist filter (9d1323f), migration applied on live DB, verified via Playwright: sync deactivated 4 excluded service accounts (administrator/krbtgt/guest/dns-ldap), 2 real LDAP users stay active, 0 wrongly created