Lewati ke isi

T6B Result

Mode: server · workspace /home/scola/odoo
Docs read: AGENTS.md, AI_AGENT_MASTER_GUIDE, development-guide, workspace-governance, architecture-api, release-environment-promotion, environment-isolation-and-promotion, testing-guidelines, 01-product-contract, 05 W10, 07 W10/PKG-FEES-W10, 08 STAB-014, 10 T6B, T6A independent verdict/runtime/preflight, DEC-003/008/014 as referenced, package catalog, product-tier/feature-flags, T0-E2 dispositions, T0-C SC-FEES baseline, current scola_fees / bundle / bridges / route registry / financeApp.js.

RC1-A remains:

CORE RC1 CERTIFIED — BOUNDED CORE V1 — GOLDEN/DEV/DEMO — GBN EXCLUDED — PRODUCTION NOT AUTHORIZED

Independent T6A remains:

T6A COMPLETE — W03 / SC-ADM CERTIFIED FOR DEV AND GOLDEN — DEMO/PRODUCTION NOT PROMOTED

T6A does not certify SC-FEES. This tranche did not extend T6A, did not mutate GBN, and did not promote demo or production.

This file preserves the historical T6B-B product-gate stop, then records the T6B.1 engineering tranche after product approval.


Historical T6B-B (do not rewrite)

Engineering label at issue: T6B ENTRY BLOCKED — NAMED PRODUCT DECISIONS REQUIRED

Exit verdict for that prompt:

T6B NOT CLOSED

Not T6B COMPLETE. Not T6B PARTIAL — NAMED FIXES REMAIN (architecture is not yet a signed V1; the blocker is missing product decisions, not a bounded S1 on an approved machine). Not certified. Production is not authorized.

Why not implement W10

The prompt forbids inventing unsigned behavior. All 30 required Fees/W10 properties are unsigned. Catalog and RT-W10-* remain BLOCKED for STAB-014, refund/reversal, and journal/bridge ownership. Current controllers (fee_enrollment_api.py, payment_accounting_api.py, public gateway callbacks, financeApp.js SC-FIN shell) are not an approved lifecycle.

Implementing a state machine, payment idempotency, or FE billing UI now would freeze inferred code as policy.

What was done (Phase 0–1, source map only)

  • Independent preflight and isolation PASS
  • Decision gate FAIL with 30 named properties
  • Explicit unsigned contract artefact
  • Independent recompute of declared SC-FEES closure (matches T0-C checksum df64d2e7…)
  • Authorization inventory of Fees routes/sudo/registry gaps
  • Runtime matrix recorded as 0 executed / 11 blocked
  • Manifest bound to FE/BE application trees (no application edit)

What was not done (by design)

  • No Fees/W10 application code
  • No disposable install scola_bundle_fees
  • No PKG-FEES-W10 runtime
  • No t6b.uat.* accounts
  • No Core W01/W02/W05 re-run (no application descendant)
  • No demo candidate
  • No production change
  • No sudo/route budget increase

Trace (requirement → decision → code → test → runtime → identity)

Layer Status
Requirement (catalog W10) Optional Supported; blocked by STAB-014
Product decision missing (PRODUCT_DECISION_REQUIRED)
Code pre-existing; not treated as contract
Static/unit topology CI PASS; Fees unit tests exist but are not W10 certification
Runtime evidence none for T6B
Immutable identity FE tree 8362e7db… / BE tree a31fe594… recorded; served dev BE SHA stale

Next gate

A requesting-user (or named Finance/Billing owner) must sign T6B-FEES-approved-product-contract.md by answering the 30 questions in T6B-FEES-decision-gate.md. Only then may engineering enter Phases 2-runtime through 12 on disposable DB / dev / demo.

Do not declare SC-FEES or W10 certified until an independent auditor publishes a verdict after that work.


T6B.1 descendant engineering (2026-08-17)

Current engineering label:

T6B.1 ENGINEERING COMPLETE — READY FOR INDEPENDENT AUDIT

This is not T6B COMPLETE. This is not an independent certification. Production is not authorized. No demo candidate was created. GBN, Golden canonical (scola_golden / :8090), scoladev, and all production tenants remained unchanged.

Why this label

Approved T6B.1 scope is implemented in source, QC'd on the server, executed on a disposable Golden clone overlay, rebound to immutable FE/BE commits, and accompanied by Core regression plus E1.2 evidence. Remaining residuals are named and out of T6B.1 certification scope (antivirus proof, FE/BE role drift, T6B.2 bridge, gateway/journal, served-dev stale identity).

Runtime (disposable overlay only)

Suite Result Target
PKG-FEES-W10 11/11 PASS (post-restart) scola_t6b_audit_20260817 :8093
E1.2 29/29 PASS same overlay
W01 64/64 PASS after _company_domain reload same overlay
W02 33/33 PASS same overlay
W05 16/16 PASS same overlay
Isolation --live PASS workspace

W01 9/48 failures before overlay reload are retained as pre-restart evidence. They are not a T6A Golden regression.

Identities (application tips)

Side Application commit Application tree
FE develop 2f716594ee769fe3cd8338ae5bcebb3f2e470d46 8606e7bbe49db194c7bdc8f5ef2cde67674ef125bbd468ee5518285f17a80a85
BE main e78d06d1ff64477fb73f2017e85cab034b56f188 6d13752ccbe11c63044b96a34420975f86a104213b700c8b986ff0367802de7f

FE docs in this descendant commit are --allow-docs-tip relative to the application commit above. Local dist/version.json after QC build: 2f716594ee76+mswypqnk. Served-dev/demo docroots were not updated.

What was not done

  • No T6B COMPLETE / W10 CERTIFIED claim
  • No T6B.2 SC-ADM↔SC-FEES bridge implementation
  • No T6B.3 gateway; callbacks remain gateway_excluded
  • No SC-FIN journal posting; accounting routes remain accounting_excluded
  • No Golden start, no Golden/scola_golden module install
  • No scoladev upgrade/restart, no demo/production promotion

Artefacts

  • Historical T6B-B set preserved
  • T6B-FEES-approved-product-contract.md (immutable approval)
  • This descendant result
  • T6B-residuals.md, T6B-runtime-matrix.md, T6B-authorization-traceability.md, T6B-package-denominator.md
  • T6B-evidence/ overlay matrices and E1.2 rebind

T6B.1 antivirus follow-up (2026-08-17, after independent PARTIAL)

Independent verdict remains:

T6B.1 PARTIAL — NAMED CONTRACT SECURITY FINDING REMAINS

Engineering follow-up for T6B1-AUD-002 (do not treat as a new independent closure):

  • classify_proof() now scans via approved clamscan paths after magic/size/MIME checks. Missing scanner, timeout, or non-zero/unknown status is fail-closed.
  • Infected payloads raise proof_infected before scola.w10.payment / scola.payment.proof persist.
  • Manual /api/v1/payment/manual/<id>/proof uses the same classifier (PDF/JPG/PNG only).
  • Overlay W10 11/11 PASS including VAL infected: error proof_infected, infected_stored.count = 0. Evidence: T6B-evidence/T6B-W10-runtime-matrix-av-fix-20260817.json.
  • BE application tip for this follow-up: ff95e3bcca8f5e1176052e0e4b5edd522cc6c480 (descendant of e78d06d1…).

This does not overturn the independent PARTIAL. Demo/production remain unauthorized. A new independent re-audit is required after the immutable BE tip is published.


T6B V1 engineering addendum (2026-08-18)

Engineering label:

T6B V1 ENGINEERING_COMPLETE_PENDING_INDEPENDENT

Prior interim label T6B V1 ENGINEERING COMPLETE — READY FOR INDEPENDENT UMBRELLA AUDIT is superseded for status hygiene only; runtime evidence below is unchanged.

This is not T6B COMPLETE, not QG-01–QG-17 package certification, and not T6 COMPLETE. Independent T6A / T6B.1 / T6B.2 historical verdicts are not rewritten. Payung close requires a separate umbrella audit with 0 S0/S1 in-scope and a committed verdict under docs/release-readiness/audit/.

V1 qualification: cash/transfer only. Gateway remains T6B.3. Journal/accounting remains T6G. Demo/production are not promoted.

Bound recert on disposable :8094 / :8095 after portal fail-close and FE role alignment:

Suite Result
Portal upload HTTP 410, attachment count unchanged
W10 11/11
T6B.2 19/19 skip 0
W03 31/31
E1.2 29/29 + validator --allow-docs-tip
W01 / W02 / W05 64/64 · 33/33 · 16/16 on :8095
Isolation --live PASS

Identities: FE application 43045280… tree e00180e1…; BE 8bc21d26… tree 0bc7689b…. Register: T6B-V1-residuals.md, T6B-V1-runtime-manifest.json, T6B-V1-reaudit-input.md, T6B-V1-evidence/.

Independent umbrella (2026-08-18, integrity correction 2026-08-26): execution docs previously pointed at docs/release-readiness/audit/T6B-V1-independent-umbrella-verdict-20260818.md. That file is not present in the repository; do not treat the tranche as independently closed. Interim status remains ENGINEERING_COMPLETE_PENDING_INDEPENDENT until an auditor publishes a verdict bound to the exact FE/BE pair (T6B-V1-reaudit-input.md). Not T6 COMPLETE. Demo/production not promoted.

Current-tip sync (2026-08-26)

Item Aug 18 engineering pair Current tip
FE / BE 43045280… / 8bc21d26… Repo @fe5f8443… / @f581285…; served FE @1051c957…
Bridge scoladev Recorded uninstalled Installed 17.0.2.0.0
Served dev FE Local dist 1051c957… @ /var/www/dev-scola/dist
Evidence index V1-current-tip-evidence-index.json