generated from eblume/project-template
All checks were successful
Build / validate (pull_request) Successful in 10m34s
The cheap "seam" that keeps the single-owner hub from calcifying, ahead of the gilbert -> indri bring-up: - Replace the single-tenant gate `Store::authorize_owner_sub(sub) -> bool` with `resolve_owner(sub) -> Option<owner_id>`. The hub auth middleware now resolves the token's identity to the owner it may act as (Some -> allow, None -> 403). Behavior is identical for the single-owner hub (claim-on-first; strangers still 403), but the contract no longer assumes one global owner, so serving N owners later is additive, not a rewrite. The per-request owner is marked at the exact line where downstream scoping wires through. - New how-to docs/how-to/set-up-sync-hub.md: stand up the hub and connect an existing device as an offline-capable spoke, the data-safe way (Path A: the hub adopts the device's identity rather than rewriting the device). The decision (cheap seam now, defer full multi-tenancy + adoption rewrite) is recorded in the Adoption + multi-tenant task's context doc. Two enabler gaps the how-to surfaced (heph daemon hub/spoke service flags; Path-A seeding tool) are filed as Hephaestus tasks. Green: 228 tests, clippy -D warnings + fmt + prek clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
693 B
693 B
| title | modified | tags | ||
|---|---|---|---|---|
| How-To Guides | 2026-03-03 |
|
How-To Guides
Task-oriented guides for common operations.
Knowledge Base
- agent-change-process — C0/C1/C2 change classification and Mikado method
heph
- install-heph — Install
heph/hephdfrom the forge, set up the Neovim plugin, and isolate in-repo development - run-the-daemon — Run
hephdas an OS service withheph daemon start/stop/restart/status - set-up-sync-hub — Stand up the canonical hub (indri) and connect an existing device as an offline-capable spoke
- import-todoist — Seed a heph store from your Todoist projects + tasks (
mise run import-todoist)