Second Brain

For future Claude

Homologação dual-run VM 192.168.0.29: Java :8099 + .NET :8098 (MySQL partilhado). Gate testes 100%: xUnit 717/0/2, smoke 24/24, probe 0 crashes, matriz 115/115. Ingest workers OFF. Sessões Java/.NET não unificadas. Workers. Sem secrets aqui.


D2U.NET — Homologação

Veredicto (2026-08-19)

Item Estado
Contratos MySQL (scan 2026-08-02) JobPaymentStatus corrigido (Paid=0…Invoiced=3). Upload STRING ok; ramo numérico = ordinal Java. Sessões DIVERGENTE de propósito.
Dual-run VM Deploy OK 2026-08-19 python deploy.py --workers-off --with-grafana
.NET /health healthy · workersEnabled=false · usesLegacyMySql=true
Workers ingest OFF enquanto Java Mail/FTP/Lexacom/Scanner ON
Cleanup .NET Classes + cron Java; não executam com workers off
Grafana 8 dashboards v6 com dados (42/42) · 11.6.16 · http://192.168.0.29:3000
Smoke 24/24 · 0 action_crash · 0 exceções no log
Smoke — falhas abertas nenhuma (BUG-06/07 corrigidos 2026-08-19 noite)
xUnit (corrida gate 2026-08-20) 717 pass / 0 fail / 2 skip de 719
Matriz features 115/115Docs_New/testing/traceability-matrix.md
Smoke kit _run_test_suite.py / _multi_profile_probe.py / _verify_bugs.py

Histórico de % (reconciliar)

Data % Nota
2026-07-13 ~97–98% Vault anterior (optimista)
2026-07-25 ~93% Defect-first; C1/C2 client MySQL
2026-07-26 ~96% C1/C2/H1–H3 fix + smoke edit client
2026-07-26b ~98% 20 gaps: force-logout, HtmlZip, BigHand, files share, UI
2026-07-28–30 ~98.5% Auditoria rotas legado MySQL; Transcript XML; multi-perfil login fixes
2026-08-01–02 ~99% AuthZ BUG-01…07 (ViewOnly/Delete/Edit/Template/MFA/session/Split)
2026-08-10 100% funcional Plano Parity 100% waves 1–3 fechadas
2026-08-19 contratos MySQL JobPaymentStatus era DIVERGENTE no dual-run (Paid .NET=2 = ERROR Java). Corrigido. Páginas “100%” ≠ bytes iguais na coluna.

Dual-run — regras ops

  1. Preferir não alterar Java; ficheiros live-share via _share_files_live.py
  2. Ingest scanners .NET OFF enquanto Java scanner/mail/lexacom activos (deploy.py --workers-off)
  3. Vendor egress .NET pode ficar ON (approve path); Production SimulateWhenNoFtp=false
  4. Ficheiros: host shared → Java webapps/d2u/files + .NET /data/files
  5. HTTP only: Security__RequireHttpsCookies=false
  6. IP sem subdomain: Company__SingleCompany=true + Company__DefaultUrl=demo
  7. Sessão única: limpar d2u_active_sessions se login silencioso; mensagem = index.login.4
cd C:\Projetos\Util\D2U.NET
python deploy.py --workers-off --with-grafana
python _run_test_suite.py
python _multi_profile_probe.py
python _verify_bugs.py

Contas de teste (senha comum DemoDock2026!)

Perfil Login
Administrator demoadmin
Supervisor [email protected]
Client [email protected]
Transcriber trans
Editor edit
Qa qa
Mra slcadmin

Roteiro: C:\Projetos\Util\D2U.NET\_roteiro_teste_perfis.md

Known fixed (resumo recente)

2026-08-19 — Contratos partilhados + workers nomes/cron

  • JobPaymentStatus: Paid=0 Unpaid=1 Error=2 Invoiced=3 (sem Unknown; NULL = null)
  • JobUploadType numérico: ordinal Java (2=IPHONE→Mobile)
  • Defaults: MRA create/upload; SystemPolicy; AllowsDuplicateLogin fallback
  • Classes: DeleteOldFileTask / DeleteOldLogsTask; Quartz identity deleteOldFileTask / deleteOldLogsTask
  • Cron cleanup = Java (meia-noite / 23:59)
  • Mapa: Workers

2026-08-10 — Parity 100% push

  • Approve → VendorFtpEgressService.Enqueue (+ BigHand / Winscribe / MediaHawk / DialDictate)
  • Cleanup: scan_logs 3d + http_post_logs 4mo; file retention per-company
  • Manage: Client Specialization, Company Settings fields, Specializations rename UI
  • Reports: SpeechLive/Lexacom/Payment/Production/Deleted columns; Outside DocumentToken; HtmlZip UsingDownloadAsHtm
  • Workers: SpeechLive Reject/CreditRequest retries; Lexacom GetAndSaveClients; Audio filename parsers
  • AuthZ: fine flags (batch approve/reject, edit approved, manage submenu, per-report, ForceLogout canLogoutUser)

2026-08-01 — AuthZ (Java parity)

Ver AuthZ-Bugs-2026-08-01. Policies: CanEditJob, CanDeleteJob, CanSplitJobs, + finas 2026-08-10.

Blockers / aceite parcial

# Item Acção
QA Smoke VM pós-deploy + piloto Ops
Graph OAuth vazio OK enquanto MailReader .NET OFF
Jasper Relatórios não pixel-perfect Aceite — fora de escopo 100%
Dual session LoggedUserMap Java ≠ d2u_active_sessions Force-logout .NET-only; não unificar até cutover
Lexacom bootstrap Defaults Java saveClient parciais Aceite — poll funciona
Winscribe sidecar PATTERN3/4 + txt Edge residual

Grafana