One agent doc per repo, and it is CLAUDE.md. Two docs describing one repo drift, and the one nobody read is always the one holding the rule that mattered. Written fresh rather than reformatted, so the structure follows what someone working here actually needs. Two rules from the old file are gone deliberately. The mandate to branch for every change was retired in favour of one linear-history policy, and the release snippet used `git add -A`, which sweeps in whatever else is dirty. The architecture section is the part worth reading. An earlier draft called src/auth, src/controllers, src/clients, src/dns and src/models dead code, derived from grepping main.py's imports. That was wrong: main.py:55 calls initialize_oidc(), which imports and configures src.auth.oidc from inside the function body, so src/auth is configured with live Authentik issuers on every boot. It also missed four genuinely unreferenced packages. The section now states the method used -- import the app in the container and read sys.modules -- and its blind spot, that a cold snapshot cannot see a module imported on a request path. Also records that the README's "runs as non-root user (uid 1000)" is false: the Dockerfile has no USER directive. Flagged rather than fixed, since changing the runtime user is not a docs change. Co-Authored-By: Claude <noreply@anthropic.com>
12 lines
572 B
SQL
12 lines
572 B
SQL
-- Changelog format marker, written by pql. Comments only: this file
|
|
-- is never executed — Import descends into the per-table directories
|
|
-- and does not read the changelog root.
|
|
--
|
|
-- A changelog carrying no marker is format 1, the shape that existed
|
|
-- before formats were versioned. An older format is migrated forward
|
|
-- by `pql plan upgrade` (and automatically from the post-merge hook);
|
|
-- a newer one is refused rather than replayed under rules this binary
|
|
-- does not know. See D-28 and docs/versions.md.
|
|
-- pql:changelog_format: 2.0.0
|
|
-- pql:written_by: 2.2.0
|