91 lines
4.1 KiB
Markdown
91 lines
4.1 KiB
Markdown
# Goal Integration Checkpoint - 2026-07-12
|
|
|
|
## Scope
|
|
|
|
Clean integration branch: `codex/goal-integration-2026-07-12`
|
|
|
|
Base: `origin/main` at `89329f99`
|
|
|
|
This checkpoint combines the current mainline with:
|
|
|
|
- hardened Channels from `015e20e4`
|
|
- durable Rooms and external-tool collaboration from `39511843`
|
|
- provider-native model discovery and managed LiteLLM runtime routing
|
|
- recoverable API-key setup in onboarding and Settings
|
|
- mobile onboarding, CSP, and dependency fixes found during combined validation
|
|
|
|
The original dirty UX checkout was not merged wholesale. Its unrelated working
|
|
files remain untouched.
|
|
|
|
## Functional Result
|
|
|
|
- Provider model identities come from provider APIs, not a maintained model list.
|
|
- Anthropic cursor and Google page-token pagination are exhausted.
|
|
- Provider models use stable `provider/model` IDs through UI, Settings, Chat,
|
|
explicit model selection, fleet execution, and LiteLLM runtime configuration.
|
|
- Saving a key hydrates provider environment aliases, stores the key in Vault,
|
|
scrubs legacy plaintext config, refreshes catalogs, and restarts the managed
|
|
router when needed.
|
|
- A model released while Waggle is open is pulled again on focus and becomes
|
|
executable without a Waggle code change.
|
|
- API-key success and router readiness are separate states. Router failure keeps
|
|
an inline retry and does not claim that the model is ready.
|
|
- Channels and durable Rooms coexist with the current MCP retrieval, marketplace,
|
|
evolution, embedding-routing, and security changes on main.
|
|
|
|
## Verification
|
|
|
|
- `npm ci --legacy-peer-deps`: pass
|
|
- `npm run build:packages`: pass
|
|
- root `npm run build`: pass
|
|
- server TypeScript project: pass
|
|
- web TypeScript project: pass
|
|
- app TypeScript project: pass
|
|
- combined backend slice: 21 files, 221 tests passed
|
|
- combined web slice: 14 files, 94 tests passed
|
|
- agent, hook, shim, and worker slice: 14 files, 200 tests passed
|
|
- hive-mind MCP server build and focused scope tests: 13 tests passed
|
|
- fresh-port Playwright: 5/5 for app load, navigation, Settings/Models, Room,
|
|
and zero console errors
|
|
- 390 x 844 rendered inspection: onboarding/API-key, Settings/Models, and Channels
|
|
fit without horizontal overflow; selected tabs remain visible; console errors 0
|
|
- diff check: pass
|
|
- added-line credential scan outside tests/docs: 0 candidates
|
|
- production dependency audit: 0 high, 0 critical; 19 moderate remain
|
|
- full workspace dependency audit: 0 high, 0 critical; 24 moderate remain
|
|
|
|
## Corrections Found During Integration
|
|
|
|
1. The root production build caught a stale frontend `Settings` type that omitted
|
|
`defaultModel`; the contract now matches the model-save path.
|
|
2. The production CSP blocked the inline pre-hydration theme script. It now runs
|
|
as a same-origin classic script without weakening `script-src 'self'`.
|
|
3. Tall onboarding steps were vertically centered on mobile, clipping content
|
|
above the scroll origin. Mobile steps now align to the top and remain centered
|
|
on larger viewports.
|
|
4. `hono` 4.12.29, `vite` 6.4.3, `vitest` 3.2.7, and `form-data` 4.0.6 now
|
|
resolve across the workspace, clearing every high- and critical-severity
|
|
dependency advisory without a breaking application-code change.
|
|
|
|
## Open Build Hygiene
|
|
|
|
- Tailwind reports ambiguous arbitrary motion utility classes.
|
|
- Vite reports mixed dynamic and static imports for shape selection.
|
|
- The production build reports chunks larger than 500 kB.
|
|
- Focused tests still emit known image-source and expected error-path stderr;
|
|
the fresh browser run remains free of console errors.
|
|
|
|
## Remaining Goal Gates
|
|
|
|
- paid external-provider credential smoke against at least one live provider
|
|
- live Telegram, Discord, and Slack credentials; WhatsApp scan/restart/unlink
|
|
- one real held-tool approval arriving through a Channel
|
|
- packaged Tauri desktop and signed installer evidence
|
|
- remaining T13-T19 launch, utility, hook, Browser Companion, CI, and deployment
|
|
evidence, or explicit scope deferrals
|
|
- reconcile the broader dirty UX correction checkout in deliberate slices
|
|
- run the final five-persona scorecards; no persona is yet formally confirmed at
|
|
9/10
|
|
|
|
This branch is local and has not been pushed.
|