From 0ad6fb8451bcf367f8b1432c7bc10bb838bcb318 Mon Sep 17 00:00:00 2001 From: christian Date: Tue, 13 Oct 2026 15:05:36 -0400 Subject: [PATCH] docs: settings page plan, engineering details, audit record and inventory Plan for the settings page on NA Ingest (every setting editable, what runs where, multi-campus), built with a plan-and-audit workflow and consolidated against a decisions list; the audit's 157 findings and their dispositions; the 544-item inventory of everything configurable today. Co-Authored-By: Claude Fable 5.1 --- docs/settings-inventory.md | 556 ++++++++++++++++++++++++++++++++++ docs/settings-plan-audit.md | 295 ++++++++++++++++++ docs/settings-plan-details.md | 420 +++++++++++++++++++++++++ docs/settings-plan.md | 233 ++++++++++++++ 4 files changed, 1504 insertions(+) create mode 100644 docs/settings-inventory.md create mode 100644 docs/settings-plan-audit.md create mode 100644 docs/settings-plan-details.md create mode 100644 docs/settings-plan.md diff --git a/docs/settings-inventory.md b/docs/settings-inventory.md new file mode 100644 index 0000000..6a727be --- /dev/null +++ b/docs/settings-inventory.md @@ -0,0 +1,556 @@ +# Status Panel: inventory of everything configurable (2026-10-13) + +Every setting, hard-coded value, installed piece, Companion-side object, secret and workflow step the system has today: 544 items in four lenses, gathered by four readers (the "what runs where" reader checked NA Ingest live, read-only). Each line: [kind] area :: name @ where | how it is changed today | values/validation | what another campus would change | whether it needs to be editable. Used by the settings-page plan (settings-plan.md) and its coverage table (settings-plan-details.md). + +### Lens: Operator workflow (every step a person does today to change something) and the Companion-side state the panel depends on (what another campus must recreate inside Companion) +- [workflow-step] workflow: edit :: Edit config.json in the repo on the MacBook (source of truth) @ /Users/christian/Documents/Status Indicators/config.json (README.md:139) | today: Open config.json in a text editor; every tile/check/fix/host/window change starts here. Nothing on NA Ingest is edited directly. | JSON only; no schema file; typos are caught only by install.sh's json.load or by load_config (unknown check type, unknown member/fix/host, duplicate tile id, restart key with a tile's id, auto_fix fix that pkill/taskkill/killall's without restart_ok). | other campus: Another campus needs its own config.json (and its own repo or branch); today there is one file for NA only. +- [workflow-step] workflow: edit :: Validate config.json before deploying (load_config) @ status_panel.py:2234-2276 load_config; .claude/settings.local.json allowlist shows the command | today: /usr/bin/python3 -c "import status_panel as sp; sp.load_config('config.json')" from the repo folder (also runs implicitly in make_page.py and in the tests' CONFIG = sp.load_config(...)). | Raises ValueError on: duplicate tile id; unknown check type (not in CHECKS); member not a tile id; check 'fix' not in fixes (except restart-connection / dante-auto); ssh fix whose host is not in hosts; remote check with unknown host; hold_always not in fixes; auto_fix fix unknown or containing pkill|taskkill|killall without restart_ok; restart key id equal to a tile id; restart key fix or watch entry unknown (watch may be 'conn: