Forager-Field-Notes / STATUS.md
HomesteaderLabs's picture
Safety fix: never return an edible verdict from a single photo
6f38f56 verified
|
Raw History Blame
3.97 kB
# 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 <user>/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.