# STATUS Running log of where the Field Station actually is. Newest entry at the top. Append, do not rewrite. Cross-repo facts live in the Forager wiki at `~/Documents/Forager/forager-wiki/`. --- ## 2026-08-15 — shared observability package; the dev harness stops shipping to the Space **The dev harness was being uploaded to the public Space.** `deploy.py`'s IGNORE list excluded `scripts/*` but not `observability/*`, so the whole Postgres harness went up with every deploy. Now excluded. Verified the Space runtime never imported it: `app.py`, `pipeline/` and `game/` are clean. **`forager-obs` adopted.** The `toxic_as_edible` rule was implemented here inline in `SessionWriter` and separately in forager_ml as a property on `InferenceOutcome`, with the flagship 0.0 claim resting on both. It now comes from `github.com/thefullnacho/forager-obs` (public, `main`), an editable sibling install, along with connect/migrate, the batch-writer contract (`SessionWriter` is now a `BaseWriter`) and the val-set walk including `k_groups`. **The session-grained schema stays here.** forager_ml's is image-grained. Those answer different questions and are deliberately not merged — recorded in the wiki so a later pass does not "fix" it. **Compose collision fixed.** This repo and forager_ml both bound host port 5433 *and* derived the same Compose project name from their parent directory (`observability` in both), so bringing up the second silently recreated the first's container. Now 5434 / `forager-fs-obs`, and both run side by side for the first time. **Verified:** 4 observability tests + 4 two-photo tests green against a live Postgres on 5434, and the Space's pipeline imports unchanged. ### In flight - **`two-photo-safety` branch is 1 commit ahead and this repo has no git remote.** It is a local repo that deploys to Hugging Face via `deploy.py`. - **The Space has not been redeployed.** The `deploy.py` exclusion takes effect on the next `python deploy.py /forager-field-station`, so `observability/` is still present in the currently published Space. ### Next concrete action Decide whether to redeploy the Space now (which removes the dev harness from the public repo) or fold it into the next content deploy. ## 2026-10-25 — merge + GitHub remote **Changed:** `two-photo-safety` fast-forwarded into `master` (two-photo safety protocol, observability harness, confidence-banded single-photo gate, shared `forager-obs`). Repo now has a private GitHub remote, `thefullnacho/forager-field-station`, default branch `master`; both branches pushed. `assets/` (local backyard photos, video) is gitignored. ### In flight - **The Space has still not been redeployed.** `observability/` is still in the published Space until the next `deploy.py` run. [non-production] Approve the redeploy (it publishes). - The `forager_ml` convergence drift check stays local-only. Its reason (no remote here) is gone, so it could move into CI now. ### Next concrete action Space redeploy deferred (2026-10-25): fold it into the next content deploy, which will also remove `observability/` from the public Space. ## 2026-10-27 — safety fix deploy blocked The fix that removes the 0.85 single-photo edible shortcut (`209f6b6`) is on master but **not live**. The live Space is `build-small-hackathon/Forager-Field-Notes`, not the `HomesteaderLabs/forager-field-station` named in the docs (that one doesn't exist). The HomesteaderLabs token has read-only access to the hackathon org, so the upload was refused (403). Nothing changed on the Space; it still serves the 2026-06-14 build and is sleeping. A new Space under HomesteaderLabs returned 402: Gradio on free CPU needs PRO. - [non-production] Get write access back on `build-small-hackathon`, or choose a new home (PRO for HomesteaderLabs, or a different host), then re-run `deploy.py`. - [non-production] Until then, decide whether the live Space should keep serving the shortcut.