docs(dedupe): one owner for the finish rule, and the Gitea index routes instead of restating
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
This commit is contained in:
1 parent
047f264fcf
commit
8b87b5ae1a
2 files changed
+28
-47
No files matched your search
@@ -96,13 +96,11 @@ Pi already runs a similar model with its parallel `researcher` and `scout` subag
|
|||||||
|
|
||||||
## The Finish Rule
|
## The Finish Rule
|
||||||
|
|
||||||
Research must end. Stop when any one is true:
|
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 —
|
||||||
1. Two or more independent sources agree on the answer.
|
is owned by [Agentic Search Best Practices](agentic-search-best-practices.md#the-finish-rule),
|
||||||
2. The retrieval budget is spent.
|
the page an agent reads before it starts a loop. What belongs here is the measurement: unbounded
|
||||||
3. The required confidence is met for every claim.
|
loops are why "infinite re-search" is a named failure mode in the next section.
|
||||||
|
|
||||||
Report gaps honestly. Do not invent a source to fill one.
|
|
||||||
|
|
||||||
## Failure Modes and Guardrails
|
## Failure Modes and Guardrails
|
||||||
|
|
||||||
|
|||||||
@@ -4,56 +4,39 @@ Private Git hosting on dankclaw. Two quadlet-managed containers in the rootless
|
|||||||
|
|
||||||
**Host:** dankclaw (192.168.0.143 LAN)
|
**Host:** dankclaw (192.168.0.143 LAN)
|
||||||
**Config:** `~/.config/containers/systemd/gitea-{postgres,server}.container` + `gitea.network`
|
**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)
|
**Domain:** `https://gitea.franksdank.cloud` (live; served by fleet Caddy, DNS-01 TLS)
|
||||||
|
|
||||||
## Architecture
|
## What lives where
|
||||||
|
|
||||||
| Container | Unit | Port | Purpose |
|
| Question | Owner |
|
||||||
|---|---|---|---|
|
|
||||||
| `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 |
|
|
||||||
|---|---|
|
|---|---|
|
||||||
| Start all | `systemctl --user start gitea-postgres gitea-server` |
|
| Containers, unit names, network topology, ports, env wiring | [architecture](architecture.md) |
|
||||||
| Stop all | `systemctl --user stop gitea-server gitea-postgres` |
|
| Start / stop / logs / upgrade; boot persistence (linger + `[Install] WantedBy=default.target`); incident log | [management](management.md) |
|
||||||
| Restart Gitea only | `systemctl --user restart gitea-server` |
|
| Data layout on host bind mounts, UID ownership, backup and restore, the `/opt/gitea` leftover | [data-persistence](data-persistence.md) |
|
||||||
| Follow logs | `podman logs -f gitea-server` or `journalctl --user -u gitea-server -f` |
|
| Token-based HTTP access from clients, the credential store, git 2.56 store-format trap | [client-access](client-access.md) |
|
||||||
| Check status | `systemctl --user status gitea-postgres gitea-server` |
|
|
||||||
|
|
||||||
## 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 |
|
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.
|
||||||
| `/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.
|
|
||||||
|
|
||||||
## Repo Copies
|
## 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
|
## See Also
|
||||||
|
|
||||||
* [Gitea Architecture](architecture.md) — container architecture, network topology, ports.
|
* [Dankclaw](/system/dankclaw.md) — the host, and its container census.
|
||||||
* [Gitea Data Persistence](data-persistence.md) — data layout, ownership mapping, backup strategy.
|
* [Caddy](/caddy/index.md) — the fleet edge proxy that fronts `gitea.franksdank.cloud`.
|
||||||
* [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.
|
|
||||||
Reference in new issue
Block a user