Skip to content

Docs: correct what today's changes made false, and add the system-level reference - #283

Merged
Sbussiso merged 2 commits into
masterfrom
docs-accuracy-pass
Sep 10, 2026
Merged

Docs: correct what today's changes made false, and add the system-level reference#283
Sbussiso merged 2 commits into
masterfrom
docs-accuracy-pass

Conversation

@Sbussiso

Copy link
Copy Markdown
Contributor

Two commits: an accuracy pass, then the document that didn't exist.

Accuracy — a day of infrastructure work left the docs describing a system that's gone

A confidently wrong doc costs more than a missing one, because nobody goes looking for a second source.

docs/SENTINEL_AGENT.md — rewritten, not patched. It was still titled after the archived SourceBox-Sentinel repo, described the agent as a separate Fly app with its own secrets and deploy token, told readers to pip install -r requirements.txt, documented an Ollama client that no longer exists, and warned against poll mode because it "defeats auto_stop_machines" — on a machine that is now deliberately always warm. It also contained a half-finished edit of mine sitting inside a code block. Preserved what was still true and good (reliability layers, multi-tenancy model, limitations); corrected the rest.

docs/legal/SUB_PROCESSORS.md — this one has consequences. The Ollama Cloud entry is still factually right about who processes data (verified against the running config: ollama_chat/qwen3.5:cloud), but it called the agent "a separate SourceBox-operated service" and predates the provider becoming a config value.

LiteLLM means one environment variable now decides who receives customer camera imagery. That's a sub-processor change under the DPA — 14 days' notice, not a config tweak. The warning is recorded both at the point of use and in the changelog, so someone editing LLM_MODEL meets it.

docs/runbooks/DISASTER_RECOVERY.md justified Sync having no dump job because it "runs two machines". It runs one now and scales to zero, so the stated reason is false. The conclusion survives on stronger grounds — sentinel_sync holds a mirror whose source of truth is the operator's local SQLite — and now says that instead.

docs/LAUNCH_HANDOFF.md told the operator to verify notifications.sourceboxsentry.com as the Resend sending domain. That's the pre-rename brand and is not verified; AGENTS.md already records that sentinel-command.com is. Following the old step at launch would have failed every send.

README.md linked the agent row to the archived repo. docs/README.md pointed at the old domain, never indexed SENTINEL_AGENT.md, and told readers no runbooks existed — in the same file that lists two.

The document that didn't exist

README.md covers this repo. AGENTS.md covers Command Center's internals. Nothing covered the level above both, so "what talks to what" lived only in the heads of the people who built it.

docs/ARCHITECTURE.md is that level — written from the running infrastructure, not from memory. It makes explicit several things that were previously folklore:

  • the live video path touches no object storage, and the segment cache's 384 MiB ceiling is coupled to the machine's 1 GiB — raise one without the other and the OOM killer takes every org's streams
  • two services scale to zero and two don't, for a measurable reason (Fly's proxy gives an auto-started machine ~8s to bind; License needs ~4s, the agent ~10s)
  • isolation between the three databases is by role, not by cluster
  • CI path filtering is asymmetric on purpose, and inverting it would hang every PR on a check that never reports
  • the GITHUB_TOKEN deploy gap, which is why only this repo has an auto-merge workflow

All 37 relative links verified to resolve.

🤖 Generated with Claude Code

Sbussiso and others added 2 commits September 9, 2026 18:19
A day of infrastructure work left the documentation describing a system
that no longer exists. Accuracy first — a confidently wrong doc costs
more than a missing one, because nobody goes looking for a second source.

docs/SENTINEL_AGENT.md — rewritten, not patched. It was still titled
after the archived SourceBox-Sentinel repo, described the agent as a
separate Fly app with its own secrets and deploy token, told readers to
`pip install -r requirements.txt`, documented an Ollama client that no
longer exists, and warned against poll mode because it "defeats
auto_stop_machines" on a machine that is now deliberately always warm.
It also contained a half-finished edit of mine sitting inside a code
block. Preserved what was still true and good — the reliability layers,
the multi-tenancy model, the limitations — and corrected the rest.

docs/legal/SUB_PROCESSORS.md — this one has consequences. The Ollama
Cloud entry is still factually right about who processes data (verified
against the running configuration: ollama_chat/qwen3.5:cloud), but it
described the agent as "a separate SourceBox-operated service" and, more
importantly, predates the provider becoming a config value. LiteLLM means
one environment variable now decides who receives customer camera
imagery. That is a sub-processor change under the DPA — 14 days' notice,
not a config tweak — so the warning is recorded both at the point of use
and in the changelog, where someone editing LLM_MODEL will meet it.

docs/runbooks/DISASTER_RECOVERY.md — justified Sync having no dump job
because it "runs two machines" and a volume would cost redundancy. It
runs one machine now and scales to zero, so the stated reason is false.
The conclusion survives on stronger grounds: sentinel_sync holds a
mirror whose source of truth is the operator's local SQLite, so losing
it entirely costs one sync cycle. Rewritten to say that instead.

docs/LAUNCH_HANDOFF.md — told the operator to verify
`notifications.sourceboxsentry.com` as the Resend sending domain. That
is the pre-rename brand and is not verified; AGENTS.md already records
that sentinel-command.com is, with DKIM and SPF on
send.sentinel-command.com. Following the old step at launch would have
failed every send.

README.md — the agent row linked to the archived repo.

docs/README.md — pointed at sourceboxsentry.com, never indexed
SENTINEL_AGENT.md, and told readers no runbooks existed in the same file
that lists two of them.

All 26 relative links verified to resolve.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was no document describing how the whole thing fits together.
README covers this repo, AGENTS.md covers Command Center's internals,
and nothing covered the level above both — which meant the answer to
"what talks to what" lived only in the heads of people who built it.

docs/ARCHITECTURE.md is that level: every repository, every deployed
service, and the paths between them. Written from the running
infrastructure rather than from memory, and it makes explicit several
things that were previously folklore:

  - the live video path touches NO object storage, and the segment
    cache's 384 MiB ceiling is coupled to the machine's 1 GiB — raise
    one without the other and the OOM killer takes every org's streams
  - two services scale to zero and two don't, and the reason is a
    measurable one (Fly's proxy gives an auto-started machine ~8s to
    bind; License needs ~4s, the agent ~10s)
  - isolation between the three databases is by ROLE, not by cluster
  - CI path filtering is asymmetric on purpose, and inverting it would
    hang every PR on a check that never reports
  - the GITHUB_TOKEN deploy gap, which is why only one repo here has an
    auto-merge workflow

Indexed from both README.md and docs/README.md as the recommended
starting point.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Sbussiso
Sbussiso merged commit 27710d9 into master Sep 10, 2026
12 checks passed
@Sbussiso
Sbussiso deleted the docs-accuracy-pass branch September 10, 2026 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant