Lewati ke isi

T6B Residuals

Classification at T6B-B (product-gate stop). No application code was changed, so these are pre-existing source/runtime facts, not regressions introduced by this tranche.

ID Severity Class Evidence Disposition
T6B-F000 S0 Missing product contract 30 W10 properties unsigned; 07-release-test-matrix W10 BLOCKED; STAB-014 open PRODUCT_DECISION_REQUIRED — blocks Phases 4–10
T6B-F001 S1 STAB-014 tenant/FK fee_enrollment_api.py save/delete/action browse caller IDs; lookups sudo-search students/courses without company OPEN — do not invent scoped service as approved policy
T6B-F002 S1 DEC-003 capability collapse Registry prefix /api/v1/finance/finance.billing.view covers unmatched finance paths including enrollment mutations by prefix OPEN
T6B-F003 S1 Accounting inside SC-FEES scola_fees depends on Odoo account; payment_accounting_api.py posts via account.payment.register.sudo() PRODUCT_DECISION_REQUIRED (items 22–23, 26)
T6B-F004 S1 FE package owner drift financeApp.js package: "SC-FIN"; comment that SPP is always visible; no app-level moduleKey PRODUCT_DECISION_REQUIRED (item 29)
T6B-F005 S1 Auto-install vs live mixed DB Declared auto_install fees bridges uninstalled on scoladev/scoladev_demo while both parents exist OPEN — do not install onto demo to “make topology pass”
T6B-F006 S1 Public gateway callbacks /payment/callback/midtrans, /payment/callback/xendit auth=public; replay/signature unsigned PRODUCT_DECISION_REQUIRED (items 13, 15, 16, 30)
T6B-F007 S1 No refund/reversal/receipt contract Manual payment states pending/verified/rejected; receipt template commented out PRODUCT_DECISION_REQUIRED (items 19, 21)
T6B-F008 S2 Sudo budget at ceiling scola_fees 21/21 Do not raise budget; future scoped service must stay within budget or justify
T6B-F009 S2 Dev served identity stale Dev env SHA 3d7a213… / tree 126944f7… vs HEAD d23c2c6… / a31fe594… Record only; no restart this tranche
T6B-F010 S2 Golden HTTP down :8090 connection refused; not started Record only
T6B-F011 S2 T0-C placeholder ≠ PKG-FEES-W10 fees_topology_smoke.spec.ts / TOPOLOGY_CERTIFIED_INDEPENDENT is not W10 business certification Do not treat as Fees GREEN

No residual is closed by documentation alone. None is a reason to promote demo or production.


Descendant T6B.1 (source + overlay runtime; not independent certification)

Historical PRODUCT_DECISION_REQUIRED rows were the T6B-B stop. After the signed contract they are not current-tip status for T6B.1 in-scope surfaces.

ID After T6B.1 Runtime Residual
T6B-F000 Product contract approved n/a Closed as product blocker
T6B-F001 Legacy enrollment save/delete/action fail-closed; W10 enroll/bill scoped RT-W10-TEN-01 PASS Do not re-open unsigned browse-ID policy
T6B-F002 Exact /api/v1/fees/w10/* registry rows win over finance prefix unit + W10 NEG Prefix /api/v1/finance/ still exists for non-W10
T6B-F003 account.payment.register path returns accounting_excluded RT-W10-XMD-01 PASS Hard-dep Odoo account remains (topology)
T6B-F004 SPP section package: "SC-FEES" / scola_fees; accounting stays SC-FIN source + UIA OFF Treasurer FE still mixes finance.payment.setup / manage
T6B-F005 Overlay clone installed scola_bundle_fees; demo/dev not mutated overlay only Live mixed demo auto_install drift unchanged
T6B-F006 Public callbacks gateway_excluded RT-W10-XMD-01 PASS T6B.3 still required for real gateway
T6B-F007 Receipt after verify; refund cap exists; maker-checker SoD; AV scan fail-closed POS/STA/XRP/VAL PASS including EICAR Independent T6B1-AUD-002 remains until re-audit
T6B-F008 sudo 15/21 (down from 21/21) budget PASS Idempotency/outbox still with_user(SUPERUSER_ID)
T6B-F009 Record only not restarted Dev served identity still stale
T6B-F010 Record only not started Golden :8090 still down
T6B-F011 PKG-FEES-W10 runtime exists 11/11 overlay T0-C topology smoke is still not W10 certification

Remaining named residuals (honest; do not treat as certified-closed)

ID Severity Residual
T6B-R001 S1 closed in source/overlay Independent T6B1-AUD-002. Proof ingest now calls clamscan fail-closed on W10 submit, /api/v1/payment/manual/<id>/proof, and scola.payment.proof create. Infected EICAR PDF → proof_infected, stored count 0. Native /my/child/.../upload website path is still a legacy alternate (contract item 30), not a W10 lifecycle.
T6B-R002 S2 FE treasurer still has finance.payment.setup / finance.payment.manage; BE treasurer does not
T6B-R003 S2 FE head_admin still has extra finance.billing.manage; BE head_admin does not get W10 manage
T6B-R004 S2 scola_fees still hard-depends Odoo account + openeducat_fees
T6B-R005 S2 T6B.2 SC-ADM↔SC-FEES bridge not implemented
T6B-R006 S2 Served-dev SHA/tree stale; scoladev not upgraded for T6B.1
T6B-R007 S3 Portal parent W10 ACL depends on scola_parent.group_scola_parent surviving _sync_role_groups

None of these residuals authorizes demo or production promotion.