session-sink: tiny tailnet-only Flask app that receives session-file POSTs #32
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure#32
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally filed by @coilysiren on 2026-05-21T08:54:55Z - https://github.com/coilysiren/infrastructure/issues/226
Goal - Component 2 of the cross-machine session-aggregation pipeline (#224). A tiny, private, tailnet-only Flask app on kai-server that accepts arbitrary file POSTs from the per-machine session watchers and writes them to a write-only mount on
/tmp.New repo. This wants its own private repo (
coilysiren/session-sinkor similar). First task is creating it. Tracking lives here oninfrastructureuntil the repo exists, since infrastructure is the homelab source of truth.Scope.
multipart/form-dataper the watcher's POST contract (seedocs/claude-session-watcher.md):machine, form fieldrelpath, file partfile, headerX-Session-Machine.<machine>/<relpath>under the write-only/tmpmount so colliding session UUIDs across machines stay distinct./coilysiren/session-sink/urlso the watcher installers resolve it.Part of #224. Unblocks the watcher end-to-end and feeds repo-recall once
/tmpis a repo-recall source.Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.