2025-08-19T16:44:05Z - 2026-08-19T16:44:05Z

Overview

7 active pull requests
852 active issues
Excluding merges, 1 author has pushed 71 commits to develop and 74 commits to all branches. On develop, 854 files have changed and there have been 248220 additions and 4112 deletions.

7 pull requests merged by 1 user

Merged #859 fix: Odoo conexão perdida — web.base.url /odoo 2026-07-02 17:36:25 +00:00

Merged #858 feat: VM123 deploy full + FINANCE_RELEASE=GREEN 2026-07-02 17:24:06 +00:00

Merged #857 docs: checklist deploy único nas rules Cursor 2026-07-02 17:16:12 +00:00

Merged #856 feat: milestones Forgejo por spec (47) 2026-07-02 17:07:28 +00:00

Merged #855 fix: Forgejo org ligbox visível para todos os users 2026-07-02 14:44:52 +00:00

Merged #854 docs: CT130 Git workflow PR 2026-07-02 14:41:55 +00:00

Merged #853 release: workflow develop + PR obrigatório para main 2026-07-02 14:41:19 +00:00

431 issues closed from 1 user

Closed #834 [spec-044] FOSS Support nativo em VM123 (sem bridge) — FOSS Support nativo em VM123 (sem bridge) 2026-07-02 14:24:32 +00:00

Closed #833 [spec-044] UI Desk mostra wizard_ticket_id (OB-) no painel ticket — UI Desk mostra wizard_ticket_id (OB-) no painel ticket 2026-07-02 14:24:30 +00:00

Closed #832 [spec-044] Portal OB- → Desk via onboarding.escalated (VM112) — Portal OB- → Desk via onboarding.escalated (VM112) 2026-07-02 14:24:27 +00:00

Closed #831 [spec-044] Sync Obsidian VM130 — Sync Obsidian VM130 2026-07-02 14:24:24 +00:00

Closed #830 [spec-044] Ligações cruzadas specs 010/012/024/041/043 — Ligações cruzadas specs 010/012/024/041/043 2026-07-02 14:24:22 +00:00

Closed #829 [spec-044] Registo em SPEC-REGISTRY.md — Registo em SPEC-REGISTRY.md 2026-07-02 14:24:20 +00:00

Closed #828 [spec-044] Contrato contracts/ticket-sync-api.md — Contrato contracts/ticket-sync-api.md 2026-07-02 14:24:17 +00:00

Closed #827 [spec-044] Contrato contracts/ticket-field-mapping.md — Contrato contracts/ticket-field-mapping.md 2026-07-02 14:24:14 +00:00

Closed #826 [spec-044] Spec índice spec.md — Spec índice spec.md 2026-07-02 14:24:11 +00:00

Closed #823 [spec-043] WebmailReleaseModal.jsx no wizard onboarding — WebmailReleaseModal.jsx no wizard onboarding 2026-07-02 14:24:05 +00:00

Closed #822 [spec-043] Aviso rodapé login Carbonio (sync_webmail_user_notice) — Aviso rodapé login Carbonio (sync_webmail_user_notice) 2026-07-02 14:24:02 +00:00

Closed #821 [spec-043] Backend VM112 company_gate.py + API /gate/* — Backend VM112 company_gate.py + API /gate/* 2026-07-02 14:23:59 +00:00

Closed #820 [spec-043] Contrato contracts/webmail-release-gate.md — Contrato contracts/webmail-release-gate.md 2026-07-02 14:23:56 +00:00

Closed #819 [spec-043] E2E Roger: domínio teste wizard → activate → FOSS+OP+Odoo (d — E2E Roger: domínio teste wizard → activate → FOSS+OP+Odoo (dratcoin.com #2, 2026-07-01) 2026-07-02 14:23:53 +00:00

Closed #818 [spec-043] Unit: test_client_activation_043.py (4) — happy path, idem — Unit: test_client_activation_043.py (4) — happy path, idempotência FOSS, reject active 2026-07-02 14:23:51 +00:00

Closed #817 [spec-043] Unit: test_activation_mapper_043.py (3) — Unit: test_activation_mapper_043.py (3) 2026-07-02 14:23:48 +00:00

Closed #816 [spec-043] Script deploy/vm123-finance-stack/create-foss-mail-business — Script deploy/vm123-finance-stack/create-foss-mail-business.sh` 2026-07-02 14:23:46 +00:00

Closed #815 [spec-043] Produto FOSS product_id=3 slug ligbox-mail-business — Produto FOSS product_id=3 slug ligbox-mail-business 2026-07-02 14:23:44 +00:00

Closed #814 [spec-043] Plano hosting hp_id=2 — Plano hosting hp_id=2 2026-07-02 14:23:41 +00:00

Closed #813 [spec-043] **Deploy VM112** — 2026-07-01 · OPS_INTERNAL_TOKEN + endpo — **Deploy VM112** — 2026-07-01 · OPS_INTERNAL_TOKEN + endpoint activo 2026-07-02 14:23:39 +00:00

Closed #812 [spec-043] wizard_client.provision_mail_bundle() → VM112 — wizard_client.provision_mail_bundle() → VM112 2026-07-02 14:23:36 +00:00

Closed #811 [spec-043] Webhook POST /billing/webhook/foss/order-activated — Webhook POST /billing/webhook/foss/order-activated 2026-07-02 14:23:34 +00:00

Closed #810 [spec-043] POST /billing/accounts/{id}/activate com provision_mailPOST /billing/accounts/{id}/activate com provision_mail 2026-07-02 14:23:31 +00:00

Closed #809 [spec-043] Código mail_bundle.py + internal_provision.py (repo) — Código mail_bundle.py + internal_provision.py (repo) 2026-07-02 14:23:29 +00:00

Closed #808 [spec-043] Contrato contracts/mail-bundle-api.md — Contrato contracts/mail-bundle-api.md 2026-07-02 14:23:26 +00:00

Closed #807 [spec-043] Deep-link Odoo na ficha cliente — Deep-link Odoo na ficha cliente 2026-07-02 14:23:24 +00:00

Closed #806 [spec-043] Coluna odoo_partner_id em billing_accounts — Coluna odoo_partner_id em billing_accounts 2026-07-02 14:23:21 +00:00

Closed #805 [spec-043] odoo_client.upsert_customer_partner() conforme mapa §6 — odoo_client.upsert_customer_partner() conforme mapa §6 2026-07-02 14:23:19 +00:00

Closed #804 [spec-043] Idempotência user exists — Idempotência user exists 2026-07-02 14:23:16 +00:00

Closed #803 [spec-043] Persistir openpanel_username em company_profile_json — Persistir openpanel_username em company_profile_json 2026-07-02 14:23:13 +00:00

Closed #802 [spec-043] Bridge directo (provision_user_safe) + metadata JSON — Bridge directo (provision_user_safe) + metadata JSON 2026-07-02 14:23:10 +00:00

Closed #801 [spec-043] Persistir external_customer_id + external_subscription_id — Persistir external_customer_id + external_subscription_id` 2026-07-02 14:23:07 +00:00

Closed #800 [spec-043] Custom fields FOSS via config (domain, manager_*) — Custom fields FOSS via config (domain, manager_*) 2026-07-02 14:23:04 +00:00

Closed #799 [spec-043] foss_client.create_order() + activate hosting — foss_client.create_order() + activate hosting 2026-07-02 14:23:00 +00:00

Closed #798 [spec-043] foss_client.create_client() conforme mapa §4 — foss_client.create_client() conforme mapa §4 2026-07-02 14:22:57 +00:00

Closed #797 [spec-043] Deploy VM122 + validação Roger (teste manual) — Deploy VM122 + validação Roger (teste manual) 2026-07-02 14:22:54 +00:00

Closed #796 [spec-043] Modal confirmação com 3 colunas FOSS / OpenPanel / Odoo — Modal confirmação com 3 colunas FOSS / OpenPanel / Odoo 2026-07-02 14:22:51 +00:00

Closed #795 [spec-043] Botão **Activar conta** em billing-ui.js (só roles autoriz — Botão **Activar conta** em billing-ui.js (só roles autorizados) 2026-07-02 14:22:48 +00:00

Closed #794 [spec-043] GET /billing/accounts/{id}/activation-previewGET /billing/accounts/{id}/activation-preview 2026-07-02 14:22:44 +00:00

Closed #793 [spec-043] ROLLBACK.md com tags Git — ROLLBACK.md com tags Git 2026-07-02 14:22:42 +00:00

Closed #792 [spec-043] Registo em SPEC-REGISTRY.md — Registo em SPEC-REGISTRY.md 2026-07-02 14:22:39 +00:00

Closed #791 [spec-043] Ligações cruzadas specs 023/024/028/035 — Ligações cruzadas specs 023/024/028/035 2026-07-02 14:22:35 +00:00

Closed #790 [spec-043] Contrato API desk-activate-account-api.md — Contrato API desk-activate-account-api.md 2026-07-02 14:22:32 +00:00

Closed #789 [spec-043] Contrato activation-field-mapping.md — Contrato activation-field-mapping.md 2026-07-02 14:22:29 +00:00

Closed #788 [spec-043] Spec índice spec.md — Spec índice spec.md 2026-07-02 14:22:26 +00:00

Closed #779 [spec-042] UI React build servida na raiz — UI React build servida na raiz 2026-07-02 14:22:09 +00:00

Closed #778 [spec-042] Fase B — 20/23 ferramentas API (3 stubs fase C) — Fase B — 20/23 ferramentas API (3 stubs fase C) 2026-07-02 14:22:06 +00:00

Closed #777 [spec-042] Traefik CT114 → VM130:8091 — Traefik CT114 → VM130:8091 2026-07-02 14:22:04 +00:00

Closed #776 [spec-042] DNS nettools.ligbox.com.br Cloudflare — DNS nettools.ligbox.com.br Cloudflare 2026-07-02 14:22:01 +00:00

Closed #763 [spec-042] systemd ligbox-nettools.service — systemd ligbox-nettools.service 2026-07-02 14:21:40 +00:00

Closed #762 [spec-042] bootstrap-vm130.sh + smoke OK (23 tools, nslookup MX) — bootstrap-vm130.sh + smoke OK (23 tools, nslookup MX) 2026-07-02 14:21:37 +00:00

Closed #761 [spec-042] Deploy /opt/ligbox-nettools/ VM130 isolado — Deploy /opt/ligbox-nettools/ VM130 isolado 2026-07-02 14:21:34 +00:00

Closed #760 [spec-042] Criar projects/nettools/ skeleton (README, docker-compose, — Criar projects/nettools/ skeleton (README, docker-compose, FastAPI hello) 2026-07-02 14:21:32 +00:00

Closed #759 [spec-042] contracts/nettools-api.mdcontracts/nettools-api.md 2026-07-02 14:21:29 +00:00

Closed #758 [spec-042] infrastructure.mdinfrastructure.md 2026-07-02 14:21:26 +00:00

Closed #757 [spec-042] architecture.mdarchitecture.md 2026-07-02 14:21:24 +00:00

Closed #756 [spec-042] tools-catalog.md (23 ferramentas) — tools-catalog.md (23 ferramentas) 2026-07-02 14:21:21 +00:00

Closed #755 [spec-042] Spec 042 spec.md — Spec 042 spec.md 2026-07-02 14:21:19 +00:00

Closed #749 [spec-041] T006 — T006 Deploy VM122 2026-07-02 14:21:08 +00:00

Closed #748 [spec-041] T005 — T005 Nav «Central Operacional» 2026-07-02 14:21:05 +00:00

Closed #747 [spec-041] T004 — T004 Substituir renderMessages() → DeskOperationalFeed 2026-07-02 14:21:02 +00:00

Closed #746 [spec-041] T003 — T003 OF-FE-001 operational-feed.js 2026-07-02 14:21:00 +00:00

Closed #745 [spec-041] T002 — T002 OF-API-002 ops_inbox_routes.py 2026-07-02 14:20:57 +00:00

Closed #744 [spec-041] T001 — T001 OF-API-001 ops_inbox_store.py + seed 2026-07-02 14:20:55 +00:00

Closed #740 [spec-040] T007 — T007 Deploy VM122 v0.13.0 2026-07-02 14:20:47 +00:00

Closed #739 [spec-040] T006 — T006 DS-FE-004 access-control-hub.js 2026-07-02 14:20:44 +00:00

Closed #738 [spec-040] T005 — T005 DS-FE-003 user-wizard.js 2026-07-02 14:20:42 +00:00

Closed #737 [spec-040] T004 — T004 DS-FE-001 ligbox-ds.css 2026-07-02 14:20:39 +00:00

Closed #736 [spec-040] T003 — T003 DS-API-002 governance_routes.py 2026-07-02 14:20:36 +00:00

Closed #735 [spec-040] T002 — T002 DS-API-001 desk_governance_store.py 2026-07-02 14:20:33 +00:00

Closed #734 [spec-040] T001 — T001 Snapshot v0.12.2-pre-ds-20260625 2026-07-02 14:20:31 +00:00

Closed #727 [spec-038] Documentar SPEC na VM130 (Spec Hub) — Documentar SPEC na VM130 (Spec Hub) 2026-07-02 14:20:18 +00:00

Closed #726 [spec-038] Validar regressão mail.ligbox.com.br → HTTP 200 — Validar regressão mail.ligbox.com.br → HTTP 200 2026-07-02 14:20:15 +00:00

Closed #725 [spec-038] Validar WAN: supported/config/login → HTTP 200 — Validar WAN: supported/config/login → HTTP 200 2026-07-02 14:20:13 +00:00

Closed #724 [spec-038] Configurar tmpfiles.d para /run/carbonio — Configurar tmpfiles.d para /run/carbonio 2026-07-02 14:20:10 +00:00

Closed #723 [spec-038] Implementar systemd path watcher — Implementar systemd path watcher 2026-07-02 14:20:07 +00:00

Closed #722 [spec-038] Implementar check-nutranik-proxy.sh + cron 15 min — Implementar check-nutranik-proxy.sh + cron 15 min 2026-07-02 14:20:05 +00:00

Closed #721 [spec-038] Implementar ensure-nutranik-proxy.sh — Implementar ensure-nutranik-proxy.sh 2026-07-02 14:20:02 +00:00

Closed #720 [spec-038] Adicionar include persistente em nginx.conf.web — Adicionar include persistente em nginx.conf.web 2026-07-02 14:19:59 +00:00

Closed #719 [spec-038] Sincronizar certificado SSL da VM108 — Sincronizar certificado SSL da VM108 2026-07-02 14:19:57 +00:00

Closed #718 [spec-038] Criar server block proxy mail.nutranik.com na VM112 — Criar server block proxy mail.nutranik.com na VM112 2026-07-02 14:19:54 +00:00

Closed #717 [spec-038] Criar upstream nutranik_vm108_https na VM112 — Criar upstream nutranik_vm108_https na VM112 2026-07-02 14:19:52 +00:00

Closed #716 [spec-038] Confirmar arquitectura: WAN → VM112, Nutranik → VM108 — Confirmar arquitectura: WAN → VM112, Nutranik → VM108 2026-07-02 14:19:50 +00:00

Closed #715 [spec-038] Diagnosticar falha WAN mail.nutranik.com (404/500 em /zx/ — Diagnosticar falha WAN mail.nutranik.com (404/500 em /zx/login/*`) 2026-07-02 14:19:47 +00:00

Closed #712 [spec-037] V3 Console /admin/dominio consume viewer API — VM123 2026- — V3 Console /admin/dominio consume viewer API — VM123 2026-06-25 2026-07-02 14:19:40 +00:00

Closed #711 [spec-037] V2 OpenPanel BIND records (openpanel_dns.py) — VM122 2026- — V2 OpenPanel BIND records (openpanel_dns.py) — VM122 2026-06-25 2026-07-02 14:19:37 +00:00

Closed #710 [spec-037] V1b Desk UI unificada (dns-viewer.js + Overview/IaaS modal — V1b Desk UI unificada (dns-viewer.js + Overview/IaaS modal) 2026-07-02 14:19:35 +00:00

Closed #709 [spec-037] V1 GET /api/v1/dns/viewer/{domain} — CF + public + planned — V1 GET /api/v1/dns/viewer/{domain} — CF + public + planned (deploy VM122 2026-06-25) 2026-07-02 14:19:32 +00:00

Closed #708 [spec-037] Spec rollback + scripts deploy (deploy/DNS-VIEWER-*.md, d — Spec rollback + scripts deploy (deploy/DNS-VIEWER-*.md, deploy/scripts/*`) 2026-07-02 14:19:29 +00:00

Closed #707 [spec-037] V0 Desk CF only — cloudflare_dns.py + Overview modal — V0 Desk CF only — cloudflare_dns.py + Overview modal 2026-07-02 14:19:27 +00:00

Closed #704 [spec-037] cf_client_accounts/ registry — cf_client_accounts/ registry 2026-07-02 14:19:22 +00:00

Closed #703 [spec-037] handoff-manager (stub registo) — handoff-manager (stub registo) 2026-07-02 14:19:19 +00:00

Closed #702 [spec-037] provision-client-account (fallback zona partilhada) — provision-client-account (fallback zona partilhada) 2026-07-02 14:19:17 +00:00

Closed #698 [spec-037] Maestro delegação REST (/run/proj-mail, /run/cf-zone) — Maestro delegação REST (/run/proj-mail, /run/cf-zone) 2026-07-02 14:19:10 +00:00

Closed #697 [spec-037] DO stubs ProjMailAgent, CfZoneAgent, CfHandoffAgent — DO stubs ProjMailAgent, CfZoneAgent, CfHandoffAgent 2026-07-02 14:19:07 +00:00

Closed #693 [spec-037] Worker → VM112 proj-mail E2E OK — Worker → VM112 proj-mail E2E OK 2026-07-02 14:19:01 +00:00

Closed #692 [spec-037] Deploy Worker — https://ligbox-onboard-agents.ibytera.worker — Deploy Worker — https://ligbox-onboard-agents.ibytera.workers.dev 2026-07-02 14:18:58 +00:00

Closed #691 [spec-037] HTTP client VM112 — HTTP client VM112 2026-07-02 14:18:56 +00:00

Closed #690 [spec-037] OnboardMaestro estado sessão — OnboardMaestro estado sessão 2026-07-02 14:18:54 +00:00

Closed #689 [spec-037] projects/cloudflare-agents/onboard/ wrangler + DO scaffold — projects/cloudflare-agents/onboard/ wrangler + DO scaffold 2026-07-02 14:18:51 +00:00

Closed #686 [spec-037] Webhook ligbox_project_email (apply + account + project) — Webhook ligbox_project_email (apply + account + project) 2026-07-02 14:18:45 +00:00

Closed #685 [spec-037] UI painel credenciais proj_* — UI painel credenciais proj_* 2026-07-02 14:18:43 +00:00

Closed #684 [spec-037] GET /project/{domain} VM112 — GET /project/{domain} VM112 2026-07-02 14:18:40 +00:00

Closed #683 [spec-037] POST /project/provision-email VM112 smoke proj_001@POST /project/provision-email VM112 smoke proj_001@ 2026-07-02 14:18:37 +00:00

Closed #682 [spec-037] project_identity.py monorepo + VM112 — project_identity.py monorepo + VM112 2026-07-02 14:18:35 +00:00

Closed #681 [spec-037] Multi-conta resolve + BYO + provision-zone — Multi-conta resolve + BYO + provision-zone 2026-07-02 14:18:32 +00:00

Closed #673 [spec-035] contracts/status-snapshot.mdcontracts/status-snapshot.md 2026-07-02 14:18:18 +00:00

Closed #672 [spec-035] contracts/stack-services.yamlcontracts/stack-services.yaml 2026-07-02 14:18:15 +00:00

Closed #671 [spec-035] quickstart.mdquickstart.md 2026-07-02 14:18:13 +00:00

Closed #670 [spec-035] specs/035-ligbox-watchman/spec.mdspecs/035-ligbox-watchman/spec.md 2026-07-02 14:18:11 +00:00

Closed #653 [spec-035] Spec 035 + contracts/stack-services.yaml — Spec 035 + contracts/stack-services.yaml 2026-07-02 14:17:45 +00:00

Closed #649 [spec-035] Implementar GET /api/v1/dns/viewer/{domain} (Desk VM122 + — Implementar GET /api/v1/dns/viewer/{domain} (Desk VM122 + proxy Console VM123 2026-06-25) 2026-07-02 14:17:39 +00:00

Closed #648 [spec-035] Spec 037-DNS-VIEWER dns-viewer.md + §5.5 domain-manager ac — Spec 037-DNS-VIEWER dns-viewer.md + §5.5 domain-manager actualizado 2026-07-02 14:17:36 +00:00

Closed #643 [spec-035] API Desk domain_console_sandbox*.py — create-only produção — API Desk domain_console_sandbox*.py — create-only produção 2026-07-02 14:17:28 +00:00

Closed #642 [spec-035] mockups/domain-manager-sandbox.html — UI sandbox (Mock + L — mockups/domain-manager-sandbox.html — UI sandbox (Mock + Live create-only) 2026-07-02 14:17:26 +00:00

Closed #641 [spec-035] foss-products.md (template) — foss-products.md (template) 2026-07-02 14:17:23 +00:00

Closed #640 [spec-035] tasks.mdtasks.md 2026-07-02 14:17:21 +00:00

Closed #639 [spec-035] Spec 035 spec.md — Spec 035 spec.md 2026-07-02 14:17:18 +00:00

Closed #617 [spec-035] GET /api/v1/domain-console/dns/viewer/{domain} (VM122 2026 — GET /api/v1/domain-console/dns/viewer/{domain} (VM122 2026-06-25) 2026-07-02 14:16:44 +00:00

Closed #612 [spec-035] /admin/dominio V3 deploy VM123 2026-06-25 (AdminDominio.j — /admin/dominio V3 deploy VM123 2026-06-25 (AdminDominio.jsx, DnsViewerPanel.jsx`) 2026-07-02 14:16:35 +00:00

Closed #601 [spec-035] Produto FOSS ligbox-mail-business (id=3) — ver [foss-produ — Produto FOSS ligbox-mail-business (id=3) — ver [foss-products.md](./foss-products.md) 2026-07-02 14:16:16 +00:00

Closed #590 [spec-034] 034-console-process-ui.md — visão processo Console — 034-console-process-ui.md — visão processo Console 2026-07-02 14:15:57 +00:00

Closed #589 [spec-034] contracts/nextcloud-provisioning-api.mdcontracts/nextcloud-provisioning-api.md 2026-07-02 14:15:54 +00:00

Closed #588 [spec-034] quickstart.mdquickstart.md 2026-07-02 14:15:52 +00:00

Closed #587 [spec-034] infrastructure.mdinfrastructure.md 2026-07-02 14:15:50 +00:00

Closed #586 [spec-034] Spec 034 spec.md — Spec 034 spec.md 2026-07-02 14:15:48 +00:00

Closed #563 [spec-034] deploy/vm116-nextcloud/ — docker-compose + scripts + Traef — deploy/vm116-nextcloud/ — docker-compose + scripts + Traefik snippet 2026-07-02 14:15:14 +00:00

Closed #560 [spec-034] Roger: **VM124** após VM123 (não VM118) · 2 vCPU · 4 GB · 50 — Roger: **VM124** após VM123 (não VM118) · 2 vCPU · 4 GB · 500 GB 2026-07-02 14:15:08 +00:00

Closed #549 [spec-030] C6 Poll 30s quando view activa — C6 Poll 30s quando view activa 2026-07-02 14:14:50 +00:00

Closed #548 [spec-030] C5 Atalho teclado R refresh, Esc deselect — C5 Atalho teclado R refresh, Esc deselect 2026-07-02 14:14:47 +00:00

Closed #547 [spec-030] C4 Pulse animation agente com incidente open — C4 Pulse animation agente com incidente open 2026-07-02 14:14:44 +00:00

Closed #546 [spec-030] C3 Empty states + skeleton loading — C3 Empty states + skeleton loading 2026-07-02 14:14:42 +00:00

Closed #545 [spec-030] C2 Mobile tabs (Board / Frota / Contexto) — C2 Mobile tabs (Board / Frota / Contexto) 2026-07-02 14:14:39 +00:00

Closed #544 [spec-030] C1 Run timeline (lista ticks) — C1 Run timeline (lista ticks) 2026-07-02 14:14:36 +00:00

Closed #543 [spec-030] B6 Testes test_agents_030.py — B6 Testes test_agents_030.py 2026-07-02 14:14:33 +00:00

Closed #542 [spec-030] B5 Backfill automático no boot (backfill_incidents) — B5 Backfill automático no boot (backfill_incidents) 2026-07-02 14:14:30 +00:00

Closed #541 [spec-030] B4 Endpoints /overview, /incidents, /incidents/{id}/ack — B4 Endpoints /overview, /incidents, /incidents/{id}/ack, /timeline` 2026-07-02 14:14:27 +00:00

Closed #540 [spec-030] B3 Refactor notify_finding_to_operators — reutilizar threa — B3 Refactor notify_finding_to_operators — reutilizar thread 2026-07-02 14:14:25 +00:00

Closed #539 [spec-030] B2 store.upsert_incident() no runner tick — B2 store.upsert_incident() no runner tick 2026-07-02 14:14:22 +00:00

Closed #538 [spec-030] B1 Migration agent_incidents + índices — B1 Migration agent_incidents + índices 2026-07-02 14:14:19 +00:00

Closed #537 [spec-030] A8 Deploy produção + staging — A8 Deploy produção + staging 2026-07-02 14:14:17 +00:00

Closed #536 [spec-030] A7 Fleet rail compacto — A7 Fleet rail compacto 2026-07-02 14:14:14 +00:00

Closed #535 [spec-030] A6 ContextPanel — thread + reply + chat — A6 ContextPanel — thread + reply + chat 2026-07-02 14:14:12 +00:00

Closed #534 [spec-030] A5 IncidentCard — click selecciona + highlight — A5 IncidentCard — click selecciona + highlight 2026-07-02 14:14:10 +00:00

Closed #533 [spec-030] A4 Dedup via API /incidents (UI-B) — A4 Dedup via API /incidents (UI-B) 2026-07-02 14:14:07 +00:00

Closed #532 [spec-030] A3 Componente MissionBoard — 4 colunas severidade — A3 Componente MissionBoard — 4 colunas severidade 2026-07-02 14:14:04 +00:00

Closed #531 [spec-030] A2 Componente AgenticStatusBar (health + action-log last t — A2 Componente AgenticStatusBar (health + action-log last tick) 2026-07-02 14:14:02 +00:00

Closed #530 [spec-030] A1 Criar agentic-ops.css (grid ao-*, tokens agente) — A1 Criar agentic-ops.css (grid ao-*, tokens agente) 2026-07-02 14:13:59 +00:00

Closed #525 [spec-029] G4 Registar homologação — 2026-06-19 VM122 — G4 Registar homologação — 2026-06-19 VM122 2026-07-02 14:13:50 +00:00

Closed #524 [spec-029] G3 Verificar produção intacta — /api/v1/agents/health 200 — G3 Verificar produção intacta — /api/v1/agents/health 200 tier t1 2026-07-02 14:13:48 +00:00

Closed #523 [spec-029] G2 Deploy produção :8080 (api + worker + frontend) — versã — G2 Deploy produção :8080 (api + worker + frontend) — versão 0.9.7-spec029-agentic 2026-07-02 14:13:46 +00:00

Closed #522 [spec-029] G1 Merge branch → main (pendente push remoto se aplicável) — G1 Merge branch → main (pendente push remoto se aplicável) 2026-07-02 14:13:44 +00:00

Closed #521 [spec-029] F4 Inbox com finding simulado (VM123 finance + OpenPanel bri — F4 Inbox com finding simulado (VM123 finance + OpenPanel bridge) 2026-07-02 14:13:41 +00:00

Closed #520 [spec-029] F3 Chat T1 com Ollama online (health tier t1; resposta LLM ~ — F3 Chat T1 com Ollama online (health tier t1; resposta LLM ~2min qwen2.5:7b) 2026-07-02 14:13:39 +00:00

Closed #519 [spec-029] F2 Checklist quickstart.md — F2 Checklist quickstart.md 2026-07-02 14:13:37 +00:00

Closed #518 [spec-029] F1 Deploy docker-compose.agentic-staging.yml (:8180/:8192) — F1 Deploy docker-compose.agentic-staging.yml (:8180/:8192) 2026-07-02 14:13:34 +00:00

Closed #517 [spec-029] E5 E-mail high/critical via Postfix — E5 E-mail high/critical via Postfix 2026-07-02 14:13:32 +00:00

Closed #516 [spec-029] E4 UI Desk 3 colunas (roster/inbox/contexto) — E4 UI Desk 3 colunas (roster/inbox/contexto) 2026-07-02 14:13:30 +00:00

Closed #515 [spec-029] E3 Reply humano + ack — E3 Reply humano + ack 2026-07-02 14:13:27 +00:00

Closed #514 [spec-029] E2 Inbox por role — E2 Inbox por role 2026-07-02 14:13:24 +00:00

Closed #513 [spec-029] E1 agent_threads + agent_messages — E1 agent_threads + agent_messages 2026-07-02 14:13:22 +00:00

Closed #512 [spec-029] D3 Map cenário → agente (A1, A2, A6, sentinel) — D3 Map cenário → agente (A1, A2, A6, sentinel) 2026-07-02 14:13:20 +00:00

Closed #511 [spec-029] D2 agents-roster.md — D2 agents-roster.md 2026-07-02 14:13:17 +00:00

Closed #510 [spec-029] D1 catalog.py roster — D1 catalog.py roster 2026-07-02 14:13:14 +00:00

Closed #509 [spec-029] C4 KB Curator index specs — C4 KB Curator index specs 2026-07-02 14:13:12 +00:00

Closed #508 [spec-029] C3 chat_context copiloto — C3 chat_context copiloto 2026-07-02 14:13:09 +00:00

Closed #507 [spec-029] C2 advise_human_action em findings warn+ — C2 advise_human_action em findings warn+ 2026-07-02 14:13:07 +00:00

Closed #506 [spec-029] C1 Ollama VM123 qwen2.5:7b-instruct — C1 Ollama VM123 qwen2.5:7b-instruct 2026-07-02 14:13:05 +00:00

Closed #505 [spec-029] B3 POST /internal/tick — B3 POST /internal/tick 2026-07-02 14:13:02 +00:00

Closed #504 [spec-029] B2 AGENTIC_INTERVAL_SEC=300 — B2 AGENTIC_INTERVAL_SEC=300 2026-07-02 14:12:59 +00:00

Closed #503 [spec-029] B1 agentic_tick() no worker — B1 agentic_tick() no worker 2026-07-02 14:12:56 +00:00

Closed #502 [spec-029] A5 Checks T0 (checks.py) — A5 Checks T0 (checks.py) 2026-07-02 14:12:53 +00:00

Closed #501 [spec-029] A4 Cenários registry.yaml (9 cenários) — A4 Cenários registry.yaml (9 cenários) 2026-07-02 14:12:50 +00:00

Closed #500 [spec-029] A3 init_agent_schema no boot — A3 init_agent_schema no boot 2026-07-02 14:12:47 +00:00

Closed #499 [spec-029] A2 Router /api/v1/agents/* montado em main.py — A2 Router /api/v1/agents/* montado em main.py 2026-07-02 14:12:44 +00:00

Closed #498 [spec-029] A1 Tabelas SQLite (agent_scenarios, agent_runs, agent_f — A1 Tabelas SQLite (agent_scenarios, agent_runs, agent_findings, agent_action_log, agent_kb_chunks`) 2026-07-02 14:12:40 +00:00

Closed #496 [spec-028] Limpeza users E2E de teste — Limpeza users E2E de teste 2026-07-02 14:12:36 +00:00

Closed #495 [spec-028] Cron reaplicar patch após opencli update — Cron reaplicar patch após opencli update 2026-07-02 14:12:33 +00:00

Closed #494 [spec-028] CREDENCIAIS_SERVICOS_VM123.txt actualizado — CREDENCIAIS_SERVICOS_VM123.txt actualizado 2026-07-02 14:12:31 +00:00

Closed #493 [spec-028] Publicar no Spec Hub VM130 (Forgejo) — Publicar no Spec Hub VM130 (Forgejo) 2026-07-02 14:12:28 +00:00

Closed #492 [spec-028] Spec 028 no repositório — Spec 028 no repositório 2026-07-02 14:12:26 +00:00

Closed #491 [spec-028] Adendo [CONFIRMACAO-TESTE-API.md](CONFIRMACAO-TESTE-API.md) — Adendo [CONFIRMACAO-TESTE-API.md](CONFIRMACAO-TESTE-API.md) 2026-07-02 14:12:23 +00:00

Closed #490 [spec-028] Botão **Testar multidomínio** no Menu Infra Desk — Botão **Testar multidomínio** no Menu Infra Desk 2026-07-02 14:12:21 +00:00

Closed #489 [spec-028] POST /api/v1/vm123/openpanel/test-confirm — suite 7 passos — POST /api/v1/vm123/openpanel/test-confirm — suite 7 passos 2026-07-02 14:12:18 +00:00

Closed #488 [spec-028] scripts/test-openpanel-multidomain-api.sh — CLI repetível — scripts/test-openpanel-multidomain-api.sh — CLI repetível 2026-07-02 14:12:16 +00:00

Closed #487 [spec-028] Último run: order #6, user ab69b548, domain test95452.ligbox — Último run: order #6, user ab69b548, domain test95452.ligbox.com.br 2026-07-02 14:12:14 +00:00

Closed #486 [spec-028] test-foss-openpanel-order.sh — 7 passos E2E — test-foss-openpanel-order.sh — 7 passos E2E 2026-07-02 14:12:11 +00:00

Closed #485 [spec-028] Login OpenAdmin validado — Login OpenAdmin validado 2026-07-02 14:12:08 +00:00

Closed #484 [spec-028] labadmin + labreseller via SQLite (issue #795) — labadmin + labreseller via SQLite (issue #795) 2026-07-02 14:12:05 +00:00

Closed #483 [spec-028] provision-openpanel-hosting.shprovision-openpanel-hosting.sh 2026-07-02 14:12:02 +00:00

Closed #482 [spec-028] diarissima, myvexx, testeops, authverify, e2eportal, funnel, — diarissima, myvexx, testeops, authverify, e2eportal, funnel, verify 2026-07-02 14:11:59 +00:00

Closed #481 [spec-028] Order config array PHP (config[domain][...]) — Order config array PHP (config[domain][...]) 2026-07-02 14:11:57 +00:00

Closed #480 [spec-028] Servidor FOSS → port 18087 HTTP — Servidor FOSS → port 18087 HTTP 2026-07-02 14:11:54 +00:00

Closed #479 [spec-028] patch-foss-openpanel-domain.sh — campo domain em createA — patch-foss-openpanel-domain.sh — campo domain em createAccount 2026-07-02 14:11:51 +00:00

Closed #478 [spec-028] openpanel-foss-bridge.service activo :18087 — openpanel-foss-bridge.service activo :18087 2026-07-02 14:11:48 +00:00

Closed #477 [spec-028] Endpoints GET/PATCH/DELETE users — Endpoints GET/PATCH/DELETE users 2026-07-02 14:11:46 +00:00

Closed #476 [spec-028] bridge.py — user-add + domains-add + normalização domínio — bridge.py — user-add + domains-add + normalização domínio 2026-07-02 14:11:44 +00:00

Closed #475 [spec-028] Backup opencli em .ligbox-backup-* — Backup opencli em .ligbox-backup-* 2026-07-02 14:11:41 +00:00

Closed #474 [spec-028] Fix /etc/bind/named.conf (openpanel_dns) — Fix /etc/bind/named.conf (openpanel_dns) 2026-07-02 14:11:39 +00:00

Closed #473 [spec-028] key=ligbox-local-enterprise em openpanel.config — key=ligbox-local-enterprise em openpanel.config 2026-07-02 14:11:36 +00:00

Closed #472 [spec-028] patch-openpanel-ce-unlock.sh — hosting ilimitado + API + a — patch-openpanel-ce-unlock.sh — hosting ilimitado + API + admin + email 2026-07-02 14:11:33 +00:00

Closed #465 [spec-025] Smoke: teste001@exuberanti.com.br reconcilia sem HTTP 400 — Smoke: teste001@exuberanti.com.br reconcilia sem HTTP 400 2026-07-02 14:11:21 +00:00

Closed #464 [spec-025] Frontend passos 2–3 — banners e botões dinâmicos — Frontend passos 2–3 — banners e botões dinâmicos 2026-07-02 14:11:18 +00:00

Closed #463 [spec-025] POST /api/onboarding/account/create idempotente (reconcil — POST /api/onboarding/account/create idempotente (reconciled: true`) 2026-07-02 14:11:15 +00:00

Closed #462 [spec-025] GET /api/onboarding/account/status — VM112 — GET /api/onboarding/account/status — VM112 2026-07-02 14:11:13 +00:00

Closed #461 [spec-025] spec.md — fluxo alvo e critérios de aceite — spec.md — fluxo alvo e critérios de aceite 2026-07-02 14:11:10 +00:00

Closed #456 [spec-024] Links conta cliente → financeiro.ligbox.com.br (billing_sto — Links conta cliente → financeiro.ligbox.com.br (billing_store.py`) 2026-07-02 14:11:01 +00:00

Closed #455 [spec-024] Validar HTTPS financeiro / odoo / openpanel — Validar HTTPS financeiro / odoo / openpanel 2026-07-02 14:10:57 +00:00

Closed #454 [spec-024] Rotas Traefik CT114 (FOSS raiz, /odoo, openpanel, admin.open — Rotas Traefik CT114 (FOSS raiz, /odoo, openpanel, admin.openpanel) 2026-07-02 14:10:55 +00:00

Closed #453 [spec-024] DNS financeiro + openpanel → IP público (Cloudflare) — DNS financeiro + openpanel → IP público (Cloudflare) 2026-07-02 14:10:52 +00:00

Closed #452 [spec-024] Provisionamento OpenPanel validado (bridge E2E + testprov1 m — Provisionamento OpenPanel validado (bridge E2E + testprov1 manual) 2026-07-02 14:10:49 +00:00

Closed #451 [spec-024] Test connection FOSS → bridge OK — Test connection FOSS → bridge OK 2026-07-02 14:10:46 +00:00

Closed #450 [spec-024] Planos hosting — ligbox-site-cms (id 3) — Planos hosting — ligbox-site-cms (id 3) 2026-07-02 14:10:44 +00:00

Closed #449 [spec-024] Bridge Community API (install-openpanel-community-bridge.sh — Bridge Community API (install-openpanel-community-bridge.sh`) porta 18087 2026-07-02 14:10:41 +00:00

Closed #448 [spec-024] install-openpanel.sh — Community 1.7.60 — install-openpanel.sh — Community 1.7.60 2026-07-02 14:10:39 +00:00

Closed #447 [spec-024] Antispam honeypot lb_hp_x9k2 (setup-foss-antispam.sh) — Antispam honeypot lb_hp_x9k2 (setup-foss-antispam.sh) 2026-07-02 14:10:36 +00:00

Closed #446 [spec-024] setup-foss-openpanel-module.shsetup-foss-openpanel-module.sh 2026-07-02 14:10:34 +00:00

Closed #445 [spec-024] Wizard Odoo 16 (base ligbox) — Wizard Odoo 16 (base ligbox) 2026-07-02 14:10:31 +00:00

Closed #444 [spec-024] Wizard FOSSBilling (admin@ligbox.com.br) — Wizard FOSSBilling (admin@ligbox.com.br) 2026-07-02 14:10:29 +00:00

Closed #443 [spec-024] docker compose up -d em /opt/vm123-finance-stackdocker compose up -d em /opt/vm123-finance-stack 2026-07-02 14:10:26 +00:00

Closed #442 [spec-024] Swap 2 GB — Swap 2 GB 2026-07-02 14:10:24 +00:00

Closed #441 [spec-024] Wazuh agent → 10.10.10.104 — Wazuh agent → 10.10.10.104 2026-07-02 14:10:21 +00:00

Closed #440 [spec-024] fail2ban activo — fail2ban activo 2026-07-02 14:10:18 +00:00

Closed #439 [spec-024] bootstrap-vm123.sh — mini, admin, root (805353) — bootstrap-vm123.sh — mini, admin, root (805353) 2026-07-02 14:10:16 +00:00

Closed #438 [spec-024] DNAT SSH WAN :2523 → VM123:22 (pfSense id **61**) — DNAT SSH WAN :2523 → VM123:22 (pfSense id **61**) 2026-07-02 14:10:13 +00:00

Closed #437 [spec-024] VM123 online — IP 10.10.10.123/24 — VM123 online — IP 10.10.10.123/24 2026-07-02 14:10:09 +00:00

Closed #436 [spec-024] Executar proxmox-create-vm123.sh no host PVE — Executar proxmox-create-vm123.sh no host PVE 2026-07-02 14:10:07 +00:00

Closed #427 [spec-023] Deploy api + frontend VM122 — Deploy api + frontend VM122 2026-07-02 14:09:52 +00:00

Closed #426 [spec-023] RBAC mascaramento NOC (should_mask_sensitive) — RBAC mascaramento NOC (should_mask_sensitive) 2026-07-02 14:09:49 +00:00

Closed #425 [spec-023] Links FOSSBilling + Odoo na ficha — Links FOSSBilling + Odoo na ficha 2026-07-02 14:09:46 +00:00

Closed #424 [spec-023] Modal **Conta do cliente** (billing-ui.js) — Modal **Conta do cliente** (billing-ui.js) 2026-07-02 14:09:43 +00:00

Closed #423 [spec-023] Serviços: ícone 💳 + stats recorrências (accounts.js) — Serviços: ícone 💳 + stats recorrências (accounts.js) 2026-07-02 14:09:40 +00:00

Closed #422 [spec-023] Tickets: ícone 💳 em [billing-validation] — Tickets: ícone 💳 em [billing-validation] 2026-07-02 14:09:38 +00:00

Closed #421 [spec-023] Dashboard: badge billing em sessões company_validated+ — Dashboard: badge billing em sessões company_validated+ 2026-07-02 14:09:35 +00:00

Closed #420 [spec-023] Dashboard: KPIs cobrança pendente + recorrência activa — Dashboard: KPIs cobrança pendente + recorrência activa 2026-07-02 14:09:32 +00:00

Closed #419 [spec-023] Módulo billing-recurrence no registry — Módulo billing-recurrence no registry 2026-07-02 14:09:30 +00:00

Closed #418 [spec-023] billing_routes.py — list, by-domain, summary, PATCH — billing_routes.py — list, by-domain, summary, PATCH 2026-07-02 14:09:27 +00:00

Closed #417 [spec-023] Hook company.validated em main.py — Hook company.validated em main.py 2026-07-02 14:09:24 +00:00

Closed #416 [spec-023] billing_store.py + tabela billing_accountsbilling_store.py + tabela billing_accounts 2026-07-02 14:09:22 +00:00

Closed #413 [spec-023] Documentar comparativo Lago vs Odoo → **Odoo 16 primário** — Documentar comparativo Lago vs Odoo → **Odoo 16 primário** 2026-07-02 14:09:16 +00:00

Closed #412 [spec-022] Confirmar 409 quando segundo técnico tenta resolver — Confirmar 409 quando segundo técnico tenta resolver 2026-07-02 14:09:12 +00:00

Closed #411 [spec-022] Teste E2E: webhook ACCOUNT_EXISTS → bloqueio #1 + ticket #41 — Teste E2E: webhook ACCOUNT_EXISTS → bloqueio #1 + ticket #41 → resolve → VM112 OK 2026-07-02 14:09:10 +00:00

Closed #410 [spec-022] Build api + frontend (docker-compose.mvp.yml) — Build api + frontend (docker-compose.mvp.yml) 2026-07-02 14:09:07 +00:00

Closed #409 [spec-022] Todos os perfis com leitura de tickets (incl. NOC) — Todos os perfis com leitura de tickets (incl. NOC) 2026-07-02 14:09:04 +00:00

Closed #408 [spec-022] Formulário: confirmar e-mail + senha Desk — Formulário: confirmar e-mail + senha Desk 2026-07-02 14:09:02 +00:00

Closed #407 [spec-022] Painel de resolução no detalhe do ticket (vm112-onboard) — Painel de resolução no detalhe do ticket (vm112-onboard) 2026-07-02 14:08:59 +00:00

Closed #406 [spec-022] Aba Eventos → **Bloqueios Carbonio** + guia técnico — Aba Eventos → **Bloqueios Carbonio** + guia técnico 2026-07-02 14:08:57 +00:00

Closed #405 [spec-022] Router admin_accounts registado em main.py — Router admin_accounts registado em main.py 2026-07-02 14:08:55 +00:00

Closed #404 [spec-022] POST /api/admin/accounts/{email}/delete — zmprov da — POST /api/admin/accounts/{email}/delete — zmprov da 2026-07-02 14:08:52 +00:00

Closed #403 [spec-022] Módulo carbonio-release no registry — Módulo carbonio-release no registry 2026-07-02 14:08:50 +00:00

Closed #402 [spec-022] vm112_domains.delete_carbonio_account()vm112_domains.delete_carbonio_account() 2026-07-02 14:08:48 +00:00

Closed #401 [spec-022] Hook webhook onboarding.failed em main.py — Hook webhook onboarding.failed em main.py 2026-07-02 14:08:45 +00:00

Closed #400 [spec-022] carbonio_release_routes.py — list, get, resolve (senha téc — carbonio_release_routes.py — list, get, resolve (senha técnico + confirm email) 2026-07-02 14:08:43 +00:00

Closed #399 [spec-022] carbonio_release_store.py — tabela, detecção ACCOUNT_EXIST — carbonio_release_store.py — tabela, detecção ACCOUNT_EXISTS, upsert, resolve (lock optimista) 2026-07-02 14:08:40 +00:00

Closed #396 [spec-021] T017 — T017 Auto-ticket regras abuso 2026-07-02 14:08:34 +00:00

Closed #393 [spec-021] T014 — T014 CSP headers portal + wizard (CT114 Traefik) — exemplo em deploy 2026-07-02 14:08:28 +00:00

Closed #391 [spec-021] T012 — T012 Painel Infra 2 + flash eventos novos 2026-07-02 14:08:24 +00:00

Closed #390 [spec-021] T011 — T011 Filtro Eventos «Segurança» 2026-07-02 14:08:22 +00:00

Closed #389 [spec-021] T010 — T010 Card Segurança no Audit Overview modal VM112 2026-07-02 14:08:20 +00:00

Closed #387 [spec-021] T008 — T008 Cliente webhook segurança + retry — template 2026-07-02 14:08:16 +00:00

Closed #385 [spec-021] T006 — T006 Middleware auditoria inputs (Via 2) — template em deploy/vm112-wizard-security/ 2026-07-02 14:08:12 +00:00

Closed #384 [spec-021] T005 — T005 Registar módulo wizard-security em registry.py 2026-07-02 14:08:10 +00:00

Closed #383 [spec-021] T004 — T004 GET /api/v1/security/summary e /security/events 2026-07-02 14:08:08 +00:00

Closed #382 [spec-021] T003 — T003 Persistência webhook_events source vm112-security 2026-07-02 14:08:05 +00:00

Closed #381 [spec-021] T002 — T002 POST /api/v1/webhooks/security (ou extensão onboard ingress) 2026-07-02 14:08:02 +00:00

Closed #380 [spec-021] T001 — T001 POST /api/v1/security/csp-report + validação schema + rate limit 2026-07-02 14:08:00 +00:00

Closed #359 [spec-019] T052 — T052 Rollback doc deploy/CONSOLE-V2-ROLLBACK.md 2026-07-02 14:07:27 +00:00

Closed #358 [spec-019] T051 — T051 Desk banners migração Overview/Eventos/Tickets/Dashboard 2026-07-02 14:07:24 +00:00

Closed #357 [spec-019] T050 — T050 Incidentes Agentic strip (mock + API fallback) 2026-07-02 14:07:22 +00:00

Closed #356 [spec-019] T049 — T049 Domínios com atenção (DomainAttention) 2026-07-02 14:07:20 +00:00

Closed #355 [spec-019] T048 — T048 Saúde plataforma — port Overview (HealthCards) 2026-07-02 14:07:17 +00:00

Closed #354 [spec-019] T047 — T047 KPI bar (desk/summary + alertas Wazuh) 2026-07-02 14:07:15 +00:00

Closed #353 [spec-019] T041 — T041 Traefik console.ligbox.com.br **(G1 2026-06-25 — HTTPS 200 via CT114)** 2026-07-02 14:07:12 +00:00

Closed #352 [spec-019] T040 — T040 Deploy Docker VM123 — **ligbox-ops-console-ui UP :8100** 2026-07-02 14:07:10 +00:00

Closed #348 [spec-019] T036 — T036 **ChamadoHub** /chamados/:publicId — timeline + tabs (mock) 2026-07-02 14:07:03 +00:00

Closed #347 [spec-019] T035 — T035 View Chamados lista 2026-07-02 14:07:01 +00:00

Closed #346 [spec-019] T034 — T034 View Discover → abrir hub 2026-07-02 14:06:58 +00:00

Closed #345 [spec-019] T033 — T033 View Overview → links para hub 2026-07-02 14:06:55 +00:00

Closed #344 [spec-019] T032 — T032 Layout sidebar + tema tokens 2026-07-02 14:06:53 +00:00

Closed #343 [spec-019] T031 — T031 navigation-ia.md — rotas e drill-down 2026-07-02 14:06:50 +00:00

Closed #342 [spec-019] T030 — T030 Scaffold React + Vite + React Router 2026-07-02 14:06:48 +00:00

Closed #326 [spec-019] T005 — T005 Router Traefik → http://10.10.10.123:8100 **(G1 2026-06-25)** 2026-07-02 14:06:23 +00:00

Closed #325 [spec-019] T004 — T004 DNS console.ligbox.com.br → Traefik CT114 **(G1 2026-06-25)** 2026-07-02 14:06:21 +00:00

Closed #324 [spec-019] T003 — T003 Confirmar porta livre (default 8100) ou definir CONSOLE_HOST_PORT no .env 2026-07-02 14:06:18 +00:00

Closed #323 [spec-019] T002 — T002 Executar deploy/scripts/preflight-vm123.sh e documentar resultado 2026-07-02 14:06:16 +00:00

Closed #322 [spec-019] T001 — T001 Inventariar VM123 no Proxmox (IP, hostname, serviços existentes) 2026-07-02 14:06:14 +00:00

Closed #317 [spec-019] Verify endpoint + relatório gate — Verify endpoint + relatório gate 2026-07-02 14:06:06 +00:00

Closed #316 [spec-019] Integração ticket via job.ticket_id (manual) — Integração ticket via job.ticket_id (manual) 2026-07-02 14:06:03 +00:00

Closed #315 [spec-019] POST approve-gate com ops_lead — POST approve-gate com ops_lead 2026-07-02 14:06:01 +00:00

Closed #314 [spec-019] GET /api/v1/migration/gate?domain=GET /api/v1/migration/gate?domain= 2026-07-02 14:05:58 +00:00

Closed #313 [spec-019] gate.py — ratio 99%, estados blocked/warning/ready — gate.py — ratio 99%, estados blocked/warning/ready 2026-07-02 14:05:55 +00:00

Closed #312 [spec-019] install-migration-tools.sh no host VM122 — install-migration-tools.sh no host VM122 2026-07-02 14:05:53 +00:00

Closed #311 [spec-019] UI Desk «Migração E-mail» (email-migration.js) — UI Desk «Migração E-mail» (email-migration.js) 2026-07-02 14:05:51 +00:00

Closed #310 [spec-019] Sync initial/delta/final (runner MVP) — Sync initial/delta/final (runner MVP) 2026-07-02 14:05:48 +00:00

Closed #309 [spec-019] Preflight runner (IMAP reachability + imapsync check) — Preflight runner (IMAP reachability + imapsync check) 2026-07-02 14:05:45 +00:00

Closed #308 [spec-019] API CRUD /api/v1/migration/jobs — API CRUD /api/v1/migration/jobs 2026-07-02 14:05:43 +00:00

Closed #307 [spec-019] Schema SQLite migration_jobs, mailboxes, runs, gate_checks, — Schema SQLite migration_jobs, mailboxes, runs, gate_checks, credentials 2026-07-02 14:05:40 +00:00

Closed #289 [spec-016] PortalTotpSetup.jsx — ecrã «Salve estes códigos» (visual o — PortalTotpSetup.jsx — ecrã «Salve estes códigos» (visual only) 2026-07-02 14:05:12 +00:00

Closed #288 [spec-016] Fluxo registo → TOTP → redirect /onboard — Fluxo registo → TOTP → redirect /onboard 2026-07-02 14:05:09 +00:00

Closed #287 [spec-016] loadWizardStateForOnboard() no mount wizard — loadWizardStateForOnboard() no mount wizard 2026-07-02 14:05:07 +00:00

Closed #286 [spec-016] syncWizardWithPlannedEmail() — prioridade Self-Service — syncWizardWithPlannedEmail() — prioridade Self-Service 2026-07-02 14:05:04 +00:00

Closed #285 [spec-016] setPortalOnboardCredentials() → sessionStorage senha — setPortalOnboardCredentials() → sessionStorage senha 2026-07-02 14:05:02 +00:00

Closed #284 [spec-016] beginOnboardingForEmail() + ligbox_planned_emailbeginOnboardingForEmail() + ligbox_planned_email 2026-07-02 14:04:59 +00:00

Closed #230 [spec-012] **T014** Badge stale/lead na grid sessões liga ao ticket — **T014** Badge stale/lead na grid sessões liga ao ticket 2026-07-02 14:03:43 +00:00

Closed #229 [spec-012] **T013** UI Desk: painel «Leads abandonados» (grid + view + — **T013** UI Desk: painel «Leads abandonados» (grid + view + filtro tickets) 2026-07-02 14:03:40 +00:00

Closed #228 [spec-012] **T012** GET /api/v1/crm/leads — lista tickets lead — **T012** GET /api/v1/crm/leads — lista tickets lead 2026-07-02 14:03:38 +00:00

Closed #227 [spec-012] **T011** Worker job: sessões stale → crm_track=lead + lea — **T011** Worker job: sessões stale → crm_track=lead + lead_detected_at` 2026-07-02 14:03:35 +00:00

Closed #226 [spec-012] **T010** Env ONBOARD_STALE_HOURS (default 24) — **T010** Env ONBOARD_STALE_HOURS (default 24) 2026-07-02 14:03:33 +00:00

Closed #225 [spec-012] **T007** Spec 012 + BACKLOG actualizados — **T007** Spec 012 + BACKLOG actualizados 2026-07-02 14:03:30 +00:00

Closed #224 [spec-012] **T006** Scripts verify-funnel-webhook.sh — ordem real do — **T006** Scripts verify-funnel-webhook.sh — ordem real do funil 2026-07-02 14:03:27 +00:00

Closed #223 [spec-012] **T005** VM112: emitir onboarding.started em POST /accoun — **T005** VM112: emitir onboarding.started em POST /account/create com email` 2026-07-02 14:03:25 +00:00

Closed #222 [spec-012] **T004** VM112: remover onboarding.started de validate-do — **T004** VM112: remover onboarding.started de validate-domain` 2026-07-02 14:03:22 +00:00

Closed #221 [spec-012] **T003** Desk: _backfill_funnel_notes para domain.validat — **T003** Desk: _backfill_funnel_notes para domain.validated + dns.applied` 2026-07-02 14:03:19 +00:00

Closed #220 [spec-012] **T002** Desk: account.created → nota no ticket existente — **T002** Desk: account.created → nota no ticket existente (sem duplicar) 2026-07-02 14:03:16 +00:00

Closed #219 [spec-012] **T001** Desk: ticket em onboarding.started (não só accou — **T001** Desk: ticket em onboarding.started (não só account.created`) 2026-07-02 14:03:13 +00:00

Closed #211 [spec-010] **T042** Audit movimento visível no console da sessão — **T042** Audit movimento visível no console da sessão 2026-07-02 14:03:00 +00:00

Closed #210 [spec-010] **T041** UI Dashboard: tabela ranking 30 dias — **T041** UI Dashboard: tabela ranking 30 dias 2026-07-02 14:02:57 +00:00

Closed #209 [spec-010] **T040** GET /api/v1/assist/technicians/ranking — assumido — **T040** GET /api/v1/assist/technicians/ranking — assumidos, escalados, acções, score 2026-07-02 14:02:54 +00:00

Closed #208 [spec-010] **T025** onboarding.mark_step_complete + onboarding.abort — **T025** onboarding.mark_step_complete + onboarding.abort` (ops_lead+) 2026-07-02 14:02:51 +00:00

Closed #207 [spec-010] **T024** Audit log cada acção em assist_actions — **T024** Audit log cada acção em assist_actions 2026-07-02 14:02:49 +00:00

Closed #206 [spec-010] **T023** GET .../links — Proxmox, Carbonio, Traefik, Cloud — **T023** GET .../links — Proxmox, Carbonio, Traefik, Cloudflare (nova aba) 2026-07-02 14:02:46 +00:00

Closed #205 [spec-010] **T022** UI Console: painel acções + disabled se não assisti — **T022** UI Console: painel acções + disabled se não assisting 2026-07-02 14:02:44 +00:00

Closed #204 [spec-010] **T021** Catálogo MVP: dns.revalidate, dns.reapply, account. — **T021** Catálogo MVP: dns.revalidate, dns.reapply, account.retry_sync, infra.resync 2026-07-02 14:02:41 +00:00

Closed #203 [spec-010] **T020** POST .../actions/{action} — proxy VM112 — **T020** POST .../actions/{action} — proxy VM112 2026-07-02 14:02:38 +00:00

Closed #202 [spec-010] **T016** Teste E2E: cliente pausado → técnico ASM → handoff — **T016** Teste E2E: cliente pausado → técnico ASM → handoff → cliente retoma 2026-07-02 14:02:36 +00:00

Closed #201 [spec-010] **T015** Webhooks onboarding.assist.started|ended — **T015** Webhooks onboarding.assist.started|ended 2026-07-02 14:02:33 +00:00

Closed #200 [spec-010] **T014** Desk: POST .../handoff → resume cliente — **T014** Desk: POST .../handoff → resume cliente 2026-07-02 14:02:30 +00:00

Closed #199 [spec-010] **T013** Desk: POST .../takeover → chama VM112, guarda tok — **T013** Desk: POST .../takeover → chama VM112, guarda token hash 2026-07-02 14:02:27 +00:00

Closed #198 [spec-010] **T012** VM112: botão cliente «Preciso de ajuda técnica» — **T012** VM112: botão cliente «Preciso de ajuda técnica» 2026-07-02 14:02:24 +00:00

Closed #197 [spec-010] **T011** VM112: wizard ASM UI + banner «A actuar em nome do — **T011** VM112: wizard ASM UI + banner «A actuar em nome do cliente» 2026-07-02 14:02:22 +00:00

Closed #196 [spec-010] **T010** VM112: POST .../pause, .../takeover, .../resum — **T010** VM112: POST .../pause, .../takeover, .../resume` 2026-07-02 14:02:19 +00:00

Closed #195 [spec-010] **T009** Lock optimista — 409 se sessão já assisting — **T009** Lock optimista — 409 se sessão já assisting 2026-07-02 14:02:17 +00:00

Closed #194 [spec-010] **T008** Regra RBAC assist (permissions.py) — **T008** Regra RBAC assist (permissions.py) 2026-07-02 14:02:14 +00:00

Closed #193 [spec-010] **T007** UI ticket/sessão: assignee + botão «Assumir sessão» — **T007** UI ticket/sessão: assignee + botão «Assumir sessão» + handoff 2026-07-02 14:02:12 +00:00

Closed #192 [spec-010] **T006** UI: sessões funil clicáveis + badges estado — **T006** UI: sessões funil clicáveis + badges estado 2026-07-02 14:02:10 +00:00

Closed #191 [spec-010] **T005** POST /api/v1/assist/sessions/{id}/escalate — técn — **T005** POST /api/v1/assist/sessions/{id}/escalate — técnico puxa (≥ domain.validated) 2026-07-02 14:02:07 +00:00

Closed #190 [spec-010] **T004** GET /api/v1/assist/sessions — merge funil + assis — **T004** GET /api/v1/assist/sessions — merge funil + assist state 2026-07-02 14:02:05 +00:00

Closed #189 [spec-010] **T003** Webhook ingress onboarding.escalated + onboardin — **T003** Webhook ingress onboarding.escalated + onboarding.failed` → ticket escalated 2026-07-02 14:02:02 +00:00

Closed #188 [spec-010] **T002** Tabelas assist_sessions, assist_actions — **T002** Tabelas assist_sessions, assist_actions 2026-07-02 14:01:59 +00:00

Closed #187 [spec-010] **T001** Schema: ticket status escalated|assisting|resolved — **T001** Schema: ticket status escalated|assisting|resolved + session_id, assist_mode, assisted_by` 2026-07-02 14:01:57 +00:00

Closed #123 [spec-004] **T057** Spec + quickstart atualizados — **T057** Spec + quickstart atualizados 2026-07-02 14:00:25 +00:00

Closed #122 [spec-004] **T056** Minha conta — contagem backup restantes — **T056** Minha conta — contagem backup restantes 2026-07-02 14:00:23 +00:00

Closed #121 [spec-004] **T055** Notificação root início/fim recuperação — **T055** Notificação root início/fim recuperação 2026-07-02 14:00:20 +00:00

Closed #120 [spec-004] **T054** Login UI — perdi autenticador + backup — **T054** Login UI — perdi autenticador + backup 2026-07-02 14:00:18 +00:00

Closed #119 [spec-004] **T053** mfa_recovery_store.py + rotas API — **T053** mfa_recovery_store.py + rotas API 2026-07-02 14:00:15 +00:00

Closed #118 [spec-004] **T052** login/mfa aceita backup_code — **T052** login/mfa aceita backup_code 2026-07-02 14:00:12 +00:00

Closed #117 [spec-004] **T051** Backup na ativação (TOTP) + e-mail — **T051** Backup na ativação (TOTP) + e-mail 2026-07-02 14:00:09 +00:00

Closed #116 [spec-004] **T050** backup_codes.py — 10 códigos uso único — **T050** backup_codes.py — 10 códigos uso único 2026-07-02 14:00:06 +00:00

Closed #115 [spec-004] **T045** Validação Roger — Minha conta OK — **T045** Validação Roger — Minha conta OK 2026-07-02 14:00:04 +00:00

Closed #114 [spec-004] **T044** Formulário persistente (sem refresh apagar campos) — **T044** Formulário persistente (sem refresh apagar campos) 2026-07-02 14:00:01 +00:00

Closed #113 [spec-004] **T043** GET /metotp_enabled — **T043** GET /metotp_enabled 2026-07-02 13:59:58 +00:00

Closed #112 [spec-004] **T042** View Minha conta (todos perfis) — **T042** View Minha conta (todos perfis) 2026-07-02 13:59:56 +00:00

Closed #111 [spec-004] **T041** TOTP obrigatório na troca (se ativo) — **T041** TOTP obrigatório na troca (se ativo) 2026-07-02 13:59:54 +00:00

Closed #110 [spec-004] **T040** POST /change-password — **T040** POST /change-password 2026-07-02 13:59:51 +00:00

Closed #109 [spec-004] **T035** Spec + quickstart — **T035** Spec + quickstart 2026-07-02 13:59:49 +00:00

Closed #108 [spec-004] **T034** Validação E2E Roger — **T034** Validação E2E Roger 2026-07-02 13:59:46 +00:00

Closed #107 [spec-004] **T033** docs/postfix-vm122.md — **T033** docs/postfix-vm122.md 2026-07-02 13:59:44 +00:00

Closed #106 [spec-004] **T032** docs/email-ligbox-vm108.md — **T032** docs/email-ligbox-vm108.md 2026-07-02 13:59:42 +00:00

Closed #105 [spec-004] **T031** Regra portugues-brasil.mdc — **T031** Regra portugues-brasil.mdc 2026-07-02 13:59:39 +00:00

Closed #104 [spec-004] **T030** pt-BR UI/API/e-mails — **T030** pt-BR UI/API/e-mails 2026-07-02 13:59:36 +00:00

Closed #103 [spec-004] **T028** Fix headers ntfy (Unicode) — **T028** Fix headers ntfy (Unicode) 2026-07-02 13:59:33 +00:00

Closed #102 [spec-004] **T027** ntfy tópico + push — **T027** ntfy tópico + push 2026-07-02 13:59:30 +00:00

Closed #101 [spec-004] **T026** /login/mfa + step login — **T026** /login/mfa + step login 2026-07-02 13:59:27 +00:00

Closed #100 [spec-004] **T025** Barra progresso X/2 — **T025** Barra progresso X/2 2026-07-02 13:59:25 +00:00

Closed #99 [spec-004] **T024** QR local (qrcode.min.js) — **T024** QR local (qrcode.min.js) 2026-07-02 13:59:22 +00:00

Closed #98 [spec-004] **T023** activate.html layout 3 colunas — **T023** activate.html layout 3 colunas 2026-07-02 13:59:20 +00:00

Closed #97 [spec-004] **T022** POST /activate lógica 2-de-3 — **T022** POST /activate lógica 2-de-3 2026-07-02 13:59:18 +00:00

Closed #96 [spec-004] **T021** Flags *_verified — **T021** Flags *_verified 2026-07-02 13:59:16 +00:00

Closed #95 [spec-004] **T020** pyotp + totp_util.py — **T020** pyotp + totp_util.py 2026-07-02 13:59:14 +00:00

Closed #94 [spec-004] **T016** canonical_maps legado → @ligbox.com.br — **T016** canonical_maps legado → @ligbox.com.br 2026-07-02 13:59:11 +00:00

Closed #93 [spec-004] **T015** transport_maps → VM108:7025 — **T015** transport_maps → VM108:7025 2026-07-02 13:59:09 +00:00

Closed #92 [spec-004] **T014** Remetente ligbox-ops@ligbox.com.br — **T014** Remetente ligbox-ops@ligbox.com.br 2026-07-02 13:59:07 +00:00

Closed #91 [spec-004] **T013** LMTP VM108 @ligbox.com.br — **T013** LMTP VM108 @ligbox.com.br 2026-07-02 13:59:05 +00:00

Closed #90 [spec-004] **T012** Ticket postfix infra — **T012** Ticket postfix infra 2026-07-02 13:59:02 +00:00

Closed #89 [spec-004] **T011** mail_notify.py + env SMTP — **T011** mail_notify.py + env SMTP 2026-07-02 13:59:00 +00:00

Closed #88 [spec-004] **T010** Postfix VM122 — **T010** Postfix VM122 2026-07-02 13:58:57 +00:00

Closed #87 [spec-004] **T007** PRG pós-cadastro — **T007** PRG pós-cadastro 2026-07-02 13:58:55 +00:00

Closed #86 [spec-004] **T006** Aprovação + e-mail + ticket com link — **T006** Aprovação + e-mail + ticket com link 2026-07-02 13:58:52 +00:00

Closed #85 [spec-004] **T005** Tela Mensagens — aprovar / rejeitar — **T005** Tela Mensagens — aprovar / rejeitar 2026-07-02 13:58:50 +00:00

Closed #84 [spec-004] **T004** E-mail root + ticket pending — **T004** E-mail root + ticket pending 2026-07-02 13:58:47 +00:00

Closed #83 [spec-004] **T003** register.html + link no login — **T003** register.html + link no login 2026-07-02 13:58:45 +00:00

Closed #82 [spec-004] **T002** POST /api/v1/auth/register — **T002** POST /api/v1/auth/register 2026-07-02 13:58:42 +00:00

Closed #81 [spec-004] **T001** Schema desk_registration_requests — **T001** Schema desk_registration_requests 2026-07-02 13:58:39 +00:00

Closed #80 [spec-003] T040 — T040 fail2ban VM122 — confirmar active pós-deploy 2026-07-02 13:58:36 +00:00

Closed #79 [spec-003] T039 — T039 Actualizar BACKLOG Obsidian: 003 (sync VM112 workspace + obsidian-infra) 2026-07-02 13:58:33 +00:00

Closed #78 [spec-003] T038 — T038 Documentar rotação senha em quickstart 2026-07-02 13:58:30 +00:00

Closed #77 [spec-003] T037 — T037 Testar público api.ops.ligbox.com.br → 401 em desk 2026-07-02 13:58:28 +00:00

Closed #76 [spec-003] T036 — T036 Completar scripts/verify-auth.sh — matrix 20+ testes 2026-07-02 13:58:25 +00:00

Closed #75 [spec-003] T035 — T035 [P] [US4] UI secção Admin (super_admin only) — lista users 2026-07-02 13:58:23 +00:00

Closed #74 [spec-003] T034 — T034 [US4] PATCH /api/v1/auth/users/{username} — role, active, password 2026-07-02 13:58:20 +00:00

Closed #73 [spec-003] T033 — T033 [US4] GET /api/v1/auth/users — super_admin 2026-07-02 13:58:17 +00:00

Closed #72 [spec-003] T032 — T032 [US3] Confirmar VM112 onboarding E2E após auth deploy (portal healthy) 2026-07-02 13:58:15 +00:00

Closed #71 [spec-003] T031 — T031 [US3] Worker audit: configurar OPS_INTERNAL_TOKEN em worker env 2026-07-02 13:58:13 +00:00

Closed #70 [spec-003] T030 — T030 [US3] verify-wazuh-webhook.sh — ainda passa (via verify-auth webhook test) 2026-07-02 13:58:10 +00:00

Closed #69 [spec-003] T029 — T029 [US3] verify-webhook.sh — ainda passa com secret, sem JWT 2026-07-02 13:58:08 +00:00

Closed #68 [spec-003] T028 — T028 [US1] Teste browser: desk.ligbox.com.br → login → dashboard 2026-07-02 13:58:05 +00:00

Closed #67 [spec-003] T027 — T027 [US2] Rebuild frontend container 2026-07-02 13:58:02 +00:00

Closed #66 [spec-003] T026 — T026 [US2] Esconder acções PATCH para noc; esconder audit POST para technician/noc 2026-07-02 13:57:59 +00:00

Closed #65 [spec-003] T025 — T025 [US2] Sidebar: user info + logout 2026-07-02 13:57:57 +00:00

Closed #64 [spec-003] T024 — T024 [US1] app.js: guard no boot; api() inject Bearer 2026-07-02 13:57:55 +00:00

Closed #63 [spec-003] T023 — T023 [US1] Criar frontend/login.html — form + redirect 2026-07-02 13:57:52 +00:00

Closed #62 [spec-003] T022 — T022 [P] [US1] Criar frontend/assets/auth.js — login, logout, token storage 2026-07-02 13:57:50 +00:00

Closed #61 [spec-003] T021 — T021 [US2] Rebuild API: docker-compose -f docker-compose.mvp.yml up -d --build api 2026-07-02 13:57:47 +00:00

Closed #60 [spec-003] T020 — T020 [US2] Bump version → 0.6.0-desk-auth 2026-07-02 13:57:45 +00:00

Closed #59 [spec-003] T019 — T019 [US2] Manter webhooks e /health públicos 2026-07-02 13:57:43 +00:00

Closed #58 [spec-003] T018 — T018 [US2] PATCH ticket: validar can_patch_ticket; aceitar assigned_to no body 2026-07-02 13:57:40 +00:00

Closed #57 [spec-003] T017 — T017 [US2] Implementar _mask_ticket_for_noc() em enrich ticket 2026-07-02 13:57:37 +00:00

Closed #56 [spec-003] T016 — T016 [US2] Proteger GET /api/v1/tenants, webhooks/events, infra/*, integrations 2026-07-02 13:57:35 +00:00

Closed #55 [spec-003] T015 — T015 [US2] POST /api/v1/audit/* — ops_lead+ only; cycle aceita X-Ops-Internal-Token 2026-07-02 13:57:32 +00:00

Closed #54 [spec-003] T014 — T014 [US2] Proteger GET /api/v1/onboard/*, GET /api/v1/audit/* 2026-07-02 13:57:29 +00:00

Closed #53 [spec-003] T013 — T013 [US2] Proteger GET/PATCH /api/v1/desk/* com Depends(get_current_user) 2026-07-02 13:57:27 +00:00

Closed #52 [spec-003] T012 — T012 [US2] Adicionar assigned_to, assigned_at em tickets (migration init_db) 2026-07-02 13:57:25 +00:00

Closed #51 [spec-003] T011 — T011 [US1] Testar login 4 users via curl 2026-07-02 13:57:23 +00:00

Closed #50 [spec-003] T010 — T010 [US1] Registar router auth em main.py 2026-07-02 13:57:21 +00:00

Closed #49 [spec-003] T009 — T009 [US1] Feature flag DESK_AUTH_ENABLED — bypass auth quando false 2026-07-02 13:57:18 +00:00

Closed #48 [spec-003] T008 — T008 [US1] Criar api/app/auth_routes.pyPOST /login, GET /me, rate limit 5/min 2026-07-02 13:57:16 +00:00

Closed #47 [spec-003] T007 — T007 [US1] Em init_db(): CREATE desk_users; seed root/admin/mini/noc se vazio 2026-07-02 13:57:13 +00:00

Closed #46 [spec-003] T006 — T006 [US1] Criar api/app/auth.py — bcrypt hash/verify, JWT create/decode, get_current_user dependency 2026-07-02 13:57:11 +00:00

Closed #45 [spec-003] T005 — T005 [US1] Criar api/app/permissions.py — ROLE constants + can_patch_ticket, can_run_audit, etc. 2026-07-02 13:57:09 +00:00

Closed #44 [spec-003] T004 — T004 [P] Criar scripts/verify-auth.sh (esqueleto) 2026-07-02 13:57:06 +00:00

Closed #43 [spec-003] T003 — T003 [P] Adicionar .env: JWT_SECRET, JWT_EXPIRE_HOURS=8, DESK_AUTH_ENABLED=true, OPS_INTERNAL_TOKEN, `DESK_BOO 2026-07-02 13:57:04 +00:00

Closed #42 [spec-003] T002 — T002 [P] Adicionar python-jose[cryptography], passlib[bcrypt] em api/requirements.txt 2026-07-02 13:57:02 +00:00

Closed #41 [spec-003] T001 — T001 Confirmar API healthy: curl http://10.10.10.122:8080/health 2026-07-02 13:56:59 +00:00

Closed #40 [spec-002] T008 — T008 Deploy VM122 + teste verify-wazuh-webhook.sh 2026-07-02 13:56:56 +00:00

Closed #39 [spec-002] T007 — T007 Integração ossec.conf level 10 2026-07-02 13:56:53 +00:00

Closed #38 [spec-002] T006 — T006 Script ligbox-ops.py no Wazuh manager 2026-07-02 13:56:51 +00:00

Closed #37 [spec-002] T005 — T005 UI filtro origem + badges severidade 2026-07-02 13:56:49 +00:00

Closed #36 [spec-002] T004 — T004 Tenant VM104 + secrets .env 2026-07-02 13:56:46 +00:00

Closed #35 [spec-002] T003 — T003 Parser alert JSON Wazuh nativo 2026-07-02 13:56:44 +00:00

Closed #34 [spec-002] T002 — T002 API POST /api/v1/webhooks/ingress/{integration} 2026-07-02 13:56:41 +00:00

Closed #33 [spec-002] T001 — T001 Spec + plan criados 2026-07-02 13:56:39 +00:00

852 issues created by 1 user

Opened #1 [spec-TEST] T001 — teste sync 2026-07-02 13:55:27 +00:00

Opened #2 [spec-001] T001 — T001 Confirmar VM122 API healthy: curl http://10.10.10.122:8080/health 2026-07-02 13:55:50 +00:00

Opened #3 [spec-001] T002 — T002 Confirmar VM112 portal healthy: curl http://10.10.10.112:8090/api/onboarding/health 2026-07-02 13:55:51 +00:00

Opened #4 [spec-001] T003 — T003 [P] Documentar secret actual em ambos .env (VM122 WEBHOOK_SECRET, VM112 OPS_WEBHOOK_SECRET a criar) 2026-07-02 13:55:53 +00:00

Opened #5 [spec-001] T004 — T004 [P] Criar scripts/verify-webhook.sh em ligbox-ops-platform/scripts/ 2026-07-02 13:55:55 +00:00

Opened #6 [spec-001] T005 — T005 [US1] Adicionar função _is_duplicate_event(conn, event, session_id, domain) em api/app/main.py (VM122 deploy pa 2026-07-02 13:55:57 +00:00

Opened #7 [spec-001] T006 — T006 [US1] Em webhook_onboard: skip INSERT ticket se duplicado; sempre INSERT webhook_events 2026-07-02 13:55:59 +00:00

Opened #8 [spec-001] T007 — T007 [US1] Melhorar subject ticket: [{event}] {domain} — {email} quando data.email presente 2026-07-02 13:56:00 +00:00

Opened #9 [spec-001] T008 — T008 [P] [US1] Rebuild e restart: docker-compose -f docker-compose.mvp.yml up -d --build api na VM122 2026-07-02 13:56:02 +00:00

Opened #10 [spec-001] T009 — T009 [US1] Testar idempotência com curl duplicado (quickstart §2) 2026-07-02 13:56:03 +00:00

Opened #11 [spec-001] T010 — T010 [P] [US1] Adicionar campos ops_webhook_url, ops_webhook_secret, ops_webhook_enabled em `backend/app/config.py 2026-07-02 13:56:04 +00:00

Opened #12 [spec-001] T011 — T011 [US1] Criar backend/app/services/ops_webhook.py com emit_event() + retry 3x (1s, 3s, 9s) + httpx timeout 5s 2026-07-02 13:56:06 +00:00

Opened #13 [spec-001] T012 — T012 [US1] Em ops_webhook.py: log warn via activity_log em falha; nunca raise 2026-07-02 13:56:07 +00:00

Opened #14 [spec-001] T013 — T013 [US1] Em backend/app/routers/onboarding.py create_account: obter session_id de request.state e chamar `ops_ 2026-07-02 13:56:09 +00:00

Opened #15 [spec-001] T014 — T014 [US1] Payload data: email, account_verified, needs_review, dns_mode, mail_aliases 2026-07-02 13:56:10 +00:00

Opened #16 [spec-001] T015 — T015 [US1] Adicionar .env entries em VM112: OPS_WEBHOOK_URL=http://10.10.10.122:8080/api/v1/webhooks/onboard 2026-07-02 13:56:12 +00:00

Opened #17 [spec-001] T016 — T016 [US1] Deploy portal VM112 (rsync + restart backend) 2026-07-02 13:56:13 +00:00

Opened #18 [spec-001] T017 — T017 [US1] E2E: onboarding teste → verificar ticket em GET /api/v1/desk/tickets 2026-07-02 13:56:14 +00:00

Opened #19 [spec-001] T018 — T018 [US2] Garantir session_id sempre enviado em emit_event (fallback "" aceite pelo Ops) 2026-07-02 13:56:16 +00:00

Opened #20 [spec-001] T019 — T019 [US2] Adicionar endpoint GET /api/v1/webhooks/events?session_id= no Ops (opcional, consulta audit log) 2026-07-02 13:56:17 +00:00

Opened #21 [spec-001] T020 — T020 [US2] Testar 2 eventos mesma sessão — ambos em webhook_events 2026-07-02 13:56:19 +00:00

Opened #22 [spec-001] T021 — T021 [US3] Teste: parar API VM122, completar onboarding, confirmar resposta 200 ao cliente 2026-07-02 13:56:20 +00:00

Opened #23 [spec-001] T022 — T022 [US3] Verificar activity log portal contém warn de falha webhook 2026-07-02 13:56:22 +00:00

Opened #24 [spec-001] T023 — T023 [US3] Confirmar OPS_WEBHOOK_ENABLED=false desactiva envio sem erro 2026-07-02 13:56:23 +00:00

Opened #25 [spec-001] T024 — T024 [P] [US4] Hook domain.validated em endpoint validate-domain do portal 2026-07-02 13:56:24 +00:00

Opened #26 [spec-001] T025 — T025 [P] [US4] Hook dns.applied em cloudflare apply 2026-07-02 13:56:26 +00:00

Opened #27 [spec-001] T026 — T026 [US4] Hook onboarding.completed / onboarding.failed nos pontos finais 2026-07-02 13:56:27 +00:00

Opened #28 [spec-001] T027 — T027 [US4] Ops: eventos não-ticket só INSERT webhook_events 2026-07-02 13:56:28 +00:00

Opened #29 [spec-001] T028 — T028 [P] Actualizar README.md do ligbox-ops-platform com link para spec 2026-07-02 13:56:30 +00:00

Opened #30 [spec-001] T029 — T029 [P] Rotacionar WEBHOOK_SECRET para valor produção (não dev default) 2026-07-02 13:56:31 +00:00

Opened #31 [spec-001] T030 — T030 Executar scripts/verify-security.sh na VM122 pós-deploy 2026-07-02 13:56:33 +00:00

Opened #32 [spec-001] T031 — T031 Actualizar inventário VMs / backlog Obsidian com INT-2 concluído 2026-07-02 13:56:34 +00:00

Opened #33 [spec-002] T001 — T001 Spec + plan criados 2026-07-02 13:56:36 +00:00

Opened #34 [spec-002] T002 — T002 API POST /api/v1/webhooks/ingress/{integration} 2026-07-02 13:56:40 +00:00

Opened #35 [spec-002] T003 — T003 Parser alert JSON Wazuh nativo 2026-07-02 13:56:42 +00:00

Opened #36 [spec-002] T004 — T004 Tenant VM104 + secrets .env 2026-07-02 13:56:45 +00:00

Opened #37 [spec-002] T005 — T005 UI filtro origem + badges severidade 2026-07-02 13:56:47 +00:00

Opened #38 [spec-002] T006 — T006 Script ligbox-ops.py no Wazuh manager 2026-07-02 13:56:50 +00:00

Opened #39 [spec-002] T007 — T007 Integração ossec.conf level 10 2026-07-02 13:56:52 +00:00

Opened #40 [spec-002] T008 — T008 Deploy VM122 + teste verify-wazuh-webhook.sh 2026-07-02 13:56:55 +00:00

Opened #41 [spec-003] T001 — T001 Confirmar API healthy: curl http://10.10.10.122:8080/health 2026-07-02 13:56:57 +00:00

Opened #42 [spec-003] T002 — T002 [P] Adicionar python-jose[cryptography], passlib[bcrypt] em api/requirements.txt 2026-07-02 13:57:01 +00:00

Opened #43 [spec-003] T003 — T003 [P] Adicionar .env: JWT_SECRET, JWT_EXPIRE_HOURS=8, DESK_AUTH_ENABLED=true, OPS_INTERNAL_TOKEN, `DESK_BOO 2026-07-02 13:57:03 +00:00

Opened #44 [spec-003] T004 — T004 [P] Criar scripts/verify-auth.sh (esqueleto) 2026-07-02 13:57:05 +00:00

Opened #45 [spec-003] T005 — T005 [US1] Criar api/app/permissions.py — ROLE constants + can_patch_ticket, can_run_audit, etc. 2026-07-02 13:57:08 +00:00

Opened #46 [spec-003] T006 — T006 [US1] Criar api/app/auth.py — bcrypt hash/verify, JWT create/decode, get_current_user dependency 2026-07-02 13:57:10 +00:00

Opened #47 [spec-003] T007 — T007 [US1] Em init_db(): CREATE desk_users; seed root/admin/mini/noc se vazio 2026-07-02 13:57:12 +00:00

Opened #48 [spec-003] T008 — T008 [US1] Criar api/app/auth_routes.pyPOST /login, GET /me, rate limit 5/min 2026-07-02 13:57:15 +00:00

Opened #49 [spec-003] T009 — T009 [US1] Feature flag DESK_AUTH_ENABLED — bypass auth quando false 2026-07-02 13:57:17 +00:00

Opened #50 [spec-003] T010 — T010 [US1] Registar router auth em main.py 2026-07-02 13:57:19 +00:00

Opened #51 [spec-003] T011 — T011 [US1] Testar login 4 users via curl 2026-07-02 13:57:22 +00:00

Opened #52 [spec-003] T012 — T012 [US2] Adicionar assigned_to, assigned_at em tickets (migration init_db) 2026-07-02 13:57:24 +00:00

Opened #53 [spec-003] T013 — T013 [US2] Proteger GET/PATCH /api/v1/desk/* com Depends(get_current_user) 2026-07-02 13:57:26 +00:00

Opened #54 [spec-003] T014 — T014 [US2] Proteger GET /api/v1/onboard/*, GET /api/v1/audit/* 2026-07-02 13:57:28 +00:00

Opened #55 [spec-003] T015 — T015 [US2] POST /api/v1/audit/* — ops_lead+ only; cycle aceita X-Ops-Internal-Token 2026-07-02 13:57:31 +00:00

Opened #56 [spec-003] T016 — T016 [US2] Proteger GET /api/v1/tenants, webhooks/events, infra/*, integrations 2026-07-02 13:57:33 +00:00

Opened #57 [spec-003] T017 — T017 [US2] Implementar _mask_ticket_for_noc() em enrich ticket 2026-07-02 13:57:36 +00:00

Opened #58 [spec-003] T018 — T018 [US2] PATCH ticket: validar can_patch_ticket; aceitar assigned_to no body 2026-07-02 13:57:38 +00:00

Opened #59 [spec-003] T019 — T019 [US2] Manter webhooks e /health públicos 2026-07-02 13:57:41 +00:00

Opened #60 [spec-003] T020 — T020 [US2] Bump version → 0.6.0-desk-auth 2026-07-02 13:57:44 +00:00

Opened #61 [spec-003] T021 — T021 [US2] Rebuild API: docker-compose -f docker-compose.mvp.yml up -d --build api 2026-07-02 13:57:46 +00:00

Opened #62 [spec-003] T022 — T022 [P] [US1] Criar frontend/assets/auth.js — login, logout, token storage 2026-07-02 13:57:48 +00:00

Opened #63 [spec-003] T023 — T023 [US1] Criar frontend/login.html — form + redirect 2026-07-02 13:57:51 +00:00

Opened #64 [spec-003] T024 — T024 [US1] app.js: guard no boot; api() inject Bearer 2026-07-02 13:57:53 +00:00

Opened #65 [spec-003] T025 — T025 [US2] Sidebar: user info + logout 2026-07-02 13:57:56 +00:00

Opened #66 [spec-003] T026 — T026 [US2] Esconder acções PATCH para noc; esconder audit POST para technician/noc 2026-07-02 13:57:58 +00:00

Opened #67 [spec-003] T027 — T027 [US2] Rebuild frontend container 2026-07-02 13:58:01 +00:00

Opened #68 [spec-003] T028 — T028 [US1] Teste browser: desk.ligbox.com.br → login → dashboard 2026-07-02 13:58:03 +00:00

Opened #69 [spec-003] T029 — T029 [US3] verify-webhook.sh — ainda passa com secret, sem JWT 2026-07-02 13:58:06 +00:00

Opened #70 [spec-003] T030 — T030 [US3] verify-wazuh-webhook.sh — ainda passa (via verify-auth webhook test) 2026-07-02 13:58:09 +00:00

Opened #71 [spec-003] T031 — T031 [US3] Worker audit: configurar OPS_INTERNAL_TOKEN em worker env 2026-07-02 13:58:11 +00:00

Opened #72 [spec-003] T032 — T032 [US3] Confirmar VM112 onboarding E2E após auth deploy (portal healthy) 2026-07-02 13:58:14 +00:00

Opened #73 [spec-003] T033 — T033 [US4] GET /api/v1/auth/users — super_admin 2026-07-02 13:58:16 +00:00

Opened #74 [spec-003] T034 — T034 [US4] PATCH /api/v1/auth/users/{username} — role, active, password 2026-07-02 13:58:18 +00:00

Opened #75 [spec-003] T035 — T035 [P] [US4] UI secção Admin (super_admin only) — lista users 2026-07-02 13:58:21 +00:00

Opened #76 [spec-003] T036 — T036 Completar scripts/verify-auth.sh — matrix 20+ testes 2026-07-02 13:58:24 +00:00

Opened #77 [spec-003] T037 — T037 Testar público api.ops.ligbox.com.br → 401 em desk 2026-07-02 13:58:26 +00:00

Opened #78 [spec-003] T038 — T038 Documentar rotação senha em quickstart 2026-07-02 13:58:29 +00:00

Opened #79 [spec-003] T039 — T039 Actualizar BACKLOG Obsidian: 003 (sync VM112 workspace + obsidian-infra) 2026-07-02 13:58:32 +00:00

Opened #80 [spec-003] T040 — T040 fail2ban VM122 — confirmar active pós-deploy 2026-07-02 13:58:35 +00:00

Opened #81 [spec-004] **T001** Schema desk_registration_requests — **T001** Schema desk_registration_requests 2026-07-02 13:58:37 +00:00

Opened #82 [spec-004] **T002** POST /api/v1/auth/register — **T002** POST /api/v1/auth/register 2026-07-02 13:58:40 +00:00

Opened #83 [spec-004] **T003** register.html + link no login — **T003** register.html + link no login 2026-07-02 13:58:43 +00:00

Opened #84 [spec-004] **T004** E-mail root + ticket pending — **T004** E-mail root + ticket pending 2026-07-02 13:58:46 +00:00

Opened #85 [spec-004] **T005** Tela Mensagens — aprovar / rejeitar — **T005** Tela Mensagens — aprovar / rejeitar 2026-07-02 13:58:48 +00:00

Opened #86 [spec-004] **T006** Aprovação + e-mail + ticket com link — **T006** Aprovação + e-mail + ticket com link 2026-07-02 13:58:51 +00:00

Opened #87 [spec-004] **T007** PRG pós-cadastro — **T007** PRG pós-cadastro 2026-07-02 13:58:53 +00:00

Opened #88 [spec-004] **T010** Postfix VM122 — **T010** Postfix VM122 2026-07-02 13:58:56 +00:00

Opened #89 [spec-004] **T011** mail_notify.py + env SMTP — **T011** mail_notify.py + env SMTP 2026-07-02 13:58:58 +00:00

Opened #90 [spec-004] **T012** Ticket postfix infra — **T012** Ticket postfix infra 2026-07-02 13:59:01 +00:00

Opened #91 [spec-004] **T013** LMTP VM108 @ligbox.com.br — **T013** LMTP VM108 @ligbox.com.br 2026-07-02 13:59:03 +00:00

Opened #92 [spec-004] **T014** Remetente ligbox-ops@ligbox.com.br — **T014** Remetente ligbox-ops@ligbox.com.br 2026-07-02 13:59:06 +00:00

Opened #93 [spec-004] **T015** transport_maps → VM108:7025 — **T015** transport_maps → VM108:7025 2026-07-02 13:59:08 +00:00

Opened #94 [spec-004] **T016** canonical_maps legado → @ligbox.com.br — **T016** canonical_maps legado → @ligbox.com.br 2026-07-02 13:59:10 +00:00

Opened #95 [spec-004] **T020** pyotp + totp_util.py — **T020** pyotp + totp_util.py 2026-07-02 13:59:13 +00:00

Opened #96 [spec-004] **T021** Flags *_verified — **T021** Flags *_verified 2026-07-02 13:59:15 +00:00

Opened #97 [spec-004] **T022** POST /activate lógica 2-de-3 — **T022** POST /activate lógica 2-de-3 2026-07-02 13:59:17 +00:00

Opened #98 [spec-004] **T023** activate.html layout 3 colunas — **T023** activate.html layout 3 colunas 2026-07-02 13:59:19 +00:00

Opened #99 [spec-004] **T024** QR local (qrcode.min.js) — **T024** QR local (qrcode.min.js) 2026-07-02 13:59:21 +00:00

Opened #100 [spec-004] **T025** Barra progresso X/2 — **T025** Barra progresso X/2 2026-07-02 13:59:23 +00:00

Opened #101 [spec-004] **T026** /login/mfa + step login — **T026** /login/mfa + step login 2026-07-02 13:59:26 +00:00

Opened #102 [spec-004] **T027** ntfy tópico + push — **T027** ntfy tópico + push 2026-07-02 13:59:28 +00:00

Opened #103 [spec-004] **T028** Fix headers ntfy (Unicode) — **T028** Fix headers ntfy (Unicode) 2026-07-02 13:59:32 +00:00

Opened #104 [spec-004] **T030** pt-BR UI/API/e-mails — **T030** pt-BR UI/API/e-mails 2026-07-02 13:59:34 +00:00

Opened #105 [spec-004] **T031** Regra portugues-brasil.mdc — **T031** Regra portugues-brasil.mdc 2026-07-02 13:59:38 +00:00

Opened #106 [spec-004] **T032** docs/email-ligbox-vm108.md — **T032** docs/email-ligbox-vm108.md 2026-07-02 13:59:41 +00:00

Opened #107 [spec-004] **T033** docs/postfix-vm122.md — **T033** docs/postfix-vm122.md 2026-07-02 13:59:43 +00:00

Opened #108 [spec-004] **T034** Validação E2E Roger — **T034** Validação E2E Roger 2026-07-02 13:59:45 +00:00

Opened #109 [spec-004] **T035** Spec + quickstart — **T035** Spec + quickstart 2026-07-02 13:59:47 +00:00

Opened #110 [spec-004] **T040** POST /change-password — **T040** POST /change-password 2026-07-02 13:59:50 +00:00

Opened #111 [spec-004] **T041** TOTP obrigatório na troca (se ativo) — **T041** TOTP obrigatório na troca (se ativo) 2026-07-02 13:59:52 +00:00

Opened #112 [spec-004] **T042** View Minha conta (todos perfis) — **T042** View Minha conta (todos perfis) 2026-07-02 13:59:55 +00:00

Opened #113 [spec-004] **T043** GET /metotp_enabled — **T043** GET /metotp_enabled 2026-07-02 13:59:57 +00:00

Opened #114 [spec-004] **T044** Formulário persistente (sem refresh apagar campos) — **T044** Formulário persistente (sem refresh apagar campos) 2026-07-02 14:00:00 +00:00

Opened #115 [spec-004] **T045** Validação Roger — Minha conta OK — **T045** Validação Roger — Minha conta OK 2026-07-02 14:00:02 +00:00

Opened #116 [spec-004] **T050** backup_codes.py — 10 códigos uso único — **T050** backup_codes.py — 10 códigos uso único 2026-07-02 14:00:05 +00:00

Opened #117 [spec-004] **T051** Backup na ativação (TOTP) + e-mail — **T051** Backup na ativação (TOTP) + e-mail 2026-07-02 14:00:07 +00:00

Opened #118 [spec-004] **T052** login/mfa aceita backup_code — **T052** login/mfa aceita backup_code 2026-07-02 14:00:11 +00:00

Opened #119 [spec-004] **T053** mfa_recovery_store.py + rotas API — **T053** mfa_recovery_store.py + rotas API 2026-07-02 14:00:13 +00:00

Opened #120 [spec-004] **T054** Login UI — perdi autenticador + backup — **T054** Login UI — perdi autenticador + backup 2026-07-02 14:00:16 +00:00

Opened #121 [spec-004] **T055** Notificação root início/fim recuperação — **T055** Notificação root início/fim recuperação 2026-07-02 14:00:19 +00:00

Opened #122 [spec-004] **T056** Minha conta — contagem backup restantes — **T056** Minha conta — contagem backup restantes 2026-07-02 14:00:21 +00:00

Opened #123 [spec-004] **T057** Spec + quickstart atualizados — **T057** Spec + quickstart atualizados 2026-07-02 14:00:24 +00:00

Opened #124 [spec-004] T001 — T001 GET /api/v1/onboard/funnel — agregação por fase (48h) 2026-07-02 14:00:26 +00:00

Opened #125 [spec-004] T002 — T002 GET /api/v1/onboard/sessions/{session_id}/timeline 2026-07-02 14:00:27 +00:00

Opened #126 [spec-004] T003 — T003 Enriquecer GET /api/v1/desk/tickets/{id} com timeline 2026-07-02 14:00:28 +00:00

Opened #127 [spec-004] T004 — T004 Actualizar webhook_onboard: onboarding.completed → nota ticket; onboarding.failed → ticket 2026-07-02 14:00:30 +00:00

Opened #128 [spec-004] T005 — T005 Ajustar TICKET_EVENTS_BY_SOURCE para incluir onboarding.failed 2026-07-02 14:00:31 +00:00

Opened #129 [spec-004] T006 — T006 validate-domain: emit onboarding.started (1x) + domain.validated 2026-07-02 14:00:33 +00:00

Opened #130 [spec-004] T007 — T007 apply_cloudflare_dns: emit dns.applied — ver [cloudflare-zone-provision.md](./cloudflare-zone-provision.md) 2026-07-02 14:00:34 +00:00

Opened #131 [spec-004] T008 — T008 create_account: emit infra.synced + onboarding.completed 2026-07-02 14:00:36 +00:00

Opened #132 [spec-004] T009 — T009 create_account except: emit onboarding.failed 2026-07-02 14:00:37 +00:00

Opened #133 [spec-004] T010 — T010 Sync código para /opt/ibytera-mail-portal/ VM112 + restart 2026-07-02 14:00:38 +00:00

Opened #134 [spec-004] T011 — T011 Dashboard widget funil (contadores + sessões activas) 2026-07-02 14:00:39 +00:00

Opened #135 [spec-004] T012 — T012 Ticket detail — secção timeline vertical 2026-07-02 14:00:41 +00:00

Opened #136 [spec-004] T013 — T013 CSS funil (barras/progresso por fase) 2026-07-02 14:00:42 +00:00

Opened #137 [spec-004] T014 — T014 Script scripts/verify-funnel-webhook.sh 2026-07-02 14:00:43 +00:00

Opened #138 [spec-004] T015 — T015 Deploy VM122 /opt/ligbox-ops-platform/ 2026-07-02 14:00:45 +00:00

Opened #139 [spec-004] T016 — T016 Teste E2E wizard domínio staging 2026-07-02 14:00:46 +00:00

Opened #140 [spec-004] T017 — T017 Actualizar quickstart / README feature 004 2026-07-02 14:00:48 +00:00

Opened #141 [spec-007] **T001** Schema: desk_users.ntfy_topic estável + push_ntf — **T001** Schema: desk_users.ntfy_topic estável + push_ntfy_enabled` 2026-07-02 14:00:49 +00:00

Opened #142 [spec-007] **T002** Migrar lógica de ntfy_topic de registration-only — **T002** Migrar lógica de ntfy_topic de registration-only para user profile 2026-07-02 14:00:51 +00:00

Opened #143 [spec-007] **T003** GET /api/v1/push/settings — **T003** GET /api/v1/push/settings 2026-07-02 14:00:52 +00:00

Opened #144 [spec-007] **T004** POST /api/v1/push/ntfy/enable · disable — **T004** POST /api/v1/push/ntfy/enable · disable 2026-07-02 14:00:54 +00:00

Opened #145 [spec-007] **T005** POST /api/v1/push/test (notificação teste) — **T005** POST /api/v1/push/test (notificação teste) 2026-07-02 14:00:55 +00:00

Opened #146 [spec-007] **T006** UI Minha conta — seção Notificações (toggle + link — **T006** UI Minha conta — seção Notificações (toggle + link + QR) 2026-07-02 14:00:57 +00:00

Opened #147 [spec-007] **T007** push_service.pynotify_user(), notify_role() — **T007** push_service.pynotify_user(), notify_role()` 2026-07-02 14:00:59 +00:00

Opened #148 [spec-007] **T008** Hook: ticket Wazuh criado → push noc + ops_lead — **T008** Hook: ticket Wazuh criado → push noc + ops_lead + root 2026-07-02 14:01:00 +00:00

Opened #149 [spec-007] **T009** Hook: pedido cadastro → push root — **T009** Hook: pedido cadastro → push root 2026-07-02 14:01:02 +00:00

Opened #150 [spec-007] **T010** Rate limit push · logs · falha silenciosa — **T010** Rate limit push · logs · falha silenciosa 2026-07-02 14:01:03 +00:00

Opened #151 [spec-007] **T011** Testes manuais Android/iOS ntfy — **T011** Testes manuais Android/iOS ntfy 2026-07-02 14:01:04 +00:00

Opened #152 [spec-007] **T012** Docs quickstart + env DESK_NTFY_BASE_URL — **T012** Docs quickstart + env DESK_NTFY_BASE_URL 2026-07-02 14:01:06 +00:00

Opened #153 [spec-007] **T020** manifest.json + ícones Ligbox Ops — **T020** manifest.json + ícones Ligbox Ops 2026-07-02 14:01:07 +00:00

Opened #154 [spec-007] **T021** Service Worker sw.js (push + notificationclick) — **T021** Service Worker sw.js (push + notificationclick) 2026-07-02 14:01:09 +00:00

Opened #155 [spec-007] **T022** Tabela push_subscriptions — **T022** Tabela push_subscriptions 2026-07-02 14:01:10 +00:00

Opened #156 [spec-007] **T023** VAPID keys (env) + pywebpush no requirements — **T023** VAPID keys (env) + pywebpush no requirements 2026-07-02 14:01:11 +00:00

Opened #157 [spec-007] **T024** POST /api/v1/push/subscribe · DELETE — **T024** POST /api/v1/push/subscribe · DELETE 2026-07-02 14:01:13 +00:00

Opened #158 [spec-007] **T025** UI «Ativar notificações neste dispositivo» — **T025** UI «Ativar notificações neste dispositivo» 2026-07-02 14:01:14 +00:00

Opened #159 [spec-007] **T026** Integrar push_service dual-channel (ntfy + webpus — **T026** Integrar push_service dual-channel (ntfy + webpush) 2026-07-02 14:01:15 +00:00

Opened #160 [spec-007] **T027** Teste iOS Safari PWA + Android Chrome — **T027** Teste iOS Safari PWA + Android Chrome 2026-07-02 14:01:17 +00:00

Opened #161 [spec-007] **T030** Preferências por tipo de evento — **T030** Preferências por tipo de evento 2026-07-02 14:01:18 +00:00

Opened #162 [spec-007] **T031** FCM para app nativo — **T031** FCM para app nativo 2026-07-02 14:01:20 +00:00

Opened #163 [spec-007] **T032** ntfy self-hosted (VM122 ou VM108) — **T032** ntfy self-hosted (VM122 ou VM108) 2026-07-02 14:01:21 +00:00

Opened #164 [spec-007] **T033** OneSignal avaliação (se FCM complexo demais) — **T033** OneSignal avaliação (se FCM complexo demais) 2026-07-02 14:01:23 +00:00

Opened #165 [spec-009] T001 — T001 SQLite migrations audit_domains, audit_checks em init_db() 2026-07-02 14:01:24 +00:00

Opened #166 [spec-009] T002 — T002 Módulo audit_store.py — upsert checks, list domains, aggregate score 2026-07-02 14:01:26 +00:00

Opened #167 [spec-009] T003 — T003 Job auto-register domains from webhook_events (account.created) 2026-07-02 14:01:27 +00:00

Opened #168 [spec-009] T004 — T004 collectors/vm112.py — carbonio, nginx_vhost, cert_le via portal API 2026-07-02 14:01:29 +00:00

Opened #169 [spec-009] T005 — T005 collectors/dns.py — mx, spf, dkim, dmarc 2026-07-02 14:01:30 +00:00

Opened #170 [spec-009] T006 — T006 collectors/webmail.py — HTTPS status mail.{domain} 2026-07-02 14:01:31 +00:00

Opened #171 [spec-009] T007 — T007 collectors/base.py — runner run_audit(tenant_id, domain) 2026-07-02 14:01:33 +00:00

Opened #172 [spec-009] T008 — T008 Unit smoke: run_audit domínio conhecido VM112 2026-07-02 14:01:34 +00:00

Opened #173 [spec-009] T009 — T009 GET /api/v1/audit/overview 2026-07-02 14:01:35 +00:00

Opened #174 [spec-009] T010 — T010 GET /api/v1/audit/tenants/{id}/scorecard?domain= 2026-07-02 14:01:37 +00:00

Opened #175 [spec-009] T011 — T011 POST /api/v1/audit/run/{tenant_id}?domain= (manual trigger) 2026-07-02 14:01:39 +00:00

Opened #176 [spec-009] T012 — T012 worker/audit_runner.py — ciclo periódico 2026-07-02 14:01:40 +00:00

Opened #177 [spec-009] T013 — T013 Env AUDIT_INTERVAL_SEC=600 docker-compose VM122 2026-07-02 14:01:41 +00:00

Opened #178 [spec-009] T014 — T014 Integrar runner no worker existente (Redis ou loop) 2026-07-02 14:01:43 +00:00

Opened #179 [spec-009] T015 — T015 Nav tab **Overview** + view container 2026-07-02 14:01:44 +00:00

Opened #180 [spec-009] T016 — T016 Grid cards tenant (status, score, issues) 2026-07-02 14:01:45 +00:00

Opened #181 [spec-009] T017 — T017 Drill-down scorecard panel (8 checks) 2026-07-02 14:01:47 +00:00

Opened #182 [spec-009] T018 — T018 CSS health grid (healthy/degraded/critical badges) 2026-07-02 14:01:48 +00:00

Opened #183 [spec-009] T019 — T019 Merge dashboard: funil 004 + overview 009 + tickets (se 004 pronto) 2026-07-02 14:01:49 +00:00

Opened #184 [spec-009] T020 — T020 Script scripts/verify-audit-overview.sh 2026-07-02 14:01:51 +00:00

Opened #185 [spec-009] T021 — T021 Deploy VM122 + confirmar worker cycle 2026-07-02 14:01:52 +00:00

Opened #186 [spec-009] T022 — T022 Documentar domínio seed e intervalo em quickstart 2026-07-02 14:01:53 +00:00

Opened #187 [spec-010] **T001** Schema: ticket status escalated|assisting|resolved — **T001** Schema: ticket status escalated|assisting|resolved + session_id, assist_mode, assisted_by` 2026-07-02 14:01:55 +00:00

Opened #188 [spec-010] **T002** Tabelas assist_sessions, assist_actions — **T002** Tabelas assist_sessions, assist_actions 2026-07-02 14:01:58 +00:00

Opened #189 [spec-010] **T003** Webhook ingress onboarding.escalated + onboardin — **T003** Webhook ingress onboarding.escalated + onboarding.failed` → ticket escalated 2026-07-02 14:02:01 +00:00

Opened #190 [spec-010] **T004** GET /api/v1/assist/sessions — merge funil + assis — **T004** GET /api/v1/assist/sessions — merge funil + assist state 2026-07-02 14:02:03 +00:00

Opened #191 [spec-010] **T005** POST /api/v1/assist/sessions/{id}/escalate — técn — **T005** POST /api/v1/assist/sessions/{id}/escalate — técnico puxa (≥ domain.validated) 2026-07-02 14:02:06 +00:00

Opened #192 [spec-010] **T006** UI: sessões funil clicáveis + badges estado — **T006** UI: sessões funil clicáveis + badges estado 2026-07-02 14:02:08 +00:00

Opened #193 [spec-010] **T007** UI ticket/sessão: assignee + botão «Assumir sessão» — **T007** UI ticket/sessão: assignee + botão «Assumir sessão» + handoff 2026-07-02 14:02:11 +00:00

Opened #194 [spec-010] **T008** Regra RBAC assist (permissions.py) — **T008** Regra RBAC assist (permissions.py) 2026-07-02 14:02:13 +00:00

Opened #195 [spec-010] **T009** Lock optimista — 409 se sessão já assisting — **T009** Lock optimista — 409 se sessão já assisting 2026-07-02 14:02:15 +00:00

Opened #196 [spec-010] **T010** VM112: POST .../pause, .../takeover, .../resum — **T010** VM112: POST .../pause, .../takeover, .../resume` 2026-07-02 14:02:18 +00:00

Opened #197 [spec-010] **T011** VM112: wizard ASM UI + banner «A actuar em nome do — **T011** VM112: wizard ASM UI + banner «A actuar em nome do cliente» 2026-07-02 14:02:21 +00:00

Opened #198 [spec-010] **T012** VM112: botão cliente «Preciso de ajuda técnica» — **T012** VM112: botão cliente «Preciso de ajuda técnica» 2026-07-02 14:02:23 +00:00

Opened #199 [spec-010] **T013** Desk: POST .../takeover → chama VM112, guarda tok — **T013** Desk: POST .../takeover → chama VM112, guarda token hash 2026-07-02 14:02:26 +00:00

Opened #200 [spec-010] **T014** Desk: POST .../handoff → resume cliente — **T014** Desk: POST .../handoff → resume cliente 2026-07-02 14:02:29 +00:00

Opened #201 [spec-010] **T015** Webhooks onboarding.assist.started|ended — **T015** Webhooks onboarding.assist.started|ended 2026-07-02 14:02:32 +00:00

Opened #202 [spec-010] **T016** Teste E2E: cliente pausado → técnico ASM → handoff — **T016** Teste E2E: cliente pausado → técnico ASM → handoff → cliente retoma 2026-07-02 14:02:35 +00:00

Opened #203 [spec-010] **T020** POST .../actions/{action} — proxy VM112 — **T020** POST .../actions/{action} — proxy VM112 2026-07-02 14:02:37 +00:00

Opened #204 [spec-010] **T021** Catálogo MVP: dns.revalidate, dns.reapply, account. — **T021** Catálogo MVP: dns.revalidate, dns.reapply, account.retry_sync, infra.resync 2026-07-02 14:02:40 +00:00

Opened #205 [spec-010] **T022** UI Console: painel acções + disabled se não assisti — **T022** UI Console: painel acções + disabled se não assisting 2026-07-02 14:02:43 +00:00

Opened #206 [spec-010] **T023** GET .../links — Proxmox, Carbonio, Traefik, Cloud — **T023** GET .../links — Proxmox, Carbonio, Traefik, Cloudflare (nova aba) 2026-07-02 14:02:45 +00:00

Opened #207 [spec-010] **T024** Audit log cada acção em assist_actions — **T024** Audit log cada acção em assist_actions 2026-07-02 14:02:48 +00:00

Opened #208 [spec-010] **T025** onboarding.mark_step_complete + onboarding.abort — **T025** onboarding.mark_step_complete + onboarding.abort` (ops_lead+) 2026-07-02 14:02:50 +00:00

Opened #209 [spec-010] **T040** GET /api/v1/assist/technicians/ranking — assumido — **T040** GET /api/v1/assist/technicians/ranking — assumidos, escalados, acções, score 2026-07-02 14:02:53 +00:00

Opened #210 [spec-010] **T041** UI Dashboard: tabela ranking 30 dias — **T041** UI Dashboard: tabela ranking 30 dias 2026-07-02 14:02:55 +00:00

Opened #211 [spec-010] **T042** Audit movimento visível no console da sessão — **T042** Audit movimento visível no console da sessão 2026-07-02 14:02:58 +00:00

Opened #212 [spec-010] **T030** Spec 007: push «sessão escalada» → technician/ops_l — **T030** Spec 007: push «sessão escalada» → technician/ops_lead 2026-07-02 14:03:01 +00:00

Opened #213 [spec-010] **T031** Auto-escalada onboarding.failed + stale 24h — **T031** Auto-escalada onboarding.failed + stale 24h 2026-07-02 14:03:02 +00:00

Opened #214 [spec-010] **T032** Docs quickstart + runbook técnico pt-BR — **T032** Docs quickstart + runbook técnico pt-BR 2026-07-02 14:03:04 +00:00

Opened #215 [spec-010] **T033** Testes permissões: noc read-only, technician takeov — **T033** Testes permissões: noc read-only, technician takeover 2026-07-02 14:03:05 +00:00

Opened #216 [spec-010] **V112-A1** Assist API assist-v1 contract — **V112-A1** Assist API assist-v1 contract 2026-07-02 14:03:06 +00:00

Opened #217 [spec-010] **V112-A2** Wizard pause overlay pt-BR — **V112-A2** Wizard pause overlay pt-BR 2026-07-02 14:03:08 +00:00

Opened #218 [spec-010] **V112-A3** SUP-4 painel humano base — **V112-A3** SUP-4 painel humano base 2026-07-02 14:03:09 +00:00

Opened #219 [spec-012] **T001** Desk: ticket em onboarding.started (não só accou — **T001** Desk: ticket em onboarding.started (não só account.created`) 2026-07-02 14:03:11 +00:00

Opened #220 [spec-012] **T002** Desk: account.created → nota no ticket existente — **T002** Desk: account.created → nota no ticket existente (sem duplicar) 2026-07-02 14:03:15 +00:00

Opened #221 [spec-012] **T003** Desk: _backfill_funnel_notes para domain.validat — **T003** Desk: _backfill_funnel_notes para domain.validated + dns.applied` 2026-07-02 14:03:18 +00:00

Opened #222 [spec-012] **T004** VM112: remover onboarding.started de validate-do — **T004** VM112: remover onboarding.started de validate-domain` 2026-07-02 14:03:20 +00:00

Opened #223 [spec-012] **T005** VM112: emitir onboarding.started em POST /accoun — **T005** VM112: emitir onboarding.started em POST /account/create com email` 2026-07-02 14:03:23 +00:00

Opened #224 [spec-012] **T006** Scripts verify-funnel-webhook.sh — ordem real do — **T006** Scripts verify-funnel-webhook.sh — ordem real do funil 2026-07-02 14:03:26 +00:00

Opened #225 [spec-012] **T007** Spec 012 + BACKLOG actualizados — **T007** Spec 012 + BACKLOG actualizados 2026-07-02 14:03:29 +00:00

Opened #226 [spec-012] **T010** Env ONBOARD_STALE_HOURS (default 24) — **T010** Env ONBOARD_STALE_HOURS (default 24) 2026-07-02 14:03:31 +00:00

Opened #227 [spec-012] **T011** Worker job: sessões stale → crm_track=lead + lea — **T011** Worker job: sessões stale → crm_track=lead + lead_detected_at` 2026-07-02 14:03:34 +00:00

Opened #228 [spec-012] **T012** GET /api/v1/crm/leads — lista tickets lead — **T012** GET /api/v1/crm/leads — lista tickets lead 2026-07-02 14:03:36 +00:00

Opened #229 [spec-012] **T013** UI Desk: painel «Leads abandonados» (grid + view + — **T013** UI Desk: painel «Leads abandonados» (grid + view + filtro tickets) 2026-07-02 14:03:39 +00:00

Opened #230 [spec-012] **T014** Badge stale/lead na grid sessões liga ao ticket — **T014** Badge stale/lead na grid sessões liga ao ticket 2026-07-02 14:03:42 +00:00

Opened #231 [spec-012] **T020** POST /api/v1/crm/leads/{ticket_id}/contact — log — **T020** POST /api/v1/crm/leads/{ticket_id}/contact — log outreach 2026-07-02 14:03:44 +00:00

Opened #232 [spec-012] **T021** POST /api/v1/crm/leads/{ticket_id}/promote — prom — **T021** POST /api/v1/crm/leads/{ticket_id}/promote — promoção manual 2026-07-02 14:03:46 +00:00

Opened #233 [spec-012] **T022** Spec 007: push «lead abandonado» → ops_lead — **T022** Spec 007: push «lead abandonado» → ops_lead 2026-07-02 14:03:47 +00:00

Opened #234 [spec-012] **T023** Template e-mail recuperação (VM108 Postfix) — **T023** Template e-mail recuperação (VM108 Postfix) 2026-07-02 14:03:48 +00:00

Opened #235 [spec-012] **T030** Decisão Roger: canal chat (widget / tablet / outro) — **T030** Decisão Roger: canal chat (widget / tablet / outro) 2026-07-02 14:03:50 +00:00

Opened #236 [spec-012] **T031** Integração Odoo CRM (lead export idempotente por t — **T031** Integração Odoo CRM (lead export idempotente por ticket_id`) 2026-07-02 14:03:51 +00:00

Opened #237 [spec-012] **T032** Webhook CRM inbound — lead_converted / lead_lost — **T032** Webhook CRM inbound — lead_converted / lead_lost` 2026-07-02 14:03:52 +00:00

Opened #238 [spec-012] **T033** Documentação quickstart operacional — **T033** Documentação quickstart operacional 2026-07-02 14:03:54 +00:00

Opened #239 [spec-013] **T001** Criar pasta specs/013-email-server-migration/ ( — **T001** Criar pasta specs/013-email-server-migration/ (este sprint) 2026-07-02 14:03:55 +00:00

Opened #240 [spec-013] **T002** Migration SQL schema + migrations em api/app/db.py — **T002** Migration SQL schema + migrations em api/app/db.py` 2026-07-02 14:03:58 +00:00

Opened #241 [spec-013] **T003** app/migration/schemas.py — Pydantic models — **T003** app/migration/schemas.py — Pydantic models 2026-07-02 14:03:59 +00:00

Opened #242 [spec-013] **T004** app/migration/store.py — CRUD jobs/mailboxes/runs — **T004** app/migration/store.py — CRUD jobs/mailboxes/runs 2026-07-02 14:04:00 +00:00

Opened #243 [spec-013] **T005** app/migration/credentials.py — Fernet encrypt — **T005** app/migration/credentials.py — Fernet encrypt 2026-07-02 14:04:02 +00:00

Opened #244 [spec-013] **T006** app/migration/router.py — POST/GET jobs, list — **T006** app/migration/router.py — POST/GET jobs, list 2026-07-02 14:04:03 +00:00

Opened #245 [spec-013] **T007** permissions.pycan_manage_migration, can_app — **T007** permissions.pycan_manage_migration, can_approve_migration_gate` 2026-07-02 14:04:05 +00:00

Opened #246 [spec-013] **T008** scripts/install-migration-tools.sh — imapsync, ps — **T008** scripts/install-migration-tools.sh — imapsync, pst-utils, imap-upload 2026-07-02 14:04:06 +00:00

Opened #247 [spec-013] **T009** Frontend: menu + view-email-migration lista jobs — **T009** Frontend: menu + view-email-migration lista jobs 2026-07-02 14:04:07 +00:00

Opened #248 [spec-013] **T010** Associar job a ticket_id (Spec 010) — **T010** Associar job a ticket_id (Spec 010) 2026-07-02 14:04:09 +00:00

Opened #249 [spec-013] **T011** tools/imapsync_runner.py — gera comando, executa, — **T011** tools/imapsync_runner.py — gera comando, executa, captura log 2026-07-02 14:04:10 +00:00

Opened #250 [spec-013] **T012** tools/log_parser.py — parse imapsync LOG para sta — **T012** tools/log_parser.py — parse imapsync LOG para stats_json 2026-07-02 14:04:11 +00:00

Opened #251 [spec-013] **T013** worker/migration_runner.py — fila Redis/SQLite jo — **T013** worker/migration_runner.py — fila Redis/SQLite job runner 2026-07-02 14:04:13 +00:00

Opened #252 [spec-013] **T014** POST /migration/jobs/{id}/preflight — justlogin o — **T014** POST /migration/jobs/{id}/preflight — justlogin origem+destino 2026-07-02 14:04:14 +00:00

Opened #253 [spec-013] **T015** POST /migration/jobs/{id}/sync — initial | delta — **T015** POST /migration/jobs/{id}/sync — initial | delta | final 2026-07-02 14:04:16 +00:00

Opened #254 [spec-013] **T016** gate.py — calcular migration_gate (ratio 99%) — **T016** gate.py — calcular migration_gate (ratio 99%) 2026-07-02 14:04:17 +00:00

Opened #255 [spec-013] **T017** GET /migration/gate?domain= — público para wizard — **T017** GET /migration/gate?domain= — público para wizard (auth token) 2026-07-02 14:04:19 +00:00

Opened #256 [spec-013] **T018** POST /migration/jobs/{id}/approve-gate — ops_lead — **T018** POST /migration/jobs/{id}/approve-gate — ops_lead 2026-07-02 14:04:20 +00:00

Opened #257 [spec-013] **T019** UI: detalhe job, botões sync, badge gate, log viewe — **T019** UI: detalhe job, botões sync, badge gate, log viewer 2026-07-02 14:04:21 +00:00

Opened #258 [spec-013] **T020** scripts/verify-migration.sh — teste integração — **T020** scripts/verify-migration.sh — teste integração 2026-07-02 14:04:23 +00:00

Opened #259 [spec-013] **T021** Volume Docker /data/migrations (uploads, logs, qu — **T021** Volume Docker /data/migrations (uploads, logs, quarantine) 2026-07-02 14:04:24 +00:00

Opened #260 [spec-013] **T022** POST /migration/jobs/{id}/upload-pst — multipart — **T022** POST /migration/jobs/{id}/upload-pst — multipart 2026-07-02 14:04:25 +00:00

Opened #261 [spec-013] **T023** tools/pst_runner.py — readpst + imap-upload recur — **T023** tools/pst_runner.py — readpst + imap-upload recursivo 2026-07-02 14:04:27 +00:00

Opened #262 [spec-013] **T024** Quarentena ERR_MBOX + UI lista erros — **T024** Quarentena ERR_MBOX + UI lista erros 2026-07-02 14:04:28 +00:00

Opened #263 [spec-013] **T025** verify.py — contagens pós-PST — **T025** verify.py — contagens pós-PST 2026-07-02 14:04:30 +00:00

Opened #264 [spec-013] **T026** UI: upload PST, progresso por pasta — **T026** UI: upload PST, progresso por pasta 2026-07-02 14:04:31 +00:00

Opened #265 [spec-013] **T027** tools/tgz_runner.py — SSH zmmailbox export/import — **T027** tools/tgz_runner.py — SSH zmmailbox export/import 2026-07-02 14:04:33 +00:00

Opened #266 [spec-013] **T028** VM112: consulta gate antes DNS (API client) — **T028** VM112: consulta gate antes DNS (API client) 2026-07-02 14:04:34 +00:00

Opened #267 [spec-013] **T029** Webhook migration.gate_ready → Desk — **T029** Webhook migration.gate_ready → Desk 2026-07-02 14:04:35 +00:00

Opened #268 [spec-013] **T030** Relatório JSON/PDF export no ticket — **T030** Relatório JSON/PDF export no ticket 2026-07-02 14:04:36 +00:00

Opened #269 [spec-013] **T036** Avaliar carga real vs Opção A (VM122) vs Opção B (V — **T036** Avaliar carga real vs Opção A (VM122) vs Opção B (VM123) 2026-07-02 14:04:38 +00:00

Opened #270 [spec-013] **T037** Provisionar VM123 ligbox-migration (4 vCPU / 8 GB — **T037** Provisionar VM123 ligbox-migration (4 vCPU / 8 GB / 200 GB) — se necessário 2026-07-02 14:04:39 +00:00

Opened #271 [spec-013] **T038** Volume +100 GB em VM122 — alternativa piloto — **T038** Volume +100 GB em VM122 — alternativa piloto 2026-07-02 14:04:41 +00:00

Opened #272 [spec-013] **T039** DNAT/FORWARD SSH WAN para VM123 (range 2501–2510) — **T039** DNAT/FORWARD SSH WAN para VM123 (range 2501–2510) 2026-07-02 14:04:42 +00:00

Opened #273 [spec-013] **T040** install-migration-tools.sh no host worker escolhi — **T040** install-migration-tools.sh no host worker escolhido 2026-07-02 14:04:43 +00:00

Opened #274 [spec-013] **T031** Integração pst2mbox (https://github.com/beaufour/ps — **T031** Integração pst2mbox (https://github.com/beaufour/pst2mbox) 2026-07-02 14:04:44 +00:00

Opened #275 [spec-013] **T032** OAuth2 UI para O365 (oauth2_imap) — **T032** OAuth2 UI para O365 (oauth2_imap) 2026-07-02 14:04:46 +00:00

Opened #276 [spec-013] **T033** Cron delta sync automático (6h) — **T033** Cron delta sync automático (6h) 2026-07-02 14:04:47 +00:00

Opened #277 [spec-013] **T034** doveadm backup path (Dovecot→Dovecot) — **T034** doveadm backup path (Dovecot→Dovecot) 2026-07-02 14:04:48 +00:00

Opened #278 [spec-013] **T035** Dashboard métricas migração no Overview Home — **T035** Dashboard métricas migração no Overview Home 2026-07-02 14:04:50 +00:00

Opened #279 [spec-013] Spec + research + plan + data-model + tasks + quickstart doc — Spec + research + plan + data-model + tasks + quickstart documentados 2026-07-02 14:04:51 +00:00

Opened #280 [spec-013] Fase B entregue em staging com 1 migração IMAP real — Fase B entregue em staging com 1 migração IMAP real 2026-07-02 14:04:52 +00:00

Opened #281 [spec-013] Fase C com 1 PST teste < 2 GB — Fase C com 1 PST teste < 2 GB 2026-07-02 14:04:53 +00:00

Opened #282 [spec-013] Gate bloqueia e libera DNS com auditoria — Gate bloqueia e libera DNS com auditoria 2026-07-02 14:04:55 +00:00

Opened #283 [spec-013] BACKLOG.md actualizado — BACKLOG.md actualizado 2026-07-02 14:04:56 +00:00

Opened #284 [spec-016] beginOnboardingForEmail() + ligbox_planned_emailbeginOnboardingForEmail() + ligbox_planned_email 2026-07-02 14:04:57 +00:00

Opened #285 [spec-016] setPortalOnboardCredentials() → sessionStorage senha — setPortalOnboardCredentials() → sessionStorage senha 2026-07-02 14:05:00 +00:00

Opened #286 [spec-016] syncWizardWithPlannedEmail() — prioridade Self-Service — syncWizardWithPlannedEmail() — prioridade Self-Service 2026-07-02 14:05:03 +00:00

Opened #287 [spec-016] loadWizardStateForOnboard() no mount wizard — loadWizardStateForOnboard() no mount wizard 2026-07-02 14:05:06 +00:00

Opened #288 [spec-016] Fluxo registo → TOTP → redirect /onboard — Fluxo registo → TOTP → redirect /onboard 2026-07-02 14:05:08 +00:00

Opened #289 [spec-016] PortalTotpSetup.jsx — ecrã «Salve estes códigos» (visual o — PortalTotpSetup.jsx — ecrã «Salve estes códigos» (visual only) 2026-07-02 14:05:11 +00:00

Opened #290 [spec-016] **B1-01** Botão «Descarregar .txt» em PortalTotpSetup.jsx — **B1-01** Botão «Descarregar .txt» em PortalTotpSetup.jsx 2026-07-02 14:05:14 +00:00

Opened #291 [spec-016] **B1-02** Botão «Copiar todos os códigos» + toast confirmaçã — **B1-02** Botão «Copiar todos os códigos» + toast confirmação 2026-07-02 14:05:15 +00:00

Opened #292 [spec-016] **B1-03** Formato ficheiro ligbox-codigos-recuperacao-{logi — **B1-03** Formato ficheiro ligbox-codigos-recuperacao-{login}-{date}.txt` 2026-07-02 14:05:17 +00:00

Opened #293 [spec-016] **B2-01** Botão Telegram → t.me/share/url — **B2-01** Botão Telegram → t.me/share/url 2026-07-02 14:05:18 +00:00

Opened #294 [spec-016] **B2-02** Botão WhatsApp → wa.me/?text= — **B2-02** Botão WhatsApp → wa.me/?text= 2026-07-02 14:05:20 +00:00

Opened #295 [spec-016] **B2-03** Aviso segurança «não partilhe em grupos públicos» — **B2-03** Aviso segurança «não partilhe em grupos públicos» 2026-07-02 14:05:21 +00:00

Opened #296 [spec-016] **B3-01** Botão «Guardar no cofre» → copiar Secure Note form — **B3-01** Botão «Guardar no cofre» → copiar Secure Note formatada 2026-07-02 14:05:22 +00:00

Opened #297 [spec-016] **B3-02** Modal instruções 1Password / Bitwarden / Apple Pas — **B3-02** Modal instruções 1Password / Bitwarden / Apple Passwords 2026-07-02 14:05:24 +00:00

Opened #298 [spec-016] **B4-01** OAuth Google + scope drive.file — **B4-01** OAuth Google + scope drive.file 2026-07-02 14:05:25 +00:00

Opened #299 [spec-016] **B4-02** Upload .txt para Drive do utilizador — **B4-02** Upload .txt para Drive do utilizador 2026-07-02 14:05:27 +00:00

Opened #300 [spec-016] **B4-03** Fallback para download local se OAuth falhar — **B4-03** Fallback para download local se OAuth falhar 2026-07-02 14:05:28 +00:00

Opened #301 [spec-016] **B5-01** Web Share API (mobile) — **B5-01** Web Share API (mobile) 2026-07-02 14:05:29 +00:00

Opened #302 [spec-016] **B5-02** Telegram Bot Ligbox (envio directo) — **B5-02** Telegram Bot Ligbox (envio directo) 2026-07-02 14:05:31 +00:00

Opened #303 [spec-016] **B5-03** Paridade export na Spec 004 Desk (activate.html) — **B5-03** Paridade export na Spec 004 Desk (activate.html) 2026-07-02 14:05:32 +00:00

Opened #304 [spec-016] **B6-01** Barra de acções responsiva (ícones + labels) — **B6-01** Barra de acções responsiva (ícones + labels) 2026-07-02 14:05:33 +00:00

Opened #305 [spec-016] **B6-02** Badge «✓ Guardado» por canal usado — **B6-02** Badge «✓ Guardado» por canal usado 2026-07-02 14:05:35 +00:00

Opened #306 [spec-016] **B6-03** Revisão NFR: zero códigos em logs/webhooks — **B6-03** Revisão NFR: zero códigos em logs/webhooks 2026-07-02 14:05:36 +00:00

Opened #307 [spec-019] Schema SQLite migration_jobs, mailboxes, runs, gate_checks, — Schema SQLite migration_jobs, mailboxes, runs, gate_checks, credentials 2026-07-02 14:05:38 +00:00

Opened #308 [spec-019] API CRUD /api/v1/migration/jobs — API CRUD /api/v1/migration/jobs 2026-07-02 14:05:41 +00:00

Opened #309 [spec-019] Preflight runner (IMAP reachability + imapsync check) — Preflight runner (IMAP reachability + imapsync check) 2026-07-02 14:05:44 +00:00

Opened #310 [spec-019] Sync initial/delta/final (runner MVP) — Sync initial/delta/final (runner MVP) 2026-07-02 14:05:47 +00:00

Opened #311 [spec-019] UI Desk «Migração E-mail» (email-migration.js) — UI Desk «Migração E-mail» (email-migration.js) 2026-07-02 14:05:49 +00:00

Opened #312 [spec-019] install-migration-tools.sh no host VM122 — install-migration-tools.sh no host VM122 2026-07-02 14:05:52 +00:00

Opened #313 [spec-019] gate.py — ratio 99%, estados blocked/warning/ready — gate.py — ratio 99%, estados blocked/warning/ready 2026-07-02 14:05:54 +00:00

Opened #314 [spec-019] GET /api/v1/migration/gate?domain=GET /api/v1/migration/gate?domain= 2026-07-02 14:05:57 +00:00

Opened #315 [spec-019] POST approve-gate com ops_lead — POST approve-gate com ops_lead 2026-07-02 14:05:59 +00:00

Opened #316 [spec-019] Integração ticket via job.ticket_id (manual) — Integração ticket via job.ticket_id (manual) 2026-07-02 14:06:02 +00:00

Opened #317 [spec-019] Verify endpoint + relatório gate — Verify endpoint + relatório gate 2026-07-02 14:06:04 +00:00

Opened #318 [spec-019] Upload PST multipart (futuro) — Upload PST multipart (futuro) 2026-07-02 14:06:07 +00:00

Opened #319 [spec-019] Pipeline readpst → imap-upload (futuro) — Pipeline readpst → imap-upload (futuro) 2026-07-02 14:06:08 +00:00

Opened #320 [spec-019] VM112 consulta gate antes DNS final (API pronta; integração — VM112 consulta gate antes DNS final (API pronta; integração VM112 pendente) 2026-07-02 14:06:10 +00:00

Opened #321 [spec-019] Job real cPanel/Zimbra → Carbonio (aguarda credenciais pilot — Job real cPanel/Zimbra → Carbonio (aguarda credenciais piloto Roger) 2026-07-02 14:06:11 +00:00

Opened #322 [spec-019] T001 — T001 Inventariar VM123 no Proxmox (IP, hostname, serviços existentes) 2026-07-02 14:06:12 +00:00

Opened #323 [spec-019] T002 — T002 Executar deploy/scripts/preflight-vm123.sh e documentar resultado 2026-07-02 14:06:15 +00:00

Opened #324 [spec-019] T003 — T003 Confirmar porta livre (default 8100) ou definir CONSOLE_HOST_PORT no .env 2026-07-02 14:06:17 +00:00

Opened #325 [spec-019] T004 — T004 DNS console.ligbox.com.br → Traefik CT114 **(G1 2026-06-25)** 2026-07-02 14:06:20 +00:00

Opened #326 [spec-019] T005 — T005 Router Traefik → http://10.10.10.123:8100 **(G1 2026-06-25)** 2026-07-02 14:06:22 +00:00

Opened #327 [spec-019] T010 — T010 Migração SQL chamados, chamado_eventos, runbook_execucoes, aprovacoes 2026-07-02 14:06:25 +00:00

Opened #328 [spec-019] T011 — T011 chamado_aggregator.py — regras session_id + domain + 72h 2026-07-02 14:06:27 +00:00

Opened #329 [spec-019] T012 — T012 Worker hook pós-webhook_events insert 2026-07-02 14:06:28 +00:00

Opened #330 [spec-019] T013 — T013 Gerador public_id CH-YYYY-NNNNN 2026-07-02 14:06:29 +00:00

Opened #331 [spec-019] T014 — T014 Teste unitário agregação (Wazuh + onboard mesmo domínio → 1 chamado) 2026-07-02 14:06:31 +00:00

Opened #332 [spec-019] T015 — T015 Extractor chamado_observables a partir de payloads 2026-07-02 14:06:32 +00:00

Opened #333 [spec-019] T016 — T016 chamado_notas + append timeline 2026-07-02 14:06:34 +00:00

Opened #334 [spec-019] T020 — T020 GET /api/v1/chamados com filtros 2026-07-02 14:06:35 +00:00

Opened #335 [spec-019] T021 — T021 GET /api/v1/chamados/{public_id} — **resposta hub completa** 2026-07-02 14:06:37 +00:00

Opened #336 [spec-019] T022 — T022 POST .../assumir + RBAC 2026-07-02 14:06:38 +00:00

Opened #337 [spec-019] T023 — T023 PATCH ... estados 2026-07-02 14:06:39 +00:00

Opened #338 [spec-019] T024 — T024 POST .../eventos/anexar + POST .../notas 2026-07-02 14:06:41 +00:00

Opened #339 [spec-019] T025 — T025 GET .../links/wazuh deep link builder 2026-07-02 14:06:42 +00:00

Opened #340 [spec-019] T026 — T026 Compat: desk/tickets expõe chamado_public_id 2026-07-02 14:06:44 +00:00

Opened #341 [spec-019] T027 — T027 scripts/verify-chamado-unico.sh 2026-07-02 14:06:45 +00:00

Opened #342 [spec-019] T030 — T030 Scaffold React + Vite + React Router 2026-07-02 14:06:47 +00:00

Opened #343 [spec-019] T031 — T031 navigation-ia.md — rotas e drill-down 2026-07-02 14:06:49 +00:00

Opened #344 [spec-019] T032 — T032 Layout sidebar + tema tokens 2026-07-02 14:06:52 +00:00

Opened #345 [spec-019] T033 — T033 View Overview → links para hub 2026-07-02 14:06:54 +00:00

Opened #346 [spec-019] T034 — T034 View Discover → abrir hub 2026-07-02 14:06:57 +00:00

Opened #347 [spec-019] T035 — T035 View Chamados lista 2026-07-02 14:06:59 +00:00

Opened #348 [spec-019] T036 — T036 **ChamadoHub** /chamados/:publicId — timeline + tabs (mock) 2026-07-02 14:07:02 +00:00

Opened #349 [spec-019] T037 — T037 ObservablesPanel drill-down real (API) 2026-07-02 14:07:04 +00:00

Opened #350 [spec-019] T038 — T038 WazuhDeepLinkButton API 2026-07-02 14:07:06 +00:00

Opened #351 [spec-019] T039 — T039 Auth JWT → API VM122 2026-07-02 14:07:07 +00:00

Opened #352 [spec-019] T040 — T040 Deploy Docker VM123 — **ligbox-ops-console-ui UP :8100** 2026-07-02 14:07:08 +00:00

Opened #353 [spec-019] T041 — T041 Traefik console.ligbox.com.br **(G1 2026-06-25 — HTTPS 200 via CT114)** 2026-07-02 14:07:11 +00:00

Opened #354 [spec-019] T047 — T047 KPI bar (desk/summary + alertas Wazuh) 2026-07-02 14:07:13 +00:00

Opened #355 [spec-019] T048 — T048 Saúde plataforma — port Overview (HealthCards) 2026-07-02 14:07:16 +00:00

Opened #356 [spec-019] T049 — T049 Domínios com atenção (DomainAttention) 2026-07-02 14:07:18 +00:00

Opened #357 [spec-019] T050 — T050 Incidentes Agentic strip (mock + API fallback) 2026-07-02 14:07:21 +00:00

Opened #358 [spec-019] T051 — T051 Desk banners migração Overview/Eventos/Tickets/Dashboard 2026-07-02 14:07:23 +00:00

Opened #359 [spec-019] T052 — T052 Rollback doc deploy/CONSOLE-V2-ROLLBACK.md 2026-07-02 14:07:26 +00:00

Opened #360 [spec-019] T053 — T053 Rota /ops alias + redirect desk cutover 2026-07-02 14:07:28 +00:00

Opened #361 [spec-019] T054 — T054 Assist panel live no hub CH-* 2026-07-02 14:07:30 +00:00

Opened #362 [spec-019] T040 — T040 Registry runbooks MVP (8 códigos — ver spec) 2026-07-02 14:07:32 +00:00

Opened #363 [spec-019] T041 — T041 POST .../runbooks/{code}/executar 2026-07-02 14:07:33 +00:00

Opened #364 [spec-019] T042 — T042 Fila GET /api/v1/aprovacoes 2026-07-02 14:07:35 +00:00

Opened #365 [spec-019] T043 — T043 POST .../aprovar e .../rejeitar 2026-07-02 14:07:36 +00:00

Opened #366 [spec-019] T044 — T044 UI Aprovações na Console 2026-07-02 14:07:38 +00:00

Opened #367 [spec-019] T045 — T045 Executores R0 (infra_recheck) e R1 (traefik_cert_sync mock) 2026-07-02 14:07:39 +00:00

Opened #368 [spec-019] T046 — T046 Middleware bloqueio R3 sem dupla aprovação 2026-07-02 14:07:41 +00:00

Opened #369 [spec-019] T050 — T050 VM112 GET /api/onboarding/session/{id}/ops-status + secret LAN 2026-07-02 14:07:42 +00:00

Opened #370 [spec-019] T051 — T051 VM122 poll/cache passo wizard no chamado 2026-07-02 14:07:43 +00:00

Opened #371 [spec-019] T052 — T052 Console AssistPanel no detalhe chamado 2026-07-02 14:07:45 +00:00

Opened #372 [spec-019] T053 — T053 Validar: sem senha/replay no payload 2026-07-02 14:07:46 +00:00

Opened #373 [spec-019] T060 — T060 Políticas agentic R0/R1 2026-07-02 14:07:47 +00:00

Opened #374 [spec-019] T061 — T061 Propostas runbook na fila aprovações 2026-07-02 14:07:48 +00:00

Opened #375 [spec-019] T062 — T062 WS /api/v1/chamados/{id}/live 2026-07-02 14:07:50 +00:00

Opened #376 [spec-019] T063 — T063 Console substitui poll por WebSocket 2026-07-02 14:07:52 +00:00

Opened #377 [spec-019] T070 — T070 Redirect desk.ligbox.com.brconsole.ligbox.com.br 2026-07-02 14:07:53 +00:00

Opened #378 [spec-019] T071 — T071 Documentar rollback (docker compose -f ... down só stack console) 2026-07-02 14:07:55 +00:00

Opened #379 [spec-019] T072 — T072 Actualizar docs/network/INTERFACES_PROXMOX.md com VM123 Console 2026-07-02 14:07:56 +00:00

Opened #380 [spec-021] T001 — T001 POST /api/v1/security/csp-report + validação schema + rate limit 2026-07-02 14:07:58 +00:00

Opened #381 [spec-021] T002 — T002 POST /api/v1/webhooks/security (ou extensão onboard ingress) 2026-07-02 14:08:01 +00:00

Opened #382 [spec-021] T003 — T003 Persistência webhook_events source vm112-security 2026-07-02 14:08:04 +00:00

Opened #383 [spec-021] T004 — T004 GET /api/v1/security/summary e /security/events 2026-07-02 14:08:06 +00:00

Opened #384 [spec-021] T005 — T005 Registar módulo wizard-security em registry.py 2026-07-02 14:08:09 +00:00

Opened #385 [spec-021] T006 — T006 Middleware auditoria inputs (Via 2) — template em deploy/vm112-wizard-security/ 2026-07-02 14:08:11 +00:00

Opened #386 [spec-021] T007 — T007 Eventos handoff (Via 1) — pendente deploy na VM112 2026-07-02 14:08:13 +00:00

Opened #387 [spec-021] T008 — T008 Cliente webhook segurança + retry — template 2026-07-02 14:08:15 +00:00

Opened #388 [spec-021] T009 — T009 Testes unitários padrões SQLi/XSS 2026-07-02 14:08:18 +00:00

Opened #389 [spec-021] T010 — T010 Card Segurança no Audit Overview modal VM112 2026-07-02 14:08:19 +00:00

Opened #390 [spec-021] T011 — T011 Filtro Eventos «Segurança» 2026-07-02 14:08:21 +00:00

Opened #391 [spec-021] T012 — T012 Painel Infra 2 + flash eventos novos 2026-07-02 14:08:23 +00:00

Opened #392 [spec-021] T013 — T013 Correlacionar hash sessão funil + segurança (detalhe) 2026-07-02 14:08:26 +00:00

Opened #393 [spec-021] T014 — T014 CSP headers portal + wizard (CT114 Traefik) — exemplo em deploy 2026-07-02 14:08:27 +00:00

Opened #394 [spec-021] T015 — T015 Validar report-uri reachability desde browser público 2026-07-02 14:08:30 +00:00

Opened #395 [spec-021] T016 — T016 Documentar excepções CSP se libs externas exigirem 2026-07-02 14:08:31 +00:00

Opened #396 [spec-021] T017 — T017 Auto-ticket regras abuso 2026-07-02 14:08:32 +00:00

Opened #397 [spec-021] T018 — T018 Push ntfy em security.input_blocked critical 2026-07-02 14:08:35 +00:00

Opened #398 [spec-021] T019 — T019 Retenção 90 dias + purge eventos security.* antigos 2026-07-02 14:08:37 +00:00

Opened #399 [spec-022] carbonio_release_store.py — tabela, detecção ACCOUNT_EXIST — carbonio_release_store.py — tabela, detecção ACCOUNT_EXISTS, upsert, resolve (lock optimista) 2026-07-02 14:08:38 +00:00

Opened #400 [spec-022] carbonio_release_routes.py — list, get, resolve (senha téc — carbonio_release_routes.py — list, get, resolve (senha técnico + confirm email) 2026-07-02 14:08:41 +00:00

Opened #401 [spec-022] Hook webhook onboarding.failed em main.py — Hook webhook onboarding.failed em main.py 2026-07-02 14:08:44 +00:00

Opened #402 [spec-022] vm112_domains.delete_carbonio_account()vm112_domains.delete_carbonio_account() 2026-07-02 14:08:46 +00:00

Opened #403 [spec-022] Módulo carbonio-release no registry — Módulo carbonio-release no registry 2026-07-02 14:08:49 +00:00

Opened #404 [spec-022] POST /api/admin/accounts/{email}/delete — zmprov da — POST /api/admin/accounts/{email}/delete — zmprov da 2026-07-02 14:08:51 +00:00

Opened #405 [spec-022] Router admin_accounts registado em main.py — Router admin_accounts registado em main.py 2026-07-02 14:08:53 +00:00

Opened #406 [spec-022] Aba Eventos → **Bloqueios Carbonio** + guia técnico — Aba Eventos → **Bloqueios Carbonio** + guia técnico 2026-07-02 14:08:56 +00:00

Opened #407 [spec-022] Painel de resolução no detalhe do ticket (vm112-onboard) — Painel de resolução no detalhe do ticket (vm112-onboard) 2026-07-02 14:08:58 +00:00

Opened #408 [spec-022] Formulário: confirmar e-mail + senha Desk — Formulário: confirmar e-mail + senha Desk 2026-07-02 14:09:00 +00:00

Opened #409 [spec-022] Todos os perfis com leitura de tickets (incl. NOC) — Todos os perfis com leitura de tickets (incl. NOC) 2026-07-02 14:09:03 +00:00

Opened #410 [spec-022] Build api + frontend (docker-compose.mvp.yml) — Build api + frontend (docker-compose.mvp.yml) 2026-07-02 14:09:06 +00:00

Opened #411 [spec-022] Teste E2E: webhook ACCOUNT_EXISTS → bloqueio #1 + ticket #41 — Teste E2E: webhook ACCOUNT_EXISTS → bloqueio #1 + ticket #41 → resolve → VM112 OK 2026-07-02 14:09:08 +00:00

Opened #412 [spec-022] Confirmar 409 quando segundo técnico tenta resolver — Confirmar 409 quando segundo técnico tenta resolver 2026-07-02 14:09:11 +00:00

Opened #413 [spec-023] Documentar comparativo Lago vs Odoo → **Odoo 16 primário** — Documentar comparativo Lago vs Odoo → **Odoo 16 primário** 2026-07-02 14:09:14 +00:00

Opened #414 [spec-023] Confirmar gateway ASAAS vs Iugu (Roger) — Confirmar gateway ASAAS vs Iugu (Roger) 2026-07-02 14:09:17 +00:00

Opened #415 [spec-023] Confirmar plano email_tenant_monthly — Confirmar plano email_tenant_monthly 2026-07-02 14:09:19 +00:00

Opened #416 [spec-023] billing_store.py + tabela billing_accountsbilling_store.py + tabela billing_accounts 2026-07-02 14:09:20 +00:00

Opened #417 [spec-023] Hook company.validated em main.py — Hook company.validated em main.py 2026-07-02 14:09:23 +00:00

Opened #418 [spec-023] billing_routes.py — list, by-domain, summary, PATCH — billing_routes.py — list, by-domain, summary, PATCH 2026-07-02 14:09:25 +00:00

Opened #419 [spec-023] Módulo billing-recurrence no registry — Módulo billing-recurrence no registry 2026-07-02 14:09:28 +00:00

Opened #420 [spec-023] Dashboard: KPIs cobrança pendente + recorrência activa — Dashboard: KPIs cobrança pendente + recorrência activa 2026-07-02 14:09:31 +00:00

Opened #421 [spec-023] Dashboard: badge billing em sessões company_validated+ — Dashboard: badge billing em sessões company_validated+ 2026-07-02 14:09:34 +00:00

Opened #422 [spec-023] Tickets: ícone 💳 em [billing-validation] — Tickets: ícone 💳 em [billing-validation] 2026-07-02 14:09:36 +00:00

Opened #423 [spec-023] Serviços: ícone 💳 + stats recorrências (accounts.js) — Serviços: ícone 💳 + stats recorrências (accounts.js) 2026-07-02 14:09:39 +00:00

Opened #424 [spec-023] Modal **Conta do cliente** (billing-ui.js) — Modal **Conta do cliente** (billing-ui.js) 2026-07-02 14:09:42 +00:00

Opened #425 [spec-023] Links FOSSBilling + Odoo na ficha — Links FOSSBilling + Odoo na ficha 2026-07-02 14:09:45 +00:00

Opened #426 [spec-023] RBAC mascaramento NOC (should_mask_sensitive) — RBAC mascaramento NOC (should_mask_sensitive) 2026-07-02 14:09:48 +00:00

Opened #427 [spec-023] Deploy api + frontend VM122 — Deploy api + frontend VM122 2026-07-02 14:09:50 +00:00

Opened #428 [spec-023] Cliente Odoo res.partner a partir de company_profile — v — Cliente Odoo res.partner a partir de company_profile — ver [Spec 043 §6](../043-desk-client-activation-sync/contract 2026-07-02 14:09:53 +00:00

Opened #429 [spec-023] Produto/plano assinatura e-mail tenant — Produto/plano assinatura e-mail tenant 2026-07-02 14:09:55 +00:00

Opened #430 [spec-023] Integração ASAAS/Iugu — Integração ASAAS/Iugu 2026-07-02 14:09:56 +00:00

Opened #431 [spec-023] Webhook pagamento → billing_state — Webhook pagamento → billing_state 2026-07-02 14:09:57 +00:00

Opened #432 [spec-023] recurrence_active automático após 1.º pagamento — recurrence_active automático após 1.º pagamento 2026-07-02 14:09:59 +00:00

Opened #433 [spec-023] Lago metering — Lago metering 2026-07-02 14:10:00 +00:00

Opened #434 [spec-023] Portal cliente faturas — Portal cliente faturas 2026-07-02 14:10:02 +00:00

Opened #435 [spec-023] Suspensão Carbonio por inadimplência — Suspensão Carbonio por inadimplência 2026-07-02 14:10:03 +00:00

Opened #436 [spec-024] Executar proxmox-create-vm123.sh no host PVE — Executar proxmox-create-vm123.sh no host PVE 2026-07-02 14:10:04 +00:00

Opened #437 [spec-024] VM123 online — IP 10.10.10.123/24 — VM123 online — IP 10.10.10.123/24 2026-07-02 14:10:08 +00:00

Opened #438 [spec-024] DNAT SSH WAN :2523 → VM123:22 (pfSense id **61**) — DNAT SSH WAN :2523 → VM123:22 (pfSense id **61**) 2026-07-02 14:10:11 +00:00

Opened #439 [spec-024] bootstrap-vm123.sh — mini, admin, root (805353) — bootstrap-vm123.sh — mini, admin, root (805353) 2026-07-02 14:10:14 +00:00

Opened #440 [spec-024] fail2ban activo — fail2ban activo 2026-07-02 14:10:17 +00:00

Opened #441 [spec-024] Wazuh agent → 10.10.10.104 — Wazuh agent → 10.10.10.104 2026-07-02 14:10:20 +00:00

Opened #442 [spec-024] Swap 2 GB — Swap 2 GB 2026-07-02 14:10:23 +00:00

Opened #443 [spec-024] docker compose up -d em /opt/vm123-finance-stackdocker compose up -d em /opt/vm123-finance-stack 2026-07-02 14:10:25 +00:00

Opened #444 [spec-024] Wizard FOSSBilling (admin@ligbox.com.br) — Wizard FOSSBilling (admin@ligbox.com.br) 2026-07-02 14:10:27 +00:00

Opened #445 [spec-024] Wizard Odoo 16 (base ligbox) — Wizard Odoo 16 (base ligbox) 2026-07-02 14:10:30 +00:00

Opened #446 [spec-024] setup-foss-openpanel-module.shsetup-foss-openpanel-module.sh 2026-07-02 14:10:33 +00:00

Opened #447 [spec-024] Antispam honeypot lb_hp_x9k2 (setup-foss-antispam.sh) — Antispam honeypot lb_hp_x9k2 (setup-foss-antispam.sh) 2026-07-02 14:10:35 +00:00

Opened #448 [spec-024] install-openpanel.sh — Community 1.7.60 — install-openpanel.sh — Community 1.7.60 2026-07-02 14:10:37 +00:00

Opened #449 [spec-024] Bridge Community API (install-openpanel-community-bridge.sh — Bridge Community API (install-openpanel-community-bridge.sh`) porta 18087 2026-07-02 14:10:40 +00:00

Opened #450 [spec-024] Planos hosting — ligbox-site-cms (id 3) — Planos hosting — ligbox-site-cms (id 3) 2026-07-02 14:10:42 +00:00

Opened #451 [spec-024] Test connection FOSS → bridge OK — Test connection FOSS → bridge OK 2026-07-02 14:10:45 +00:00

Opened #452 [spec-024] Provisionamento OpenPanel validado (bridge E2E + testprov1 m — Provisionamento OpenPanel validado (bridge E2E + testprov1 manual) 2026-07-02 14:10:48 +00:00

Opened #453 [spec-024] DNS financeiro + openpanel → IP público (Cloudflare) — DNS financeiro + openpanel → IP público (Cloudflare) 2026-07-02 14:10:51 +00:00

Opened #454 [spec-024] Rotas Traefik CT114 (FOSS raiz, /odoo, openpanel, admin.open — Rotas Traefik CT114 (FOSS raiz, /odoo, openpanel, admin.openpanel) 2026-07-02 14:10:53 +00:00

Opened #455 [spec-024] Validar HTTPS financeiro / odoo / openpanel — Validar HTTPS financeiro / odoo / openpanel 2026-07-02 14:10:56 +00:00

Opened #456 [spec-024] Links conta cliente → financeiro.ligbox.com.br (billing_sto — Links conta cliente → financeiro.ligbox.com.br (billing_store.py`) 2026-07-02 14:10:59 +00:00

Opened #457 [spec-024] Card Site/CMS → campos provisionamento (fase 2 — Spec 023) — Card Site/CMS → campos provisionamento (fase 2 — Spec 023) 2026-07-02 14:11:02 +00:00

Opened #458 [spec-024] Webhook Desk → FOSS order API (fase 3 — Spec 023) — Webhook Desk → FOSS order API (fase 3 — Spec 023) 2026-07-02 14:11:04 +00:00

Opened #459 [spec-024] billing_accounts.external_id FOSS (fase 2) — billing_accounts.external_id FOSS (fase 2) 2026-07-02 14:11:05 +00:00

Opened #460 [spec-024] Módulo pagamento FOSSBilling — Módulo pagamento FOSSBilling 2026-07-02 14:11:07 +00:00

Opened #461 [spec-025] spec.md — fluxo alvo e critérios de aceite — spec.md — fluxo alvo e critérios de aceite 2026-07-02 14:11:08 +00:00

Opened #462 [spec-025] GET /api/onboarding/account/status — VM112 — GET /api/onboarding/account/status — VM112 2026-07-02 14:11:11 +00:00

Opened #463 [spec-025] POST /api/onboarding/account/create idempotente (reconcil — POST /api/onboarding/account/create idempotente (reconciled: true`) 2026-07-02 14:11:14 +00:00

Opened #464 [spec-025] Frontend passos 2–3 — banners e botões dinâmicos — Frontend passos 2–3 — banners e botões dinâmicos 2026-07-02 14:11:16 +00:00

Opened #465 [spec-025] Smoke: teste001@exuberanti.com.br reconcilia sem HTTP 400 — Smoke: teste001@exuberanti.com.br reconcilia sem HTTP 400 2026-07-02 14:11:19 +00:00

Opened #466 [spec-025] Resume sessão wizard (saltar passos já feitos ao reabrir) — Resume sessão wizard (saltar passos já feitos ao reabrir) 2026-07-02 14:11:22 +00:00

Opened #467 [spec-025] VM112 RAM 16 GB — VM112 RAM 16 GB 2026-07-02 14:11:24 +00:00

Opened #468 [spec-025] Validação Traefik YAML no deploy — Validação Traefik YAML no deploy 2026-07-02 14:11:25 +00:00

Opened #469 [spec-025] Spec 012 abandonos → lead — Spec 012 abandonos → lead 2026-07-02 14:11:27 +00:00

Opened #470 [spec-025] Spec 023 billing Desk — Spec 023 billing Desk 2026-07-02 14:11:28 +00:00

Opened #471 [spec-025] Wizard VM124 (Spec 018 fase 3) — Wizard VM124 (Spec 018 fase 3) 2026-07-02 14:11:30 +00:00

Opened #472 [spec-028] patch-openpanel-ce-unlock.sh — hosting ilimitado + API + a — patch-openpanel-ce-unlock.sh — hosting ilimitado + API + admin + email 2026-07-02 14:11:31 +00:00

Opened #473 [spec-028] key=ligbox-local-enterprise em openpanel.config — key=ligbox-local-enterprise em openpanel.config 2026-07-02 14:11:34 +00:00

Opened #474 [spec-028] Fix /etc/bind/named.conf (openpanel_dns) — Fix /etc/bind/named.conf (openpanel_dns) 2026-07-02 14:11:37 +00:00

Opened #475 [spec-028] Backup opencli em .ligbox-backup-* — Backup opencli em .ligbox-backup-* 2026-07-02 14:11:40 +00:00

Opened #476 [spec-028] bridge.py — user-add + domains-add + normalização domínio — bridge.py — user-add + domains-add + normalização domínio 2026-07-02 14:11:42 +00:00

Opened #477 [spec-028] Endpoints GET/PATCH/DELETE users — Endpoints GET/PATCH/DELETE users 2026-07-02 14:11:45 +00:00

Opened #478 [spec-028] openpanel-foss-bridge.service activo :18087 — openpanel-foss-bridge.service activo :18087 2026-07-02 14:11:47 +00:00

Opened #479 [spec-028] patch-foss-openpanel-domain.sh — campo domain em createA — patch-foss-openpanel-domain.sh — campo domain em createAccount 2026-07-02 14:11:50 +00:00

Opened #480 [spec-028] Servidor FOSS → port 18087 HTTP — Servidor FOSS → port 18087 HTTP 2026-07-02 14:11:52 +00:00

Opened #481 [spec-028] Order config array PHP (config[domain][...]) — Order config array PHP (config[domain][...]) 2026-07-02 14:11:55 +00:00

Opened #482 [spec-028] diarissima, myvexx, testeops, authverify, e2eportal, funnel, — diarissima, myvexx, testeops, authverify, e2eportal, funnel, verify 2026-07-02 14:11:58 +00:00

Opened #483 [spec-028] provision-openpanel-hosting.shprovision-openpanel-hosting.sh 2026-07-02 14:12:01 +00:00

Opened #484 [spec-028] labadmin + labreseller via SQLite (issue #795) — labadmin + labreseller via SQLite (issue #795) 2026-07-02 14:12:03 +00:00

Opened #485 [spec-028] Login OpenAdmin validado — Login OpenAdmin validado 2026-07-02 14:12:06 +00:00

Opened #486 [spec-028] test-foss-openpanel-order.sh — 7 passos E2E — test-foss-openpanel-order.sh — 7 passos E2E 2026-07-02 14:12:09 +00:00

Opened #487 [spec-028] Último run: order #6, user ab69b548, domain test95452.ligbox — Último run: order #6, user ab69b548, domain test95452.ligbox.com.br 2026-07-02 14:12:12 +00:00

Opened #488 [spec-028] scripts/test-openpanel-multidomain-api.sh — CLI repetível — scripts/test-openpanel-multidomain-api.sh — CLI repetível 2026-07-02 14:12:15 +00:00

Opened #489 [spec-028] POST /api/v1/vm123/openpanel/test-confirm — suite 7 passos — POST /api/v1/vm123/openpanel/test-confirm — suite 7 passos 2026-07-02 14:12:17 +00:00

Opened #490 [spec-028] Botão **Testar multidomínio** no Menu Infra Desk — Botão **Testar multidomínio** no Menu Infra Desk 2026-07-02 14:12:20 +00:00

Opened #491 [spec-028] Adendo [CONFIRMACAO-TESTE-API.md](CONFIRMACAO-TESTE-API.md) — Adendo [CONFIRMACAO-TESTE-API.md](CONFIRMACAO-TESTE-API.md) 2026-07-02 14:12:22 +00:00

Opened #492 [spec-028] Spec 028 no repositório — Spec 028 no repositório 2026-07-02 14:12:24 +00:00

Opened #493 [spec-028] Publicar no Spec Hub VM130 (Forgejo) — Publicar no Spec Hub VM130 (Forgejo) 2026-07-02 14:12:27 +00:00

Opened #494 [spec-028] CREDENCIAIS_SERVICOS_VM123.txt actualizado — CREDENCIAIS_SERVICOS_VM123.txt actualizado 2026-07-02 14:12:29 +00:00

Opened #495 [spec-028] Cron reaplicar patch após opencli update — Cron reaplicar patch após opencli update 2026-07-02 14:12:32 +00:00

Opened #496 [spec-028] Limpeza users E2E de teste — Limpeza users E2E de teste 2026-07-02 14:12:35 +00:00

Opened #497 [spec-028] Integração automática Desk → FOSS order — Integração automática Desk → FOSS order 2026-07-02 14:12:37 +00:00

Opened #498 [spec-029] A1 Tabelas SQLite (agent_scenarios, agent_runs, agent_f — A1 Tabelas SQLite (agent_scenarios, agent_runs, agent_findings, agent_action_log, agent_kb_chunks`) 2026-07-02 14:12:38 +00:00

Opened #499 [spec-029] A2 Router /api/v1/agents/* montado em main.py — A2 Router /api/v1/agents/* montado em main.py 2026-07-02 14:12:42 +00:00

Opened #500 [spec-029] A3 init_agent_schema no boot — A3 init_agent_schema no boot 2026-07-02 14:12:45 +00:00

Opened #501 [spec-029] A4 Cenários registry.yaml (9 cenários) — A4 Cenários registry.yaml (9 cenários) 2026-07-02 14:12:48 +00:00

Opened #502 [spec-029] A5 Checks T0 (checks.py) — A5 Checks T0 (checks.py) 2026-07-02 14:12:51 +00:00

Opened #503 [spec-029] B1 agentic_tick() no worker — B1 agentic_tick() no worker 2026-07-02 14:12:54 +00:00

Opened #504 [spec-029] B2 AGENTIC_INTERVAL_SEC=300 — B2 AGENTIC_INTERVAL_SEC=300 2026-07-02 14:12:57 +00:00

Opened #505 [spec-029] B3 POST /internal/tick — B3 POST /internal/tick 2026-07-02 14:13:01 +00:00

Opened #506 [spec-029] C1 Ollama VM123 qwen2.5:7b-instruct — C1 Ollama VM123 qwen2.5:7b-instruct 2026-07-02 14:13:03 +00:00

Opened #507 [spec-029] C2 advise_human_action em findings warn+ — C2 advise_human_action em findings warn+ 2026-07-02 14:13:06 +00:00

Opened #508 [spec-029] C3 chat_context copiloto — C3 chat_context copiloto 2026-07-02 14:13:08 +00:00

Opened #509 [spec-029] C4 KB Curator index specs — C4 KB Curator index specs 2026-07-02 14:13:11 +00:00

Opened #510 [spec-029] D1 catalog.py roster — D1 catalog.py roster 2026-07-02 14:13:13 +00:00

Opened #511 [spec-029] D2 agents-roster.md — D2 agents-roster.md 2026-07-02 14:13:16 +00:00

Opened #512 [spec-029] D3 Map cenário → agente (A1, A2, A6, sentinel) — D3 Map cenário → agente (A1, A2, A6, sentinel) 2026-07-02 14:13:18 +00:00

Opened #513 [spec-029] E1 agent_threads + agent_messages — E1 agent_threads + agent_messages 2026-07-02 14:13:21 +00:00

Opened #514 [spec-029] E2 Inbox por role — E2 Inbox por role 2026-07-02 14:13:23 +00:00

Opened #515 [spec-029] E3 Reply humano + ack — E3 Reply humano + ack 2026-07-02 14:13:26 +00:00

Opened #516 [spec-029] E4 UI Desk 3 colunas (roster/inbox/contexto) — E4 UI Desk 3 colunas (roster/inbox/contexto) 2026-07-02 14:13:28 +00:00

Opened #517 [spec-029] E5 E-mail high/critical via Postfix — E5 E-mail high/critical via Postfix 2026-07-02 14:13:31 +00:00

Opened #518 [spec-029] F1 Deploy docker-compose.agentic-staging.yml (:8180/:8192) — F1 Deploy docker-compose.agentic-staging.yml (:8180/:8192) 2026-07-02 14:13:33 +00:00

Opened #519 [spec-029] F2 Checklist quickstart.md — F2 Checklist quickstart.md 2026-07-02 14:13:35 +00:00

Opened #520 [spec-029] F3 Chat T1 com Ollama online (health tier t1; resposta LLM ~ — F3 Chat T1 com Ollama online (health tier t1; resposta LLM ~2min qwen2.5:7b) 2026-07-02 14:13:38 +00:00

Opened #521 [spec-029] F4 Inbox com finding simulado (VM123 finance + OpenPanel bri — F4 Inbox com finding simulado (VM123 finance + OpenPanel bridge) 2026-07-02 14:13:40 +00:00

Opened #522 [spec-029] G1 Merge branch → main (pendente push remoto se aplicável) — G1 Merge branch → main (pendente push remoto se aplicável) 2026-07-02 14:13:42 +00:00

Opened #523 [spec-029] G2 Deploy produção :8080 (api + worker + frontend) — versã — G2 Deploy produção :8080 (api + worker + frontend) — versão 0.9.7-spec029-agentic 2026-07-02 14:13:45 +00:00

Opened #524 [spec-029] G3 Verificar produção intacta — /api/v1/agents/health 200 — G3 Verificar produção intacta — /api/v1/agents/health 200 tier t1 2026-07-02 14:13:47 +00:00

Opened #525 [spec-029] G4 Registar homologação — 2026-06-19 VM122 — G4 Registar homologação — 2026-06-19 VM122 2026-07-02 14:13:49 +00:00

Opened #526 [spec-029] H1 A3–A5 cenários deliverability/SOC/mail — H1 A3–A5 cenários deliverability/SOC/mail 2026-07-02 14:13:51 +00:00

Opened #527 [spec-029] H2 A7 runbooks R0–R3 + fila aprovação — H2 A7 runbooks R0–R3 + fila aprovação 2026-07-02 14:13:53 +00:00

Opened #528 [spec-029] H3 WebSocket live push — H3 WebSocket live push 2026-07-02 14:13:54 +00:00

Opened #529 [spec-029] H4 Embeddings nomic-embed-text semântico — H4 Embeddings nomic-embed-text semântico 2026-07-02 14:13:56 +00:00

Opened #530 [spec-030] A1 Criar agentic-ops.css (grid ao-*, tokens agente) — A1 Criar agentic-ops.css (grid ao-*, tokens agente) 2026-07-02 14:13:57 +00:00

Opened #531 [spec-030] A2 Componente AgenticStatusBar (health + action-log last t — A2 Componente AgenticStatusBar (health + action-log last tick) 2026-07-02 14:14:00 +00:00

Opened #532 [spec-030] A3 Componente MissionBoard — 4 colunas severidade — A3 Componente MissionBoard — 4 colunas severidade 2026-07-02 14:14:03 +00:00

Opened #533 [spec-030] A4 Dedup via API /incidents (UI-B) — A4 Dedup via API /incidents (UI-B) 2026-07-02 14:14:06 +00:00

Opened #534 [spec-030] A5 IncidentCard — click selecciona + highlight — A5 IncidentCard — click selecciona + highlight 2026-07-02 14:14:08 +00:00

Opened #535 [spec-030] A6 ContextPanel — thread + reply + chat — A6 ContextPanel — thread + reply + chat 2026-07-02 14:14:11 +00:00

Opened #536 [spec-030] A7 Fleet rail compacto — A7 Fleet rail compacto 2026-07-02 14:14:13 +00:00

Opened #537 [spec-030] A8 Deploy produção + staging — A8 Deploy produção + staging 2026-07-02 14:14:15 +00:00

Opened #538 [spec-030] B1 Migration agent_incidents + índices — B1 Migration agent_incidents + índices 2026-07-02 14:14:18 +00:00

Opened #539 [spec-030] B2 store.upsert_incident() no runner tick — B2 store.upsert_incident() no runner tick 2026-07-02 14:14:21 +00:00

Opened #540 [spec-030] B3 Refactor notify_finding_to_operators — reutilizar threa — B3 Refactor notify_finding_to_operators — reutilizar thread 2026-07-02 14:14:24 +00:00

Opened #541 [spec-030] B4 Endpoints /overview, /incidents, /incidents/{id}/ack — B4 Endpoints /overview, /incidents, /incidents/{id}/ack, /timeline` 2026-07-02 14:14:26 +00:00

Opened #542 [spec-030] B5 Backfill automático no boot (backfill_incidents) — B5 Backfill automático no boot (backfill_incidents) 2026-07-02 14:14:29 +00:00

Opened #543 [spec-030] B6 Testes test_agents_030.py — B6 Testes test_agents_030.py 2026-07-02 14:14:32 +00:00

Opened #544 [spec-030] C1 Run timeline (lista ticks) — C1 Run timeline (lista ticks) 2026-07-02 14:14:34 +00:00

Opened #545 [spec-030] C2 Mobile tabs (Board / Frota / Contexto) — C2 Mobile tabs (Board / Frota / Contexto) 2026-07-02 14:14:37 +00:00

Opened #546 [spec-030] C3 Empty states + skeleton loading — C3 Empty states + skeleton loading 2026-07-02 14:14:40 +00:00

Opened #547 [spec-030] C4 Pulse animation agente com incidente open — C4 Pulse animation agente com incidente open 2026-07-02 14:14:43 +00:00

Opened #548 [spec-030] C5 Atalho teclado R refresh, Esc deselect — C5 Atalho teclado R refresh, Esc deselect 2026-07-02 14:14:46 +00:00

Opened #549 [spec-030] C6 Poll 30s quando view activa — C6 Poll 30s quando view activa 2026-07-02 14:14:48 +00:00

Opened #550 [spec-030] D1 Poll 30s quando view activa (pausa tab hidden) — D1 Poll 30s quando view activa (pausa tab hidden) 2026-07-02 14:14:51 +00:00

Opened #551 [spec-030] D2 SSE /api/v1/agents/stream (opcional, Spec 029 H3) — D2 SSE /api/v1/agents/stream (opcional, Spec 029 H3) 2026-07-02 14:14:53 +00:00

Opened #552 [spec-030] E1 Botão “Criar ticket” no card → /api/v1/tickets POST — E1 Botão “Criar ticket” no card → /api/v1/tickets POST 2026-07-02 14:14:54 +00:00

Opened #553 [spec-030] E2 Link finding → domínio/tenant se aplicável — E2 Link finding → domínio/tenant se aplicável 2026-07-02 14:14:55 +00:00

Opened #554 [spec-030] E3 Preparar hub CH-* (Spec 019) — deep link — E3 Preparar hub CH-* (Spec 019) — deep link 2026-07-02 14:14:57 +00:00

Opened #555 [spec-030] ≤10 cards visíveis para ambiente actual — ≤10 cards visíveis para ambiente actual 2026-07-02 14:14:58 +00:00

Opened #556 [spec-030] Ack funcional end-to-end — Ack funcional end-to-end 2026-07-02 14:14:59 +00:00

Opened #557 [spec-030] Context panel com thread única por cenário — Context panel com thread única por cenário 2026-07-02 14:15:01 +00:00

Opened #558 [spec-030] Documentação quickstart actualizada — Documentação quickstart actualizada 2026-07-02 14:15:03 +00:00

Opened #559 [spec-030] Deploy produção :8091 após staging OK — Deploy produção :8091 após staging OK 2026-07-02 14:15:04 +00:00

Opened #560 [spec-034] Roger: **VM124** após VM123 (não VM118) · 2 vCPU · 4 GB · 50 — Roger: **VM124** após VM123 (não VM118) · 2 vCPU · 4 GB · 500 GB 2026-07-02 14:15:05 +00:00

Opened #561 [spec-034] Criar VM124 Ubuntu 24.04 (scripts/proxmox-create-vm.sh no — Criar VM124 Ubuntu 24.04 (scripts/proxmox-create-vm.sh no PVE) 2026-07-02 14:15:09 +00:00

Opened #562 [spec-034] pfSense DNAT SSH WAN :252410.10.10.124:22 — pfSense DNAT SSH WAN :252410.10.10.124:22 2026-07-02 14:15:11 +00:00

Opened #563 [spec-034] deploy/vm116-nextcloud/ — docker-compose + scripts + Traef — deploy/vm116-nextcloud/ — docker-compose + scripts + Traefik snippet 2026-07-02 14:15:13 +00:00

Opened #564 [spec-034] TLS cloud.ligbox.com.br via Traefik CT114 — TLS cloud.ligbox.com.br via Traefik CT114 2026-07-02 14:15:15 +00:00

Opened #565 [spec-034] Teste Mail app → Carbonio (domínio teste) — Teste Mail app → Carbonio (domínio teste) 2026-07-02 14:15:17 +00:00

Opened #566 [spec-034] Documentar resultados no quickstart — Documentar resultados no quickstart 2026-07-02 14:15:18 +00:00

Opened #567 [spec-034] NEXTCLOUD_API_URL + credenciais admin OCS (secrets VM112) — NEXTCLOUD_API_URL + credenciais admin OCS (secrets VM112) 2026-07-02 14:15:19 +00:00

Opened #568 [spec-034] Serviço wizard nextcloud_provision.py — Serviço wizard nextcloud_provision.py 2026-07-02 14:15:21 +00:00

Opened #569 [spec-034] Hook pós account/create (flag NEXTCLOUD_INTEGRATION) — Hook pós account/create (flag NEXTCLOUD_INTEGRATION) 2026-07-02 14:15:22 +00:00

Opened #570 [spec-034] Webhook Desk onboarding.nextcloud.provisioned — Webhook Desk onboarding.nextcloud.provisioned 2026-07-02 14:15:24 +00:00

Opened #571 [spec-034] API Desk: /api/v1/nextcloud/health, .../domains/{domain}/ — API Desk: /api/v1/nextcloud/health, .../domains/{domain}/status` 2026-07-02 14:15:25 +00:00

Opened #572 [spec-034] Stack health VM124 em stack_health.py (Spec 033) — Stack health VM124 em stack_health.py (Spec 033) 2026-07-02 14:15:27 +00:00

Opened #573 [spec-034] Traefik template files.{domain} (CT114) — Traefik template files.{domain} (CT114) 2026-07-02 14:15:28 +00:00

Opened #574 [spec-034] Módulo Desk nextcloud-storage (Spec 015) — Módulo Desk nextcloud-storage (Spec 015) 2026-07-02 14:15:30 +00:00

Opened #575 [spec-034] Extensão purge Spec 017 — apagar users Nextcloud — Extensão purge Spec 017 — apagar users Nextcloud 2026-07-02 14:15:31 +00:00

Opened #576 [spec-034] Domain Admin — painel quota unificado (QuotaDualBar — ver — Domain Admin — painel quota unificado (QuotaDualBar — ver 034-console-process-ui.md) 2026-07-02 14:15:33 +00:00

Opened #577 [spec-034] FOSSBilling produto «Ligbox Mail Plus» — FOSSBilling produto «Ligbox Mail Plus» 2026-07-02 14:15:34 +00:00

Opened #578 [spec-034] Alertas disco VM112/VM124 — Alertas disco VM112/VM124 2026-07-02 14:15:36 +00:00

Opened #579 [spec-034] UI-034-A: ProvisionPipeline + QuotaDualBar + AccountCar — UI-034-A: ProvisionPipeline + QuotaDualBar + AccountCard em /admin/contas` 2026-07-02 14:15:37 +00:00

Opened #580 [spec-034] UI-034-B: DomainFilesToggle em /admin/files — UI-034-B: DomainFilesToggle em /admin/files 2026-07-02 14:15:38 +00:00

Opened #581 [spec-034] UI-034-C: StackHealthTile + incident retry em /ops — UI-034-C: StackHealthTile + incident retry em /ops 2026-07-02 14:15:40 +00:00

Opened #582 [spec-034] UI-034-D: Poll pipeline + estados erro PT-BR — UI-034-D: Poll pipeline + estados erro PT-BR 2026-07-02 14:15:41 +00:00

Opened #583 [spec-034] MinIO VM124 — MinIO VM124 2026-07-02 14:15:43 +00:00

Opened #584 [spec-034] Volume secundário Carbonio → S3 — Volume secundário Carbonio → S3 2026-07-02 14:15:44 +00:00

Opened #585 [spec-034] Política archive + runbook ops — Política archive + runbook ops 2026-07-02 14:15:45 +00:00

Opened #586 [spec-034] Spec 034 spec.md — Spec 034 spec.md 2026-07-02 14:15:47 +00:00

Opened #587 [spec-034] infrastructure.mdinfrastructure.md 2026-07-02 14:15:49 +00:00

Opened #588 [spec-034] quickstart.mdquickstart.md 2026-07-02 14:15:51 +00:00

Opened #589 [spec-034] contracts/nextcloud-provisioning-api.mdcontracts/nextcloud-provisioning-api.md 2026-07-02 14:15:53 +00:00

Opened #590 [spec-034] 034-console-process-ui.md — visão processo Console — 034-console-process-ui.md — visão processo Console 2026-07-02 14:15:55 +00:00

Opened #591 [spec-034] Actualizar docs/vms/README.md + VM112.md — Actualizar docs/vms/README.md + VM112.md 2026-07-02 14:15:58 +00:00

Opened #592 [spec-034] Publicar no Spec Hub Portal (Spec 031) — Publicar no Spec Hub Portal (Spec 031) 2026-07-02 14:16:00 +00:00

Opened #593 [spec-035] Roger aprovar preços §1.1 — **via Admin Ligbox** (035-C), nã — Roger aprovar preços §1.1 — **via Admin Ligbox** (035-C), não FOSS directo 2026-07-02 14:16:02 +00:00

Opened #594 [spec-035] Criar produtos FOSS: starter, business, enterprise, custom — Criar produtos FOSS: starter, business, enterprise, custom 2026-07-02 14:16:04 +00:00

Opened #595 [spec-035] Criar planos OpenPanel espelhados (ligbox-mail-*) — Criar planos OpenPanel espelhados (ligbox-mail-*) 2026-07-02 14:16:06 +00:00

Opened #596 [spec-035] Config options FOSS para bundle custom (seats, mail_gb, file — Config options FOSS para bundle custom (seats, mail_gb, files_gb) 2026-07-02 14:16:07 +00:00

Opened #597 [spec-035] Publicar página vendas /signup com comparativo concorrência — Publicar página vendas /signup com comparativo concorrência 2026-07-02 14:16:09 +00:00

Opened #598 [spec-035] Documentar em foss-products.md IDs reais pós-criação — Documentar em foss-products.md IDs reais pós-criação 2026-07-02 14:16:11 +00:00

Opened #599 [spec-035] Tabela bundle_entitlements no wizard VM112 — Tabela bundle_entitlements no wizard VM112 2026-07-02 14:16:12 +00:00

Opened #600 [spec-035] Endpoint POST /api/internal/provision/mail-bundle — **códi — Endpoint POST /api/internal/provision/mail-bundle — **código pronto** · [mail-bundle-api.md](../043-desk-client-activa 2026-07-02 14:16:14 +00:00

Opened #601 [spec-035] Produto FOSS ligbox-mail-business (id=3) — ver [foss-produ — Produto FOSS ligbox-mail-business (id=3) — ver [foss-products.md](./foss-products.md) 2026-07-02 14:16:15 +00:00

Opened #602 [spec-035] Webhook Desk foss/order-activated → wizard — Webhook Desk foss/order-activated → wizard 2026-07-02 14:16:18 +00:00

Opened #603 [spec-035] Bridge: metadata JSON no user OpenPanel hub — Bridge: metadata JSON no user OpenPanel hub 2026-07-02 14:16:20 +00:00

Opened #604 [spec-035] Email template FOSS boas-vindas (links OP + Domain Admin) — Email template FOSS boas-vindas (links OP + Domain Admin) 2026-07-02 14:16:21 +00:00

Opened #605 [spec-035] Teste E2E: order Business → admin@ + 1 conta teste — Teste E2E: order Business → admin@ + 1 conta teste 2026-07-02 14:16:23 +00:00

Opened #606 [spec-035] UX-0: design tokens + AppLayout + login role → console.ligb — UX-0: design tokens + AppLayout + login role → console.ligbox.com.br` 2026-07-02 14:16:24 +00:00

Opened #607 [spec-035] Traefik: console.ligbox.com.br VM123 + 301 onboard/admin — Traefik: console.ligbox.com.br VM123 + 301 onboard/admin 2026-07-02 14:16:25 +00:00

Opened #608 [spec-035] UX-A1: /admin Início — cards resumo (tom banco digital BR) — UX-A1: /admin Início — cards resumo (tom banco digital BR) 2026-07-02 14:16:27 +00:00

Opened #609 [spec-035] UX-A2: /admin/contas CRUD inline — UX-A2: /admin/contas CRUD inline 2026-07-02 14:16:29 +00:00

Opened #610 [spec-035] UX-A3: /admin/files quotas + toggle Mail NC — UX-A3: /admin/files quotas + toggle Mail NC 2026-07-02 14:16:31 +00:00

Opened #611 [spec-035] UX-A4: /admin/certificacao + /admin/dominio **DNS Viewer — UX-A4: /admin/certificacao + /admin/dominio **DNS Viewer** (037 dns-viewer.md) 2026-07-02 14:16:32 +00:00

Opened #612 [spec-035] /admin/dominio V3 deploy VM123 2026-06-25 (AdminDominio.j — /admin/dominio V3 deploy VM123 2026-06-25 (AdminDominio.jsx, DnsViewerPanel.jsx`) 2026-07-02 14:16:34 +00:00

Opened #613 [spec-035] /admin/certificacao EasyDMARC card — /admin/certificacao EasyDMARC card 2026-07-02 14:16:36 +00:00

Opened #614 [spec-035] UX-A4b: /admin/plano boleto/PIX — UX-A4b: /admin/plano boleto/PIX 2026-07-02 14:16:38 +00:00

Opened #615 [spec-035] SSO FOSS → /admin?sso=TOKEN — SSO FOSS → /admin?sso=TOKEN 2026-07-02 14:16:39 +00:00

Opened #616 [spec-035] API Desk /api/v1/domain-console/* — API Desk /api/v1/domain-console/* 2026-07-02 14:16:40 +00:00

Opened #617 [spec-035] GET /api/v1/domain-console/dns/viewer/{domain} (VM122 2026 — GET /api/v1/domain-console/dns/viewer/{domain} (VM122 2026-06-25) 2026-07-02 14:16:42 +00:00

Opened #618 [spec-035] Bridge metadata JSON no user hub (sem UI gerente) — Bridge metadata JSON no user hub (sem UI gerente) 2026-07-02 14:16:45 +00:00

Opened #619 [spec-035] UX-B: /comercial — fila preços, catálogo, clientes, gatewa — UX-B: /comercial — fila preços, catálogo, clientes, gateway 2026-07-02 14:16:47 +00:00

Opened #620 [spec-035] UX-C: /ops — Spec 019 chamados no mesmo shell — UX-C: /ops — Spec 019 chamados no mesmo shell 2026-07-02 14:16:48 +00:00

Opened #621 [spec-035] RBAC roles comercial/ops (Spec 027) — RBAC roles comercial/ops (Spec 027) 2026-07-02 14:16:50 +00:00

Opened #622 [spec-035] Impersonate gerente → /admin — Impersonate gerente → /admin 2026-07-02 14:16:51 +00:00

Opened #623 [spec-035] Estudo redirects, OOO, assinaturas, calendário por user — Estudo redirects, OOO, assinaturas, calendário por user 2026-07-02 14:16:53 +00:00

Opened #624 [spec-035] Wireframe /me ou mail.{dom}/settings — Wireframe /me ou mail.{dom}/settings 2026-07-02 14:16:54 +00:00

Opened #625 [spec-035] Decidir Carbonio nativo vs SPA Ligbox — Decidir Carbonio nativo vs SPA Ligbox 2026-07-02 14:16:56 +00:00

Opened #626 [spec-035] VM116 provisionada (Spec 034 Fase 0) — VM116 provisionada (Spec 034 Fase 0) 2026-07-02 14:16:58 +00:00

Opened #627 [spec-035] Auto-provision NC Files em cada createAccount — Auto-provision NC Files em cada createAccount 2026-07-02 14:16:59 +00:00

Opened #628 [spec-035] Toggle Mail Nextcloud por domínio no /admin (Spec 035 §2.2 — Toggle Mail Nextcloud por domínio no /admin (Spec 035 §2.2.1) 2026-07-02 14:17:01 +00:00

Opened #629 [spec-035] EasyDMARC register domain automático no wizard — EasyDMARC register domain automático no wizard 2026-07-02 14:17:02 +00:00

Opened #630 [spec-035] Agent A3 Desk: alertas DMARC fail — Agent A3 Desk: alertas DMARC fail 2026-07-02 14:17:04 +00:00

Opened #631 [spec-035] Escolher gateway: ASAAS vs Iugu (Roger) — Escolher gateway: ASAAS vs Iugu (Roger) 2026-07-02 14:17:05 +00:00

Opened #632 [spec-035] Módulo FOSS: boleto bancário (PDF + linha digitável) — Módulo FOSS: boleto bancário (PDF + linha digitável) 2026-07-02 14:17:07 +00:00

Opened #633 [spec-035] Módulo FOSS: PIX QR Code + copia-e-cola — Módulo FOSS: PIX QR Code + copia-e-cola 2026-07-02 14:17:08 +00:00

Opened #634 [spec-035] Webhook pagamento confirmado → Desk → wizard provision — Webhook pagamento confirmado → Desk → wizard provision 2026-07-02 14:17:10 +00:00

Opened #635 [spec-035] Card «Pagamento» no /admin — status + link boleto/PIX (emb — Card «Pagamento» no /admin — status + link boleto/PIX (embed FOSS API) 2026-07-02 14:17:11 +00:00

Opened #636 [spec-035] Upgrade/downgrade plano FOSS → update entitlements — Upgrade/downgrade plano FOSS → update entitlements 2026-07-02 14:17:13 +00:00

Opened #637 [spec-035] Add-ons: seat extra, storage mail/files — Add-ons: seat extra, storage mail/files 2026-07-02 14:17:14 +00:00

Opened #638 [spec-035] Odoo subscription mirror (Spec 023 phase 2) — Odoo subscription mirror (Spec 023 phase 2) 2026-07-02 14:17:16 +00:00

Opened #639 [spec-035] Spec 035 spec.md — Spec 035 spec.md 2026-07-02 14:17:17 +00:00

Opened #640 [spec-035] tasks.mdtasks.md 2026-07-02 14:17:19 +00:00

Opened #641 [spec-035] foss-products.md (template) — foss-products.md (template) 2026-07-02 14:17:22 +00:00

Opened #642 [spec-035] mockups/domain-manager-sandbox.html — UI sandbox (Mock + L — mockups/domain-manager-sandbox.html — UI sandbox (Mock + Live create-only) 2026-07-02 14:17:24 +00:00

Opened #643 [spec-035] API Desk domain_console_sandbox*.py — create-only produção — API Desk domain_console_sandbox*.py — create-only produção 2026-07-02 14:17:27 +00:00

Opened #644 [spec-035] Deploy API sandbox no VM122 + teste cenário real — Deploy API sandbox no VM122 + teste cenário real 2026-07-02 14:17:29 +00:00

Opened #645 [spec-035] Actualizar Spec 034 § comercial → link 035 — Actualizar Spec 034 § comercial → link 035 2026-07-02 14:17:31 +00:00

Opened #646 [spec-035] Actualizar docs/vms/README.md — Actualizar docs/vms/README.md 2026-07-02 14:17:32 +00:00

Opened #647 [spec-035] Publicar Spec Hub Portal — Publicar Spec Hub Portal 2026-07-02 14:17:33 +00:00

Opened #648 [spec-035] Spec 037-DNS-VIEWER dns-viewer.md + §5.5 domain-manager ac — Spec 037-DNS-VIEWER dns-viewer.md + §5.5 domain-manager actualizado 2026-07-02 14:17:35 +00:00

Opened #649 [spec-035] Implementar GET /api/v1/dns/viewer/{domain} (Desk VM122 + — Implementar GET /api/v1/dns/viewer/{domain} (Desk VM122 + proxy Console VM123 2026-06-25) 2026-07-02 14:17:37 +00:00

Opened #650 [spec-035] restart: unless-stopped em docker-compose.mvp.yml (api, — restart: unless-stopped em docker-compose.mvp.yml (api, frontend, worker, redis) 2026-07-02 14:17:40 +00:00

Opened #651 [spec-035] Deploy VM122 produção — Deploy VM122 produção 2026-07-02 14:17:41 +00:00

Opened #652 [spec-035] Validar reboot test (opcional) — Validar reboot test (opcional) 2026-07-02 14:17:42 +00:00

Opened #653 [spec-035] Spec 035 + contracts/stack-services.yaml — Spec 035 + contracts/stack-services.yaml 2026-07-02 14:17:44 +00:00

Opened #654 [spec-035] projects/integrations/watchman/watchman.pyprojects/integrations/watchman/watchman.py 2026-07-02 14:17:46 +00:00

Opened #655 [spec-035] projects/integrations/watchman/probes.py (http, redis, doc — projects/integrations/watchman/probes.py (http, redis, docker) 2026-07-02 14:17:48 +00:00

Opened #656 [spec-035] projects/integrations/watchman/alerts.py (ntfy) — projects/integrations/watchman/alerts.py (ntfy) 2026-07-02 14:17:49 +00:00

Opened #657 [spec-035] projects/integrations/watchman/store.py (SQLite) — projects/integrations/watchman/store.py (SQLite) 2026-07-02 14:17:51 +00:00

Opened #658 [spec-035] deploy/watchman/install.sh + ligbox-watchman.servicedeploy/watchman/install.sh + ligbox-watchman.service 2026-07-02 14:17:52 +00:00

Opened #659 [spec-035] deploy/watchman/watchman.env.exampledeploy/watchman/watchman.env.example 2026-07-02 14:17:54 +00:00

Opened #660 [spec-035] Teste E2E: stop frontend → alerta → start → resolved — Teste E2E: stop frontend → alerta → start → resolved 2026-07-02 14:17:55 +00:00

Opened #661 [spec-035] Documentar no deploy/manifest.yaml — Documentar no deploy/manifest.yaml 2026-07-02 14:17:56 +00:00

Opened #662 [spec-035] Refactor stack_health.py → ler YAML — Refactor stack_health.py → ler YAML 2026-07-02 14:17:58 +00:00

Opened #663 [spec-035] Alertas email Postfix — Alertas email Postfix 2026-07-02 14:17:59 +00:00

Opened #664 [spec-035] GET /api/v1/watchman/status Desk — GET /api/v1/watchman/status Desk 2026-07-02 14:18:01 +00:00

Opened #665 [spec-035] Card Watchman em INFRA CODE — Card Watchman em INFRA CODE 2026-07-02 14:18:02 +00:00

Opened #666 [spec-035] Extensão catálogo: VM104, CT107, VM116, VM124 — Extensão catálogo: VM104, CT107, VM116, VM124 2026-07-02 14:18:03 +00:00

Opened #667 [spec-035] Auto-restart Docker containers críticos (flag WATCHMAN_REME — Auto-restart Docker containers críticos (flag WATCHMAN_REMEDIATE=0`) 2026-07-02 14:18:05 +00:00

Opened #668 [spec-035] Webhook Desk → Eventos tab — Webhook Desk → Eventos tab 2026-07-02 14:18:06 +00:00

Opened #669 [spec-035] Spec Hub portal link para status — Spec Hub portal link para status 2026-07-02 14:18:07 +00:00

Opened #670 [spec-035] specs/035-ligbox-watchman/spec.mdspecs/035-ligbox-watchman/spec.md 2026-07-02 14:18:09 +00:00

Opened #671 [spec-035] quickstart.mdquickstart.md 2026-07-02 14:18:12 +00:00

Opened #672 [spec-035] contracts/stack-services.yamlcontracts/stack-services.yaml 2026-07-02 14:18:14 +00:00

Opened #673 [spec-035] contracts/status-snapshot.mdcontracts/status-snapshot.md 2026-07-02 14:18:17 +00:00

Opened #674 [spec-035] Push Forgejo CT130 — Push Forgejo CT130 2026-07-02 14:18:20 +00:00

Opened #675 [spec-036] Instalar SpecKit Companion no Cursor — Instalar SpecKit Companion no Cursor 2026-07-02 14:18:21 +00:00

Opened #676 [spec-036] Testar viewer com spec existente (ex. 035) — Testar viewer com spec existente (ex. 035) 2026-07-02 14:18:23 +00:00

Opened #677 [spec-036] Adiar até P3 aprovado + RAM CT130 ≥ 6 GB — Adiar até P3 aprovado + RAM CT130 ≥ 6 GB 2026-07-02 14:18:25 +00:00

Opened #678 [spec-036] deploy/backstage/docker-compose.ymldeploy/backstage/docker-compose.yml 2026-07-02 14:18:26 +00:00

Opened #679 [spec-036] catalog-info.yaml + TechDocs piloto — catalog-info.yaml + TechDocs piloto 2026-07-02 14:18:27 +00:00

Opened #680 [spec-036] Ver spec.md — executar quando sair do backlog — Ver spec.md — executar quando sair do backlog 2026-07-02 14:18:29 +00:00

Opened #681 [spec-037] Multi-conta resolve + BYO + provision-zone — Multi-conta resolve + BYO + provision-zone 2026-07-02 14:18:30 +00:00

Opened #682 [spec-037] project_identity.py monorepo + VM112 — project_identity.py monorepo + VM112 2026-07-02 14:18:34 +00:00

Opened #683 [spec-037] POST /project/provision-email VM112 smoke proj_001@POST /project/provision-email VM112 smoke proj_001@ 2026-07-02 14:18:36 +00:00

Opened #684 [spec-037] GET /project/{domain} VM112 — GET /project/{domain} VM112 2026-07-02 14:18:39 +00:00

Opened #685 [spec-037] UI painel credenciais proj_* — UI painel credenciais proj_* 2026-07-02 14:18:41 +00:00

Opened #686 [spec-037] Webhook ligbox_project_email (apply + account + project) — Webhook ligbox_project_email (apply + account + project) 2026-07-02 14:18:44 +00:00

Opened #687 [spec-037] Tokens ligit + itecnologys (Roger) — Tokens ligit + itecnologys (Roger) 2026-07-02 14:18:46 +00:00

Opened #688 [spec-037] E2E smoke completo wizard público — E2E smoke completo wizard público 2026-07-02 14:18:48 +00:00

Opened #689 [spec-037] projects/cloudflare-agents/onboard/ wrangler + DO scaffold — projects/cloudflare-agents/onboard/ wrangler + DO scaffold 2026-07-02 14:18:49 +00:00

Opened #690 [spec-037] OnboardMaestro estado sessão — OnboardMaestro estado sessão 2026-07-02 14:18:52 +00:00

Opened #691 [spec-037] HTTP client VM112 — HTTP client VM112 2026-07-02 14:18:55 +00:00

Opened #692 [spec-037] Deploy Worker — https://ligbox-onboard-agents.ibytera.worker — Deploy Worker — https://ligbox-onboard-agents.ibytera.workers.dev 2026-07-02 14:18:57 +00:00

Opened #693 [spec-037] Worker → VM112 proj-mail E2E OK — Worker → VM112 proj-mail E2E OK 2026-07-02 14:18:59 +00:00

Opened #694 [spec-037] Rota agents.ligbox.com.br (opcional) — Rota agents.ligbox.com.br (opcional) 2026-07-02 14:19:02 +00:00

Opened #695 [spec-037] Wizard UI teste manual telas (Roger) — Wizard UI teste manual telas (Roger) 2026-07-02 14:19:03 +00:00

Opened #696 [spec-037] Feature flag wizard use_edge_orchestrator — Feature flag wizard use_edge_orchestrator 2026-07-02 14:19:05 +00:00

Opened #697 [spec-037] DO stubs ProjMailAgent, CfZoneAgent, CfHandoffAgent — DO stubs ProjMailAgent, CfZoneAgent, CfHandoffAgent 2026-07-02 14:19:06 +00:00

Opened #698 [spec-037] Maestro delegação REST (/run/proj-mail, /run/cf-zone) — Maestro delegação REST (/run/proj-mail, /run/cf-zone) 2026-07-02 14:19:08 +00:00

Opened #699 [spec-037] WebSocket wizard ↔ edge — WebSocket wizard ↔ edge 2026-07-02 14:19:11 +00:00

Opened #700 [spec-037] Inbox Spec 029 handoff ack — Inbox Spec 029 handoff ack 2026-07-02 14:19:12 +00:00

Opened #701 [spec-037] Tenant CF Ligbox confirmado — Tenant CF Ligbox confirmado 2026-07-02 14:19:14 +00:00

Opened #702 [spec-037] provision-client-account (fallback zona partilhada) — provision-client-account (fallback zona partilhada) 2026-07-02 14:19:15 +00:00

Opened #703 [spec-037] handoff-manager (stub registo) — handoff-manager (stub registo) 2026-07-02 14:19:18 +00:00

Opened #704 [spec-037] cf_client_accounts/ registry — cf_client_accounts/ registry 2026-07-02 14:19:20 +00:00

Opened #705 [spec-037] Registradores EPP (Fase E) — Registradores EPP (Fase E) 2026-07-02 14:19:23 +00:00

Opened #706 [spec-037] Routing conta por marca (ligit/itecnologys) — Routing conta por marca (ligit/itecnologys) 2026-07-02 14:19:24 +00:00

Opened #707 [spec-037] V0 Desk CF only — cloudflare_dns.py + Overview modal — V0 Desk CF only — cloudflare_dns.py + Overview modal 2026-07-02 14:19:26 +00:00

Opened #708 [spec-037] Spec rollback + scripts deploy (deploy/DNS-VIEWER-*.md, d — Spec rollback + scripts deploy (deploy/DNS-VIEWER-*.md, deploy/scripts/*`) 2026-07-02 14:19:28 +00:00

Opened #709 [spec-037] V1 GET /api/v1/dns/viewer/{domain} — CF + public + planned — V1 GET /api/v1/dns/viewer/{domain} — CF + public + planned (deploy VM122 2026-06-25) 2026-07-02 14:19:30 +00:00

Opened #710 [spec-037] V1b Desk UI unificada (dns-viewer.js + Overview/IaaS modal — V1b Desk UI unificada (dns-viewer.js + Overview/IaaS modal) 2026-07-02 14:19:33 +00:00

Opened #711 [spec-037] V2 OpenPanel BIND records (openpanel_dns.py) — VM122 2026- — V2 OpenPanel BIND records (openpanel_dns.py) — VM122 2026-06-25 2026-07-02 14:19:36 +00:00

Opened #712 [spec-037] V3 Console /admin/dominio consume viewer API — VM123 2026- — V3 Console /admin/dominio consume viewer API — VM123 2026-06-25 2026-07-02 14:19:38 +00:00

Opened #713 [spec-037] V4 Wizard painel lateral — patches em deploy/vm112-wizard/* — V4 Wizard painel lateral — patches em deploy/vm112-wizard/*-v4.patch.py` · deploy VM112 pendente 2026-07-02 14:19:41 +00:00

Opened #714 [spec-037] RBAC dns.viewer.read formalizar Spec 027 — RBAC dns.viewer.read formalizar Spec 027 2026-07-02 14:19:43 +00:00

Opened #715 [spec-038] Diagnosticar falha WAN mail.nutranik.com (404/500 em /zx/ — Diagnosticar falha WAN mail.nutranik.com (404/500 em /zx/login/*`) 2026-07-02 14:19:44 +00:00

Opened #716 [spec-038] Confirmar arquitectura: WAN → VM112, Nutranik → VM108 — Confirmar arquitectura: WAN → VM112, Nutranik → VM108 2026-07-02 14:19:48 +00:00

Opened #717 [spec-038] Criar upstream nutranik_vm108_https na VM112 — Criar upstream nutranik_vm108_https na VM112 2026-07-02 14:19:51 +00:00

Opened #718 [spec-038] Criar server block proxy mail.nutranik.com na VM112 — Criar server block proxy mail.nutranik.com na VM112 2026-07-02 14:19:53 +00:00

Opened #719 [spec-038] Sincronizar certificado SSL da VM108 — Sincronizar certificado SSL da VM108 2026-07-02 14:19:56 +00:00

Opened #720 [spec-038] Adicionar include persistente em nginx.conf.web — Adicionar include persistente em nginx.conf.web 2026-07-02 14:19:58 +00:00

Opened #721 [spec-038] Implementar ensure-nutranik-proxy.sh — Implementar ensure-nutranik-proxy.sh 2026-07-02 14:20:00 +00:00

Opened #722 [spec-038] Implementar check-nutranik-proxy.sh + cron 15 min — Implementar check-nutranik-proxy.sh + cron 15 min 2026-07-02 14:20:03 +00:00

Opened #723 [spec-038] Implementar systemd path watcher — Implementar systemd path watcher 2026-07-02 14:20:06 +00:00

Opened #724 [spec-038] Configurar tmpfiles.d para /run/carbonio — Configurar tmpfiles.d para /run/carbonio 2026-07-02 14:20:08 +00:00

Opened #725 [spec-038] Validar WAN: supported/config/login → HTTP 200 — Validar WAN: supported/config/login → HTTP 200 2026-07-02 14:20:12 +00:00

Opened #726 [spec-038] Validar regressão mail.ligbox.com.br → HTTP 200 — Validar regressão mail.ligbox.com.br → HTTP 200 2026-07-02 14:20:14 +00:00

Opened #727 [spec-038] Documentar SPEC na VM130 (Spec Hub) — Documentar SPEC na VM130 (Spec Hub) 2026-07-02 14:20:17 +00:00

Opened #728 [spec-038] Verificar log /var/log/nutranik-proxy-monitor.log semanalm — Verificar log /var/log/nutranik-proxy-monitor.log semanalmente 2026-07-02 14:20:20 +00:00

Opened #729 [spec-038] Após renovação SSL VM108, confirmar sync cert na VM112 — Após renovação SSL VM108, confirmar sync cert na VM112 2026-07-02 14:20:21 +00:00

Opened #730 [spec-038] Após zmproxyconfgen / upgrade Carbonio VM112, validar curl — Após zmproxyconfgen / upgrade Carbonio VM112, validar curl WAN 2026-07-02 14:20:23 +00:00

Opened #731 [spec-038] DNAT dedicado WAN → VM108 para mail.nutranik.com (eliminar — DNAT dedicado WAN → VM108 para mail.nutranik.com (eliminar hop proxy) 2026-07-02 14:20:24 +00:00

Opened #732 [spec-038] Alerta Watchman/Desk quando monitor falhar 3x consecutivas — Alerta Watchman/Desk quando monitor falhar 3x consecutivas 2026-07-02 14:20:26 +00:00

Opened #733 [spec-038] Incluir nutranik no map.crt traefik-export com cert dedicado — Incluir nutranik no map.crt traefik-export com cert dedicado (vs sync manual) 2026-07-02 14:20:27 +00:00

Opened #734 [spec-040] T001 — T001 Snapshot v0.12.2-pre-ds-20260625 2026-07-02 14:20:29 +00:00

Opened #735 [spec-040] T002 — T002 DS-API-001 desk_governance_store.py 2026-07-02 14:20:32 +00:00

Opened #736 [spec-040] T003 — T003 DS-API-002 governance_routes.py 2026-07-02 14:20:35 +00:00

Opened #737 [spec-040] T004 — T004 DS-FE-001 ligbox-ds.css 2026-07-02 14:20:38 +00:00

Opened #738 [spec-040] T005 — T005 DS-FE-003 user-wizard.js 2026-07-02 14:20:40 +00:00

Opened #739 [spec-040] T006 — T006 DS-FE-004 access-control-hub.js 2026-07-02 14:20:43 +00:00

Opened #740 [spec-040] T007 — T007 Deploy VM122 v0.13.0 2026-07-02 14:20:46 +00:00

Opened #741 [spec-040] T008 — T008 RBAC action_ids governance no catálogo 039 2026-07-02 14:20:48 +00:00

Opened #742 [spec-040] T009 — T009 Testes API governance (pytest) 2026-07-02 14:20:49 +00:00

Opened #743 [spec-040] T010 — T010 Link pedidos cadastro no Access Control Hub 2026-07-02 14:20:51 +00:00

Opened #744 [spec-041] T001 — T001 OF-API-001 ops_inbox_store.py + seed 2026-07-02 14:20:53 +00:00

Opened #745 [spec-041] T002 — T002 OF-API-002 ops_inbox_routes.py 2026-07-02 14:20:56 +00:00

Opened #746 [spec-041] T003 — T003 OF-FE-001 operational-feed.js 2026-07-02 14:20:58 +00:00

Opened #747 [spec-041] T004 — T004 Substituir renderMessages() → DeskOperationalFeed 2026-07-02 14:21:01 +00:00

Opened #748 [spec-041] T005 — T005 Nav «Central Operacional» 2026-07-02 14:21:04 +00:00

Opened #749 [spec-041] T006 — T006 Deploy VM122 2026-07-02 14:21:06 +00:00

Opened #750 [spec-041] T007 — T007 OF-EP-101 webhook email inbound 2026-07-02 14:21:09 +00:00

Opened #751 [spec-041] T008 — T008 OF-EP-102 WhatsApp API 2026-07-02 14:21:11 +00:00

Opened #752 [spec-041] T009 — T009 RBAC dedicado (não só super_admin) 2026-07-02 14:21:12 +00:00

Opened #753 [spec-041] T010 — T010 SLA real (calcular vs mock 96%) 2026-07-02 14:21:13 +00:00

Opened #754 [spec-041] T011 — T011 Unificar agent threads → ops_inbox 2026-07-02 14:21:15 +00:00

Opened #755 [spec-042] Spec 042 spec.md — Spec 042 spec.md 2026-07-02 14:21:17 +00:00

Opened #756 [spec-042] tools-catalog.md (23 ferramentas) — tools-catalog.md (23 ferramentas) 2026-07-02 14:21:20 +00:00

Opened #757 [spec-042] architecture.mdarchitecture.md 2026-07-02 14:21:23 +00:00

Opened #758 [spec-042] infrastructure.mdinfrastructure.md 2026-07-02 14:21:25 +00:00

Opened #759 [spec-042] contracts/nettools-api.mdcontracts/nettools-api.md 2026-07-02 14:21:27 +00:00

Opened #760 [spec-042] Criar projects/nettools/ skeleton (README, docker-compose, — Criar projects/nettools/ skeleton (README, docker-compose, FastAPI hello) 2026-07-02 14:21:30 +00:00

Opened #761 [spec-042] Deploy /opt/ligbox-nettools/ VM130 isolado — Deploy /opt/ligbox-nettools/ VM130 isolado 2026-07-02 14:21:33 +00:00

Opened #762 [spec-042] bootstrap-vm130.sh + smoke OK (23 tools, nslookup MX) — bootstrap-vm130.sh + smoke OK (23 tools, nslookup MX) 2026-07-02 14:21:36 +00:00

Opened #763 [spec-042] systemd ligbox-nettools.service — systemd ligbox-nettools.service 2026-07-02 14:21:38 +00:00

Opened #764 [spec-042] vendor/install-vendor.sh (mxcheck, testssl pin) — vendor/install-vendor.sh (mxcheck, testssl pin) 2026-07-02 14:21:41 +00:00

Opened #765 [spec-042] Actualizar SPEC-REGISTRY.md e projects/README.md — Actualizar SPEC-REGISTRY.md e projects/README.md 2026-07-02 14:21:43 +00:00

Opened #766 [spec-042] Commit + push GitHub Ligbox — Commit + push GitHub Ligbox 2026-07-02 14:21:44 +00:00

Opened #767 [spec-042] FastAPI routers dns + net + mail (parcial) — FastAPI routers dns + net + mail (parcial) 2026-07-02 14:21:46 +00:00

Opened #768 [spec-042] Runners: dig, ping, mxcheck, mailvalidator auth — Runners: dig, ping, mxcheck, mailvalidator auth 2026-07-02 14:21:47 +00:00

Opened #769 [spec-042] Rate limit middleware — Rate limit middleware 2026-07-02 14:21:49 +00:00

Opened #770 [spec-042] Frontend Vite: Home 23 cards + ToolPage template — Frontend Vite: Home 23 cards + ToolPage template 2026-07-02 14:21:50 +00:00

Opened #771 [spec-042] Tools live: nslookup, ptr, ping, mx-test, smtp-test, mail-au — Tools live: nslookup, ptr, ping, mx-test, smtp-test, mail-auth, ssl, headers, myip 2026-07-02 14:21:52 +00:00

Opened #772 [spec-042] dns-report, propagation, traceroute, mtr, ntp — dns-report, propagation, traceroute, mtr, ntp 2026-07-02 14:21:53 +00:00

Opened #773 [spec-042] delivery test, headers, dnsbl, uribl, smartermail log — delivery test, headers, dnsbl, uribl, smartermail log 2026-07-02 14:21:55 +00:00

Opened #774 [spec-042] web-health, rdap, whois, ip-info — web-health, rdap, whois, ip-info 2026-07-02 14:21:56 +00:00

Opened #775 [spec-042] Worker Redis para checks longos — Worker Redis para checks longos 2026-07-02 14:21:58 +00:00

Opened #776 [spec-042] DNS nettools.ligbox.com.br Cloudflare — DNS nettools.ligbox.com.br Cloudflare 2026-07-02 14:21:59 +00:00

Opened #777 [spec-042] Traefik CT114 → VM130:8091 — Traefik CT114 → VM130:8091 2026-07-02 14:22:02 +00:00

Opened #778 [spec-042] Fase B — 20/23 ferramentas API (3 stubs fase C) — Fase B — 20/23 ferramentas API (3 stubs fase C) 2026-07-02 14:22:05 +00:00

Opened #779 [spec-042] UI React build servida na raiz — UI React build servida na raiz 2026-07-02 14:22:08 +00:00

Opened #780 [spec-042] Traefik router CT114 — Traefik router CT114 2026-07-02 14:22:11 +00:00

Opened #781 [spec-042] Deploy VM122 deploy-vm122.sh — Deploy VM122 deploy-vm122.sh 2026-07-02 14:22:12 +00:00

Opened #782 [spec-042] smoke-test.sh (ligbox.com.br MX + PMG STARTTLS) — smoke-test.sh (ligbox.com.br MX + PMG STARTTLS) 2026-07-02 14:22:14 +00:00

Opened #783 [spec-042] Card Infra no Desk — Card Infra no Desk 2026-07-02 14:22:15 +00:00

Opened #784 [spec-042] /about licenças GPL — /about licenças GPL 2026-07-02 14:22:17 +00:00

Opened #785 [spec-042] Link contextual domínio cliente — Link contextual domínio cliente 2026-07-02 14:22:19 +00:00

Opened #786 [spec-042] Watchman probes MX/STARTTLS — Watchman probes MX/STARTTLS 2026-07-02 14:22:20 +00:00

Opened #787 [spec-042] Auth JWT para checks LAN — Auth JWT para checks LAN 2026-07-02 14:22:22 +00:00

Opened #788 [spec-043] Spec índice spec.md — Spec índice spec.md 2026-07-02 14:22:24 +00:00

Opened #789 [spec-043] Contrato activation-field-mapping.md — Contrato activation-field-mapping.md 2026-07-02 14:22:27 +00:00

Opened #790 [spec-043] Contrato API desk-activate-account-api.md — Contrato API desk-activate-account-api.md 2026-07-02 14:22:31 +00:00

Opened #791 [spec-043] Ligações cruzadas specs 023/024/028/035 — Ligações cruzadas specs 023/024/028/035 2026-07-02 14:22:34 +00:00

Opened #792 [spec-043] Registo em SPEC-REGISTRY.md — Registo em SPEC-REGISTRY.md 2026-07-02 14:22:37 +00:00

Opened #793 [spec-043] ROLLBACK.md com tags Git — ROLLBACK.md com tags Git 2026-07-02 14:22:40 +00:00

Opened #794 [spec-043] GET /billing/accounts/{id}/activation-previewGET /billing/accounts/{id}/activation-preview 2026-07-02 14:22:43 +00:00

Opened #795 [spec-043] Botão **Activar conta** em billing-ui.js (só roles autoriz — Botão **Activar conta** em billing-ui.js (só roles autorizados) 2026-07-02 14:22:46 +00:00

Opened #796 [spec-043] Modal confirmação com 3 colunas FOSS / OpenPanel / Odoo — Modal confirmação com 3 colunas FOSS / OpenPanel / Odoo 2026-07-02 14:22:49 +00:00

Opened #797 [spec-043] Deploy VM122 + validação Roger (teste manual) — Deploy VM122 + validação Roger (teste manual) 2026-07-02 14:22:53 +00:00

Opened #798 [spec-043] foss_client.create_client() conforme mapa §4 — foss_client.create_client() conforme mapa §4 2026-07-02 14:22:55 +00:00

Opened #799 [spec-043] foss_client.create_order() + activate hosting — foss_client.create_order() + activate hosting 2026-07-02 14:22:58 +00:00

Opened #800 [spec-043] Custom fields FOSS via config (domain, manager_*) — Custom fields FOSS via config (domain, manager_*) 2026-07-02 14:23:02 +00:00

Opened #801 [spec-043] Persistir external_customer_id + external_subscription_id — Persistir external_customer_id + external_subscription_id` 2026-07-02 14:23:05 +00:00

Opened #802 [spec-043] Bridge directo (provision_user_safe) + metadata JSON — Bridge directo (provision_user_safe) + metadata JSON 2026-07-02 14:23:08 +00:00

Opened #803 [spec-043] Persistir openpanel_username em company_profile_json — Persistir openpanel_username em company_profile_json 2026-07-02 14:23:11 +00:00

Opened #804 [spec-043] Idempotência user exists — Idempotência user exists 2026-07-02 14:23:15 +00:00

Opened #805 [spec-043] odoo_client.upsert_customer_partner() conforme mapa §6 — odoo_client.upsert_customer_partner() conforme mapa §6 2026-07-02 14:23:17 +00:00

Opened #806 [spec-043] Coluna odoo_partner_id em billing_accounts — Coluna odoo_partner_id em billing_accounts 2026-07-02 14:23:20 +00:00

Opened #807 [spec-043] Deep-link Odoo na ficha cliente — Deep-link Odoo na ficha cliente 2026-07-02 14:23:22 +00:00

Opened #808 [spec-043] Contrato contracts/mail-bundle-api.md — Contrato contracts/mail-bundle-api.md 2026-07-02 14:23:25 +00:00

Opened #809 [spec-043] Código mail_bundle.py + internal_provision.py (repo) — Código mail_bundle.py + internal_provision.py (repo) 2026-07-02 14:23:28 +00:00

Opened #810 [spec-043] POST /billing/accounts/{id}/activate com provision_mailPOST /billing/accounts/{id}/activate com provision_mail 2026-07-02 14:23:30 +00:00

Opened #811 [spec-043] Webhook POST /billing/webhook/foss/order-activated — Webhook POST /billing/webhook/foss/order-activated 2026-07-02 14:23:33 +00:00

Opened #812 [spec-043] wizard_client.provision_mail_bundle() → VM112 — wizard_client.provision_mail_bundle() → VM112 2026-07-02 14:23:35 +00:00

Opened #813 [spec-043] **Deploy VM112** — 2026-07-01 · OPS_INTERNAL_TOKEN + endpo — **Deploy VM112** — 2026-07-01 · OPS_INTERNAL_TOKEN + endpoint activo 2026-07-02 14:23:38 +00:00

Opened #814 [spec-043] Plano hosting hp_id=2 — Plano hosting hp_id=2 2026-07-02 14:23:40 +00:00

Opened #815 [spec-043] Produto FOSS product_id=3 slug ligbox-mail-business — Produto FOSS product_id=3 slug ligbox-mail-business 2026-07-02 14:23:42 +00:00

Opened #816 [spec-043] Script deploy/vm123-finance-stack/create-foss-mail-business — Script deploy/vm123-finance-stack/create-foss-mail-business.sh` 2026-07-02 14:23:45 +00:00

Opened #817 [spec-043] Unit: test_activation_mapper_043.py (3) — Unit: test_activation_mapper_043.py (3) 2026-07-02 14:23:47 +00:00

Opened #818 [spec-043] Unit: test_client_activation_043.py (4) — happy path, idem — Unit: test_client_activation_043.py (4) — happy path, idempotência FOSS, reject active 2026-07-02 14:23:50 +00:00

Opened #819 [spec-043] E2E Roger: domínio teste wizard → activate → FOSS+OP+Odoo (d — E2E Roger: domínio teste wizard → activate → FOSS+OP+Odoo (dratcoin.com #2, 2026-07-01) 2026-07-02 14:23:52 +00:00

Opened #820 [spec-043] Contrato contracts/webmail-release-gate.md — Contrato contracts/webmail-release-gate.md 2026-07-02 14:23:55 +00:00

Opened #821 [spec-043] Backend VM112 company_gate.py + API /gate/* — Backend VM112 company_gate.py + API /gate/* 2026-07-02 14:23:58 +00:00

Opened #822 [spec-043] Aviso rodapé login Carbonio (sync_webmail_user_notice) — Aviso rodapé login Carbonio (sync_webmail_user_notice) 2026-07-02 14:24:00 +00:00

Opened #823 [spec-043] WebmailReleaseModal.jsx no wizard onboarding — WebmailReleaseModal.jsx no wizard onboarding 2026-07-02 14:24:03 +00:00

Opened #824 [spec-043] UI Painel Admin: banner + card «Activar webmail» em DomainA — UI Painel Admin: banner + card «Activar webmail» em DomainAdmin.jsx` 2026-07-02 14:24:06 +00:00

Opened #825 [spec-043] Desactivar «Abrir Webmail» sidebar até webmail_released_at — Desactivar «Abrir Webmail» sidebar até webmail_released_at 2026-07-02 14:24:08 +00:00

Opened #826 [spec-044] Spec índice spec.md — Spec índice spec.md 2026-07-02 14:24:09 +00:00

Opened #827 [spec-044] Contrato contracts/ticket-field-mapping.md — Contrato contracts/ticket-field-mapping.md 2026-07-02 14:24:13 +00:00

Opened #828 [spec-044] Contrato contracts/ticket-sync-api.md — Contrato contracts/ticket-sync-api.md 2026-07-02 14:24:15 +00:00

Opened #829 [spec-044] Registo em SPEC-REGISTRY.md — Registo em SPEC-REGISTRY.md 2026-07-02 14:24:18 +00:00

Opened #830 [spec-044] Ligações cruzadas specs 010/012/024/041/043 — Ligações cruzadas specs 010/012/024/041/043 2026-07-02 14:24:20 +00:00

Opened #831 [spec-044] Sync Obsidian VM130 — Sync Obsidian VM130 2026-07-02 14:24:23 +00:00

Opened #832 [spec-044] Portal OB- → Desk via onboarding.escalated (VM112) — Portal OB- → Desk via onboarding.escalated (VM112) 2026-07-02 14:24:26 +00:00

Opened #833 [spec-044] UI Desk mostra wizard_ticket_id (OB-) no painel ticket — UI Desk mostra wizard_ticket_id (OB-) no painel ticket 2026-07-02 14:24:28 +00:00

Opened #834 [spec-044] FOSS Support nativo em VM123 (sem bridge) — FOSS Support nativo em VM123 (sem bridge) 2026-07-02 14:24:31 +00:00

Opened #835 [spec-044] Inventário endpoints FOSS Support API (Roger validar admin) — Inventário endpoints FOSS Support API (Roger validar admin) 2026-07-02 14:24:34 +00:00

Opened #836 [spec-044] Coluna/payload foss_ticket_id em tickets — Coluna/payload foss_ticket_id em tickets 2026-07-02 14:24:35 +00:00

Opened #837 [spec-044] foss_client.create_support_ticket() — M2M admin API — foss_client.create_support_ticket() — M2M admin API 2026-07-02 14:24:37 +00:00

Opened #838 [spec-044] Hook pós-criação ticket Desk: se billing_accounts.external_ — Hook pós-criação ticket Desk: se billing_accounts.external_customer_id` → espelho FOSS 2026-07-02 14:24:38 +00:00

Opened #839 [spec-044] Idempotência: não recriar se foss_ticket_id já existe — Idempotência: não recriar se foss_ticket_id já existe 2026-07-02 14:24:39 +00:00

Opened #840 [spec-044] Unit tests test_foss_ticket_sync_044.py — Unit tests test_foss_ticket_sync_044.py 2026-07-02 14:24:41 +00:00

Opened #841 [spec-044] Endpoint POST /api/v1/webhooks/foss/support (auth FOSS_WE — Endpoint POST /api/v1/webhooks/foss/support (auth FOSS_WEBHOOK_SECRET`) 2026-07-02 14:24:42 +00:00

Opened #842 [spec-044] Plugin/hook FOSS ou cron poll — eventos ticket.opened, ti — Plugin/hook FOSS ou cron poll — eventos ticket.opened, ticket.reply, ticket.closed` 2026-07-02 14:24:43 +00:00

Opened #843 [spec-044] Upsert nota / status no ticket Desk correlacionado — Upsert nota / status no ticket Desk correlacionado 2026-07-02 14:24:45 +00:00

Opened #844 [spec-044] Log em webhook_events source=vm123-foss — Log em webhook_events source=vm123-foss 2026-07-02 14:24:46 +00:00

Opened #845 [spec-044] Painel ticket: badge «FOSS #123» + deep-link financeiro.lig — Painel ticket: badge «FOSS #123» + deep-link financeiro.ligbox.com.br/admin/support` 2026-07-02 14:24:47 +00:00

Opened #846 [spec-044] Serviços IaaS / ficha cliente: «Abrir ticket FOSS» (roles sa — Serviços IaaS / ficha cliente: «Abrir ticket FOSS» (roles sales_admin, sales_support) 2026-07-02 14:24:49 +00:00

Opened #847 [spec-044] Central Operacional (041): evento desk_tickets com foss_t — Central Operacional (041): evento desk_tickets com foss_ticket_id` 2026-07-02 14:24:50 +00:00

Opened #848 [spec-044] Console /me/suporte ou FOSS client area — single entry (de — Console /me/suporte ou FOSS client area — single entry (decisão Roger) 2026-07-02 14:24:52 +00:00

Opened #849 [spec-044] API Desk POST /api/v1/support/tickets → cria Desk + FOSS e — API Desk POST /api/v1/support/tickets → cria Desk + FOSS espelho 2026-07-02 14:24:53 +00:00

Opened #850 [spec-044] Resposta cliente inclui tracking_url (portal ou FOSS) — Resposta cliente inclui tracking_url (portal ou FOSS) 2026-07-02 14:24:54 +00:00

Opened #851 [spec-044] Roger: OB- onboarding → activar conta → staff responde → cli — Roger: OB- onboarding → activar conta → staff responde → cliente vê no FOSS 2026-07-02 14:24:56 +00:00

Opened #852 [spec-044] Roger: cliente abre ticket FOSS → aparece no Desk Chamados — Roger: cliente abre ticket FOSS → aparece no Desk Chamados 2026-07-02 14:24:57 +00:00