deploy: whole-flow as plain text, restore v2 diagram shape; admonition variety

- 'The whole flow' is now plain prose, not an abstract box.
- Restore the v2 diagram shape (git -> staging via develop-if-gitflow AND
  git -> deployment, converging on docker) instead of the linear main-only
  one, keeping the simplified 'libs (rethink-public, pip)' wording.
- Spread admonition types for variety across pages: index agent-callout
  tip -> example; environments uv.lock note -> info; standards logging
  note -> info. (deploy already mixes success/danger/example/warning/tip.)

Verified in-browser: whole-flow reads as text, diagram renders in the v2
shape; mkdocs build --strict clean.

Signed-off-by: disqualifier <dev@disqualifier.me>
This commit is contained in:
2026-07-01 03:04:51 -04:00
parent 5797248931
commit 350884c2b3
4 changed files with 13 additions and 13 deletions
+10 -10
View File
@@ -9,11 +9,10 @@
## Preparing for Deploy ## Preparing for Deploy
!!! abstract "The whole flow" You build and test locally — leaning on our libraries, AI, and this handbook — then
You build and test locally — leaning on our libraries, AI, and this handbook — push to git. From there the ops tooling takes over: staging (if you run gitflow), then
then push a branch and merge to `main`. From there the ops tooling takes over: it it builds the Docker image and runs it on the fleet. **You don't run any deploy
builds the Docker image and runs it on the fleet. **You don't run any deploy commands** — your only job is the three pieces in the tabs below.
commands** — your only job is the three pieces in the tabs below.
```mermaid ```mermaid
flowchart LR flowchart LR
@@ -29,14 +28,15 @@ flowchart LR
docs --- local docs --- local
end end
build -->|branch| git["git<br/>(Gitea)"] build -->|push| git["git<br/>(Gitea)"]
git --> main["main"] git -.->|develop, if gitflow| stage["staging"]
main --> deploy["deployment<br/>(ops tooling)"] git --> deploy["deployment<br/>(ops tooling)"]
deploy --> docker["docker<br/>(image built + run on the fleet)"] stage --> deploy
deploy --> docker["docker<br/>(built + run<br/>on the fleet)"]
classDef ship fill:#061541,stroke:#569bcc,color:#eef1f6; classDef ship fill:#061541,stroke:#569bcc,color:#eef1f6;
classDef work fill:#0e1530,stroke:#294274,color:#eef1f6; classDef work fill:#0e1530,stroke:#294274,color:#eef1f6;
class git,main,deploy,docker ship; class git,stage,deploy,docker ship;
class local,libs,ai,docs work; class local,libs,ai,docs work;
``` ```
+1 -1
View File
@@ -100,7 +100,7 @@ uv sync # create/refresh .venv from pyproject.toml + uv.lock
uv run python -m yourapp # run inside the managed env, no manual activate uv run python -m yourapp # run inside the managed env, no manual activate
``` ```
!!! note "`uv.lock` is local-only — never committed" !!! info "`uv.lock` is local-only — never committed"
`uv sync` writes a `uv.lock` for your machine's resolved environment. It is `uv sync` writes a `uv.lock` for your machine's resolved environment. It is
**gitignored**, not committed — we don't ship a lockfile. Pinning happens in **gitignored**, not committed — we don't ship a lockfile. Pinning happens in
`pyproject.toml` (below), not the lock. `pyproject.toml` (below), not the lock.
+1 -1
View File
@@ -8,7 +8,7 @@ infrastructure specifics (hostnames, internal IPs, exact topology, secrets) stay
out of it; examples use placeholders like `<workspace>`, `<project>`, and out of it; examples use placeholders like `<workspace>`, `<project>`, and
`/srv/...`. `/srv/...`.
!!! tip "Point your coding agent here" !!! example "Point your coding agent here"
Want your agent aware of our libraries, standards, and deploy rules before it Want your agent aware of our libraries, standards, and deploy rules before it
writes a line? Tell it to read this handbook — so it reaches for an existing writes a line? Tell it to read this handbook — so it reaches for an existing
`rethink-public` lib instead of reinventing it, follows our conventions, and `rethink-public` lib instead of reinventing it, follows our conventions, and
+1 -1
View File
@@ -125,7 +125,7 @@ TimeoutError: request timed out after 30s
2026-06-29 14:03:11,204 WARNING aioweb.session fetch timed out: https://example.test/feed 2026-06-29 14:03:11,204 WARNING aioweb.session fetch timed out: https://example.test/feed
``` ```
!!! note "Logging belongs to the app, not the library" !!! info "Logging belongs to the app, not the library"
Libraries **emit only** — `log = logging.getLogger(__name__)` and nothing Libraries **emit only** — `log = logging.getLogger(__name__)` and nothing
else. Handlers, levels, and formatting are configured once at the else. Handlers, levels, and formatting are configured once at the
application entry point, so a lib never dictates how its host logs. application entry point, so a lib never dictates how its host logs.