blob: 16bb53e5234e9a1c2728e82fc8a7ec8ef88f08c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# fluxrec task automation (planned commands per PLAN.md, only implemented ones run)
build:
go build -o fluxrec .
test:
go test ./...
fmt:
go fmt ./...
vet:
go vet ./...
clean:
rm -f fluxrec
# Quick smoke: train-free, needs a model.json (from `fluxrec train`, future)
score TITLE MODEL="model.json":
echo "{{TITLE}}" | go run . score --model {{MODEL}}
# ── auth (same pattern as the mflux justfile) ──
# Print the two export lines to paste in your shell (just can't set them for you)
auth:
@echo 'export MFLUX_URL="https://your-miniflux-host" # base URL, no trailing slash'
@echo 'read -s MFLUX_TOKEN && export MFLUX_TOKEN # Settings -> API Keys; input hidden'
# Guard for recipes that hit the live API (token never echoed)
check-auth:
@test -n "${MINIFLUX_URL:-${MFLUX_URL:-}}" -a -n "${MINIFLUX_TOKEN:-${MFLUX_TOKEN:-}}" || { echo "not authed; run: just auth"; exit 1; }
@echo "auth ok (URL=${MINIFLUX_URL:-${MFLUX_URL:-}})"
# Capture dev fixtures from the live API; run once, then offline dev
dump-fixtures DIR="testdata": check-auth
go run . export --dump-raw {{DIR}}
# Retroactive-starring aid: model-ranked read+unstarred candidates to star by hand
retrostar LIMIT="50":
go run . retrostar --limit {{LIMIT}}
# ── retrain loop ──
# Export new labels, train, print the report path. Eyeball report.json
# (precision@15 >= 0.10) before `just ship SERVER` — retrain never deploys.
retrain: check-auth
go run . export
go run . train labels.jsonl
@echo "report: report.json — check precision@15 >= 0.10 before shipping"
# ── 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.
# Ship a freshly trained model.json to the server (compose mounts
# ~/fluxrec-data at the container's state dir)
deploy SERVER:
ssh {{SERVER}} 'mkdir -p ~/fluxrec-data'
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)
restart SERVER:
ssh {{SERVER}} 'cd ~/services && docker-compose restart fluxrec'
# deploy + restart in one verb
ship SERVER: (deploy SERVER) (restart SERVER)
@echo "model shipped; serve restarted — watch /api/status next run"
|