ginnoir
72d123b9a0
fix(agent): stop tool thrash after writes and log rounds
...
CI / checks (push) Has been cancelled
Cap get_api_docs, break duplicate tool rounds, force a reply after
successful writes, and log each tool call so limit hits are diagnosable.
2026-07-08 22:51:31 -05:00
ginnoir
d3e79edb9e
fix(agent): raise tool rounds and ease calendar creates
...
CI / checks (push) Has been cancelled
Local models were burning the 8-round budget on simple event adds.
Raise the limit, resolve calendars by name/default, and inject the
household clock so relative dates work.
2026-07-08 21:40:44 -05:00
ginnoir
49732b02f3
fix(agent): move route selector to settings
2026-07-08 19:58:48 -05:00
ginnoir
ec3f96dab1
feat(agent): let users choose model route
2026-07-08 19:50:46 -05:00
ginnoir
b279f16ba0
feat(agent): refresh assistant model catalog
2026-07-08 19:37:17 -05:00
ginnoir
4dc04b21d6
fix(agent): hide unrelated models for alias fallback
2026-07-08 19:07:57 -05:00
ginnoir
bb679d02be
fix(agent): improve model selector legibility
2026-07-08 18:59:41 -05:00
ginnoir
716bca0fcb
fix(agent): use native model selector
2026-07-08 18:52:19 -05:00
ginnoir
1092941c45
test: stabilize assistant e2e
2026-07-08 17:48:06 -05:00
ginnoir
4c82d551ea
feat(agent): add assistant model selector
2026-07-08 16:46:53 -05:00
ginnoir
3983c30fe1
fix(agent): reject padded assistant model ids
2026-07-08 16:39:01 -05:00
ginnoir
9b7a04431c
feat(agent): route chat through selected model
2026-07-08 16:34:22 -05:00
ginnoir
876e72671a
fix(agent): validate assistant model requests
2026-07-08 16:15:19 -05:00
ginnoir
0bf63cf8a8
feat(agent): add llm model discovery helper
2026-07-08 16:11:22 -05:00
ginnoir
c8db5475d3
feat(agent): add voice input and photo attachments to assistant
...
Wire mic through Whisper-compatible transcriptions on LLM_BASE_URL.
Photos upload to MinIO and reach the vision model as base64 image_url parts.
2026-07-05 02:01:48 -05:00
ginnoir
e5e509081c
feat: per-user assistant name and system prompt customization
...
CI / checks (push) Failing after 2m12s
CI / build (push) Successful in 4m50s
Each user can rename the AI assistant and edit their own system prompt in Settings.
2026-07-04 23:26:17 -05:00
ginnoir
a09747c314
feat: journal dashboard widgets, agent polish, and edit-mode live previews
...
CI / checks (push) Failing after 2m7s
CI / build (push) Successful in 4m36s
Journal dashboard widgets and quick-add; rich-text quick-add dialogs.
Dashboard draft sync for live edit previews; assistant bubble + API tools.
Journal UX: stress slider, mood grid, query cap fix.
2026-07-04 22:03:45 -05:00
ginnoir
4a924a4107
feat(agent): add llm assistant chat with api tools (task 88)
...
OpenAI-compatible client with mock fallback, tool-calling loop, and /assistant UI.
Tools map to /api/v1/ endpoints per ADR 0006 direct-tools decision.
2026-07-04 19:46:09 -05:00
ginnoir
04ae809e07
feat(journal): add per-user mood journal module (task 86)
...
Ship journal entries with mood tracking, insights, and Recharts charts.
Adds v1 API endpoints per ADR 0005 and migration 0020_journal_entries.
2026-07-04 19:41:15 -05:00
ginnoir
a4be5d5061
feat(notes): rich-text editor with tiptap (task 85)
...
Replace plain textarea with shared tiptap editor and sanitized html rendering.
Adds interactive checklists on read surfaces and mobile overflow fixes.
2026-07-04 19:25:15 -05:00
ginnoir
e8d13bede8
feat: api v1 garden bangs routes and openapi
2026-07-04 19:13:49 -05:00
ginnoir
d4304b005c
feat: api v1 routes for calendar lists and notes
2026-07-04 19:03:08 -05:00
ginnoir
ea5d1d050c
feat: household api token auth foundation
2026-07-04 18:57:31 -05:00
ginnoir
d090200ec8
feat: shared back navigation on detail pages
2026-07-04 18:23:15 -05:00
ginnoir
753f653b89
feat: bang edit and delete
2026-07-04 18:20:38 -05:00
ginnoir
700ee29f83
fix: garden container plant count
2026-07-04 18:15:54 -05:00
ginnoir
7eeb2f15bc
fix: dashboard edit mode renders live widgets
2026-07-04 18:10:55 -05:00
ginnoir
02b6ec6adb
test: cover all quick-add create dialogs in e2e
...
CI / checks (push) Failing after 1m56s
CI / build (push) Successful in 3m42s
Add data-driven FAB tests for all ten quick-add actions plus cmd-k new event.
2026-07-04 11:53:07 -05:00
ginnoir
68a573c4d6
fix: quick add opens create ui
...
Add createKey to quick-add manifests and client create dialog host.
FAB and command palette open in-place create UIs instead of navigating away.
2026-07-04 11:47:35 -05:00
ginnoir
a312d4ce39
fix: tighten sharing and shadcn composition
CI / checks (push) Successful in 12m55s
CI / build (push) Successful in 15m16s
2026-06-13 05:20:01 -05:00
ginnoir
080d26816e
test: add reproducer for garden dashboard widgets (task 75)
2026-06-01 22:41:25 -05:00
ginnoir
eabcebdb00
test: add reproducer for garden integrations (task 74)
2026-06-01 20:30:18 -05:00
ginnoir
fe282ba470
test: add reproducer for garden care tracking (task 73)
2026-06-01 20:23:30 -05:00
ginnoir
a86f5471ce
test: add reproducer for garden plants crud (task 72)
2026-06-01 20:04:22 -05:00
ginnoir
5f6b756342
feat: garden containers crud (task 71)
...
- add listContainers/getContainer/searchContainers queries
- add createContainer/updateContainer/deleteContainer server actions with logActivity
- add ContainerList, ContainerDetail, ContainerForm client components
- add /garden, /garden/containers/[id], /garden/containers/new pages
- register garden.container entity with share + search in manifest
- add sprout icon to NavIcon registry
- add garden e2e test spec
2026-06-01 19:28:34 -05:00
ginnoir
2fd0677c5f
feat: add garden module infrastructure (task 70)
...
- Add MinIO service to compose.yaml with named volume
- Add generic /api/uploads POST+GET route with auth, 5 MB, image/* guards
- Add src/lib/minio.ts singleton client with ensureBucket helper
- Add garden Drizzle schema: containers, plants, care_logs, care_schedules, species_cache
- Register garden module in src/modules/index.ts and src/lib/db.ts
- Apply migration 0015_garden_schema.sql
- Add MINIO_* and PERENUAL_API_KEY to .env.example
- Add task briefs 70-75 for the full garden feature arc
- Add uploads.spec.ts E2E test (RED → GREEN on route auth guard)
2026-06-01 19:23:19 -05:00
ginnoir and Claude Sonnet 4.6
b4dde92757
Implement dashboard composition (task 20)
...
- Add default_dashboard_layout jsonb to users + migration 0007
- Create _core/manifest.tsx with core.activity placeholder widget
- Register core manifest alongside calendar/lists/notes
- Update all three module manifests with real async server-component
widget renders (upcoming events, month view, list items, notes)
- Add src/lib/dashboard.ts: computeDefaultLayout greedy packer +
parseDashboardLayout Zod validator
- Build src/app/page.tsx: 12-col CSS Grid, static smColSpan lookup,
per-widget Suspense for parallel loading, generic widget.render()
dispatch — no widgetId branches
- Add tests/e2e/dashboard.spec.ts; all 4 E2E specs pass
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 13:24:56 -05:00
ginnoir
5b434702ba
Add notes module
2026-05-06 04:10:50 -05:00
ginnoir
7e3ae6eb04
Implement lists module and dev login setup
2026-05-06 03:49:03 -05:00
ginnoir
744c1119a9
Implement calendar module
2026-05-06 03:10:28 -05:00