cloudflare-native port of the tangled knot server
22

Configure Feed

Select the types of activity you want to include in your feed.

docs: add inlined sol pbc engineering principles section

Respects the v1 upstream-parity contract — principles apply to aerie-authored
code; inherited upstreamable-core matches upstream Tangled idiom. (CIO AGENTS.md
audit 2026-06-22.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Jer Miller (Jun 22, 2026, 9:38 PM -0600) 0512273c 61dc2adb

+16
+16
AGENTS.md
··· 44 44 `make test-dual` runs both the no-tag and `modernc` test suites for driver parity checks. 45 45 46 46 `make build-image` and `make ci-image` are operator-side Cloudflare image targets. They are not included in `make ci`. 47 + 48 + ## engineering principles 49 + 50 + sol pbc's coding standards, distilled. They live inline here because a coding 51 + agent working in this repo can't read the private org standards. They apply to 52 + **aerie-authored** code (`aerie-distribution`, and future `sol-agent-future`); 53 + inherited `upstreamable-core` changes match upstream Tangled idiom until they're 54 + green in aerie and offered upstream. Match each file's existing license-header 55 + convention rather than imposing a new one. 56 + 57 + - **KISS / YAGNI.** v1 is upstream parity plus the Cloudflare adaptation, nothing more. Agent customization, welcome-mat enrollment, DPoP, and aerie-originated lexicons are explicitly deferred — do not build machinery for them now. No backwards-compatibility shims in aerie-authored code; update call sites directly. 58 + - **Fail fast, fail clearly, never silently.** A knot server brokers repo writes and identity — validate external input at the boundary, return clear errors, use structured logging (not ad-hoc prints), and never swallow an error into a success-looking path. 59 + - **Security is not optional.** Validate everything from outside the process; never expose secrets, tokens, or keys. The no-core-contamination lint (`lint-no-cf-in-core.sh`) keeps Cloudflare deploy tokens and R2/tigris code out of the core Go packages — respect the deploy/core partition; it is a security boundary, not just tidiness. 60 + - **Operator-driven releases / no GitHub CI.** Releases and the Cloudflare Containers image build run from known local machines via `make`. No `.github/workflows/`. 61 + - **Verify before you claim.** Recall is a hypothesis — verify atproto/lexicon and Cloudflare-runtime behavior against the live source before it lands in code or a commit. 62 + - **Keep visible files clean.** This repo is public and partly upstreamable — no private operational context, internal paths, or machine names in committed files.