kb/ is its own wiki root: 34 pages across 7 categories, index.md catalog, log.md, AGENTS.md schema layer, and raw/ holding copies of README, the spec, the 13-task plan, the design master and the SDD ledger. Every page cross-references 3 to 6 others and all 107 wikilinks resolve except two [["list"]] artefacts inside JSON snippets in the copied plan. Kept separate from the repository root on purpose: its generated graph lands in kb/.ua/ instead of overwriting the code graph. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
975 B
Settings form
components/settings-form.tsx is the credential screen, used twice: as step 2 of the first-run guide and on /settings. It renders analyst base URL, analyst key, analyst model, extra JSON parameters, Jev key and Jev model, plus the account email change field.
It renders values from settingsView only, so a stored secret is never echoed back into the DOM - the fields show bullet-masked values, and a blank submission means "keep what is stored", enforced again in the upsert (see SQLite schema).
The form carries a hidden after field. When the submission comes from the wizard, the action returns the user to /setup?step=3 so the readiness screen and its "Saved." message actually render; without it a configured user was forwarded straight to the console and Save appeared to do nothing.
Every field has a real label element, asserted by the responsive Playwright checks.
Related: First-run gate, Credential vault, Email collision check.