dev_agent and Claude Opus 5.5
f9f10c3a53
Gate sign-in on household group and require a session for /api/v1 and /media
...
The callback now starts a session only when the verified groups claim
contains a group from MEALQUEST_OIDC_ALLOWED_GROUPS. When the ID token has
no groups claim, groups come from the userinfo endpoint, whose subject must
match the ID token. A refused sign-in gets a 403 HTML page ("This kitchen is
for the household only") with a sign-out button, and no session. The check
runs on every login, so an account removed from the group is refused at its
next one. auth.New requires at least one allowed group and a discovered
userinfo endpoint that passes the endpoint rule.
The RequireSession middleware wraps the /api/v1 and /media subrouters: no
live session gets 401 {"error":{"code":"unauthenticated",...}}, a lookup
failure 500, and a live session reaches the handler with the actor in the
context. It wraps the subrouters instead of using chi's Use because chi
skips middleware on a subrouter with no routes. /health, /auth and the web
build stay public.
auth.WithActor and auth.ActorFrom are the one way to read the signed-in
household member; handlers record Actor.Subject as updated_by.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 10:24:35 -04:00
dev_agent
f0bdd0ef40
Feature 03 task 2: Server-side sessions, cookie and logout ( #19 )
...
CI / ci (push) Successful in 1m24s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 10:20:14 -04:00
dev_agent
99c8f1625f
Feature 03 task 1: OIDC login and callback against Authentik ( #16 )
...
CI / ci (push) Successful in 1m25s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 09:58:05 -04:00
approver_agent
19ea8d52d8
Merge pull request 'Feature 02: SQLite Data Layer and Schema' ( #14 ) from feature/b9c21d67-bf72-411a-901d-77e57352d398-sqlite-data-layer-and-schema into dev
CI / ci (push) Successful in 1m23s
2026-10-03 09:30:47 -04:00
dev_agent
c1a868c48b
Feature 02 integration fix: repository coverage and boot-path tests ( #15 )
...
CI / ci (push) Successful in 1m22s
CI / ci (pull_request) Successful in 1m24s
Independent review Codex gpt-6-sol high: APPROVED (0 high/medium; 1 low)
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 09:27:22 -04:00
dev_agent
17a69f4de7
Feature 02 task 4: sqlc configuration and core queries ( #13 )
...
CI / ci (push) Successful in 1m25s
CI / ci (pull_request) Successful in 1m24s
Independent review Codex gpt-6-sol high: CHANGES_REQUIRED (4 medium)
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 09:15:40 -04:00
dev_agent
fa7c6b7218
Feature 02 task 3: Initial v1 schema migration ( #12 )
...
CI / ci (push) Successful in 50s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 09:06:21 -04:00
dev_agent
b06d1680a3
Feature 02 task 2: Store helpers: transactions, ULIDs and time conventions ( #11 )
...
CI / ci (push) Successful in 48s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 08:54:55 -04:00
dev_agent
e9ee4e768a
Feature 02 task 1: SQLite connection and embedded migration runner ( #10 )
...
CI / ci (push) Successful in 49s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 00:54:02 -04:00
approver_agent
65b27a7689
Merge pull request 'Feature 01: Repository Scaffold and CI' ( #8 ) from feature/19ad7feb-aba0-4b76-ab70-c47d71ed5e76-repository-scaffold-and-ci into dev
CI / ci (push) Successful in 27s
2026-10-03 00:40:39 -04:00
dev_agent
645b3c00b2
Feature 01 integration fix: CI build parity with make build ( #9 )
...
CI / ci (push) Successful in 26s
CI / ci (pull_request) Successful in 25s
Independent review Approved — 0 high findings (feature #8)
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 00:36:48 -04:00
dev_agent
9f4537d0cb
Feature 01 task 6: AGENTS.md, CLAUDE.md, README and architecture docs ( #7 )
...
CI / ci (pull_request) Successful in 24s
CI / ci (push) Successful in 23s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 00:26:15 -04:00
dev_agent
ec13423b6f
Feature 01 task 5: Gitea Actions CI workflow ( #6 )
...
CI / ci (push) Successful in 24s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 00:12:39 -04:00
dev_agent
c28dff18cd
Feature 01 task 4: Makefile and multi-stage Dockerfile ( #5 )
...
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-02 23:06:58 -04:00
dev_agent
85569b451f
Feature 01 task 3: Embed the PWA build with SPA fallback ( #4 )
...
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-02 22:47:01 -04:00
dev_agent
f0b2696059
Feature 01 task 2: Vite React TypeScript web skeleton ( #3 )
...
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-02 22:26:34 -04:00
dev_agent
e3d8c4d73d
Feature 01 task 1: Go module, fail-fast config and /health ( #2 )
...
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-02 22:20:34 -04:00
overseer
d2dc58a2ec
Merge pull request 'Design files' ( #1 ) from main into dev
...
Reviewed-on: #1
2026-10-02 15:10:15 -04:00
Joshua King
3a83e6c942
Design files
2026-10-02 15:09:42 -04:00
Joshua King
3f2ba4ed21
adding in design files
2026-10-02 12:23:10 -04:00
Joshua King
ef7b8cbd82
first commit
2026-10-02 10:18:10 -04:00