Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .creed/config/org.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
9 changes: 8 additions & 1 deletion .creed/skills/review.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Loading