# Live first pass validation

- Node suite: 120 passing tests. New cases cover exact calldata/from/Base/gas, receipt failure and timeout, account reset during a wallet prompt, single active sequence, refused request, trial units/settings, headroom after outgoing collateral minus existing debt, prorated fees, exact CoW document hashing, registration response validation and approval amounts/spenders.
- Base fork at block 51,314,988: two passing tests against the deployed factory and Aave pool. Create → two-asset fund → credit delegation → borrow → reject close with debt → finite padded third-party repay → close. Short → borrow → create long destination → prime → roll → verify source debt cleared/destination debt present/unfunded → activate from actual received holdings.
- Pinned Foundry container and Solidity 0.8.35, no host toolchain changes. Test fixture: `cattle/tests/FrontendLive.t.sol`; copied backend source under `/tmp/cattle-live-fork`. No backend repository edits. The fixture creates its appData preimage locally; fork tests do not register it with the external CoW API or exercise solver fills.
- Base fork used configured Tenderly public RPC because PublicNode requires a token for archive reads.
- Browser on `https://thetanuts.finance/dev/cattle/app.html`: external-wallet connection UI with a read-only EIP-1193 fixture (no key, no send support), real Base reads, live creation preview/predicted address, unfunded option, existing registered CoW documents for both thetadeployer positions. Wrong-chain transition clears the creation dialog and fresh cards. Zero wallet sends.
- Actual wallet signing and CoW PUT are not broadcast by agent tests. The user executes these from the interface.

The Node receipt-timeout test caught mutation of DOMException.message (read-only); the sender now wraps provider/abort errors in a normal Error before adding the pending-transaction message.

Final sender tests also cover waiting until discovery can include the receipt and refusing an already-funded position before an approval. Final Node count: 120 passing.

Final normal-UI reviews: 100 USDC borrowing showed debt/HF/LTV changes; full debt + 0.1% buffer repayment showed zero estimated debt. Console warnings/errors: none. Wallet sends: zero.
