This website requires JavaScript.
a6f750ea04
Report work that ends after the skill timeout as llm.ErrTimeout
dev_agent and Claude Opus 5.5
2026-10-05 10:12:25 -04:00
d03068ace5
Add concurrency guards to harness.Run: single-flight, semaphore and timeouts
dev_agent and Claude Opus 5.5
2026-10-05 10:00:20 -04:00
87316d8b70
ai_runs logging, redaction and retention (#60 )
dev_agent
2026-10-05 09:55:06 -04:00
6a7c040657
Build the run's provider from the key it redacts; record render failures
task/ai-runs-logging_53e382d8-1db3-4555-a31d-e44cf55cc98d
dev_agent and Claude Opus 5.5
2026-10-05 09:43:24 -04:00
8f5ab773fc
Clear offline data on logout, test offline plan and recipe reads, drop Pillow
dev_agent and Claude Opus 5.5
2026-10-05 09:36:45 -04:00
b0cf6fb951
Record every harness run in ai_runs with redaction and purge
dev_agent and Claude Opus 5.5
2026-10-05 09:32:20 -04:00
5d5404b3cb
Name normalization and dedupe (#59 )
dev_agent
2026-10-05 09:16:16 -04:00
7f8ae90978
Open saved pages offline, cache recipe reads, flag cache fallbacks
dev_agent and Claude Opus 5.5
2026-10-05 09:10:53 -04:00
d2d5e9c742
Reduce letter folds to a fixed point in gen_folds.py
task/name-dedupe_f046ec6c-dbe2-4b12-bc95-3081c07714eb
dev_agent and Claude Opus 5.5
2026-10-05 09:07:02 -04:00
1fa295b131
Merge dev into Feature 06 branch before integration review
dev_agent
2026-10-05 08:56:59 -04:00
7729488cde
Fold names by Unicode decomposition in Normalize
dev_agent and Claude Opus 5.5
2026-10-05 08:50:42 -04:00
1e0b1fc75e
Name normalization and dedupe
dev_agent and Claude Opus 5.5
2026-10-05 08:37:18 -04:00
581ff217a9
iOS install hint component (#56 )
dev_agent
2026-10-05 08:35:35 -04:00
6ff6443db7
Household context builder with token budget (#57 )
dev_agent
2026-10-05 08:34:44 -04:00
695003c5f7
Tighten iOS Safari detection and report install hint storage failures
task/ios-install-hint_ad6b3d80-9f41-40ac-8e2a-f786e1fa9777
dev_agent and Claude Opus 5.5
2026-10-05 08:25:06 -04:00
b3740ddc12
Household context builder with token budget
task/household-context_2f54cec9-ec41-42af-b8ee-9e24b8c63057
dev_agent and Claude Opus 5.5
2026-10-05 08:19:37 -04:00
ceccbda61d
Add iOS install hint component
dev_agent and Claude Opus 5.5
2026-10-05 08:16:11 -04:00
942ac42b86
Layered prompt rendering from embedded templates (#55 )
dev_agent
2026-10-05 08:15:35 -04:00
78c33370f9
Update prompt and offline indicator (#52 )
dev_agent
2026-10-05 08:13:50 -04:00
3b524ec118
Compose stack and env template (#54 )
dev_agent
2026-10-05 08:08:16 -04:00
e20004c0ee
Layered prompt rendering from embedded templates
task/layered-prompts_bceca7a8-bc30-48df-944d-84557a1f4154
dev_agent and Claude Opus 5.5
2026-10-05 08:00:55 -04:00
ce2e94869a
Refuse a GET request with a body before fetching so it never marks the network offline
task/update-prompt-offline_63f6c6c2-2936-4738-9869-432d7a11141d
dev_agent and Claude Opus 5.5
2026-10-05 07:56:33 -04:00
55c15b1b3a
Skill harness interface and repair retry (#53 )
dev_agent
2026-10-05 07:55:34 -04:00
e1ca23f595
Add production compose stack and env template
task/compose-stack_3bab56a4-f182-4693-85cb-18ccc566a4b2
dev_agent and Claude Opus 5.5
2026-10-05 07:53:43 -04:00
7be4879f6d
Validate post-processed skill output and quote failed JSON in repair
task/skill-interface-pipeline_38e7bf98-f1d1-4301-b73b-7ec4b51e8b68
dev_agent and Claude Opus 5.5
2026-10-05 07:49:23 -04:00
0573b39f6d
Serialize the request body before fetching so it never marks the network offline
dev_agent and Claude Opus 5.5
2026-10-05 07:49:15 -04:00
c1e49db87f
Add the update prompt and the offline pill
dev_agent and Claude Opus 5.5
2026-10-04 17:11:08 -04:00
9ed5cb1192
Add skill harness with one repair retry
dev_agent and Claude Opus 5.5
2026-10-04 17:08:52 -04:00
21b2672d40
Service worker caching strategy (#51 )
dev_agent
2026-10-04 16:36:43 -04:00
9a5d0a7912
Match service worker routes on the decoded path
task/sw-caching_8fa0d0bd-4a52-4f09-ba68-41bdbdfda63b
dev_agent and Claude Opus 5.5
2026-10-04 16:30:27 -04:00
3e95514053
Route font fetches through the expiring font cache
dev_agent and Claude Opus 5.5
2026-10-04 16:25:08 -04:00
fe124f0d52
Service worker caching strategy
dev_agent and Claude Opus 5.5
2026-10-04 16:20:19 -04:00
dd58865323
Web app manifest and icons (#50 )
dev_agent
2026-10-04 16:16:41 -04:00
8adbd2d7c2
Merge pull request 'Feature 08: LLM provider layer' (#49 ) from feature/5dd6e253-cc9b-41f3-9091-bb834f7a373a-llm-provider-layer into dev
approver_agent
2026-10-04 16:13:44 -04:00
46cc7500de
Add the web app manifest, icons and service worker via vite-plugin-pwa
task/pwa-manifest_58b74786-937a-45a5-850f-7913273beba2
dev_agent and Claude Opus 5.5
2026-10-04 16:12:18 -04:00
b347e1c911
Retry, backoff and default Generate timeout (#48 )
feature/5dd6e253-cc9b-41f3-9091-bb834f7a373a-llm-provider-layer
dev_agent
2026-10-04 11:02:55 -04:00
f8e975e284
Do not retry an HTTP 408; lock retry cap and timeout values
task/retry-backoff_1a882923-fdb4-4576-ab82-9529e9974b26
dev_agent and Claude Opus 5.5
2026-10-04 10:58:59 -04:00
d90886ddc2
Bound whole retrying Generate call by one deadline
dev_agent and Claude Opus 5.5
2026-10-04 10:53:53 -04:00
bcdea85a2d
Wire retrying Provider into presets.FromSettings
dev_agent and Claude Opus 5.5
2026-10-04 10:49:46 -04:00
cbf24e63e1
Add retrying Provider wrapper with backoff and default timeout
dev_agent and Claude Opus 5.5
2026-10-04 10:48:07 -04:00
084350cb03
Merge pull request 'Promote dev to main: Features 01–05' (#47 ) from release/2026-10-04 into main
overseer
2026-10-04 10:35:01 -04:00
e105cdb9c5
Add xAI Grok as a provider (#46 )
dev_agent
2026-10-04 09:36:10 -04:00
eba1e505a5
Add xAI Grok provider preset
task/xai-grok-preset_d8be638f-297f-4b7a-a545-74d193055904
dev_agent and Claude Opus 5.5
2026-10-04 09:31:49 -04:00
d80012a821
Merge pull request 'Feature 05: Frontend foundation and design system' (#43 ) from feature/64e5bb19-c9a2-4c6a-8f0c-aceae43fb732-frontend-foundation into dev
approver_agent
2026-10-04 09:18:57 -04:00
9ace3aba9f
Provider presets and factory (#44 )
dev_agent
2026-10-04 09:18:34 -04:00
08be8891da
Reject API keys that are not valid header values at construction
task/provider-presets_4d90a725-5a7c-4bee-bbe4-d036cfb69c5b
dev_agent and Claude Opus 5.5
2026-10-04 09:08:46 -04:00
5758f198e4
Keep the CSRF token on same-origin API calls and lint colours in the build (#45 )
feature/64e5bb19-c9a2-4c6a-8f0c-aceae43fb732-frontend-foundation
dev_agent
2026-10-04 09:08:42 -04:00
31322f239e
Redact the API key from preset configuration and validation errors
dev_agent and Claude Opus 5.5
2026-10-04 09:03:12 -04:00
cf598a8405
Validate API paths against the page origin, not a placeholder
task/integration-fix-csrf-lint_f1bb5c9e-ca49-4a3c-b07d-7ed79f0e7fe5
dev_agent and Claude Opus 5.5
2026-10-04 08:59:51 -04:00
cb93134f3e
Fix reasoning-model temperature quirk matching and validation
dev_agent and Claude Opus 5.5
2026-10-04 08:58:43 -04:00
b6e433cc98
Allow openai and openrouter AI providers in the schema
dev_agent and Claude Opus 5.5
2026-10-04 08:54:03 -04:00
5519676c79
Restrict apiFetch to same-origin /api/v1/ and lint colours in the build
dev_agent and Claude Opus 5.5
2026-10-04 08:52:44 -04:00
61c767ea32
Add provider presets and FromSettings factory
dev_agent and Claude Opus 5.5
2026-10-04 08:51:19 -04:00
32ab0c0b6d
Ollama native adapter (#41 )
dev_agent
2026-10-04 08:47:05 -04:00
048d5dd71a
API client, auth bootstrap and job polling (#42 )
dev_agent
2026-10-04 08:46:40 -04:00
1d4c0bd0e1
Ollama: only treat a 404 as model-not-found when the body says so
task/ollama-adapter_51289131-5abf-48c3-b553-7e3809c09076
dev_agent and Claude Opus 5.5
2026-10-04 08:37:22 -04:00
690e1056a6
Keep polling a job after a failed poll
task/api-client-jobs_21051318-15ae-4d0e-a9a1-2143f87de759
dev_agent and Claude Opus 5.5
2026-10-04 08:37:11 -04:00
913c1e5337
Add API client, /me bootstrap and useJob polling hook
dev_agent and Claude Opus 5.5
2026-10-04 08:33:34 -04:00
d5fe7548c5
Ollama native adapter
dev_agent and Claude Opus 5.5
2026-10-04 08:30:17 -04:00
15886f2c55
Anthropic Messages adapter (#40 )
dev_agent
2026-10-04 08:09:20 -04:00
d11cdbbefb
Keep %#v of every LLM adapter error free of the API key (MQ-03)
task/anthropic-adapter_f6ae8d56-af10-400c-ab38-777571a797b5
dev_agent and Claude Opus 5.5
2026-10-04 08:05:17 -04:00
cdf59c4eee
Stop LLM adapters following redirects and cap Retry-After
dev_agent and Claude Opus 5.5
2026-10-04 07:57:37 -04:00
4f26ea5ad6
Keep the API key out of %#v for redacted LLM errors
dev_agent and Claude Opus 5.5
2026-10-04 07:52:04 -04:00
3b36f07cb8
Feature 08 task 3: Anthropic Messages adapter
dev_agent and Claude Opus 5.5
2026-10-04 07:49:52 -04:00
acd29c8221
Feature 08 task 2: OpenAI-compatible adapter (#35 )
dev_agent
2026-10-04 07:41:45 -04:00
fba7667949
Keep only redacted text in typed errors, not the credential
task/openai-adapter_10abaa12-5642-4d74-bde2-c555ec3ad7d5
dev_agent and Claude Opus 5.5
2026-10-04 07:38:03 -04:00
893e00d14e
Strip the API key from fixed error text and keep typed matches
dev_agent and Claude Opus 5.5
2026-10-04 07:36:56 -04:00
68391d14c8
Never insert a redaction marker that itself holds the API key
dev_agent and Claude Opus 5.5
2026-10-04 07:32:34 -04:00
cceeafd200
Redact every layer of a returned error chain, not just the top
dev_agent and Claude Opus 5.5
2026-10-04 07:26:37 -04:00
2afd6a9338
Never quote request or reply text in errors and redact the key as a backstop
dev_agent and Claude Opus 5.5
2026-10-04 07:24:37 -04:00
c899f07b1f
Nav pill slide animation (#39 )
dev_agent
2026-10-03 18:52:57 -04:00
06041c8458
Start a slide from the pill's on-screen position and stop it on resize
task/nav-pill-slide_d340ae00-3c2a-48cf-9ac6-35e0b8ed5a7c
dev_agent and Claude Opus 5.5
2026-10-03 18:48:50 -04:00
004a81b854
Slide one shared grape pill between mobile nav items
dev_agent and Claude Opus 5.5
2026-10-03 18:44:44 -04:00
998658b42c
Responsive app shell, routes and navigation (#38 )
dev_agent
2026-10-03 18:40:34 -04:00
f922b4457e
Keep shell sidebar at 208 px including its padding
task/app-shell-routes_42a4695a-6bd0-49a1-925e-387858dbee48
dev_agent and Claude Opus 5.5
2026-10-03 18:36:21 -04:00
93e209c302
Add responsive app shell, routes and navigation
dev_agent and Claude Opus 5.5
2026-10-03 18:33:09 -04:00
a453a84231
Photo and Icon components (#37 )
dev_agent
2026-10-03 18:29:16 -04:00
3f5dea37d8
Add Photo and Icon components
task/photo-icon_a9214566-6076-49e5-98b8-89ba98d6d838
dev_agent and Claude Opus 5.5
2026-10-03 18:25:22 -04:00
732aa92a8c
Sheet, ErrorBanner, Skeleton and EmptyState (#36 )
dev_agent
2026-10-03 18:22:59 -04:00
ef3e7d0e45
Leave controls disabled by a fieldset out of the Sheet focus trap
task/sheet-banner-skeleton-empty_2f9b64dd-0c26-47b9-b2b8-557bdf506d68
dev_agent and Claude Opus 5.5
2026-10-03 18:17:15 -04:00
0fa9cfe611
Move Sheet focus only to controls that can take keyboard focus
dev_agent and Claude Opus 5.5
2026-10-03 18:14:15 -04:00
1dd97b123c
Add Sheet, ErrorBanner, Skeleton and EmptyState primitives
dev_agent and Claude Opus 5.5
2026-10-03 18:09:47 -04:00
f333440256
Never quote caller-supplied text in New errors
dev_agent and Claude Opus 5.5
2026-10-03 18:07:31 -04:00
095c03f112
Stop echoing header names in header value errors
dev_agent and Claude Opus 5.5
2026-10-03 16:46:52 -04:00
3ddc18fa0d
Redact the API key from all config errors and reject empty URL delimiters
dev_agent and Claude Opus 5.5
2026-10-03 16:45:44 -04:00
adfd84810e
Validate extra headers in New and honour a configured Accept header
dev_agent and Claude Opus 5.5
2026-10-03 16:40:29 -04:00
02f1dd6491
Feature 05 task 2: Core UI primitives (#34 )
dev_agent
2026-10-03 16:34:59 -04:00
80d91eba70
Keep the request URL out of transport errors and document fixture provenance
dev_agent and Claude Opus 5.5
2026-10-03 16:33:41 -04:00
1f4356cd17
Keep base URL out of config errors and always keep a bounded error excerpt
dev_agent and Claude Opus 5.5
2026-10-03 16:28:21 -04:00
92ffaae1de
Separate ListRow trailing control and fail fast on out-of-range Slider
task/core-ui-primitives_d90b6698-b64c-4459-96ad-2874a8354030
dev_agent and Claude Opus 5.5
2026-10-03 16:28:00 -04:00
d9a26b81ec
Add core UI primitives in web/src/ui
dev_agent and Claude Opus 5.5
2026-10-03 16:23:42 -04:00
6d0bea10b5
Add OpenAI-compatible llm.Provider adapter
dev_agent and Claude Opus 5.5
2026-10-03 16:20:23 -04:00
496f2e5375
Feature 05 task 1: Design tokens and self-hosted fonts (#32 )
dev_agent
2026-10-03 16:16:25 -04:00
72042516e2
Feature 08 task 1: Provider interface, typed errors and Fake provider (#33 )
dev_agent
2026-10-03 16:14:12 -04:00
dd4412a414
Scan all of web/ for hex colour literals
task/design-tokens_fonts_1fcdadb2-3bc3-4f27-971e-2411e279c655
dev_agent and Claude Opus 5.5
2026-10-03 15:56:35 -04:00
518e78db54
Require secrets for ProviderError redaction and omit unredactable bodies
task/llm-provider-interface_53fb6507-8efc-4e30-b855-23e0ddd25906
dev_agent and Claude Opus 5.5
2026-10-03 15:56:32 -04:00
41a1272358
Add design tokens and self-hosted fonts
dev_agent and Claude Opus 5.5
2026-10-03 15:52:41 -04:00
cb925618bc
Add LLM Provider interface, typed errors and Fake provider
dev_agent and Claude Opus 5.5
2026-10-03 15:52:15 -04:00
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
approver_agent
2026-10-03 15:50:01 -04:00
bba9033ac5
Feature 04 integration fix: authenticated job enqueue API and progressive HTTP flow (#31 )
feature/49e2f2e2-c9c1-4c1b-8d66-753ceeadbf75-platform-services
dev_agent
2026-10-03 15:46:19 -04:00