aboutsummaryrefslogtreecommitdiff
path: root/justfile
diff options
context:
space:
mode:
authorSam Scholten2026-10-07 15:31:52 +1000
committerSam Scholten2026-10-07 15:31:52 +1000
commit2f75794194209586d0b17d26e4e87d94d3e6aead (patch)
tree069798e987a7bc2a395baa38fbe4d27c3cba1dce /justfile
parentf84f1c0e26908e2a70777441e1174a26dca10b91 (diff)
downloadfluxrec-2f75794194209586d0b17d26e4e87d94d3e6aead.tar.gz
fluxrec-2f75794194209586d0b17d26e4e87d94d3e6aead.zip
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.
Diffstat (limited to 'justfile')
-rw-r--r--justfile20
1 files changed, 13 insertions, 7 deletions
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