dev_agent and Claude Opus 5.5
45fcd71d27
Keep one draft in flight per week
...
CI / ci (push) Successful in 3m26s
CI / ci (pull_request) Successful in 3m10s
A confirmed draft asked for while the week's draft job was asked for
without confirm no longer enqueues a second job. With two job workers the
two drafts ran at once, and whichever stored second failed plan_changed,
so the household's confirmed draft could fail. StartDraft now refuses it
with ErrDraftRunning, 409 draft_running, and enqueues nothing; the
household asks again once the running draft finishes. Every other draft
joins the week's queued or running job, so a week has at most one.
The plan tests run the job runner with two workers, as cmd/server does,
and a confirmed draft during a running unconfirmed one is refused while
only the running job drafts.
Maestro task ea48e650-d510-49cc-8485-0f07174ee731.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 06:46:13 -04:00
dev_agent and Claude Opus 5.5
7e6e49f6b1
Guard plan drafts against swaps and keep confirm on single-flight
...
CI / ci (push) Successful in 3m20s
CI / ci (pull_request) Successful in 3m6s
Return the draft job id as jobId, as the plan API contract specifies.
Add a week_plans revision (migration 0013) that every swap and stored
draft raises. A draft_week job reads the revision before draft_week runs
and stores its week only while the plan still has it; a plan edited
while the AI ran is left as it is and the job fails plan_changed, so a
draft never erases the household's swap.
A confirmed draft now joins only a confirmed queued or running job, so a
job asked for without confirm can no longer fail it with
confirm_required after the plan was synced.
Test simultaneous drafts, a swap during a draft, a confirmed draft while
an unconfirmed one runs, impossible calendar dates and start_by across
the end of daylight saving time.
Maestro task ea48e650-d510-49cc-8485-0f07174ee731.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 06:32:51 -04:00
dev_agent and Claude Opus 5.5
75d6ad4e19
Add plan service and weekly plan API
...
CI / ci (push) Successful in 3m20s
CI / ci (pull_request) Successful in 3m1s
Add internal/plan: a draft_week job that drafts the week through the
harness from every Regular and the Quest log dinners no other current or
later plan holds, given the household context and last week's dinners,
and stores it as the week's plan; plan reads with the week label, is_new
and each crock-pot dinner's start_by (dinner time minus minutes_total,
computed on read); and day swaps that recompute is_new and move a synced
plan to changed. Drafting over a synced or changed plan needs confirm, at
enqueue and again when the job stores the week; a redraft keeps each
day's calendar event id.
Serve GET /api/v1/plans/{weekStart}, POST /api/v1/plans/{weekStart}/draft
(202 {job_id}, single-flight per week) and PUT
/api/v1/plans/{weekStart}/days/{date}; a weekStart that is not a Monday
is 400 invalid_week.
Maestro task ea48e650-d510-49cc-8485-0f07174ee731.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 06:18:09 -04:00
orchestrator-agent
09456c48a2
draft_week skill v1 ( #113 )
...
CI / ci (push) Successful in 2m46s
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com >
2026-10-07 06:08:13 -04:00
orchestrator-agent
5291457214
Feature 13: Discover - Side Quest Suggestions ( #110 )
...
CI / ci (push) Successful in 2m49s
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com >
2026-10-07 05:53:22 -04:00
orchestrator-agent
ac7453f576
Release corrections round 3: redact candidate-lookup failures in logs ( #104 )
...
CI / ci (push) Successful in 2m45s
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com >
2026-10-07 00:40:53 -04:00
orchestrator-agent
4a209623f5
Release corrections round 2: offline onboarding lockout and stale candidates after rename ( #103 )
...
CI / ci (push) Successful in 2m40s
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com >
2026-10-07 00:14:32 -04:00
orchestrator-agent
cb920714b0
Release corrections: candidate URL exposure, onboarding notification honesty, pasted link cleanup ( #101 )
...
CI / ci (push) Successful in 2m33s
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com >
2026-10-06 23:12:26 -04:00
orchestrator-agent
a3648397ee
Fix docker build: move dedupe cases fixture into web ( #99 )
...
CI / ci (pull_request) Successful in 2m26s
CI / ci (push) Successful in 2m38s
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com >
2026-10-06 21:51:48 -04:00
dev_agent
2b0e5ff01a
Feature 12: Regular dinners and onboarding ( #94 )
...
CI / ci (pull_request) Successful in 2m30s
CI / ci (push) Successful in 2m25s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-06 21:28:23 -04:00
dev_agent
0c89eef577
Deflake TestFetchCanceledWaitHoldsNoSlot ( #88 )
...
CI / ci (push) Successful in 1m59s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-06 13:18:26 -04:00
dev_agent
fcbdebd6e8
Feature 11: Settings home and Admin AI assistant ( #86 )
...
CI / ci (push) Successful in 2m0s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-06 12:45:05 -04:00
dev_agent
f25b28b39b
Feature 10: Recipe grounding and photos ( #78 )
...
CI / ci (push) Successful in 2m0s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-06 07:27:58 -04:00
dev_agent
67e44a506a
Feature 07: Deployment, identity and backups ( #75 )
...
CI / ci (push) Successful in 1m45s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-05 20:59:47 -04:00
dev_agent
81c5085f9a
Feature 06: PWA shell and offline ( #58 )
...
CI / ci (push) Successful in 1m40s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-05 15:22:37 -04:00
dev_agent
e6fd24db0a
Return context error when a retry backoff wait is cancelled ( #64 )
...
CI / ci (push) Successful in 1m34s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-05 11:41:23 -04:00
dev_agent
72fa311de9
Feature 09: AI harness and skills framework ( #62 )
...
CI / ci (pull_request) Successful in 1m34s
CI / ci (push) Successful in 1m36s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-05 11:18:53 -04:00
approver_agent
8adbd2d7c2
Merge pull request 'Feature 08: LLM provider layer' ( #49 ) from feature/5dd6e253-cc9b-41f3-9091-bb834f7a373a-llm-provider-layer into dev
CI / ci (push) Successful in 1m31s
2026-10-04 16:13:44 -04:00
dev_agent
b347e1c911
Retry, backoff and default Generate timeout ( #48 )
...
CI / ci (push) Successful in 1m28s
CI / ci (pull_request) Successful in 1m30s
Independent review Codex gpt-6-sol high: APPROVED (0 findings)
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-04 11:02:55 -04:00
dev_agent
e105cdb9c5
Add xAI Grok as a provider ( #46 )
...
CI / ci (push) Successful in 1m28s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-04 09:36:10 -04:00
approver_agent
d80012a821
Merge pull request 'Feature 05: Frontend foundation and design system' ( #43 ) from feature/64e5bb19-c9a2-4c6a-8f0c-aceae43fb732-frontend-foundation into dev
Independent review Codex gpt-6-sol high: APPROVED (0 findings)
CI / ci (pull_request) Successful in 1m32s
CI / ci (push) Successful in 1m36s
2026-10-04 09:18:57 -04:00
dev_agent
9ace3aba9f
Provider presets and factory ( #44 )
...
CI / ci (push) Successful in 1m28s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-04 09:18:34 -04:00
dev_agent
5758f198e4
Keep the CSRF token on same-origin API calls and lint colours in the build ( #45 )
...
CI / ci (push) Successful in 1m33s
CI / ci (pull_request) Successful in 1m31s
Independent review Codex gpt-6-sol high: APPROVED (0 findings)
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-04 09:08:42 -04:00
dev_agent
32ab0c0b6d
Ollama native adapter ( #41 )
...
CI / ci (push) Successful in 1m29s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-04 08:47:05 -04:00
dev_agent
048d5dd71a
API client, auth bootstrap and job polling ( #42 )
...
CI / ci (push) Successful in 1m32s
CI / ci (pull_request) Successful in 1m33s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-04 08:46:40 -04:00
dev_agent
15886f2c55
Anthropic Messages adapter ( #40 )
...
CI / ci (push) Successful in 1m27s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-04 08:09:20 -04:00
dev_agent
acd29c8221
Feature 08 task 2: OpenAI-compatible adapter ( #35 )
...
CI / ci (push) Successful in 1m28s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-04 07:41:45 -04:00
dev_agent
c899f07b1f
Nav pill slide animation ( #39 )
...
CI / ci (push) Successful in 1m29s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 18:52:57 -04:00
dev_agent
998658b42c
Responsive app shell, routes and navigation ( #38 )
...
CI / ci (push) Successful in 1m30s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 18:40:34 -04:00
dev_agent
a453a84231
Photo and Icon components ( #37 )
...
CI / ci (push) Successful in 1m30s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 18:29:16 -04:00
dev_agent
732aa92a8c
Sheet, ErrorBanner, Skeleton and EmptyState ( #36 )
...
CI / ci (push) Successful in 1m30s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 18:22:59 -04:00
dev_agent
02f1dd6491
Feature 05 task 2: Core UI primitives ( #34 )
...
CI / ci (push) Successful in 1m31s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 16:34:59 -04:00
dev_agent
496f2e5375
Feature 05 task 1: Design tokens and self-hosted fonts ( #32 )
...
CI / ci (push) Successful in 1m29s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 16:16:25 -04:00
dev_agent
72042516e2
Feature 08 task 1: Provider interface, typed errors and Fake provider ( #33 )
...
CI / ci (push) Successful in 1m29s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 16:14:12 -04:00
approver_agent
7cc96121e4
Merge pull request 'Feature 04: Platform Services - Secrets, Settings, Time and Jobs' ( #30 ) from feature/49e2f2e2-c9c1-4c1b-8d66-753ceeadbf75-platform-services into dev
CI / ci (push) Successful in 1m28s
2026-10-03 15:50:01 -04:00
dev_agent
bba9033ac5
Feature 04 integration fix: authenticated job enqueue API and progressive HTTP flow ( #31 )
...
CI / ci (push) Successful in 1m29s
Independent review Codex gpt-6-sol high: APPROVED (0 findings)
CI / ci (pull_request) Successful in 1m28s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 15:46:19 -04:00
dev_agent
e050736178
Feature 04 task 5: Async job runner and GET /api/v1/jobs/{id} ( #29 )
...
CI / ci (push) Successful in 1m29s
Independent review Codex gpt-6-sol high: CHANGES_REQUIRED (1 medium)
CI / ci (pull_request) Successful in 1m28s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 15:24:01 -04:00
dev_agent
3ba78d47bc
Feature 04 task 4: Default seeding for AI settings and notification preferences ( #28 )
...
CI / ci (push) Successful in 1m26s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 14:58:30 -04:00
dev_agent
8be5c56f6f
Feature 04 task 3 (rebased): Household settings seeding and API ( #27 )
...
CI / ci (push) Successful in 1m22s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 11:50:15 -04:00
dev_agent and Claude Opus 5.5
ea4047a852
Merge origin/dev (Feature 03) into Feature 04 integration
...
CI / ci (push) Successful in 1m26s
Feature 03 made the OIDC variables required, so the Feature 04 boot tests'
loadConfig helper now sets them alongside the secret key file.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 11:38:18 -04:00
approver_agent
41ff2ab114
Merge pull request 'Feature 03: Authentik OIDC Sessions' ( #24 ) from feature/9c4eba48-9a49-4b73-a85f-a4bc19eb4062-authentik-oidc-sessions into dev
CI / ci (push) Successful in 1m30s
2026-10-03 11:36:30 -04:00
dev_agent
df692ef214
Feature 03 integration fix: sanitize ID-token verification errors ( #26 )
...
CI / ci (push) Successful in 1m26s
Independent review Codex gpt-6-sol high: APPROVED (0 findings)
CI / ci (pull_request) Successful in 1m33s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 11:32:36 -04:00
dev_agent
88f7d0a5fa
Feature 03 integration fix: sanitize discovery errors and narrow CSRF exemption ( #25 )
...
CI / ci (push) Successful in 1m25s
CI / ci (pull_request) Failing after 1m2s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 11:22:53 -04:00
dev_agent
5833a73541
Feature 03 task 5: Trusted proxy handling for forwarded headers ( #23 )
...
CI / ci (push) Successful in 1m25s
CI / ci (pull_request) Successful in 1m24s
Independent review Codex gpt-6-sol high: CHANGES_REQUIRED (2 medium)
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 11:05:33 -04:00
dev_agent
36b975ff5b
Feature 03 task 4: CSRF protection and GET /api/v1/me ( #22 )
...
CI / ci (push) Successful in 1m26s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 10:51:26 -04:00
dev_agent
b2201c5da1
Feature 03 task 3: Household group gate and auth middleware ( #21 )
...
CI / ci (push) Successful in 1m27s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 10:30:07 -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
5e78465d34
Feature 04 task 2: Household week and local-time utilities ( #18 )
...
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:06 -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
dev_agent
6d5c14f778
Feature 04 task 1: secretbox: AES-256-GCM secrets at rest ( #17 )
...
CI / ci (push) Successful in 1m26s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com >
Co-committed-by: dev_agent <dev_agent@cubecraftlabs.com >
2026-10-03 09:46:29 -04:00