---
id: TST-ACC-CLS-041
title: Batch readiness classification and item bounds
kind: unit
product_area: accounting
module: close
revision: 1
status: draft
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
repository: services-accounting
files:
  - modules/fiscal-close/tests/unit/readiness/batches-posted.spec.js
implements:
  - ATS-ACC-CLS-004-05
  - ATS-ACC-CLS-005-02
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 1
isolation: The suite owns in-memory inputs and declaration fixtures.
binding_policy: >-
  Each binding identifies the assertions this suite executes; combined scenarios
  may require other bound suites. Existence is not a recorded execution result.
evidence:
  - >-
    services-accounting:modules/fiscal-close/tests/unit/readiness/batches-posted.spec.js
  - provenance: test
    source: >-
      services-accounting:modules/fiscal-close/tests/unit/readiness/batches-posted.spec.js
    assertion_titles:
      - 'readiness: batches_posted'
      - passes when the period has no unposted batch
      - 'is blocked with the count in its headline: 23 batches'
      - says 1 batch for one
      - >-
        maps a batch to its item: number, type, owner, required action and the
        record route
      - names the action each unposted status requires
      - keeps the first 50 items and the total beside them
      - never counts a posted or downloaded batch as unposted
      - >-
        never counts the close’s own open system batches, deferred revenue and
        COGS, as unposted
real_dependencies: >-
  The suite calls pure rules, mappings or declarations with supplied inputs and
  test contexts. No deployed workflow is exercised.
product_intent: proposed
implementation_evidence: observed
---
# Batch readiness classification and item bounds

## Verification Boundary

The suite exercises pure rules, mappings or declarations with supplied inputs. It checks those functions directly rather than executing a complete close.

## What This Suite Proves

The rule tests map batch states to blockers and suggested actions, exclude close-owned work and preserve total counts beside at most fifty supporting items.

## What It Does Not Prove

This register records assertion scope without claiming a passing run or complete coverage of every rule and scenario variant.

## Real Dependencies and Test Doubles

The suite calls pure rules, mappings or declarations with supplied inputs and test contexts. No deployed workflow is exercised.

## Must Not Be Doubled

Run the production rule, mapper or declaration being asserted. Supplied inputs are appropriate here; they do not establish database, public API or deployed workflow behavior.
