Commit Graph

24 Commits

Author SHA1 Message Date
9f9da5c437 docs: BLOC2 final session state — D15-D20 + parc 2A-2H complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 17:25:22 +04:00
1efa7d0574 docs: BLOC2-DECISIONS-D1-D14 v3 — replaces D1-D5 v1 and D1-D9 v2
Adds D10 (commande vs initiative), D11 (proactivité principle),
D12 (kill-switch gradué), D13 (niveau 1 discipliné), D14 (classement
10 detectors). All 2A-2E marked as done in execution state.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 11:34:11 +04:00
f2c63fcab5 docs: BLOC2-DECISIONS-D1-D9 v2 — replaces D1-D5 v1
Adds D6 (email fournisseur), D7 (confirmation implémenté),
D8 (persona implémenté), D9 (bloc C mode libre + traçabilité).
Updates execution state: 2A+2A-FIX done, sequence 2B→2C→réplique.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 20:24:07 +04:00
122b07a880 docs: session 148 rapports + artefact D1-D5 + CLAUDE.md update
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 20:07:29 +04:00
bdd819efd0 docs(router): email channel diagnostic — no bug, quiet hours behavior
EMAIL channel works correctly. The 5 EXPIRED from supervisor test
were emails successfully sent but unacked (terminal channel).
URGENT bypasses quiet hours (22h-7h UTC) and EMAIL sends fine.
No code fix needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 02:37:34 +04:00
11cc64698e test(supervisor): 10/10 detectors validated + cleanup complete
Seed 10 tagged cases (D1-D10), triggered via admin route in digest
mode: 10 AgentAction EXECUTED, 25 NotificationDelivery across 4
channels (ERP_IN_APP/PWA_PUSH/TELEGRAM/EMAIL). Escalation chain
validated. All test data cleaned up (81 rows deleted, 0 remaining).
Override function kept for future test runs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 02:26:35 +04:00
0b0ebaecd1 docs(1f): update rapport — push validated on Chrome/FCM, Edge/WNS is client-side
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-28 23:40:38 +04:00
388a8d0a76 fix(1f+supervisor): push last-mile + audit M1A/M1B detectors
Part A: SW fallback notification when event.data is null (push
accepted by WNS but payload not decryptable by browser). Deployed
to VPS without backend restart (soak intact).

Part B: H1 confirmed — supervisor detectors run correctly (5 ticks/day,
last at 15:00 MSK) but find 0 anomalies because staging dataset has
only 1 order with locked smeta, 0 tenders, 0 POs. No code fix needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-28 23:18:21 +04:00
47938b6d57 docs(1f): diagnostic push subscription validation
Scenario A confirme: pipeline push complet fonctionne.
Le fallback ERP_IN_APP etait cause par l'absence de channel: 'PWA_PUSH'
dans le test-dispatch. La subscription WNS de Louis existe en DB.
Commande de validation incluse dans le rapport.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-28 22:42:29 +04:00
f5e83cc6ea feat(engagement): SPEC-BLOC-1G — Migration supervisor + dashboard admin + cleanup legacy notifications
1G.1: 3 supervisor M2 producers (reminder/escalation/report) migrated to RouterService with feature flag ROUTER_USE_FOR_SUPERVISOR
1G.2: Soak report script (npm run router:soak-report) — 7-point analysis
1G.3: Admin dashboard NotificationDeliveriesTab (KPIs + filterable table + detail drawer)
1G.4: NotificationHelper dual-dispatch bridge (NOTIFICATION_HELPER_ROUTER flag, best-effort)
1G.5: Legacy /notifications sidebar + page removed, routes redirect to /agenda
1G.6: PushSubscription weekly cleanup cron (failureCount >= 5 OR stale > 90d)
1G.7: LEGACY-NOTIFICATIONS-DEBT.md documentation
1G.8: 10 Vitest tests (4 supervisor + 3 dual-dispatch + 2 feature flag + 1 cleanup)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-27 23:27:42 +04:00
956671c815 docs: refondation architecture Engagement Layer + Conversation Engine
- 5 artefacts d'architecture (Prisma Engagement Layer, API Contracts,
  Multi-channel Router, PWA Push, Roadmap Bloc 1)
- DECISIONS-LOG.md synthèse Q1-Q24 (24 décisions arbitrées)

Contexte: refondation Option C suite diagnostic post-M3 (ADVISOR + M3
Copilot = duplication chat KB sans vision S110). 3 blocs séquentiels:
Engagement Layer (6-8 sem), Conversation refondé (4-5 sem), Sous-agents
M5 (6-8 sem).
2026-05-25 22:13:05 +04:00
e9c17dbe63 fix(planning): hide ROD_BENDING column (not used by МеталлКарт)
3 PurchaseRequirement rows reference ROD_BENDING in DB, so the enum
is preserved. Column hidden from /planning UI only. S46 TODO created
for full cleanup once the 3 rows are archived or reassigned.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 12:22:05 +03:00
b688f23989 docs(audit): S45-BUG3 inventory of TLT guard, AI analyzer, PO drawer columns
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 12:12:58 +03:00
9a95387e40 docs: add S46 TODO for 6 deferred HT/TTC ambiguous labels
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 10:02:10 +03:00
5b7d572ed8 docs(audit): S45-BUG2 inventory of RUB total labels (HT vs TTC)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 09:11:46 +03:00
9524dc9516 docs: update CDC session 37 complete (37A-37E)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 18:46:44 +03:00
27c36375b1 feat: SPEC-37A settings multi-tabs + notification preferences + fix budget byCategory
- Fix budget byCategory: use PurchaseOrderLine (qty×price) instead of PR.budgetAmount (null)
- UserNotificationPreference model (7 categories, role defaults, @@unique userId+category)
- GET/PUT /notification-preferences routes (upsert transactional)
- NotificationHelper: shouldNotifyInApp() filters by category before creating
- PaymentRemindersService: category PAYMENT_DUE on notifyRole calls
- Frontend: SettingsPage 3 tabs (Profile/Notifications/Categories)
- ProfileTab, NotificationsTab (Switch inApp, Email/Telegram disabled)
- CDC updated session 37

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 17:32:40 +03:00
ba448df275 docs: update CDC session 36 complete (36A-36H + fixes + backfill material)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 15:58:31 +03:00
01e23af5bc feat: add spec_32e module (auto-pipeline) 2026-03-25 18:41:24 +00:00
a1b1e581eb feat: add spec_CDC_31 module (auto-pipeline) 2026-03-24 16:40:40 +00:00
5a541a0341 feat: add spec-29G-cdc-memory module (auto-pipeline) 2026-03-24 11:22:46 +00:00
66e7570521 27F: CDC.md update session 27 + CLAUDE.md sync
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 20:52:03 +00:00
47f1de365f docs: Pugina TLT database schema analysis
Complete analysis of Pugina production system DB (85.91.121.250):
- 2 schemas: mdcrm (43 tables, production CRM) + spo (34 tables, UI framework)
- Key tables: offer (1138 orders), element (8310 parts), production_task_exec (25290 runs)
- 66 foreign keys mapped, reference data documented in Russian
- Integration points identified for MetallKart ERP

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 14:32:06 +00:00
f3040eb964 docs: add Pugina (TLT) schema analysis + update CDC points ouverts
Analyse des 43 tables mdcrm du programme Пугина (PG 9.6).
Cartographie ERP↔Пугина: relation séquentielle (commercial vs production).
CDC.md: points ouverts enrichis, rapport Максим ajouté.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:15:35 +00:00