docs(12-03): complete instant-alert dispatch plan
This commit is contained in:
+9
-7
@@ -5,15 +5,15 @@ milestone_name: Ausschreibungs-Radar
|
||||
current_phase: 12
|
||||
current_phase_name: tender-notifications
|
||||
status: executing
|
||||
stopped_at: Completed 12-02-PLAN.md
|
||||
last_updated: "2026-07-22T07:16:13.211Z"
|
||||
stopped_at: Completed 12-03-PLAN.md
|
||||
last_updated: "2026-07-22T07:23:12.233Z"
|
||||
last_activity: 2026-07-22
|
||||
last_activity_desc: Phase 12 execution started
|
||||
progress:
|
||||
total_phases: 12
|
||||
completed_phases: 10
|
||||
total_plans: 56
|
||||
completed_plans: 53
|
||||
completed_plans: 54
|
||||
---
|
||||
|
||||
# Project State
|
||||
@@ -28,11 +28,11 @@ See: .planning/PROJECT.md (updated 2026-07-17)
|
||||
## Current Position
|
||||
|
||||
Phase: 12 (tender-notifications) — EXECUTING
|
||||
Plan: 3 of 4
|
||||
Plan: 4 of 4
|
||||
Status: Ready to execute
|
||||
Last activity: 2026-07-22 — Phase 12 execution started
|
||||
|
||||
Progress: [██████████] 95%
|
||||
Progress: [██████████] 96%
|
||||
|
||||
## Performance Metrics
|
||||
|
||||
@@ -88,6 +88,7 @@ Progress: [██████████] 95%
|
||||
| Phase 11 P06 | 35min | 3 tasks | 12 files |
|
||||
| Phase 12 P01 | 35min | 3 tasks | 7 files |
|
||||
| Phase 12 P02 | 8min | 3 tasks | 5 files |
|
||||
| Phase 12 P03 | 15min | 2 tasks | 3 files |
|
||||
|
||||
## Accumulated Context
|
||||
|
||||
@@ -187,6 +188,7 @@ Recent decisions affecting current work:
|
||||
- [Phase ?]: Delta-only matching (no backfill/suppression table) structurally prevents backfill-flood for new saved-search profiles (12-01, D-07)
|
||||
- [Phase ?]: TenderMailService swallows missing-SmtpConfig and send-failure into a single boolean (never throws) so the digest cron gets one clean success signal for stamping notifiedAt
|
||||
- [Phase ?]: TenderDigestScheduler.runDigest(now) takes an injectable clock parameter for testable Monday-only weekly-digest gating
|
||||
- [Phase ?]: Instant-Dispatch filtert die bereits geladenen savedSearches (kein zweiter Query); notifiedAt/channel='instant' nur nach Erfolg gestempelt — identisches Gate wie Digest (D-06)
|
||||
|
||||
### Pending Todos
|
||||
|
||||
@@ -224,7 +226,7 @@ Items acknowledged and carried forward from previous milestone close:
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-07-22T07:16:13.196Z
|
||||
Stopped at: Completed 12-02-PLAN.md
|
||||
Last session: 2026-07-22T07:23:12.215Z
|
||||
Stopped at: Completed 12-03-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
|
||||
|
||||
Reference in New Issue
Block a user