docs(06): phase 6 verification + human UAT (OpenRouter key needed)
This commit is contained in:
parent
f34cf401a0
commit
84b761fdda
3 changed files with 75 additions and 3 deletions
|
|
@ -125,9 +125,9 @@ Plans:
|
|||
**Plans**: 3 plans
|
||||
|
||||
Plans:
|
||||
- [ ] 06-01-PLAN.md — PostgreSQL store: pgx/v5 dep, conversations + messages tables, RunMigrations, typed CRUD methods
|
||||
- [ ] 06-02-PLAN.md — Advisor backend: InventoryContextBuilder (60s cache), AdvisorHandler SSE streaming, router wiring, main.go wiring
|
||||
- [ ] 06-03-PLAN.md — Frontend: AdvisorPage at /advisor, conversation sidebar, streaming chat UI, model dropdown, TopBar link
|
||||
- [x] 06-01-PLAN.md — PostgreSQL store: pgx/v5 dep, conversations + messages tables, RunMigrations, typed CRUD methods
|
||||
- [x] 06-02-PLAN.md — Advisor backend: InventoryContextBuilder (60s cache), AdvisorHandler SSE streaming, router wiring, main.go wiring
|
||||
- [x] 06-03-PLAN.md — Frontend: AdvisorPage at /advisor, conversation sidebar, streaming chat UI, model dropdown, TopBar link
|
||||
|
||||
### Phase 7: Research Agent & Search
|
||||
**Goal**: Items flagged needs_research are automatically enriched by a SearXNG research agent, and any inventory question can be answered via natural language search
|
||||
|
|
|
|||
34
.planning/phases/06-lab-advisor/06-HUMAN-UAT.md
Normal file
34
.planning/phases/06-lab-advisor/06-HUMAN-UAT.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
status: partial
|
||||
phase: 06-lab-advisor
|
||||
source: [06-VERIFICATION.md]
|
||||
started: 2026-04-10
|
||||
updated: 2026-04-10
|
||||
---
|
||||
|
||||
## Tests
|
||||
|
||||
### 1. OpenRouter API key configuration
|
||||
expected: Set HWLAB_OPENROUTER_API_KEY in .env or ai_config.local.json
|
||||
result: [pending — operator action]
|
||||
|
||||
### 2. Live Opus chat
|
||||
expected: POST /api/advisor/chat returns streaming response from Claude Opus with NetBox inventory context in system prompt
|
||||
result: [pending]
|
||||
|
||||
### 3. Conversation history
|
||||
expected: Send multiple messages, refresh page, verify history persists in sidebar
|
||||
result: [pending]
|
||||
|
||||
### 4. Model switching
|
||||
expected: Change model dropdown, send message, verify different model used (no server restart)
|
||||
result: [pending]
|
||||
|
||||
## Summary
|
||||
|
||||
total: 4
|
||||
pending: 4
|
||||
|
||||
## Gaps
|
||||
|
||||
Operator must provide OpenRouter API key for live validation.
|
||||
38
.planning/phases/06-lab-advisor/06-VERIFICATION.md
Normal file
38
.planning/phases/06-lab-advisor/06-VERIFICATION.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
phase: 06-lab-advisor
|
||||
verified: 2026-04-10
|
||||
status: human_needed
|
||||
score: 4/4 (code) — live OpenRouter validation pending
|
||||
overrides_applied: 0
|
||||
---
|
||||
|
||||
# Phase 6 Verification
|
||||
|
||||
## Goal
|
||||
Users can ask strategic homelab questions and receive streaming answers from Claude Opus with full inventory context, with conversation history persisted across sessions.
|
||||
|
||||
## Code-Level Verification (Complete)
|
||||
|
||||
| # | Success Criterion | Status | Evidence |
|
||||
|---|------|--------|----------|
|
||||
| 1 | Streaming response from Claude Opus via OpenRouter | ✓ | `internal/advisor/handler.go` StreamChat using TierClient + go-openai stream |
|
||||
| 2 | Inventory context pre-loaded into each conversation | ✓ | `internal/advisor/context.go` InventoryContextBuilder with 60s cache |
|
||||
| 3 | Conversation history persists across sessions | ✓ | `internal/store/` PostgreSQL pgx/v5 + 12 passing integration tests against 10.5.0.109 |
|
||||
| 4 | Model switchable via dropdown without restart | ✓ | Per-request model field in JSON body |
|
||||
|
||||
## All 5 Requirements Covered
|
||||
ADV-01 through ADV-05 — implemented and tested with PostgreSQL integration.
|
||||
|
||||
## Test Results
|
||||
- `go test ./internal/store/... -v` — 12 tests pass against live PostgreSQL
|
||||
- `go build ./...` — clean
|
||||
- `cd web && npm run build` — clean
|
||||
|
||||
## Human Verification Required
|
||||
|
||||
1. Real OpenRouter API key needed (currently empty in .env)
|
||||
2. Live Opus chat with inventory context
|
||||
3. Conversation history visual review
|
||||
|
||||
## Status
|
||||
`human_needed` — code complete, requires operator OpenRouter API key for live testing.
|
||||
Loading…
Add table
Reference in a new issue