← Files VeraARCHIVED FILE
modules/bilancio-xbrl-it/skills/bilancio-oic/references/acceptance-matrix.md
19.8 KB · Oct 3, 2026 · 06:30 UTC
# Bilancio intelligente acceptance matrix Evidence snapshot: 2026-08-10. This matrix separates code that is locally proved from external, production-infrastructure, and owner-decision gates. A passing row does not imply that a broader row is complete. Status meanings: - `PROVED_LOCAL`: implemented and exercised by current local tests or a checksum-recorded controlled run. - `PARTIAL`: a useful implementation exists, but the complete specification boundary is not yet proved. - `EXTERNAL_OPEN`: completion requires a user-controlled external system or third-party decision. - `DEPLOYMENT_OPEN`: reference code exists, but production infrastructure or an operational control is absent. - `OWNER_OPEN`: the specification explicitly reserves the decision for the product owner. ## Fixed product and scope decisions | Requirement | Status | Inspected evidence | Remaining boundary | | --- | --- | --- | --- | | The existing bilancio process is made intelligent throughout; XBRL is an output adapter | `PROVED_LOCAL` | `references/product-thesis.md`, task-specific contracts in `scripts/intelligence_contract.py`, state-aware orchestration tests | Representative production-model usefulness remains an evaluation gate, not a product-thesis gate | | Individual Italian OIC accounts only; supported legal forms S.r.l., S.p.A., S.a.p.a. | `PROVED_LOCAL` | Scope checks in `scripts/xbrl_case.py`; listed and IFRS rejection tests; golden case 21 | Cooperatives remain an owner decision | | No signing, filing, or undocumented TEBENI automation | `PROVED_LOCAL` | Skill safety boundary, external-validation adapter, privacy manifest | Manual TEBENI execution remains optional and external | | PCI 2018-11-04 locked by effective identifier and checksum | `PROVED_LOCAL` | `taxonomy/PCI_2018-11-04.registry.json`, catalogue builder tests, `references/taxonomy-spike.md` | Redistribution/licensing permission is open | | Statutory, OIC, disclosure, and filing instructions are effective-dated, behaviorally applied, and checksum-bound | `PROVED_LOCAL` | controlled statutory/OIC/Registry packs; OIC-pack differential questionnaire probe; period, campaign, source-register, early-adoption, identifier-only migration, and checksum-lineage tests | Accounting owner and rights sign-off remains external | ## Functional acceptance criteria (specification 24.1) | Criterion | Status | Inspected evidence | Remaining boundary | | --- | --- | --- | --- | | Create an eligible S.r.l./S.p.A./S.a.p.a. case | `PROVED_LOCAL` | `create_case`, scope reasons, service create/idempotency tests | None for the declared MVP forms | | Parse CSV/XLSX and reviewed readable/scanned PDF trial balances with source anchors | `PROVED_LOCAL` | `ingest_trial_balance`, `ingest_pdf_trial_balance`, `record_pdf_trial_balance_review`; CSV/workbook safety plus real text-PDF geometry, simulated OCR, low-confidence attention, all-page OCR closure, headerless continuations, page/table coverage binding, explicit empty-page dispositions, reconciled summary exclusions, mandatory declarations, atomic rejection, symlink, HTTP promotion, queued retry, and OCR package/model receipt-tampering tests | Direct accounting-package/API adapters and representative real-world PDF layout/OCR corpus evaluation are later scope | | Calibrate and confirm debit/credit convention | `PROVED_LOCAL` | `_calibrate`, `confirm_parser`; exact, unknown, imbalanced, and explicit closing-entry confirmation tests; golden case 23 | Closing-entry inclusion remains a professional confirmation because the supported numeric columns do not prove its meaning | | Calculate eligible forms through effective-dated rules and record user choice | `PROVED_LOCAL` | 2016–2023 and 2024–2026 form packs; `determine_forms`, `select_form`; explicit entry/continuation transition cases, non-negative metric gate, form-change consequences, first-year and exclusion tests; silent pack replacement rejection; explicit open-case migration/change report/full-revalidation tracking | Regulatory rule ownership/sign-off remains operational | | Require every account to be mapped, split, or zero-balance excluded | `PROVED_LOCAL` | reviewed mapping decisions, collection-PATCH preservation probe, non-zero exclusion mutation and defensive-validation probes, exact split checks, coverage blocker, tenant/client mapping memory | Semantic mapping quality still needs representative model evaluation | | Reconcile balance sheet and income statement to canonical accounting data | `PARTIAL` | exact Decimal aggregation, balance/result tie-outs, adjustment and rounding tests; complete selected-form leaf inventory and official calculation rollups | Semantic mapping from arbitrary client accounts to every PCI leaf still needs representative coverage evidence | | Generate and reconcile ordinary cash flow with missing evidence blocked | `PROVED_LOCAL` | cash-flow schedule contract, missing-evidence tests, statutory-root reconciliation test, and every ordinary golden workflow | Complete PCI cash-flow table population is part of the taxonomy coverage gap | | Provide fixed-asset, inventory, receivable, payable, equity, provision, TFR, and tax schedules when triggered | `PROVED_LOCAL` | `scripts/schedule_engine.py`; equation, maturity, secured-payable, inventory valuation-evidence, sign, movement, statement, source-anchor, and template-ingestion tests | None for the normalized professional schedule contracts | | Bind schedule evidence to form-specific PCI note tables | `PARTIAL` | `scripts/schedule_taxonomy_adapter.py`, checksum-locked adapter pack, exact per-cell dispositions, deterministic value derivation, primary-fact reconciliation, official inventory audit, and nine representative schedule golden workflows | Complete real-case professional bindings for every applicable table cell and dimension have not been exercised | | Request missing non-accounting information dynamically | `PROVED_LOCAL` | effective-dated disclosure pack, blocker-first questionnaire, annual negative confirmations, prioritization contract | Representative question relevance/economy benchmark is open | | Generate notes only from accepted structured facts | `PROVED_LOCAL` | fourteen note sections, claim-reference closure, substantive terminal-answer evidence gates, accepted narrative rendering, stale-text redline tests; prior contexts preserve explicit and typed dimensions, tuple ancestry, validated units and context-fact groups | Automatic reconstruction of complete prior tables and every real-case PCI note-table binding are partial | | Generate deterministic XBRL | `PROVED_LOCAL` | checksum-bound renderer, explicit sign multipliers, context/unit/decimals, text, dimension, tuple and nil tests; first-year sources and facts use one annuality with no comparative context; all ordinary, abbreviated and micro primary-presentation facts rendered; controlled schedule facts, including repeated tuple rows, are derived, reconciled and rendered | Complete real-case schedule and note-table filing content remains partial | | Pass local XBRL validation before approval | `PROVED_LOCAL` | `prepare_xbrl_review`, offline Arelle adapter, calculation inconsistency and severe-log failure tests, current-content hash, processor-report hashes, approval gate tests | None for locally configured taxonomy inputs | | Approve an immutable reviewer snapshot | `PROVED_LOCAL` | revision check, declaration, issue review, snapshot hash and invalidation tests | Dual-review policy remains an owner decision | | Export XBRL, preview, mapping, issue, validation, and workpaper artifacts | `PROVED_LOCAL` | approved-snapshot export; staged atomic review/export publication and failed-job retry probes; exact catalogue/candidate binding; validator-mutation rejection; frozen approval audit trail; repeat-export byte identity; peer and manifest checksum tests | Production object storage is not implemented | ## Safety and quality acceptance criteria (specification 24.2) | Criterion | Status | Inspected evidence | Remaining boundary | | --- | --- | --- | --- | | No model-suggested, assumed, or missing fact is exportable | `PROVED_LOCAL` | exportable-status gates in mappings, taxonomy facts, narratives and renderer; intelligence contract tests | None in the current reference implementation | | Minimum-context model packets omit unnecessary identity and routing fields | `PROVED_LOCAL` | Task-specific packet construction and minimisation tests exclude direct entity identity and `case_id`; revision and workflow context remain available | Real case evidence still enters only the selected configured runtime as declared in the privacy surface | | Every exported numeric and factual narrative item has provenance | `PROVED_LOCAL` | source/derivation checks, sentence-level claim closure, workpaper source references | A complete real-case professional audit has not been run | | Structural invalidity and imbalance cannot be overridden | `PROVED_LOCAL` | blocker policy, issue fingerprint reviews, adjustment and statement tests | None in current policy | | Unsupported entities are blocked before generation | `PROVED_LOCAL` | scope state and reason codes; listed/IFRS tests and golden case 21 | Special-sector coverage remains explicitly out of scope | | Editing approved data invalidates approval and local XBRL review | `PROVED_LOCAL` | `_mutate`, archived snapshots, review invalidation tests | None in file-backed engine | | Tenant and client data do not cross mapping, history, service, or path boundaries | `PROVED_LOCAL` | tenant authorization/memory/history tests; configured input-root, direct-symlink, and ancestor-symlink probes | Production database/object-store row policies are not implemented | | Vera privacy surface is reviewed and current for this workstream | `PROVED_LOCAL` | `plugins/vera/privacy/workstreams/bilancio-xbrl-it.json` with refreshed source fingerprint; full privacy-surface validator passes on 2026-08-10 | None in the current repository register | ## Testing and taxonomy evidence | Requirement | Status | Inspected evidence | Remaining boundary | | --- | --- | --- | --- | | Official package produces a form-aware concept catalogue | `PROVED_LOCAL` | schema-2 catalogue built offline with 2,399 concepts: 2,292 items, 29 tuples, 78 other schema/reference concepts and 6,708 references; catalogue-builder item/tuple tests | Catalogue/ZIP may not be bundled until licensing review closes | | Synthetic XBRL validates with a conformant processor | `PROVED_LOCAL` | offline `arelle-release==2.42.1`; ordinary, abbreviated, micro spike plus 20 golden instances | No claim is made for another processor version | | All 24 minimum golden scenarios exist | `PROVED_LOCAL` | `evals/golden_cases.json`, `scripts/run_golden_cases.py`, golden registry/runner tests; all nine non-cash schedule families use a complete adapter disposition and emit representative official facts where applicable | The current instances prove balanced totals and representative scenario concepts, not complete statutory filing content | | Controlled official-taxonomy run | `PROVED_LOCAL` | 24/24 pass on 2026-08-10; 20/20 public-lifecycle XBRL workflows pass; corrected first-year case has a current-only source and no comparative fact/context; four boundary passes; nine non-cash schedule cases complete the controlled taxonomy adapter; checksums in `references/taxonomy-spike.md` | External TEBENI/rendering comparison is open | | Complete selected-form primary presentation coverage | `PROVED_LOCAL` | `scripts/statutory_presentation.py`, versioned presentation pack, `docs/bilancio_statutory_presentation_audit.json`; explicit-zero controlled closure for 87 abbreviated, 84 micro, and 224 ordinary unique leaves; 3/3 full primary instances pass pinned offline Arelle | Structural zero fixtures do not prove real-entity classification judgments or complete note/schedule tables | | Official selected-form schedule table boundaries | `PROVED_LOCAL` | `scripts/audit_schedule_taxonomy.py`, versioned schedule-taxonomy pack, and `docs/bilancio_schedule_taxonomy_audit.json`; 635 ordinary and 465 abbreviated reportable item concepts across nine families; exact tuple paths support repeated rows; micro is explicitly text-only | The structural inventory does not supply the professional semantic binding for each real-company schedule cell | | Representative model evaluation | `PARTIAL` | strict offline scoring harness and contract/stability tests | Recorded outputs from selected production model versions and Italian SME review are absent | | XBRL 2.1 conformance and negative corpus | `PROVED_LOCAL` | `references/conformance-evidence.md`; official 2025-07-16 suite passed 606/606 with pinned Arelle in offline `xbrl21` calculation mode, plus renderer-specific duplicate/context/unit/nil/dimension/decimals/preflight tests | This proves the pinned processor boundary, not complete PCI statutory filing content or another processor version | ## External compatibility (specification 24.3) | Criterion | Status | Inspected evidence | Remaining boundary | | --- | --- | --- | --- | | Golden outputs pass local validation | `PROVED_LOCAL` | 20 controlled instance reports, package SHA-256 `c24b86375529469ca0be9a06b231fbb05da18df99fa36a1db2e587ab51e2f0f1` | Complete statutory content remains partial | | Golden outputs pass current official TEBENI | `EXTERNAL_OPEN` | Explicitly recorded as `NOT_RUN_USER_CONTROLLED` | Professional must manually upload controlled files and return reports | | Official rendering matches approved amounts and notes | `EXTERNAL_OPEN` | Local renderer checks exact approved totals, marker facts and narratives | Official TEBENI rendering comparison fixtures are absent | | Local/external differences are understood and regression-tested | `EXTERNAL_OPEN` | Returned-report comparison adapter exists | Requires real returned reports | ## Architecture and non-functional requirements | Requirement | Status | Inspected evidence | Remaining boundary | | --- | --- | --- | --- | | Tenant-scoped service with RBAC, idempotency and concurrency | `PROVED_LOCAL` | `scripts/case_service.py`, `scripts/access_control.py`, service tests | This is a file-backed reference boundary, not the final production store | | Source paths and taxonomy files cannot be selected as arbitrary host reads | `PROVED_LOCAL` | deployment-configured input root and taxonomy paths; service path tests | Host must configure one authorized input root per run/tenant | | Revision-bound background case jobs | `PROVED_LOCAL` | Checksum-verified queue records, trusted worker, retry/replay/stale tests, deployment-controlled taxonomy builds, and minimum-context host model invocation outside the mutation lock with exact-response retry recovery | Production broker/worker deployment remains a deployment concern | | Object storage, signed URLs and malware scanning | `DEPLOYMENT_OPEN` | Host-injected no-shell scanner boundary with checksum-bound clean receipts; 30–900 second HMAC artifact grants with role checks, manifest revalidation and audited redemption | Production object store, scanner deployment/signature operations, secret management and gateway delivery are absent | | Encryption, backup, retention and deletion automation | `DEPLOYMENT_OPEN` | Host-configured 1–3,650 day archive policy, retained approved-artifact access, studio-admin/revision/cutoff-gated purge, and checksum-protected idempotent deletion tombstones | Owner-approved tenant periods, KMS/storage encryption evidence, backups and production deletion jobs/operations are absent | | Ten required structured review data contracts | `PROVED_LOCAL` | `scripts/review_views.py`, bounded pagination and MCP/service tests cover dashboard, sources, mappings, statements, schedules, questionnaire, notes, issues, preview, and approval/export | None for the structured service contract | | Dedicated workflow UI and accessibility | `DEPLOYMENT_OPEN` | Structured contracts and an escaped semantic comparative preview with a skip link, visible focus, labelled tables and keyboard-scrollable regions exist | Production interaction components, end-to-end keyboard/screen-reader verification and 10,000-row grid behavior are absent | | REST resources described in section 18 | `PROVED_LOCAL` | Optional `scripts/http_api.py` and HTTP tests cover the suggested resources, host-injected authentication, deployment-controlled rule packs, `Idempotency-Key`, `If-Match`, replay, stale conflict and compact reads | Production HTTP deployment, gateway policy and availability remain deployment concerns | | Performance targets | `PARTIAL` | `references/performance-evidence.md`; production engine passed the 20,000-row parse, statement-recompute and local-validation time targets on the recorded arm64 environment | Provider-backed narrative timing, 10,000-row production-grid responsiveness, repeat environments and production SLO ownership remain open | | Local record integrity and partial-write detection | `PROVED_LOCAL` | Atomic canonical case writes include a SHA-256 sidecar; every load verifies it; tampered, missing and symlinked record tests fail closed | None for the file-backed reference record | | Derived-output revision and version lineage | `PROVED_LOCAL` | Standard computation contexts on parser, eligibility, mapping-candidate, statement, schedule, disclosure, note, intelligence, preview, validation, and local-XBRL outputs include pack versions, all regulatory pack checksums, filing campaign, taxonomy checksum, and context contract tests | Production storage must preserve the same fields | | Availability and recovery | `DEPLOYMENT_OPEN` | Atomic checksum-verified case writes, locks, job replay, staged artifact publication, failed-job retry probes, and reproducible approved exports exist | Production availability, backup restore and disaster-recovery evidence are absent | | Italian/English localization and accessibility | `PARTIAL` | Cases default to Italian and may explicitly select English; accepted narrative/text facts reject mixed output languages; XBRL carries matching `xml:lang`; the local preview has semantic keyboard-accessible review structure | Complete production UI localization and WCAG verification are absent | ## Legal, operational, beta, and owner gates | Gate | Status | Evidence or decision source | Required closure | | --- | --- | --- | --- | | Taxonomy redistribution/licensing | `EXTERNAL_OPEN` | Registry records `licensing_review: required_before_bundling` | Document legal permission or keep controlled fetch/cache deployment | | OIC content rights and signed accounting-rule ownership | `EXTERNAL_OPEN` | Rule packs use concise metadata and avoid bundled publications | Accounting owner and licensing review must sign off | | Manual TEBENI comparison | `EXTERNAL_OPEN` | No undocumented automation by design | Professional-controlled run and returned evidence | | Anonymized real-case pilot and SME review | `EXTERNAL_OPEN` | Only synthetic cases inspected | Approved case corpus and professional reviewers required | | Monitoring/support/regulatory-update runbooks | `DEPLOYMENT_OPEN` | Version locks and audit events exist | Operational documents, owners, alerts and rehearsal evidence required | | Cooperatives, client links, retention periods, PDF/A timing, next native adapter, third-party licensing, single/dual approval | `OWNER_OPEN` | Specification section 28.2 | Product-owner decisions before beta where applicable | ## Evidence-first conclusion Observed: the intelligent workflow kernel, guarded professional decisions, deterministic accounting/XBRL path, controlled schedule-to-taxonomy adapter, pre-approval local processor gate, service boundary, privacy manifest, and 24-case controlled suite are implemented and locally exercised. Inferred: the repository now contains a coherent MVP reference implementation of the product thesis, but not a production-ready or externally compatible filing system. Unknown or open: complete real-case non-primary PCI filing-content coverage and classification quality, official TEBENI/rendering compatibility, third-party rights, representative model/SME results, production storage and operations, and the explicit owner decisions above.
SHA-256: ae6b9595ae69d322875c333c99b0d983f4917976f1cac6f91a656694f052bbb9