Add "Set Anthropic API Key" StartOS UI action (v0.1.0:50)

Lets a non-technical operator install the Architect's Claude key from the
StartOS UI instead of the terminal: a masked text field whose value is written
to /data/secrets/anthropic-api-key (0600) on the box — the same file the
entrypoint already loads at boot. Secret is piped over stdin (never argv/env),
CR/LF stripped to match the entrypoint's read. allowedStatuses 'any'; a restart
is required (and stated in the action's warning + success message) since the
entrypoint reads the key only at startup.

Verified the Architect's data boundary first: the deployed Thesis Workshop
routes send only Ten31's own thesis text (thesis_lines/thesis_nodes) + the
partner-typed guidance to Claude — no contacts/lp_profiles/communications/grid.
(The MCP CRM-retrieval tools that DO return record substance are not wired into
the deployed Architect; the redaction boundary must land before any grounding
path uses them — Phase 1 Workstream D.)

tsc --noEmit clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Keysat
2026-06-05 13:52:26 -05:00
parent 77e619d097
commit 3d9caac178
5 changed files with 157 additions and 4 deletions
+3 -2
View File
@@ -14,8 +14,9 @@ export const PACKAGE_TITLE = 'Ten31 Database'
// * 0.1.0:46 (packaging fix: ship full backend so migrations run + endpoints work)
// * 0.1.0:47 (soft-delete instead of hard-delete; source-count diagnostics)
// * 0.1.0:48 (entity model: investors vs people; fixes double-count)
// * Current: 0.1.0:49 (Architect: Claude thesis generation + Thesis Workshop screen)
export const PACKAGE_VERSION = '0.1.0:49'
// * 0.1.0:49 (Architect: Claude thesis generation + Thesis Workshop screen)
// * Current: 0.1.0:50 (Set Anthropic API Key UI action — no terminal needed)
export const PACKAGE_VERSION = '0.1.0:50'
export const DATA_MOUNT_PATH = '/data'
export const WEB_PORT = 8080