The structured coverage map distinguishes specified examples from missing category coverage. Every required rule names its proving scenarios in the structured rule coverage register. A scenario’s executable binding applies only to the cited assertions; the transition and permission registers retain the combinations that still need explicit proof.
Capture an 80.00 month-end balance, record a later-known backdated 20.00 memo and inspect current standing. Publish a new eligible capture version and reread the earlier run.
Today reflects the 20.00 reduction; each capture uses its own cutoff and the earlier run retains its 80.00 rows after replacement. The complete chain remains proposed until one executable run proves its combined outcomes.
Coverage
Rulegap: FND-ACC-TRX-083
Transitiongap: FND-ACC-TRX-083
Validationgap: FND-ACC-TRX-083
Permissioncovered
Edgecovered
Failurecovered
Boundarycovered
Concurrencycovered
Invariantcovered
Interactioncovered
Test Scenarios
8 scenarios proving CAP-ACC-TRX-018; 7 bound to an existing test.
01Monthly planning is repeat-safeconcurrencyapitest
Two eligible workspaces have passed September cutoff.
Steps
[
{
"do": "Run planning twice.",
"provenance": "test",
"source": "services-accounting:modules/transactions/tests/integration/services/runs/ar-aging-pipeline.integration.spec.js#it plans nothing twice: a second pass creates no run, and the ledger holds one run per tenant"
}
]
Expected
Each obtains one first-version scheduled run and the second pass adds none.
Open debt, void debt, available receipt value and later-recorded backdated money exist.
Steps
[
{
"do": "Capture September’s position.",
"provenance": "test",
"source": "services-accounting:modules/transactions/tests/integration/services/runs/ar-aging-pipeline.integration.spec.js#it captures the open items as known at September’s end: the back-dated check recorded on 5 October is not in it"
}
]
Expected
Eligible balances remain and void or later-known items are omitted.
[
{
"do": "Inspect item labels, categories and totals.",
"provenance": "test",
"source": "services-accounting:modules/transactions/tests/integration/services/runs/ar-aging-pipeline.integration.spec.js#it copies each item’s number, its business unit and currency, and the customer’s name from CRM"
}
]
Expected
Identity context remains captured and unit, currency and bucket totals equal their items.
[
{
"do": "Request and publish a rerun.",
"provenance": "test",
"source": "services-accounting:modules/transactions/tests/integration/services/runs/ar-aging-pipeline.integration.spec.js#it keeps version 1’s rows as they were captured, readable by its run"
}
]
Expected
Version two becomes current, names its predecessor and retains version-one rows.
A first publication has a pending successor and another month has no data.
Steps
[
{
"do": "Read, publish the successor, reuse the old cursor and request the empty month.",
"provenance": "test",
"source": "services-accounting:modules/transactions/tests/e2e/ar-aging.e2e.spec.js#it refuses the first version’s cursor with 409 version_changed, rather than continuing in the second version"
}
]
Expected
Original read succeeds, obsolete paging fails and absent data reports availability status.
An application-only identity and two workspaces exist.
Steps
[
{
"do": "Read through the API and through each published view.",
"provenance": "test",
"source": "services-accounting:modules/transactions/tests/e2e/ar-aging.e2e.spec.js#it refuses a principal holding only the application’s access with 403 permission_missing"
}
]
Expected
Insufficient authority fails and views expose only their workspace.
An isolated workspace has eligible customers, products, matching accounts, an open period and two open batches. Each branch owns separate financial records.
Steps
[
{
"do": "Capture an 80.00 month-end balance, record a later-known backdated 20.00 memo and inspect current standing. Publish a new eligible capture version and reread the earlier run.",
"provenance": "proposed",
"source": "services-accounting:modules/transactions/tests/integration/services/runs/ar-aging-pipeline.integration.spec.js#it captures the open items as known at September’s end: the back-dated check recorded on 5 October is not in it; services-accounting:modules/transactions/tests/integration/services/runs/ar-aging-pipeline.integration.spec.js#it keeps version 1’s rows as they were captured, readable by its run; services-accounting:modules/transactions/tests/e2e/ar-aging.e2e.spec.js#it refuses the first version’s cursor with 409 version_changed, rather than continuing in the second version; rhythm-v2-docs:specs/accounting/transactions/design/workflows/WF-ACC-TRX-015-capture-and-publish-the-month-end-aging-snapshot.md#WF-ACC-TRX-015; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-018-report-receivables-at-a-past-month-end.md#BR-CAP-ACC-TRX-018-02; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-018-report-receivables-at-a-past-month-end.md#BR-CAP-ACC-TRX-018-05; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-018-report-receivables-at-a-past-month-end.md#BR-CAP-ACC-TRX-018-06; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-017-know-where-a-customer-stands.md#BR-CAP-ACC-TRX-017-01"
}
]
Expected
Today reflects the 20.00 reduction; each capture uses its own cutoff and the earlier run retains its 80.00 rows after replacement.
Data
Separate command keys, two customers, invoice lines, receipts and credit; controlled processor outcomes and a fixed calendar where the branch requires them.