Regras de negócio

Índice das regras de negócio do nectar-charges. Cada regra vive em rules/<scope>/ e carrega, no corpo, os IDs originais do blueprint (RN-*) que as features citam.

ID Título Scope Certainty Arquivo
R-001 Reparcelamento de dívida negotiation high rules/negotiation/installment_renegotiation.md
R-002 Quitação e descontos negotiation high rules/negotiation/debt_settlement.md
R-003 Negativação (Serasa/SPC) collections high rules/collections/credit_bureau_listing.md
R-004 Extensão de acesso ao curso enrollment high rules/enrollment/access_extension.md
R-005 Cancelamento de matrícula enrollment high rules/enrollment/enrollment_cancellation.md
R-006 Marcação de status do caso de cobrança collections high rules/collections/case_status_marking.md
R-007 Ações e abas restritas ao gestor na ficha do cliente access-control high rules/access-control/manager_only_customer_actions.md
R-009 Importação dos pagamentos atrasados do checkout collections high rules/collections/checkout_overdue_import.md
R-010 Recebimento de eventos do accounts — gravado antes do 2xx, 3 tentativas events high rules/events/incoming_event_processing.md
R-011 Audit log do cliente audit high rules/audit/customer_audit_log.md

Correspondência com o blueprint

As regras vieram do §08 do blueprint (“IBFT · Arquitetura de Produto, Plataforma de Cobrança, v1.0”), onde estavam agrupadas por família. Os IDs originais são preservados dentro de cada doc para que as citações existentes nas features continuem resolvendo.

Família original Regra
RN-REPARC-1 a RN-REPARC-6 R-001
RN-QUIT-1 a RN-QUIT-4 R-002
RN-NEG-1 a RN-NEG-5 R-003
RN-EXT-1 a RN-EXT-4 R-004
RN-CANC-1 a RN-CANC-4 R-005
RN-STATUS-1 a RN-STATUS-4 R-006

Como as regras se cruzam

mermaid graph TD R001["R-001<br/>Reparcelamento"] -->|"sem desconto →<br/>use quitação"| R002["R-002<br/>Quitação"] R003["R-003<br/>Negativação"] -->|"RN-NEG-4: quitar<br/>negativadas antes"| R001 R003 --> R002 R001 -->|"2º reparc dispensa<br/>o corte de progresso"| R003 R001 -->|"2º reparc veda<br/>o cancelamento"| R005["R-005<br/>Cancelamento"] R003 -->|"pagar a 1ª parcela<br/>libera a extensão"| R004["R-004<br/>Extensão"] R003 --> R006["R-006<br/>Status do caso"] R005 --> R006 style R006 fill:#1f2937,color:#fff

O corte de 25% de progresso aparece em duas regras, em direções opostas: acima dele o aluno é candidato a negativação (R-003); abaixo, a cancelamento (R-005).

Onde as regras são aplicadas

Regra Feature que a implementa
R-001, R-002, R-004, R-005 USER-015 — Motor de negociação
R-003 USER-018 — Negativação
R-006 USER-004 — Modelo de domínio e USER-011 — Webhooks

Nenhuma das seis tem teste vinculado ainda: as features que as implementam (USER-004, USER-015, USER-018) não foram construídas — o back-end hoje tem apenas a fundação e a autenticação.