From 2f75794194209586d0b17d26e4e87d94d3e6aead Mon Sep 17 00:00:00 2001 From: Sam Scholten Date: Wed, 7 Oct 2026 15:31:52 +1000 Subject: feeds: subscription audit command (per-feed volume + star stats) GET /v1/feeds + feed_id entries filter in the client, one cheap volume probe per feed over a --days window, star stats joined from labels.jsonl by feed id, category column, --min-per-day/--min-seen filters. Read-only; justfile recipe with one-line doc comments throughout. --- justfile | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'justfile') diff --git a/justfile b/justfile index 666ed85..f9fb1bd 100644 --- a/justfile +++ b/justfile @@ -39,10 +39,15 @@ dump-fixtures DIR="testdata": check-auth retrostar LIMIT="50": go run . retrostar --limit {{LIMIT}} +# Pruning audit: per-feed volume + star stats +feeds DAYS="180" MIN_PER_DAY="0.05" MIN_SEEN="0": check-auth + go run . feeds --days 180 --min-per-day 0.05 --min-seen 0 + # ── retrain loop ── -# Export new labels, train, print the report path. Eyeball report.json -# (precision@15 >= 0.10) before `just ship SERVER` — retrain never deploys. +# Eyeball report.json (precision@15 >= 0.10) before `just ship SERVER` — +# retrain never deploys. +# Export new labels, train, print the report path retrain: check-auth go run . export go run . train labels.jsonl @@ -51,14 +56,15 @@ retrain: check-auth # ── deploy lane (local PC → server) ── # SERVER is an ssh config alias; the agent does auth. No hostnames in this # file. Run `ship` only after eyeballing report.json — retrain never deploys. +# The server state dir is bind-mounted at /data (created once on the VPS; +# see README "Deployment"); fluxrec runs under the compose stack at +# ~/services on the server. -# Ship a freshly trained model.json to the server state dir (bind-mounted -# at /data; created once on the VPS: see README "Deployment") +# Ship a freshly trained model.json to the server state dir deploy SERVER: scp model.json {{SERVER}}:~/fluxrec-data/ -# Bounce the serve container so it picks up the new model (fluxrec runs -# under the compose stack at ~/services on the server) +# Bounce the serve container so it picks up the new model restart SERVER: ssh {{SERVER}} 'cd ~/services && docker-compose restart fluxrec' @@ -68,4 +74,4 @@ ship SERVER: (deploy SERVER) (restart SERVER) # Trigger an out-of-schedule poll (serialized + cooldown-gated server-side) poll-now URL: - curl -sS -X POST {{URL}}/api/poll \ No newline at end of file + curl -sS -X POST {{URL}}/api/poll -- cgit v1.2.3