chore(loop): update overnight plan with Archy integration and 17 tasks
6 phases: ContentPanel wiring, Archy service integration, extraction hardening to 100+ tests, Archy integration tests, code mode UX, and final verification. Prompt updated with full Archy service inventory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
89885269f0
commit
705e184a5b
+34
-3
@@ -1,11 +1,11 @@
|
||||
You are hardening the AIUI content extraction pipeline and completing incomplete features. Read these files first:
|
||||
You are hardening the AIUI content extraction pipeline, integrating Archy services, and completing incomplete features. Read these files first:
|
||||
|
||||
1. `loop/plan.md` — Your task checklist (mark items `- [x]` as you complete them)
|
||||
2. `CLAUDE.md` — Project conventions, design system rules, and coding standards
|
||||
|
||||
## Key Context
|
||||
|
||||
The content extraction pipeline lives in:
|
||||
### Content Extraction Pipeline
|
||||
- `packages/app/src/composables/contentExtraction.ts` — Extracts books, films, TV, songs, podcasts, places, images, code blocks, apps from AI response text
|
||||
- `packages/app/src/composables/contentFiltering.ts` — Query/response classifiers (isBookQuery, isTVQuery, etc.) and tab routing (filterTabsByContext)
|
||||
- `packages/app/src/composables/useContentPanel.ts` — Wires extraction functions to Vue reactive state and tab system
|
||||
@@ -15,6 +15,35 @@ The content extraction pipeline lives in:
|
||||
|
||||
Content flows: AI response text → extraction functions → useContentPanel refs → filterTabsByContext → ContentPanel/ContentGridView rendering
|
||||
|
||||
### Archy Integration (CRITICAL — this is the main new work)
|
||||
- `packages/app/src/services/archyBridge.ts` — PostMessage client for AIUI ↔ Archipelago IPC (already implemented)
|
||||
- `packages/app/src/composables/useArchy.ts` — Reactive Vue wrapper (just created, needs extension)
|
||||
- `packages/app/src/composables/useAI.ts` — Already injects Archy context via `buildArchyContext()` in `buildSystemPrompt()`
|
||||
|
||||
Archy is a self-hosted Linux node OS with 23+ apps. AIUI runs as an iframe inside Archy at `/aiui/`. Communication is via postMessage with 5 context categories: apps, system, network, wallet, files. The bridge is initialized when `?embedded=true` is in the URL.
|
||||
|
||||
**Archy Services Available** (that AIUI should know about):
|
||||
- Bitcoin Core (blockchain data, UTXO, fee estimates)
|
||||
- LND / Core Lightning / Lightning Stack (channels, payments, invoices)
|
||||
- BTCPay Server (payment processing)
|
||||
- Mempool (blockchain explorer)
|
||||
- Nextcloud (files, notes, contacts, calendar via WebDAV)
|
||||
- Immich (photos, ML-tagging)
|
||||
- Nostr relays (nostr-rs-relay, strfry)
|
||||
- Home Assistant (smart home)
|
||||
- Grafana (monitoring)
|
||||
- SearXNG (privacy search)
|
||||
- Ollama (local LLM)
|
||||
- Penpot (design)
|
||||
- OnlyOffice (documents)
|
||||
- Fedimint (federated custody)
|
||||
- Meshtastic (mesh networking)
|
||||
- DID Wallet (Web5 identity)
|
||||
|
||||
**Data Handshake**: AIUI requests context via `archyBridge.requestContext(category)`. Archy's contextBroker responds with sanitized data (no secrets, no IPs, no keys). Currently `wallet` and `files` categories are stubs in Archy — build the AIUI consumer side anyway so it's ready when Archy implements them. Use realistic mock shapes.
|
||||
|
||||
**API Path Note**: All API paths use `import.meta.env.BASE_URL` prefix so they work at both `/` (dev) and `/aiui/` (production). This was just implemented — don't change it.
|
||||
|
||||
## Design System Rules (must follow for every file you touch)
|
||||
|
||||
- **Glass morphism only** — use `.glass`, `.glass-card`, `.glass-button`, `.glass-button-sm` from `src/styles/main.css`
|
||||
@@ -34,7 +63,7 @@ Content flows: AI response text → extraction functions → useContentPanel ref
|
||||
4. Implement the feature/fix following conventions and design system rules
|
||||
5. Run `pnpm typecheck && pnpm lint` — fix all errors before committing
|
||||
6. Run `pnpm test` — fix any failing tests
|
||||
7. If the task involves tests, run `cd packages/app && npx vitest run src/__tests__/extractionQuality.test.ts` specifically
|
||||
7. If the task involves tests, run `cd packages/app && npx vitest run` specifically
|
||||
8. Commit: `type(scope): description` (conventional commits)
|
||||
9. Mark it done `- [x]` in `loop/plan.md`
|
||||
10. Move to the next unchecked task immediately
|
||||
@@ -50,3 +79,5 @@ Content flows: AI response text → extraction functions → useContentPanel ref
|
||||
- Do not stop until all tasks are checked or you are rate limited
|
||||
- When adding tests, aim for realistic AI response patterns, not trivial examples
|
||||
- When wiring components into ContentPanel.vue, follow the exact same pattern used for existing content types (BookGrid/BookDetail, TVSeriesGrid/TVSeriesDetail, etc.)
|
||||
- When building Archy integration, the AIUI side should be resilient — always handle the case where Archy doesn't respond or data is empty
|
||||
- Commit and push after each completed phase (TEST: tasks)
|
||||
|
||||
Reference in New Issue
Block a user