원클릭으로
ppt-rust-backend
Navigate the backend Cargo workspace — crate layout, per-crate dev loop, sqlx workflow, seed data.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Navigate the backend Cargo workspace — crate layout, per-crate dev loop, sqlx workflow, seed data.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Implement one task end-to-end for the PPT project — pick the right per-stack specialist, code, verify per-stack, push a draft PR against `dev`.
Project-management & delivery analysis for the PPT research routine (Phase 1.6). Runs an always-on Scrum Master synthesis plus role-based deep analysis (rotating one role/day by default; all 8 on `full`; a specific role on `pm:<role>`). Reads sprint-status + repo activity + research backlog, spawns role subagents, and writes delivery artifacts under .research/management/. Use from routine Phase 1.6, or standalone for a delivery snapshot.
Post-merge code review with issue creation. Reviews merged PRs in a time window, spots better approaches / missed edge cases / security holes / perf issues / test gaps, and opens GitHub issues with concrete improvement proposals.
Deterministic goal/convergence checks for the PPT dispatcher — coverage referential integrity, coverage-progress monotonicity, and buffer bounds. Run in dispatcher Phase 6 and CI. Use when adding/auditing the dispatcher's goal-verification layer.
Open a PR in this project's style — title, body template, IG3 evidence, CI surface, draft handling.
Land a green, approved PR. Verify preconditions (CI green, approved, no unresolved threads, not draft), auto-resolve mechanical merge conflicts against the base branch (sqlx offline data, Cargo.lock, generated openapi/api-client, lockfiles), then `gh pr merge --squash --auto`. Stops and surfaces if real code conflicts or stale CI.
| name | ppt-rust-backend |
| description | Navigate the backend Cargo workspace — crate layout, per-crate dev loop, sqlx workflow, seed data. |
| when_to_use | The plan touches anything under backend/ — a crate, a server binary, a migration, or sqlx offline data. |
| mode | both |
| capabilities | ["C6"] |
| tags | ["backend"] |
Cargo workspace at backend/. Axum-based servers + sqlx + utoipa.
Any plan whose Required capabilities or Suggested approach references
backend/crates/** or backend/servers/**, or whose vector area is
backend.
cargo check -p <crate>)just seed does NOT exist)backend/Cargo.toml declares these workspace members:
| Member | Path | Responsibility |
|---|---|---|
common | backend/crates/common | shared types, error, utils |
api-core | backend/crates/api-core | public-API handlers / DTOs |
admin-core | backend/crates/admin-core | admin / super-admin handlers |
db | backend/crates/db | sqlx queries, migrations, seed helpers |
integrations | backend/crates/integrations | external services (S3, email, …) |
tenant-ops | backend/crates/tenant-ops | multi-tenant lifecycle ops |
api-server | backend/servers/api-server | binary on :8080 — Property Management API |
reality-server | backend/servers/reality-server | binary on :8081 — Reality Portal API |
deploy-server | backend/servers/deploy-server | deploy automation server |
Migrations live in two places (intentional split — different DBs):
backend/crates/db/migrations/*.sql — main PPT DBbackend/servers/deploy-server/migrations/*.sql — deploy server DBSeed code is in-crate: backend/crates/db/src/seed/ (data.rs,
factories.rs, runner.rs, mod.rs). There is no just seed recipe
— see ppt-db-migrations for the gap and
how to invoke seeding today.
cd backend
cargo check -p <crate> # fastest signal
cargo clippy -p <crate> -- -D warnings
cargo test -p <crate> -- <filter>
just api # api-server on :8080
just reality-server # reality-server on :8081
These expect postgres reachable on localhost:5432; bring it up via
ppt-dev-stack if needed.cd backend && cargo check -p db to validate against live schema.just db-prepare # cargo sqlx prepare --workspace
backend/.sqlx/*.json files.just db-migration <name> # creates backend/crates/db/migrations/<ts>_<name>.sql
# edit it, then:
just db-migrate # apply locally
just db-prepare # regenerate sqlx offline cache if queries changed
just check-backend && just test-backend
# 1. cargo toolchain on PATH
cargo --version | grep -q '^cargo' && echo OK
# expected: OK
# 2. workspace resolves
(cd backend && cargo metadata --no-deps --format-version=1 >/dev/null) && echo OK
# expected: OK
# (parens isolate the `cd` to a subshell — subsequent checks still run from
# the repo root regardless of where the cargo metadata call landed.)
# 3. sqlx-cli available (for db-migrate / db-prepare)
cargo sqlx --version >/dev/null 2>&1 || sqlx --version >/dev/null 2>&1
# expected: zero exit (one of the two forms works)
# 4. all declared members exist on disk (paths from repo root)
for m in common api-core admin-core db integrations tenant-ops; do
test -f "backend/crates/$m/Cargo.toml" || { echo "missing: $m"; exit 1; }
done
echo OK
# expected: OK
cd backend && cargo check --workspace --message-format=short
Note: first run downloads + compiles deps and can take several minutes; subsequent runs are fast. The verification harness times out individual smoke checks — if this one's never been run on the host, run it manually first to warm the cache.
just check-backend && just test-backend
.research/implementer-prompt.mdppt-db-migrations — migrations + seed gapppt-typespec — when changing API contractsppt-tests — narrower test filters