homelabby/internal
Mikkel Georgsen 8c03780230 feat(02-01): AI package foundation — types, interface, mock, prompts, config extension
- internal/ai/types.go: IntakeRequest, IntakeResult, TierConfig, AIConfig domain types
- internal/ai/client.go: AIClient interface + TierClient (go-openai, BaseURL tier-routing)
- internal/ai/mock.go: MockAIClient test double with HighConfidenceResult/LowConfidenceResult fixtures
- internal/ai/prompts/intake.go: BuildIntakePrompt() JSON-extraction prompt template
- internal/config/config.go: Config.AI AIConfig field, tier defaults, env bindings, ai_config.json merge
- ai_config.json: template config with placeholder Tier2 API key
- .gitignore: add ai_config.local.json pattern for real keys (T-02-01 mitigation)
- All tests pass: TestMockAIClient, TestMockAIClientError, TestTierClientConstruction, TestAIConfigDefaults
2026-04-10 05:45:13 +00:00
..
ai feat(02-01): AI package foundation — types, interface, mock, prompts, config extension 2026-04-10 05:45:13 +00:00
api feat(01-foundation-01): viper config loader and SPA fallback fix 2026-04-10 01:27:54 +00:00
config feat(02-01): AI package foundation — types, interface, mock, prompts, config extension 2026-04-10 05:45:13 +00:00
inventory feat(01-04): quality gate state machine, tag sync, catalog updater 2026-04-10 05:22:22 +00:00
netbox feat(02-01): install go-openai and add CreateDevice to NetBox client 2026-04-10 05:42:51 +00:00
queue feat(01-05): WAQ retry worker and graceful shutdown wiring 2026-04-10 05:22:10 +00:00