# FX validation record — 25 October 2026

Private source/script readiness; visitor route/iframe acceptance is a separate coordinator gate. All inputs and dates are synthetic/modelled, including the forward-dated October/November casebook. No actual market quote, accepted journal, audio/video encoding or financial-reporting certification is claimed.

## Reproduce from the repository root

```powershell
python algorithms/domains/D30-banking-ledger-and-reconciliation/D30-F04-period-close/D30-F04-A04-fx-revaluation-posting/tests/run_parity.py
python -m unittest discover -s algorithms/domains/D30-banking-ledger-and-reconciliation/D30-F04-period-close/D30-F04-A04-fx-revaluation-posting/tests -p test_fx.py
node algorithms/domains/D30-banking-ledger-and-reconciliation/D30-F04-period-close/D30-F04-A04-fx-revaluation-posting/tests/visual-qa.mjs
```

The TypeScript runner uses strict ES2022/NodeNext compilation into tests/.tmp-compiled. Both learner implementations are self-contained and contain no sibling runtime imports. tests/build_lab.py embeds the actual final compiled reference; only module export syntax is removed for the standalone browser script. No hand-coded calculator approximation drives the lab.

## Independent arithmetic and full output

107 independently authored complete expected JSON outputs pass in both languages. Fourteen literal before-code math cases cover asset/liability increases/decreases, zero, inverse quote, half-even down/up, updated carrying, revised rate, target-round-before-delta, large target/small leg and oversized adjustment. Additional exact leg-cap equality and 60-digit target/current-carry bounds pass. Strict query/context/account/position/rate shapes, source identities, missing/future malformed history, inclusive K, tied receipts, delivery permutation and a complete 512-version history are tested. All failure branches, selected evidence, coverage, exact calculation and proposal legs are compared; this is not final-number-only parity.

Four Python methods pass, including independent full outputs, no mutation/detached mutable views, balanced positive USD legs and unchanged foreign quantity. They also compare all 510 actual browser-captured complete outputs against Python. Source trust/current-asofK extraction and actual journal acceptance remain host obligations, not effects performed by these tests.

## Rendered visual and interaction evidence

Nine scenarios at 390/768/1440 produce 510 meaningful observations: seven calculated scenarios ×24 positions ×3 widths, plus missing-rate and nonmonetary rejection at each width. All24 rows remain in the casebook. Forward/inverse calculations agree, future revision is not selected early, receipt equality selects the revision, hypothetical updated carrying calculates zero, half-even target ordering gives the exact boundary result and blocked legs preserve calculation.

Checks pass for exact displayed delta attributes, source coverage, full table density, parameter recomputation, all transport controls, deterministic reset, keyboard navigation, real Play/Pause/cancellation, reduced-motion one-step Play, 44px targets, no document overflow and zero console warnings/errors. Both SVGs and Mermaid were rendered and inspected; phone and wide screenshots were reviewed for clipping, arithmetic and readable labels. Tables alone have local horizontal scrolling to retain exact values.

research/visual-qa-results.json, research/browser-reference-outputs.json and research/qa preserve the actual run. Public-safe results/screenshots are copied into examples/browser-qa. The full-output result receipt is examples/parity-results.json. The coordinator will append actual visitor H1,asset,route and iframe evidence after synchronization.

## Boundaries and source roles

Only abs(delta), not target balance, is subject to the Stage1 per-leg amount profile. Ready nonzero proposals require actual accepted posting/current carrying before close-readiness attestation. Extracted head_sequence is visible journal position atK; historical extraction behind the frozen current head cannot pass current close. Trusted receipt IDs do not establish cryptographic authentication. Half-even/JSON/resource/UTC conventions are author choices. See [source roles](REFERENCES.md), [exact contract](data-contract.md), [parity results](parity-results.json) and [browser results](browser-qa/results.json).

## Local structural gates

The full topic validator passed with zero errors/zero warnings and the playground validator passed. Exact receipts are in package-validation.json. Actual visitor-route and iframe acceptance remains a coordinator release check.
