auto: docs sync 2026-07-14T00:00:14+00:00

Files changed: engine/lint-report.md engine/sweep.sh vault/.obsidian/workspace.json vault/docs/software/central.md
This commit is contained in:
echo6-autocommit 2026-07-14 00:00:14 +00:00
commit 4e96ac856e
4 changed files with 20 additions and 19 deletions

View file

@ -1,6 +1,6 @@
# Vault Lint Report # Vault Lint Report
Generated: 2026-07-13T12:00:23Z | Docs scanned: 105 | Elapsed: 0.0s Generated: 2026-07-13T18:00:33Z | Docs scanned: 105 | Elapsed: 0.0s
## Summary ## Summary

View file

@ -133,7 +133,7 @@ if [ "$OPT_ALL" -eq 1 ] || [ ! -f "$LAST_SWEEP" ]; then
fi fi
while IFS= read -r -d '' f; do while IFS= read -r -d '' f; do
# Skip archive # Skip archive
if [[ "$f" == *"/archive/"* ]]; then if [[ "$f" == *"/archive/"* || "$f" == *"/.trash/"* ]]; then
continue continue
fi fi
DOC_LIST+=("$f") DOC_LIST+=("$f")
@ -143,7 +143,7 @@ else
echo " Mode: incremental — docs modified since ${LAST_TS}" echo " Mode: incremental — docs modified since ${LAST_TS}"
# Compare file mtime to .last-sweep mtime (not contents) # Compare file mtime to .last-sweep mtime (not contents)
while IFS= read -r -d '' f; do while IFS= read -r -d '' f; do
if [[ "$f" == *"/archive/"* ]]; then if [[ "$f" == *"/archive/"* || "$f" == *"/.trash/"* ]]; then
continue continue
fi fi
DOC_LIST+=("$f") DOC_LIST+=("$f")
@ -204,10 +204,10 @@ if [ "$OPT_DRY" -eq 0 ]; then
date -u +%Y-%m-%dT%H:%M:%SZ > "$LAST_SWEEP" date -u +%Y-%m-%dT%H:%M:%SZ > "$LAST_SWEEP"
{ {
printf "\n## %s — sweep run\n" "$SWEEP_START" printf "\n## %s — sweep run\n" "$SWEEP_START"
printf "- end: %s\n" "$SWEEP_END" printf -- "- end: %s\n" "$SWEEP_END"
printf "- mode: %s\n" "$([ "$OPT_ALL" -eq 1 ] && echo "--all" || echo "incremental")" printf -- "- mode: %s\n" "$([ "$OPT_ALL" -eq 1 ] && echo "--all" || echo "incremental")"
printf "- docs selected: %d\n" "$TOTAL" printf -- "- docs selected: %d\n" "$TOTAL"
printf "- processed: %d | written: %d | flagged: %d | errors: %d\n" \ printf -- "- processed: %d | written: %d | flagged: %d | errors: %d\n" \
"$N_PROCESSED" "$N_WRITTEN" "$N_FLAGGED" "$N_ERRORS" "$N_PROCESSED" "$N_WRITTEN" "$N_FLAGGED" "$N_ERRORS"
} >> "$CHANGELOG" } >> "$CHANGELOG"
echo " .last-sweep updated. Changelog appended." echo " .last-sweep updated. Changelog appended."

View file

@ -199,17 +199,17 @@
}, },
"active": "17bd4a6166f789d0", "active": "17bd4a6166f789d0",
"lastOpenFiles": [ "lastOpenFiles": [
"docs/software/central.md.tmp.2217597.5f057dc86d0a",
"docs/software/central.md.tmp.2217597.f65fc65a678c",
"docs/software/central.md.tmp.2217597.51f154bfbc88",
"docs/software/central.md.tmp.2217597.5bf096d10d72",
"docs/software/central.md.tmp.2217597.ac900704af53",
"docs/software/central.md.tmp.2217597.24f28a928ea9",
"runbooks/lxc-service-migration.md.tmp.2217597.ef0b7b5fefc5", "runbooks/lxc-service-migration.md.tmp.2217597.ef0b7b5fefc5",
"runbooks/lxc-service-migration.md.tmp.2217597.ff9206e1ecc9", "runbooks/lxc-service-migration.md.tmp.2217597.ff9206e1ecc9",
"runbooks/authentik-create-invitation.md.tmp.2217597.48bf7c4dd5b1", "runbooks/authentik-create-invitation.md.tmp.2217597.48bf7c4dd5b1",
"runbooks/authentik-create-invitation.md.tmp.2217597.e42e1524f89f", "runbooks/authentik-create-invitation.md.tmp.2217597.e42e1524f89f",
"runbooks/authentik-create-invitation.md.tmp.2217597.28c10044e078", "runbooks/authentik-create-invitation.md.tmp.2217597.28c10044e078",
"runbooks/authentik-oidc-application.md.tmp.2217597.1beb148d6685",
"runbooks/authentik-oidc-application.md.tmp.2217597.8c872b0d8558",
"runbooks/authentik-oidc-application.md.tmp.2217597.f9c4cbed7ec4",
"runbooks/authentik-oidc-application.md.tmp.2217597.6838e5562889",
"glossary.md.tmp.2217597.98abda89426b",
"glossary.md.tmp.2217597.b4ff5128b973",
"archive/projects/vaultwarden-plan.md", "archive/projects/vaultwarden-plan.md",
"archive/projects/meshai-native-fire-severity-audit-cc-handoff.md", "archive/projects/meshai-native-fire-severity-audit-cc-handoff.md",
"projects/meshai-native-fire-severity-audit-cc-handoff.md", "projects/meshai-native-fire-severity-audit-cc-handoff.md",

View file

@ -20,7 +20,7 @@ central is a multi-domain real-time data-hub spine. Adapters normalize upstream
- **URL (internal):** http://central.echo6.mesh:8000 (mesh-only, no public exposure) - **URL (internal):** http://central.echo6.mesh:8000 (mesh-only, no public exposure)
- **Host:** utility CT 104 (unprivileged Ubuntu LXC) - **Host:** utility CT 104 (unprivileged Ubuntu LXC)
- **Repo:** github.com/zvx-echo6/central (public, Python, deployed at detached HEAD, tag v0.14.5) - **Repo:** github.com/zvx-echo6/central (public, Python, deployed at detached HEAD, tag v0.15.0)
- **Deploy path:** /opt/central (venv: /opt/central/.venv, env: /etc/central/central.env, system user: central) - **Deploy path:** /opt/central (venv: /opt/central/.venv, env: /etc/central/central.env, system user: central)
## Host ## Host
@ -71,7 +71,7 @@ All three units are **enabled and active**; [[deployment]] survives reboot. Deps
## GUI / API Surface ## GUI / API Surface
Authenticated app with login/sessions/CSRF, first-run setup wizard, operator management, adapter configuration, stream viewer, **JetStream consumer management** (`/consumers` — view + delete consumers; central's own `archive-*` durable consumers are protected/non-deletable; CSRF + audit-logged), enrichment pipeline, monitoring-area management, API key management, audit log, and manual resend. Authenticated app with login/sessions/CSRF, first-run setup wizard, operator management, adapter configuration (incl. **no-code creation of generic REST/GeoJSON sources**, v0.15.0), stream viewer, **JetStream consumer management** (`/consumers` — view + delete consumers; central's own `archive-*` durable consumers are protected/non-deletable; CSRF + audit-logged), enrichment pipeline, monitoring-area management, API key management, audit log, and manual resend.
**Auth-exempt tile endpoints** (used by navi, verified HTTP 200): **Auth-exempt tile endpoints** (used by navi, verified HTTP 200):
@ -96,11 +96,12 @@ navi-traffic (navi's in-VM :8421 extraction service) was **retired on 2026-05-26
## Data Plane ## Data Plane
Single TimescaleDB hypertable `public.events` (~22 GB, ~3.19 M rows, 331 chunks, compression not enabled). JetStream ~5.86 GB / 20 GB across 12 streams. Single TimescaleDB hypertable `public.events` (~40 GB, ~3.42 M rows, 331 chunks, compression not enabled). JetStream ~5.9 GB / 20 GB across 12 streams.
## Deploy / State Notes (as of 2026-06-29) ## Deploy / State Notes (as of 2026-07-13)
- **Deployed HEAD:** v0.14.7 (detached HEAD — the box tracks tags). All prior drift resolved: migration 036 committed, `pyproject.toml` version current, README operational. - **Deployed HEAD:** v0.15.0 (detached HEAD — the box tracks tags; sha `3c8da28`, `pyproject.toml` 0.15.0). All 3 units active, `/health` 200, 23 adapters configured / 22 enabled (only `n2yo_visualpasses` disabled).
- **v0.15.0 (deployed 2026-07-02, PRs #120124):** the GUI can now add public REST/GeoJSON data sources **no-code** — a generic adapter kind created and configured entirely through adapter management, no repo change. None enabled in this deployment yet; all 23 current adapters remain bespoke per-source kinds (each `config.adapters.kind` is unique to its source).
- **Deploy mechanism:** manual, tag-based (`git checkout <tag>``uv sync``central-migrate` → restart). One-command `scripts/deploy.sh` ships in-repo; full procedure in the [[central-deploy-cutover]] runbook. No CI/CD; no automated DB backup (pre-flight `pg_dump` is the only migration safety net; migrations are forward-only). - **Deploy mechanism:** manual, tag-based (`git checkout <tag>``uv sync``central-migrate` → restart). One-command `scripts/deploy.sh` ships in-repo; full procedure in the [[central-deploy-cutover]] runbook. No CI/CD; no automated DB backup (pre-flight `pg_dump` is the only migration safety net; migrations are forward-only).
- **`central-migrate` env gotcha:** manual calls need `cd /opt/central && set -a && . /etc/central/central.env && set +a && …` (the units supply this via WorkingDirectory + EnvironmentFile). - **`central-migrate` env gotcha:** manual calls need `cd /opt/central && set -a && . /etc/central/central.env && set +a && …` (the units supply this via WorkingDirectory + EnvironmentFile).
- **EONET:** now **global** as of v0.14.6 (2026-06-28) — `bypass_bbox_filter=True` + the adapter `region` key removed. NOTE: its `events`-table row count is a misleading health signal (dedup + partition expiry); use the CENTRAL_DISASTER stream as the EONET flow signal. `avalanche_org` zero-events is expected (off-season gate). - **EONET:** now **global** as of v0.14.6 (2026-06-28) — `bypass_bbox_filter=True` + the adapter `region` key removed. NOTE: its `events`-table row count is a misleading health signal (dedup + partition expiry); use the CENTRAL_DISASTER stream as the EONET flow signal. `avalanche_org` zero-events is expected (off-season gate).
@ -108,4 +109,4 @@ Single TimescaleDB hypertable `public.events` (~22 GB, ~3.19 M rows, 331 chunks,
--- ---
*Last updated: 2026-06-29 — v0.14.7 deployed (consumers admin page); drift cleared, EONET global, perf fixes verified.* *Last updated: 2026-07-13 — v0.15.0 deployed & verified (GUI no-code generic REST/GeoJSON adapters, PRs #120124); 3.42 M events / ~40 GB, all units active.*