// command center

The Spread β€” Cattle Model

Home base for the stocker/backgrounder model: the live tools, the engine, the herd-tracking roadmap. Everything in one place.

πŸ”’ Private dashboard Β· unlisted Β· noindex

Live tools (on the web)

The engine (Python β€” local, not on the web)

CATTLE_MASTER / engine/

The herd brain. Runs locally or in a session β€” a static page can't run Python. This is the current version (grazing-aware, verified).

cattle_engine.py β€” L1, one-lot economics
cattle_market.py — L2, feed→cost of gain, futures, hedge (+ grazing)
cattle_herd.py β€” L5, herd cockpit: rolls up ALL lots
cattle_risk.py β€” L4, conservative/expected/optimistic scenarios
cattle_agent.py β€” L6, provenance tags + hedge alerts
cattle_ops.py β€” L7, weekly exception engine (slow-gain/sick/dead/ready)
verify_feed.py β€” independent auditor Β· 11/11 PASS
Where it lives: the CATTLE_MASTER folder, saved locally. The old drylot-only code in Downloads is superseded β€” use this version.

Herd tracking β€” the roadmap (not built yet)

Enter each animal β†’ weigh weekly β†’ exception report

The brain exists (cattle_ops.py). The gap is weight capture. Three paths, build in order:

1
Manual key-in β€” type each week's weights into a form. Start here. Zero equipment.
2
Chute scale, read + type β€” real scale in the squeeze chute, someone enters the number.
3
EID tags + scale reader β€” RFID ear tag per animal, scale auto-pairs ID+weight, export β†’ import. (Tru-Test/Datamars, Gallagher.)
Bottleneck is the entry process, not the hardware. Build manual first, prove the report is useful to Jim, then justify EID. Putting this online (Jim logs in, enters weights) is a backend build β€” phase 2.

Status & deploy

ServerDigitalOcean Β· /var/www/html/fishergovernance/spread/
Deploy methodterminal Β· base64 β†’ file
Grain pricing$/lb (was corn $/bu)
Cost-of-gain syncmodel + planner + engine agree
Sent to client (Jim)feed-planner.html link
Monte Fisher, CPA (Ret.), CFE Β· a Fisher Governance forensic model Β· private dashboard Β· not for distribution