From 8b87b5ae1afae72268d64c31a210da4c5e7988f1 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 21 Oct 2026 02:24:11 -0700 Subject: [PATCH] docs(dedupe): one owner for the finish rule, and the Gitea index routes instead of restating MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two independent copies of the same law, and each page cited its own numbers. The finish rule — stop when independent sources agree, when the retrieval budget is spent, or when every claim is met; report gaps, never invent a source — stood in full in `agentic-search-best-practices.md` (with the loop caps: 20 steps, re-plan every 4) and again in `research-effectiveness.md` without them. The operational page owns it; the measurement page keeps the pointer and the one thing that is its business, which is that unbounded loops are why "infinite re-search" is a named failure mode. `tools/gitea/index.md` was a second copy of its own directory: an architecture table, a management command table, a data-persistence path table and a boot-persistence paragraph, every one of them a subset of `architecture.md`, `management.md` and `data-persistence.md` — verified line by line before cutting, including the two facts that looked unique to the index (the `dns_enabled: false` default network, the `/opt/gitea` leftover) and turn out to be owned upstream with more detail. The index now answers "which page owns my question" and gives three one-line orientation facts. Gitea's live version was re-read while I was in there: still 1.27.3. Refs #64 --- .../research-effectiveness.md | 12 ++-- omp-docs/tools/gitea/index.md | 63 +++++++------------ 2 files changed, 28 insertions(+), 47 deletions(-) diff --git a/omp-docs/agentic-web-research/research-effectiveness.md b/omp-docs/agentic-web-research/research-effectiveness.md index f264fcf..f3db6ba 100644 --- a/omp-docs/agentic-web-research/research-effectiveness.md +++ b/omp-docs/agentic-web-research/research-effectiveness.md @@ -96,13 +96,11 @@ Pi already runs a similar model with its parallel `researcher` and `scout` subag ## The Finish Rule -Research must end. Stop when any one is true: - -1. Two or more independent sources agree on the answer. -2. The retrieval budget is spent. -3. The required confidence is met for every claim. - -Report gaps honestly. Do not invent a source to fill one. +The rule itself — stop when independent sources agree, when the retrieval budget is spent, or +when every claim has the required confidence, and report the gaps instead of inventing a source — +is owned by [Agentic Search Best Practices](agentic-search-best-practices.md#the-finish-rule), +the page an agent reads before it starts a loop. What belongs here is the measurement: unbounded +loops are why "infinite re-search" is a named failure mode in the next section. ## Failure Modes and Guardrails diff --git a/omp-docs/tools/gitea/index.md b/omp-docs/tools/gitea/index.md index 128d095..fb1b4a3 100644 --- a/omp-docs/tools/gitea/index.md +++ b/omp-docs/tools/gitea/index.md @@ -4,56 +4,39 @@ Private Git hosting on dankclaw. Two quadlet-managed containers in the rootless **Host:** dankclaw (192.168.0.143 LAN) **Config:** `~/.config/containers/systemd/gitea-{postgres,server}.container` + `gitea.network` -**Local access:** `http://dankclaw:3000` — Gitea 1.27.3 (`/api/v1/version`, probed 2026-10-19) +**Local access:** `http://dankclaw:3000` — Gitea 1.27.3 (`/api/v1/version`, re-read 2026-10-21) **Domain:** `https://gitea.franksdank.cloud` (live; served by fleet Caddy, DNS-01 TLS) -## Architecture +## What lives where -| Container | Unit | Port | Purpose | -|---|---|---|---| -| `gitea-server` | `gitea-server.service` | 3000 (HTTP), 2222 (SSH) | Git web UI, API, SSH daemon | -| `gitea-postgres` | `gitea-postgres.service` | 5432 (internal) | Database | -| (network) | `gitea-network.service` | — | quadlet `gitea.network` bring-up | - -The containers share the private network `systemd-gitea` (quadlet `gitea.network`, DNS enabled). The automatic `podman` default network has DNS disabled; do not run the stack on it. - -## Management - -All commands run as `dank` on dankclaw. - -| Action | Command | +| Question | Owner | |---|---| -| Start all | `systemctl --user start gitea-postgres gitea-server` | -| Stop all | `systemctl --user stop gitea-server gitea-postgres` | -| Restart Gitea only | `systemctl --user restart gitea-server` | -| Follow logs | `podman logs -f gitea-server` or `journalctl --user -u gitea-server -f` | -| Check status | `systemctl --user status gitea-postgres gitea-server` | +| Containers, unit names, network topology, ports, env wiring | [architecture](architecture.md) | +| Start / stop / logs / upgrade; boot persistence (linger + `[Install] WantedBy=default.target`); incident log | [management](management.md) | +| Data layout on host bind mounts, UID ownership, backup and restore, the `/opt/gitea` leftover | [data-persistence](data-persistence.md) | +| Token-based HTTP access from clients, the credential store, git 2.56 store-format trap | [client-access](client-access.md) | -## Data Persistence +One-line answers, so you know which row to open: -All data lives on host bind mounts under `/home/dank/Containers/gitea/` (fleet storage standard since 2026-09-01; verified live 2026-10-18). Containers are ephemeral. Stopping a quadlet unit removes its container; the next start recreates it. Volumes survive. The old `/opt/gitea/` tree remains on disk as a leftover — do not use it. +* **Two containers** (`gitea-server` :3000/:2222, `gitea-postgres` internal) plus a quadlet + network unit, all in user `dank`'s rootless session. +* **Data survives everything**: host bind mounts under `/home/dank/Containers/gitea/`, env file + mode 0600; stopping a unit removes its container and the next start recreates it. +* **Boot**: user linger for `dank` plus `[Install] WantedBy=default.target` on each unit — no + login session required. The podman-compose stack had neither and did not survive a reboot + (2026-08-16, written up in [management](management.md)). -| Path | Contents | -|---|---| -| `/home/dank/Containers/gitea/data/` | Git repositories, app.ini, attachments | -| `/home/dank/Containers/gitea/postgres/` | PostgreSQL data files | -| `/home/dank/Containers/gitea/env` | EnvironmentFile (mode 0600; `GITEA_DB_PASSWORD`) | - -See [data-persistence](/tools/gitea/data-persistence.md) for backup and restore. - -## Boot Persistence - -User-level linger is enabled for `dank`. The units start at host boot without a login. Each unit carries `[Install] WantedBy=default.target`; the podman generator applies it. The legacy podman-compose stack had no units and did not survive reboots (incident 2026-08-16). - -See [management](/tools/gitea/management.md) for boot persistence details and troubleshooting. +This index used to carry its own copies of all four pages' tables. They went: a second copy of +an operational table is a future contradiction, and every one of them was already a subset. ## Repo Copies -The quadlet files and `.env` templates are tracked in the `serverAppConfigs` deploy repo; the sibling vault page `Infrastructure/Gitea.md` (in `~/Projects/serverAppConfig/serverAppConfigs-docs/`) is the deploy-side source of truth. Secrets live only on the host under `Containers/gitea/` (mode 0600), never in either docs tree. +The quadlet files and `.env` templates are tracked in the `serverAppConfigs` deploy repo; the +sibling vault page `Infrastructure/Gitea.md` (in `~/Projects/serverAppConfig/serverAppConfigs-docs/`) +is the deploy-side source of truth. Secrets live only on the host under `Containers/gitea/` +(mode 0600), never in either docs tree. ## See Also -* [Gitea Architecture](architecture.md) — container architecture, network topology, ports. -* [Gitea Data Persistence](data-persistence.md) — data layout, ownership mapping, backup strategy. -* [Gitea Management](management.md) — operations, upgrades, backups, incident log. -* [Gitea Client Access](client-access.md) — token-based HTTP access from clients, credential store, git 2.56 store-format trap. +* [Dankclaw](/system/dankclaw.md) — the host, and its container census. +* [Caddy](/caddy/index.md) — the fleet edge proxy that fronts `gitea.franksdank.cloud`.