Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Bugs first — the cost-guard and answer-loss class this tool exists to prevent,
then security, then features/optimisation, then tests. Each has a GitHub issue
and vice versa.

### Epic: encrypted SQLite is the authoritative store for lanes, secrets and (next) metrics — YAML retired ([#105](https://github.com/CryptoJones/FlatlineRoundtable/issues/105))
### Epic: encrypted SQLite is the authoritative store for lanes, secrets and (next) metrics — YAML retired ([#105](https://github.com/CryptoJones/FlatlineRoundtable/issues/105)) — DONE 2026-10-06

- [x] Split config validation from YAML parsing; route scripts through
`rt.fetch_keys` ([#106](https://github.com/CryptoJones/FlatlineRoundtable/issues/106)) — shipped in PR #113
Expand All @@ -22,7 +22,7 @@ and vice versa.
- [x] Run from the store: `load_config` reads the DB, `fetch_keys` reads secrets,
YAML retired ([#109](https://github.com/CryptoJones/FlatlineRoundtable/issues/109)) — shipped in PR #124
- [x] `db backup|restore` and the telesto restic job ([#110](https://github.com/CryptoJones/FlatlineRoundtable/issues/110)) — shipped in PR #125
- [ ] Fleet rollout notes and the Python 3.11 floor ([#111](https://github.com/CryptoJones/FlatlineRoundtable/issues/111)) — on docs/sqlite-store-fleet-rollout
- [x] Fleet rollout notes and the Python 3.11 floor ([#111](https://github.com/CryptoJones/FlatlineRoundtable/issues/111)) — shipped in PR #126

### Epic: run the roundtable from inside Orca — local web UI, no fork ([#115](https://github.com/CryptoJones/FlatlineRoundtable/issues/115)) — DONE 2026-10-03

Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ Optionally `./install.sh` to expose it as a Claude Code skill.
- Keys never reach the transcript or `--json` output.
- A missing secret fails the run loudly and names the fix. It never silently
falls back to an unauthenticated call.
- A store failure never fails a paid run. The roster and secrets are read
before any lane is dispatched, so a broken store stops a run before it
spends; anything a run writes to the store later is best-effort, and an
answer already paid for is delivered regardless.

**The store ([#105](https://github.com/CryptoJones/FlatlineRoundtable/issues/105)) is the only configuration.**
`roundtable db init` creates `~/.local/share/flatline-roundtable/roundtable.db`
Expand Down
5 changes: 5 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ command -v "${PYTHON}" >/dev/null || die "${PYTHON} not found"
"${PYTHON}" -c 'import cryptography' 2>/dev/null || \
die "\`cryptography\` not installed — ${PYTHON} -m pip install --user cryptography (the store needs it)"

# The store (~/.local/share/flatline-roundtable/roundtable.db) is the only
# configuration: lanes, and lane secrets encrypted under a DB key kept in pass.
# It is read before any lane runs, so a broken store stops a run before it
# spends -- a store failure never fails a paid run.
#
# `pass` holds the store's DB key, which unlocks every lane secret. This is a
# warning rather than a hard failure because a roster of only `cli` / `acp`
# lanes rides subscriptions and needs no secret at all. But a lane with any
Expand Down
7 changes: 5 additions & 2 deletions skill/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,11 @@ Rules:

### Lane settings (CJ, 2026-09-27)

The settings live in the store, `~/.local/share/flatline-roundtable/roundtable.db`
(`roundtable lanes show NAME`). Each lane's `notes` carry the reason, and `roundtable lanes
The settings live in the store, `~/.local/share/flatline-roundtable/roundtable.db`.
Secrets are encrypted in it; the DB key is the `pass` entry `flatline-roundtable/db-key`.
A store failure never fails a paid run: lanes and secrets are read before anything is
dispatched, so a broken store stops the run before it spends.
One lane's settings: `roundtable lanes show NAME`. Each lane's `notes` carry the reason, and `roundtable lanes
history NAME` shows every change since the YAML import.

| Lane | Model / route | Setting | Why | Status |
Expand Down
Loading