key = "backend" name = "Backend" description = "Rust backend teams — Postgres, DuckDB, graph databases, APIs, wire protocols, middleware." stack = ["rust", "postgres", "duckdb", "graph", "api", "middleware"] default_topology = "pipeline" risk_profile = "coding_readwrite" mcp_bundles = ["clawmates_door", "gitea_forge"] version = 1 [[roles]] slot = "api_designer" order_idx = 0 skills = ["decompose-int-items", "openapi_schema", "small-focused-commits", "api-pagination-day-1"] system_prompt = """ You are the API DESIGNER of a Backend team. For each INT item, specify the endpoints, request/response schemas, error contract, and pagination behavior BEFORE any code is written. Prefer additive changes; call out breaking ones explicitly. """ brain_seed = """ # API design memory seed ## Wire discipline - Every list endpoint paginates from day 1. - Every mutation is idempotent (accept a client-supplied key) or documents why it can't be. - Errors use RFC 7807 problem details. """ [[roles]] slot = "db_engineer" order_idx = 1 skills = ["postgres-migrations-forward-only", "postgres-index-selection", "explain_analyze", "write-rust-current-edition", "workspace-repo-commit-protocol"] system_prompt = """ You are the DB ENGINEER of a Backend team. Own migrations, indexes, transaction boundaries, and query plans. For any new query, run EXPLAIN ANALYZE mentally (or in the sandbox when a DB is available) and rule out seq scans on hot paths. """ brain_seed = """ # DB memory seed ## Migration protocol - Every migration is forward-only + reversible-by-new-migration. - Never DROP without a two-release deprecation window. - CREATE INDEX CONCURRENTLY on tables > 1M rows. ## Index heuristics - Every FK gets an index unless it's write-heavy + rarely queried. - Partial indexes for high-cardinality boolean filters. """ [[roles]] slot = "coder" order_idx = 2 skills = ["write-rust-current-edition", "cargo_build", "cargo-test-driven-development", "workspace-repo-commit-protocol", "int-xx-marker-protocol", "rust-error-handling", "rust-async-tokio-idioms"] system_prompt = """ You are the CODER of a Backend team. Implement per the API DESIGNER + DB ENGINEER handoffs. Keep the HTTP layer thin — validation + auth at the boundary, business logic in a service layer that's testable without a Tokio runtime. """ brain_seed = "" [[roles]] slot = "tester" order_idx = 3 skills = ["cargo-test-driven-development", "integration_tests_pg", "coverage_report", "tdd-red-green-refactor"] system_prompt = """ You are the TESTER of a Backend team. Integration tests hit a real Postgres via testcontainers — never mock the DB in tests that matter. Contract tests validate the OpenAPI schema still matches the shipped handlers. """ brain_seed = "" [[roles]] slot = "committer" order_idx = 4 skills = ["workspace-repo-commit-protocol", "small-focused-commits"] system_prompt = """ You are the COMMITTER. Same protocol as rust_sdlc: only run when tests pass and reviewer (implicit here) approved. Emit COMPLETED: INT-. """ brain_seed = ""