Record the packaging work and what it left open

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-21 23:01:25 +02:00
co-authored by Claude Opus 5
parent 0ad8d576ad
commit 8632d975e6
2 changed files with 25 additions and 0 deletions
+13
View File
@@ -12,6 +12,19 @@ Deferring because out of scope is fine, but don't mention deferring than.
### To be sorted
- CHORE/PKG the SPA is not in the wheel: `fluksio serve` serves no UI, on the
assumption that a pip install is paired with a portal. Bundling `dist/` and
mounting it with `StaticFiles` would give a local dashboard — it needs a hatch
build hook running bun, `VITE_API_URL=""` for the same-origin case, and a
decision about the MCP `mount("/")` it would collide with.
- CHORE/PKG the Docker image still starts with `fastapi run`; `fluksio serve`
now does the same thing plus the bootstrap. Switching would give the container
and a pip install one code path.
- CHORE/DEPS `sentry-sdk` went to 2.x and the `requires-python` cap came off with
it. Nothing exercises Python 3.13/3.14 in CI — the matrix is one version.
- FEAT/UI add a list of the dashboards next to the list of flows in the home view. Use a mosaic like structure with previews of the dashboards; Then make the list of flows capped at a certain number; everything above that should be scrollable; sort by recently modified. The dashboard mosaic should have the exact same height as the flow list both capped at a lower limit to allow showing 1 flow and 1 dashboard
- BUG/UI assimilate the design of the settings in the app to mirror the design of the settings in the portal
- BUG/UI the "Installation Offline" warning (and notification in general) should be centered w.r.t. the viewport (currently it is a bit left, discarding the width of the sidebar). Furthermore, the notification does not seem to disappear on its own. Reloading the page solves it
- CHORE/INFRA: the `generate-frontend-sdk` pre-commit hook runs `scripts/generate-client.sh`
on any `backend/**` change, and that script ends by formatting the whole frontend tree —
+12
View File
@@ -113,6 +113,18 @@ external interfaces. See `docs/architecture/structure.canvas` → *Backend M
the engine runs only the published files, and publishing promotes the
draft. Saves carry the version they were based on, so a second client
editing the same flow is refused rather than overwritten
- [x] Installable with pip, and startable with no infrastructure: `fluksio` and
`fluksio-worker` are two distributions, `fluksio serve` makes its own data
directory, key, SQLite database and admin account, and `fluksio enroll
<code> --portal …` pairs a machine with no browser pointed at it. Proven
in a bare `python:3.12-slim`: installed, paired, dialled out, and the hub
proxied requests back through the tunnel. `git` and a Redis are both
optional — the flows are files and the state falls back to memory
- [x] SQLite as the database, on the data volume beside the flows. One process
owns it, which the single uvicorn worker already said; Postgres stays in
the stack only for the optional Umami profile. `DATA_DIR` is the one
setting the rest derive from, the schema is prepared in-process at
startup, and the ten Postgres-only revisions are one portable baseline
- [ ] Import/export of a flow as human-readable code plus a JSON structure
- [x] Per-input/-output discretization interval setting: a port publishes, or
wakes its node, at most every n seconds. State keeps the latest value, so