diff --git a/.creed/config/org.md b/.creed/config/org.md index b53c165..cd4ade4 100644 --- a/.creed/config/org.md +++ b/.creed/config/org.md @@ -62,3 +62,18 @@ repositories or commit secrets. - After authorization, verify the remote tag/release and a clean consumer installation or equivalent public-boundary check before declaring the release complete. + +## Ticket Writing + +- **Name operations for the noun, not the source.** A ticket that says + `POST /ingest/herdr` will produce a route named after a provider. Write + `POST /ingest` accepting a source-tagged batch; the provider belongs to a + mapper library, not the surface. Ticket authors (human or agent) must specify + where the provider boundary lives before implementation begins. +- **Providers are libraries, not routes.** Adding a provider = new mapper in the + provider crate + one config entry (allowlist/secret). If a ticket implies + touching core/server/cli/mcp to add a provider, the ticket is wrong — flag it + rather than implementing it literally. +- **Tickets inherit rulings.** When a direction comment supersedes the ticket + description (see COD-437 fc812e1d), the ticket body must be updated to match, + so later readers and runners do not re-implement the stale text. diff --git a/.creed/skills/review.md b/.creed/skills/review.md index 843bbce..fb89875 100644 --- a/.creed/skills/review.md +++ b/.creed/skills/review.md @@ -43,7 +43,14 @@ Block approval when the change: - omits feasible integration or agent-acceptance evidence, or omits the infeasibility rationale and strongest reproducible fallback; - cannot be operated from committed repository guidance; -- leaves generated output or cross-repository compatibility unverified. +- leaves generated output or cross-repository compatibility unverified; +- couples core functionality to a specific provider. Providers are libraries, + not routes: public operations are named for the noun (e.g. `ingest_batch`), a + provider name must never appear in generated-operation names, HTTP paths, + core crates, or hardcoded source-string checks outside the provider crate + itself. New providers are added by depending on the provider crate plus one + config entry — if adding a provider would touch core/server/cli/mcp surfaces, + block and redesign. ## Review Bias