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