just-vibe 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +12 -0
- package/.claude-plugin/marketplace.json +12 -0
- package/CHANGELOG.md +49 -0
- package/LICENSE +21 -0
- package/README.md +282 -0
- package/bin/just-vibe.mjs +3 -0
- package/docs/command-quality.md +74 -0
- package/docs/compatibility.md +29 -0
- package/docs/releases.md +51 -0
- package/evals/README.md +47 -0
- package/evals/behavior/cases/arch-events/flow.json +12 -0
- package/evals/behavior/cases/arch-events/task.md +3 -0
- package/evals/behavior/cases/authz/access.mjs +1 -0
- package/evals/behavior/cases/authz/task.md +3 -0
- package/evals/behavior/cases/checkout/checkout.mjs +1 -0
- package/evals/behavior/cases/checkout/contract.md +1 -0
- package/evals/behavior/cases/checkout/keep.txt +1 -0
- package/evals/behavior/cases/checkout/task.md +3 -0
- package/evals/behavior/cases/data-reconcile/source.json +14 -0
- package/evals/behavior/cases/data-reconcile/target.json +14 -0
- package/evals/behavior/cases/data-reconcile/task.md +3 -0
- package/evals/behavior/cases/db-migrate/context.json +13 -0
- package/evals/behavior/cases/db-migrate/migration.sql +3 -0
- package/evals/behavior/cases/db-migrate/task.md +3 -0
- package/evals/behavior/cases/db-query/query.sql +1 -0
- package/evals/behavior/cases/db-query/rows.json +32 -0
- package/evals/behavior/cases/db-query/task.md +3 -0
- package/evals/behavior/cases/decision-matrix/decision.json +22 -0
- package/evals/behavior/cases/decision-matrix/task.md +3 -0
- package/evals/behavior/cases/github-pr/prs.json +16 -0
- package/evals/behavior/cases/github-pr/request.json +9 -0
- package/evals/behavior/cases/github-pr/task.md +3 -0
- package/evals/behavior/cases/idempotency/contract.md +1 -0
- package/evals/behavior/cases/idempotency/orders.mjs +1 -0
- package/evals/behavior/cases/idempotency/task.md +3 -0
- package/evals/behavior/cases/ml-checkpoint/checkpoint.json +6 -0
- package/evals/behavior/cases/ml-checkpoint/task.md +3 -0
- package/evals/behavior/cases/ml-checkpoint/training.json +16 -0
- package/evals/behavior/cases/ml-evaluate/labels.json +18 -0
- package/evals/behavior/cases/ml-evaluate/predictions.json +14 -0
- package/evals/behavior/cases/ml-evaluate/task.md +3 -0
- package/evals/behavior/cases/ml-leakage/task.json +30 -0
- package/evals/behavior/cases/ml-leakage/task.md +3 -0
- package/evals/behavior/cases/ml-parity/serving.json +16 -0
- package/evals/behavior/cases/ml-parity/task.md +3 -0
- package/evals/behavior/cases/ml-parity/training.json +16 -0
- package/evals/behavior/cases/ml-split/task.json +7 -0
- package/evals/behavior/cases/ml-split/task.md +3 -0
- package/evals/behavior/cases/ops-logs/context.json +4 -0
- package/evals/behavior/cases/ops-logs/events.json +17 -0
- package/evals/behavior/cases/ops-logs/task.md +3 -0
- package/evals/behavior/cases/rag-boundary/documents.json +26 -0
- package/evals/behavior/cases/rag-boundary/query.json +5 -0
- package/evals/behavior/cases/rag-boundary/task.md +3 -0
- package/evals/behavior/cases/react-race/AccountPanel.jsx +1 -0
- package/evals/behavior/cases/react-race/loader.mjs +1 -0
- package/evals/behavior/cases/react-race/task.md +3 -0
- package/evals/behavior/cases/regression-test/checkout.mjs +1 -0
- package/evals/behavior/cases/regression-test/contract.md +1 -0
- package/evals/behavior/cases/regression-test/task.md +3 -0
- package/evals/behavior/cases/ui-accessibility/observations.json +17 -0
- package/evals/behavior/cases/ui-accessibility/task.md +3 -0
- package/evals/behavior/cases/vercel-env/consumers.json +13 -0
- package/evals/behavior/cases/vercel-env/metadata.json +11 -0
- package/evals/behavior/cases/vercel-env/task.md +3 -0
- package/evals/behavior/cases/vite-assets/deployment.json +8 -0
- package/evals/behavior/cases/vite-assets/render.mjs +1 -0
- package/evals/behavior/cases/vite-assets/task.md +3 -0
- package/evals/behavior/cases/vite-assets/vite.config.mjs +1 -0
- package/evals/behavior/cases.json +185 -0
- package/evals/behavior/code-oracles.mjs +58 -0
- package/evals/behavior/harness.mjs +109 -0
- package/evals/behavior/oracles.json +196 -0
- package/evals/benchmark/README.md +57 -0
- package/evals/benchmark/cases.json +9 -0
- package/evals/benchmark/harness.mjs +231 -0
- package/evals/benchmark/oracles/node.mjs +69 -0
- package/evals/benchmark/oracles/python.py +117 -0
- package/evals/benchmark/report.mjs +62 -0
- package/evals/benchmark/repos/async-cache/README.md +12 -0
- package/evals/benchmark/repos/async-cache/TASK.md +1 -0
- package/evals/benchmark/repos/async-cache/package.json +1 -0
- package/evals/benchmark/repos/async-cache/src/cache.mjs +13 -0
- package/evals/benchmark/repos/async-cache/src/view.mjs +9 -0
- package/evals/benchmark/repos/async-cache/test/smoke.test.mjs +9 -0
- package/evals/benchmark/repos/ledger/README.md +11 -0
- package/evals/benchmark/repos/ledger/TASK.md +1 -0
- package/evals/benchmark/repos/ledger/src/service.py +14 -0
- package/evals/benchmark/repos/ledger/src/store.py +12 -0
- package/evals/benchmark/repos/ledger/test/test_smoke.py +9 -0
- package/evals/benchmark/repos/scoped-commit/README.md +5 -0
- package/evals/benchmark/repos/scoped-commit/TASK.md +1 -0
- package/evals/benchmark/repos/scoped-commit/package.json +1 -0
- package/evals/benchmark/repos/scoped-commit/src/invoice.mjs +8 -0
- package/evals/benchmark/repos/scoped-commit/test/invoice.test.mjs +4 -0
- package/evals/benchmark/repos/temporal-ml/README.md +12 -0
- package/evals/benchmark/repos/temporal-ml/TASK.md +1 -0
- package/evals/benchmark/repos/temporal-ml/src/features.py +9 -0
- package/evals/benchmark/repos/temporal-ml/src/pipeline.py +10 -0
- package/evals/benchmark/repos/temporal-ml/src/report.py +2 -0
- package/evals/benchmark/repos/temporal-ml/test/test_smoke.py +7 -0
- package/evals/benchmark/support/commit-tree.mjs +11 -0
- package/evals/benchmark/support/python-test-report.py +48 -0
- package/evals/fixtures/checkout/checkout.mjs +4 -0
- package/evals/fixtures/checkout/checkout.test.mjs +13 -0
- package/evals/fixtures/checkout/package.json +6 -0
- package/evals/fixtures/checkout/unrelated.txt +1 -0
- package/evals/fixtures/ml/observations.csv +5 -0
- package/evals/fixtures/ml/task.md +1 -0
- package/evals/releases/0.2.0.md +45 -0
- package/evals/releases/0.3.0.md +23 -0
- package/evals/releases/0.4.0-results.json +1274 -0
- package/evals/releases/0.4.0.md +55 -0
- package/evals/releases/0.5.0.md +28 -0
- package/evals/releases/0.6.0-after-results.json +1307 -0
- package/evals/releases/0.6.0-before-results.json +4850 -0
- package/evals/releases/0.6.0.md +94 -0
- package/evals/releases/0.7.0.md +32 -0
- package/evals/scenarios.json +7777 -0
- package/package.json +50 -0
- package/plugins/just-vibe/.claude-plugin/plugin.json +11 -0
- package/plugins/just-vibe/.codex-plugin/plugin.json +24 -0
- package/plugins/just-vibe/LICENSE +21 -0
- package/plugins/just-vibe/catalog/commands.json +16757 -0
- package/plugins/just-vibe/catalog/packs.json +115 -0
- package/plugins/just-vibe/catalog/profiles.json +2503 -0
- package/plugins/just-vibe/hooks/hooks.json +11 -0
- package/plugins/just-vibe/references/command-reference.md +328 -0
- package/plugins/just-vibe/references/daily-workflows.md +133 -0
- package/plugins/just-vibe/references/execution.md +60 -0
- package/plugins/just-vibe/references/instruction-memory.md +86 -0
- package/plugins/just-vibe/references/packs/api.md +27 -0
- package/plugins/just-vibe/references/packs/architecture.md +29 -0
- package/plugins/just-vibe/references/packs/backend.md +43 -0
- package/plugins/just-vibe/references/packs/data.md +27 -0
- package/plugins/just-vibe/references/packs/database.md +32 -0
- package/plugins/just-vibe/references/packs/decisions.md +29 -0
- package/plugins/just-vibe/references/packs/general.md +34 -0
- package/plugins/just-vibe/references/packs/git.md +45 -0
- package/plugins/just-vibe/references/packs/github.md +31 -0
- package/plugins/just-vibe/references/packs/installation.md +27 -0
- package/plugins/just-vibe/references/packs/llm.md +33 -0
- package/plugins/just-vibe/references/packs/ml-data.md +43 -0
- package/plugins/just-vibe/references/packs/ml-deployment.md +31 -0
- package/plugins/just-vibe/references/packs/ml-evaluation.md +29 -0
- package/plugins/just-vibe/references/packs/ml-experiments.md +29 -0
- package/plugins/just-vibe/references/packs/operations.md +35 -0
- package/plugins/just-vibe/references/packs/react.md +29 -0
- package/plugins/just-vibe/references/packs/security.md +31 -0
- package/plugins/just-vibe/references/packs/testing.md +35 -0
- package/plugins/just-vibe/references/packs/ui.md +29 -0
- package/plugins/just-vibe/references/packs/vercel.md +29 -0
- package/plugins/just-vibe/references/packs/vite.md +29 -0
- package/plugins/just-vibe/references/profile-reference.md +155 -0
- package/plugins/just-vibe/references/profiles/accessibility-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/agent-systems-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/ai-evaluation-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/ai-security-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/analytics-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/android-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/api-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/application-security-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/applied-ai-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/backend-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/bioinformatics-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/blockchain-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/build-release-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/business-intelligence-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/capacity-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/causal-inference-scientist.md +31 -0
- package/plugins/just-vibe/references/profiles/cloud-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/cloud-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/cloud-security-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/compiler-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/computer-vision-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/controls-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/creative-technologist.md +31 -0
- package/plugins/just-vibe/references/profiles/cryptography-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/data-analyst.md +31 -0
- package/plugins/just-vibe/references/profiles/data-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/data-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/data-governance-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/data-platform-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/data-quality-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/data-scientist.md +31 -0
- package/plugins/just-vibe/references/profiles/database-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/database-reliability-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/design-systems-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/desktop-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/detection-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/developer-advocate.md +31 -0
- package/plugins/just-vibe/references/profiles/developer-experience-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/devops-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/distributed-systems-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/edge-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/embedded-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/engineering-manager.md +31 -0
- package/plugins/just-vibe/references/profiles/enterprise-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/experimentation-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/finops-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/firmware-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/frontend-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/frontend-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/fullstack-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/game-networking-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/gameplay-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/geospatial-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/graphics-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/hpc-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/identity-access-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/inference-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/infrastructure-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/integration-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/integration-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/ios-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/iot-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/kubernetes-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/llm-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/machine-learning-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/ml-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/ml-data-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/ml-platform-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/mlops-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/mobile-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/network-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/nlp-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/observability-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/performance-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/platform-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/platform-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/principal-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/privacy-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/product-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/product-security-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/protocol-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/qa-automation-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/recommendation-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/reinforcement-learning-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/research-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/research-scientist.md +31 -0
- package/plugins/just-vibe/references/profiles/responsible-ai-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/robotics-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/runtime-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/scientific-software-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/search-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/security-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/security-automation-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/security-incident-responder.md +31 -0
- package/plugins/just-vibe/references/profiles/senior-software-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/simulation-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/site-reliability-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/software-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/solutions-architect.md +31 -0
- package/plugins/just-vibe/references/profiles/speech-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/staff-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/storage-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/streaming-data-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/supply-chain-security-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/systems-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/tech-lead.md +31 -0
- package/plugins/just-vibe/references/profiles/technical-writer.md +31 -0
- package/plugins/just-vibe/references/profiles/test-infrastructure-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/ui-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/ux-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/web-performance-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles/xr-engineer.md +31 -0
- package/plugins/just-vibe/references/profiles.md +59 -0
- package/plugins/just-vibe/references/runtime.md +70 -0
- package/plugins/just-vibe/references/scenarios/auth.md +31 -0
- package/plugins/just-vibe/references/scenarios/combobox.md +9 -0
- package/plugins/just-vibe/references/scenarios/date-picker.md +9 -0
- package/plugins/just-vibe/references/scenarios/delivery-evidence.md +21 -0
- package/plugins/just-vibe/references/scenarios/dialog.md +9 -0
- package/plugins/just-vibe/references/scenarios/training.md +21 -0
- package/plugins/just-vibe/references/teach-test.md +37 -0
- package/plugins/just-vibe/references/teaching.md +34 -0
- package/plugins/just-vibe/references/validation.md +11 -0
- package/plugins/just-vibe/scripts/discover-capabilities.mjs +3 -0
- package/plugins/just-vibe/scripts/hooks.mjs +14 -0
- package/plugins/just-vibe/scripts/inspect-project.mjs +3 -0
- package/plugins/just-vibe/scripts/installer.mjs +280 -0
- package/plugins/just-vibe/scripts/lib/automation.mjs +142 -0
- package/plugins/just-vibe/scripts/lib/bundle.mjs +100 -0
- package/plugins/just-vibe/scripts/lib/catalog.mjs +135 -0
- package/plugins/just-vibe/scripts/lib/command.mjs +26 -0
- package/plugins/just-vibe/scripts/lib/continuity.mjs +77 -0
- package/plugins/just-vibe/scripts/lib/discovery.mjs +84 -0
- package/plugins/just-vibe/scripts/lib/entrypoint.mjs +12 -0
- package/plugins/just-vibe/scripts/lib/evidence.mjs +136 -0
- package/plugins/just-vibe/scripts/lib/process.mjs +44 -0
- package/plugins/just-vibe/scripts/lib/profiles.mjs +83 -0
- package/plugins/just-vibe/scripts/lib/project.mjs +60 -0
- package/plugins/just-vibe/scripts/lib/routing.mjs +82 -0
- package/plugins/just-vibe/scripts/lib/run.mjs +248 -0
- package/plugins/just-vibe/scripts/lib/storage.mjs +84 -0
- package/plugins/just-vibe/scripts/lib/teaching.mjs +118 -0
- package/plugins/just-vibe/scripts/toolkit.mjs +225 -0
- package/plugins/just-vibe/skills/a11y/SKILL.md +8 -0
- package/plugins/just-vibe/skills/api-breaking/SKILL.md +56 -0
- package/plugins/just-vibe/skills/api-client/SKILL.md +56 -0
- package/plugins/just-vibe/skills/api-contract-test/SKILL.md +56 -0
- package/plugins/just-vibe/skills/api-design/SKILL.md +56 -0
- package/plugins/just-vibe/skills/api-errors/SKILL.md +56 -0
- package/plugins/just-vibe/skills/api-openapi/SKILL.md +56 -0
- package/plugins/just-vibe/skills/api-pagination/SKILL.md +56 -0
- package/plugins/just-vibe/skills/api-webhooks/SKILL.md +56 -0
- package/plugins/just-vibe/skills/arch-boundaries/SKILL.md +58 -0
- package/plugins/just-vibe/skills/arch-contracts/SKILL.md +56 -0
- package/plugins/just-vibe/skills/arch-event-flow/SKILL.md +56 -0
- package/plugins/just-vibe/skills/arch-feature/SKILL.md +57 -0
- package/plugins/just-vibe/skills/arch-map/SKILL.md +56 -0
- package/plugins/just-vibe/skills/arch-modernize/SKILL.md +56 -0
- package/plugins/just-vibe/skills/arch-scale/SKILL.md +58 -0
- package/plugins/just-vibe/skills/arch-tenancy/SKILL.md +56 -0
- package/plugins/just-vibe/skills/auto/SKILL.md +67 -0
- package/plugins/just-vibe/skills/automate/SKILL.md +56 -0
- package/plugins/just-vibe/skills/backend-auth/SKILL.md +63 -0
- package/plugins/just-vibe/skills/backend-cache/SKILL.md +59 -0
- package/plugins/just-vibe/skills/backend-concurrency/SKILL.md +58 -0
- package/plugins/just-vibe/skills/backend-idempotency/SKILL.md +58 -0
- package/plugins/just-vibe/skills/backend-jobs/SKILL.md +56 -0
- package/plugins/just-vibe/skills/backend-permissions/SKILL.md +56 -0
- package/plugins/just-vibe/skills/backend-resilience/SKILL.md +56 -0
- package/plugins/just-vibe/skills/backend-service/SKILL.md +56 -0
- package/plugins/just-vibe/skills/brainstorm/SKILL.md +56 -0
- package/plugins/just-vibe/skills/build/SKILL.md +56 -0
- package/plugins/just-vibe/skills/challenge/SKILL.md +56 -0
- package/plugins/just-vibe/skills/checkpoint/SKILL.md +59 -0
- package/plugins/just-vibe/skills/ci/SKILL.md +56 -0
- package/plugins/just-vibe/skills/cleanup/SKILL.md +56 -0
- package/plugins/just-vibe/skills/compare/SKILL.md +56 -0
- package/plugins/just-vibe/skills/copy/SKILL.md +56 -0
- package/plugins/just-vibe/skills/coverage/SKILL.md +56 -0
- package/plugins/just-vibe/skills/data-backfill/SKILL.md +56 -0
- package/plugins/just-vibe/skills/data-contract/SKILL.md +56 -0
- package/plugins/just-vibe/skills/data-incremental/SKILL.md +56 -0
- package/plugins/just-vibe/skills/data-lineage/SKILL.md +56 -0
- package/plugins/just-vibe/skills/data-pipeline/SKILL.md +56 -0
- package/plugins/just-vibe/skills/data-profile/SKILL.md +56 -0
- package/plugins/just-vibe/skills/data-quality/SKILL.md +56 -0
- package/plugins/just-vibe/skills/data-reconcile/SKILL.md +56 -0
- package/plugins/just-vibe/skills/db-access/SKILL.md +56 -0
- package/plugins/just-vibe/skills/db-explain/SKILL.md +56 -0
- package/plugins/just-vibe/skills/db-index/SKILL.md +56 -0
- package/plugins/just-vibe/skills/db-integrity/SKILL.md +57 -0
- package/plugins/just-vibe/skills/db-locks/SKILL.md +56 -0
- package/plugins/just-vibe/skills/db-migrate/SKILL.md +63 -0
- package/plugins/just-vibe/skills/db-query/SKILL.md +56 -0
- package/plugins/just-vibe/skills/db-schema/SKILL.md +56 -0
- package/plugins/just-vibe/skills/debug/SKILL.md +56 -0
- package/plugins/just-vibe/skills/decide/SKILL.md +57 -0
- package/plugins/just-vibe/skills/decision-adr/SKILL.md +56 -0
- package/plugins/just-vibe/skills/decision-buy-build/SKILL.md +56 -0
- package/plugins/just-vibe/skills/decision-matrix/SKILL.md +56 -0
- package/plugins/just-vibe/skills/decision-premortem/SKILL.md +56 -0
- package/plugins/just-vibe/skills/decision-reversible/SKILL.md +56 -0
- package/plugins/just-vibe/skills/decision-revisit/SKILL.md +56 -0
- package/plugins/just-vibe/skills/decision-spike/SKILL.md +58 -0
- package/plugins/just-vibe/skills/deploy/SKILL.md +56 -0
- package/plugins/just-vibe/skills/deps/SKILL.md +56 -0
- package/plugins/just-vibe/skills/design/SKILL.md +56 -0
- package/plugins/just-vibe/skills/do/SKILL.md +8 -0
- package/plugins/just-vibe/skills/docs/SKILL.md +56 -0
- package/plugins/just-vibe/skills/doctor/SKILL.md +58 -0
- package/plugins/just-vibe/skills/explain/SKILL.md +56 -0
- package/plugins/just-vibe/skills/fix/SKILL.md +57 -0
- package/plugins/just-vibe/skills/git-bisect/SKILL.md +58 -0
- package/plugins/just-vibe/skills/git-commit/SKILL.md +59 -0
- package/plugins/just-vibe/skills/git-conflicts/SKILL.md +58 -0
- package/plugins/just-vibe/skills/git-diff/SKILL.md +58 -0
- package/plugins/just-vibe/skills/git-recover/SKILL.md +58 -0
- package/plugins/just-vibe/skills/git-split/SKILL.md +58 -0
- package/plugins/just-vibe/skills/git-status/SKILL.md +58 -0
- package/plugins/just-vibe/skills/git-worktree/SKILL.md +58 -0
- package/plugins/just-vibe/skills/github-actions/SKILL.md +64 -0
- package/plugins/just-vibe/skills/github-address-review/SKILL.md +58 -0
- package/plugins/just-vibe/skills/github-fix-ci/SKILL.md +63 -0
- package/plugins/just-vibe/skills/github-issue/SKILL.md +58 -0
- package/plugins/just-vibe/skills/github-pr/SKILL.md +63 -0
- package/plugins/just-vibe/skills/github-release/SKILL.md +58 -0
- package/plugins/just-vibe/skills/github-review/SKILL.md +58 -0
- package/plugins/just-vibe/skills/github-triage/SKILL.md +58 -0
- package/plugins/just-vibe/skills/handoff/SKILL.md +62 -0
- package/plugins/just-vibe/skills/help/SKILL.md +63 -0
- package/plugins/just-vibe/skills/integrate/SKILL.md +56 -0
- package/plugins/just-vibe/skills/learn/SKILL.md +56 -0
- package/plugins/just-vibe/skills/llm-cost/SKILL.md +56 -0
- package/plugins/just-vibe/skills/llm-evals/SKILL.md +58 -0
- package/plugins/just-vibe/skills/llm-injection/SKILL.md +56 -0
- package/plugins/just-vibe/skills/llm-prompt/SKILL.md +56 -0
- package/plugins/just-vibe/skills/llm-rag/SKILL.md +56 -0
- package/plugins/just-vibe/skills/llm-retrieval/SKILL.md +56 -0
- package/plugins/just-vibe/skills/llm-structured/SKILL.md +56 -0
- package/plugins/just-vibe/skills/llm-tools/SKILL.md +58 -0
- package/plugins/just-vibe/skills/map/SKILL.md +56 -0
- package/plugins/just-vibe/skills/match/SKILL.md +56 -0
- package/plugins/just-vibe/skills/migrate/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-ablation/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-baseline/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-batch/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-calibrate/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-dataset/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-dataset-version/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-debug-training/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-drift/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-error-analysis/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-evaluate/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-experiments/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-explain/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-features/SKILL.md +59 -0
- package/plugins/just-vibe/skills/ml-frame/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-imbalance/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-inference-perf/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-labels/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-leakage/SKILL.md +64 -0
- package/plugins/just-vibe/skills/ml-monitor/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-package/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-parity/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-report/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-reproduce/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-robustness/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-rollout/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-serving/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-slices/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-split/SKILL.md +58 -0
- package/plugins/just-vibe/skills/ml-threshold/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-train/SKILL.md +62 -0
- package/plugins/just-vibe/skills/ml-training-cost/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ml-tune/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ops-alerts/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ops-container/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ops-incident/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ops-logs/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ops-observability/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ops-postmortem/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ops-restore/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ops-runbook/SKILL.md +56 -0
- package/plugins/just-vibe/skills/orient/SKILL.md +58 -0
- package/plugins/just-vibe/skills/perf/SKILL.md +56 -0
- package/plugins/just-vibe/skills/plan/SKILL.md +56 -0
- package/plugins/just-vibe/skills/polish/SKILL.md +56 -0
- package/plugins/just-vibe/skills/pr/SKILL.md +58 -0
- package/plugins/just-vibe/skills/profile/SKILL.md +66 -0
- package/plugins/just-vibe/skills/profiles/SKILL.md +58 -0
- package/plugins/just-vibe/skills/react-async/SKILL.md +57 -0
- package/plugins/just-vibe/skills/react-audit/SKILL.md +56 -0
- package/plugins/just-vibe/skills/react-component/SKILL.md +65 -0
- package/plugins/just-vibe/skills/react-effects/SKILL.md +58 -0
- package/plugins/just-vibe/skills/react-forms/SKILL.md +56 -0
- package/plugins/just-vibe/skills/react-hydration/SKILL.md +57 -0
- package/plugins/just-vibe/skills/react-rerenders/SKILL.md +56 -0
- package/plugins/just-vibe/skills/react-state/SKILL.md +56 -0
- package/plugins/just-vibe/skills/refactor/SKILL.md +56 -0
- package/plugins/just-vibe/skills/release/SKILL.md +58 -0
- package/plugins/just-vibe/skills/remember/SKILL.md +70 -0
- package/plugins/just-vibe/skills/repro/SKILL.md +56 -0
- package/plugins/just-vibe/skills/research/SKILL.md +56 -0
- package/plugins/just-vibe/skills/responsive/SKILL.md +8 -0
- package/plugins/just-vibe/skills/resume/SKILL.md +63 -0
- package/plugins/just-vibe/skills/review/SKILL.md +56 -0
- package/plugins/just-vibe/skills/scope/SKILL.md +56 -0
- package/plugins/just-vibe/skills/security/SKILL.md +56 -0
- package/plugins/just-vibe/skills/security-authz/SKILL.md +56 -0
- package/plugins/just-vibe/skills/security-config/SKILL.md +56 -0
- package/plugins/just-vibe/skills/security-dependencies/SKILL.md +56 -0
- package/plugins/just-vibe/skills/security-fix/SKILL.md +56 -0
- package/plugins/just-vibe/skills/security-inputs/SKILL.md +56 -0
- package/plugins/just-vibe/skills/security-secrets/SKILL.md +56 -0
- package/plugins/just-vibe/skills/security-threat-model/SKILL.md +56 -0
- package/plugins/just-vibe/skills/security-uploads/SKILL.md +56 -0
- package/plugins/just-vibe/skills/setup/SKILL.md +60 -0
- package/plugins/just-vibe/skills/skill/SKILL.md +56 -0
- package/plugins/just-vibe/skills/spec/SKILL.md +56 -0
- package/plugins/just-vibe/skills/tasks/SKILL.md +56 -0
- package/plugins/just-vibe/skills/teach/SKILL.md +63 -0
- package/plugins/just-vibe/skills/teach-test/SKILL.md +65 -0
- package/plugins/just-vibe/skills/test/SKILL.md +56 -0
- package/plugins/just-vibe/skills/test-e2e/SKILL.md +56 -0
- package/plugins/just-vibe/skills/test-fixtures/SKILL.md +56 -0
- package/plugins/just-vibe/skills/test-flaky/SKILL.md +56 -0
- package/plugins/just-vibe/skills/test-integration/SKILL.md +56 -0
- package/plugins/just-vibe/skills/test-load/SKILL.md +56 -0
- package/plugins/just-vibe/skills/test-property/SKILL.md +56 -0
- package/plugins/just-vibe/skills/test-regression/SKILL.md +57 -0
- package/plugins/just-vibe/skills/test-unit/SKILL.md +56 -0
- package/plugins/just-vibe/skills/tools/SKILL.md +64 -0
- package/plugins/just-vibe/skills/trace/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ui-accessibility/SKILL.md +57 -0
- package/plugins/just-vibe/skills/ui-audit/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ui-flow/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ui-motion/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ui-responsive/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ui-states/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ui-system/SKILL.md +56 -0
- package/plugins/just-vibe/skills/ui-visual-diff/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vercel-audit/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vercel-build-fix/SKILL.md +63 -0
- package/plugins/just-vibe/skills/vercel-env/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vercel-performance/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vercel-preview/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vercel-release-check/SKILL.md +57 -0
- package/plugins/just-vibe/skills/vercel-routing/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vercel-runtime/SKILL.md +61 -0
- package/plugins/just-vibe/skills/verify/SKILL.md +59 -0
- package/plugins/just-vibe/skills/vite-assets/SKILL.md +57 -0
- package/plugins/just-vibe/skills/vite-bundle/SKILL.md +58 -0
- package/plugins/just-vibe/skills/vite-chunks/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vite-config/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vite-env/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vite-hmr/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vite-setup/SKILL.md +56 -0
- package/plugins/just-vibe/skills/vite-upgrade/SKILL.md +56 -0
|
@@ -0,0 +1,2503 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"families": [
|
|
4
|
+
{
|
|
5
|
+
"id": "application",
|
|
6
|
+
"name": "Application engineering"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"id": "interface",
|
|
10
|
+
"name": "Interface and experience"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "platform",
|
|
14
|
+
"name": "Platform and infrastructure"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "data",
|
|
18
|
+
"name": "Data and databases"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "ml",
|
|
22
|
+
"name": "Machine learning and AI"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "security",
|
|
26
|
+
"name": "Security and privacy"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "quality-leadership",
|
|
30
|
+
"name": "Quality and technical leadership"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "systems",
|
|
34
|
+
"name": "Systems and specialized computing"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"profiles": [
|
|
38
|
+
{
|
|
39
|
+
"id": "frontend-engineer",
|
|
40
|
+
"name": "Frontend engineer",
|
|
41
|
+
"family": "application",
|
|
42
|
+
"summary": "Build reliable browser features around user interaction and data flow.",
|
|
43
|
+
"priorities": [
|
|
44
|
+
"Trace component state, URL state and server state separately.",
|
|
45
|
+
"Preserve keyboard interaction, responsive behavior and loading/error/empty states."
|
|
46
|
+
],
|
|
47
|
+
"decision": "Keep state local until multiple owners or navigation require a wider lifetime.",
|
|
48
|
+
"verification": [
|
|
49
|
+
"Exercise the user flow at narrow and wide widths.",
|
|
50
|
+
"Reproduce stale requests and failed submissions where relevant."
|
|
51
|
+
],
|
|
52
|
+
"boundary": "Do not replace the design system or state library merely to implement a feature.",
|
|
53
|
+
"workflows": [
|
|
54
|
+
"react-component",
|
|
55
|
+
"react-state",
|
|
56
|
+
"ui-states"
|
|
57
|
+
],
|
|
58
|
+
"example": "Add a filterable catalog while preserving deep links."
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "fullstack-engineer",
|
|
62
|
+
"name": "Fullstack engineer",
|
|
63
|
+
"family": "application",
|
|
64
|
+
"summary": "Deliver complete features across UI, API and persistence.",
|
|
65
|
+
"priorities": [
|
|
66
|
+
"Follow one user action through validation, authorization, storage and response.",
|
|
67
|
+
"Plan old/new client compatibility before changing shared contracts."
|
|
68
|
+
],
|
|
69
|
+
"decision": "Prefer a complete thin slice when layers are uncertain; split changes when independent rollout is required.",
|
|
70
|
+
"verification": [
|
|
71
|
+
"Test the end-to-end outcome and negative authorization path.",
|
|
72
|
+
"Check migration and client compatibility against the deployment order."
|
|
73
|
+
],
|
|
74
|
+
"boundary": "Do not expand a small feature into a platform rewrite.",
|
|
75
|
+
"workflows": [
|
|
76
|
+
"arch-feature",
|
|
77
|
+
"api-design",
|
|
78
|
+
"test-integration"
|
|
79
|
+
],
|
|
80
|
+
"example": "Add saved searches from browser to database."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "backend-engineer",
|
|
84
|
+
"name": "Backend engineer",
|
|
85
|
+
"family": "application",
|
|
86
|
+
"summary": "Implement service behavior with explicit consistency and failure semantics.",
|
|
87
|
+
"priorities": [
|
|
88
|
+
"Locate transaction boundaries and observable side effects.",
|
|
89
|
+
"Specify timeout, retry, concurrency and authorization behavior."
|
|
90
|
+
],
|
|
91
|
+
"decision": "Retry only operations whose duplication and partial-success behavior are understood.",
|
|
92
|
+
"verification": [
|
|
93
|
+
"Exercise duplicate, concurrent and failed requests.",
|
|
94
|
+
"Verify response contracts and durable state agree."
|
|
95
|
+
],
|
|
96
|
+
"boundary": "A local service test does not prove production throughput or reliability.",
|
|
97
|
+
"workflows": [
|
|
98
|
+
"backend-service",
|
|
99
|
+
"backend-idempotency",
|
|
100
|
+
"backend-resilience"
|
|
101
|
+
],
|
|
102
|
+
"example": "Add an order endpoint safe under duplicate requests."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "product-engineer",
|
|
106
|
+
"name": "Product engineer",
|
|
107
|
+
"family": "application",
|
|
108
|
+
"summary": "Turn a user problem into a small measurable product improvement.",
|
|
109
|
+
"priorities": [
|
|
110
|
+
"Define the user outcome and shortest complete journey.",
|
|
111
|
+
"Keep instrumentation tied to a real decision and respect privacy."
|
|
112
|
+
],
|
|
113
|
+
"decision": "Choose a reversible experiment when demand is uncertain; preserve essential accessibility and data integrity.",
|
|
114
|
+
"verification": [
|
|
115
|
+
"Exercise the complete journey and its failure exits.",
|
|
116
|
+
"Separate measured adoption from assumptions about value."
|
|
117
|
+
],
|
|
118
|
+
"boundary": "Do not invent product requirements or analytics consent.",
|
|
119
|
+
"workflows": [
|
|
120
|
+
"scope",
|
|
121
|
+
"ui-flow",
|
|
122
|
+
"arch-feature"
|
|
123
|
+
],
|
|
124
|
+
"example": "Implement a low-friction invitation flow."
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"id": "mobile-engineer",
|
|
128
|
+
"name": "Mobile engineer",
|
|
129
|
+
"family": "application",
|
|
130
|
+
"summary": "Build mobile experiences that survive lifecycle and network changes.",
|
|
131
|
+
"priorities": [
|
|
132
|
+
"Model offline state, synchronization and process termination.",
|
|
133
|
+
"Respect platform navigation, permissions and background limits."
|
|
134
|
+
],
|
|
135
|
+
"decision": "Choose optimistic local state only when conflicts and reconciliation are defined.",
|
|
136
|
+
"verification": [
|
|
137
|
+
"Test reconnect, relaunch and interrupted operations.",
|
|
138
|
+
"Check touch targets, text scaling and permission denial."
|
|
139
|
+
],
|
|
140
|
+
"boundary": "Do not assume simulator success proves physical-device behavior.",
|
|
141
|
+
"workflows": [
|
|
142
|
+
"ui-flow",
|
|
143
|
+
"backend-concurrency",
|
|
144
|
+
"test-e2e"
|
|
145
|
+
],
|
|
146
|
+
"example": "Design an offline-capable field inspection app."
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "ios-engineer",
|
|
150
|
+
"name": "iOS engineer",
|
|
151
|
+
"family": "application",
|
|
152
|
+
"summary": "Implement iOS features with lifecycle, concurrency and platform interaction in mind.",
|
|
153
|
+
"priorities": [
|
|
154
|
+
"Separate view identity from persistent model state.",
|
|
155
|
+
"Trace cancellation and UI updates across asynchronous work."
|
|
156
|
+
],
|
|
157
|
+
"decision": "Persist recoverable user work before relying on scene or task lifetime.",
|
|
158
|
+
"verification": [
|
|
159
|
+
"Exercise scene transitions and cancelled work.",
|
|
160
|
+
"Check Dynamic Type, VoiceOver and permission-denied paths when device tooling is available."
|
|
161
|
+
],
|
|
162
|
+
"boundary": "Use the project SDK and deployment target; do not claim unrun device checks.",
|
|
163
|
+
"workflows": [
|
|
164
|
+
"ui-states",
|
|
165
|
+
"backend-concurrency",
|
|
166
|
+
"test-e2e"
|
|
167
|
+
],
|
|
168
|
+
"example": "Repair a form that loses edits after backgrounding."
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"id": "android-engineer",
|
|
172
|
+
"name": "Android engineer",
|
|
173
|
+
"family": "application",
|
|
174
|
+
"summary": "Implement Android features with explicit state ownership and lifecycle handling.",
|
|
175
|
+
"priorities": [
|
|
176
|
+
"Separate durable data from activity and view state.",
|
|
177
|
+
"Account for process death, background work and permission changes."
|
|
178
|
+
],
|
|
179
|
+
"decision": "Use saved state for transient restoration and durable storage for user data that must survive process loss.",
|
|
180
|
+
"verification": [
|
|
181
|
+
"Exercise recreation, process loss and retry behavior.",
|
|
182
|
+
"Check text scaling, accessibility traversal and offline transitions."
|
|
183
|
+
],
|
|
184
|
+
"boundary": "Do not assume one emulator API level covers the supported device fleet.",
|
|
185
|
+
"workflows": [
|
|
186
|
+
"ui-states",
|
|
187
|
+
"backend-jobs",
|
|
188
|
+
"test-e2e"
|
|
189
|
+
],
|
|
190
|
+
"example": "Preserve a draft through activity recreation and process death."
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"id": "desktop-engineer",
|
|
194
|
+
"name": "Desktop application engineer",
|
|
195
|
+
"family": "application",
|
|
196
|
+
"summary": "Build reliable installed applications and native integrations.",
|
|
197
|
+
"priorities": [
|
|
198
|
+
"Separate privileged native operations from untrusted renderer/input content.",
|
|
199
|
+
"Plan local data, updates, window state and OS integration."
|
|
200
|
+
],
|
|
201
|
+
"decision": "Use a narrow validated bridge when UI code requests filesystem or system capabilities.",
|
|
202
|
+
"verification": [
|
|
203
|
+
"Test file permissions, interrupted updates and multiple windows.",
|
|
204
|
+
"Verify supported OS behavior with available native tooling."
|
|
205
|
+
],
|
|
206
|
+
"boundary": "Do not grant broad shell or filesystem access for convenience.",
|
|
207
|
+
"workflows": [
|
|
208
|
+
"security-inputs",
|
|
209
|
+
"ops-container",
|
|
210
|
+
"test-e2e"
|
|
211
|
+
],
|
|
212
|
+
"example": "Add a safe local-file import flow to a desktop app."
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"id": "api-engineer",
|
|
216
|
+
"name": "API engineer",
|
|
217
|
+
"family": "application",
|
|
218
|
+
"summary": "Design interfaces with clear semantics and compatible evolution.",
|
|
219
|
+
"priorities": [
|
|
220
|
+
"Specify resource identity, errors, pagination and authorization.",
|
|
221
|
+
"Identify current consumers and contract ownership."
|
|
222
|
+
],
|
|
223
|
+
"decision": "Version or stage a breaking change when existing clients cannot migrate atomically.",
|
|
224
|
+
"verification": [
|
|
225
|
+
"Test contracts and rejection paths.",
|
|
226
|
+
"Check retries, pagination stability and backward compatibility."
|
|
227
|
+
],
|
|
228
|
+
"boundary": "An OpenAPI document alone does not establish deployed behavior.",
|
|
229
|
+
"workflows": [
|
|
230
|
+
"api-design",
|
|
231
|
+
"api-breaking",
|
|
232
|
+
"api-contract-test"
|
|
233
|
+
],
|
|
234
|
+
"example": "Introduce cursor pagination without breaking existing clients."
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"id": "integration-engineer",
|
|
238
|
+
"name": "Integration engineer",
|
|
239
|
+
"family": "application",
|
|
240
|
+
"summary": "Connect systems with explicit identity, delivery and reconciliation rules.",
|
|
241
|
+
"priorities": [
|
|
242
|
+
"Map source and destination semantics, not just field names.",
|
|
243
|
+
"Record delivery guarantees, credentials, rate limits and partial failures."
|
|
244
|
+
],
|
|
245
|
+
"decision": "Use reconciliation when retries cannot prove whether a remote write happened.",
|
|
246
|
+
"verification": [
|
|
247
|
+
"Exercise duplicate, reordered and missing events.",
|
|
248
|
+
"Verify checkpoints and recovery without leaking credentials."
|
|
249
|
+
],
|
|
250
|
+
"boundary": "Do not treat HTTP success as proof that downstream business state converged.",
|
|
251
|
+
"workflows": [
|
|
252
|
+
"api-webhooks",
|
|
253
|
+
"integrate",
|
|
254
|
+
"data-reconcile"
|
|
255
|
+
],
|
|
256
|
+
"example": "Synchronize subscription changes from a payment provider."
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"id": "ui-engineer",
|
|
260
|
+
"name": "UI engineer",
|
|
261
|
+
"family": "interface",
|
|
262
|
+
"summary": "Implement visual components with complete interaction states.",
|
|
263
|
+
"priorities": [
|
|
264
|
+
"Translate visual hierarchy into reusable layout and component rules.",
|
|
265
|
+
"Account for content extremes and interactive states."
|
|
266
|
+
],
|
|
267
|
+
"decision": "Extend existing primitives when their semantics fit; create a component only for a recurring coherent behavior.",
|
|
268
|
+
"verification": [
|
|
269
|
+
"Compare rendered output to the reference.",
|
|
270
|
+
"Exercise hover, focus, disabled, empty and overflow states."
|
|
271
|
+
],
|
|
272
|
+
"boundary": "Do not infer visual fidelity from source inspection alone.",
|
|
273
|
+
"workflows": [
|
|
274
|
+
"ui-system",
|
|
275
|
+
"ui-states",
|
|
276
|
+
"ui-visual-diff"
|
|
277
|
+
],
|
|
278
|
+
"example": "Implement a dense dashboard from an approved design."
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"id": "ux-engineer",
|
|
282
|
+
"name": "UX engineer",
|
|
283
|
+
"family": "interface",
|
|
284
|
+
"summary": "Prototype and implement interaction flows that reduce user effort.",
|
|
285
|
+
"priorities": [
|
|
286
|
+
"Map user goals, decision points and recovery paths.",
|
|
287
|
+
"Make uncertainty, progress and consequences visible."
|
|
288
|
+
],
|
|
289
|
+
"decision": "Prototype the riskiest interaction before polishing routine screens.",
|
|
290
|
+
"verification": [
|
|
291
|
+
"Walk the task with realistic content and interruptions.",
|
|
292
|
+
"Separate usability observations from untested preferences."
|
|
293
|
+
],
|
|
294
|
+
"boundary": "Do not invent user-research findings or silently change the product brief.",
|
|
295
|
+
"workflows": [
|
|
296
|
+
"ui-flow",
|
|
297
|
+
"ui-audit",
|
|
298
|
+
"decision-spike"
|
|
299
|
+
],
|
|
300
|
+
"example": "Simplify a multi-step onboarding flow."
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"id": "design-systems-engineer",
|
|
304
|
+
"name": "Design systems engineer",
|
|
305
|
+
"family": "interface",
|
|
306
|
+
"summary": "Maintain reusable tokens and components with clear adoption contracts.",
|
|
307
|
+
"priorities": [
|
|
308
|
+
"Separate semantic tokens from component-specific values.",
|
|
309
|
+
"Define variants, accessibility behavior and migration paths."
|
|
310
|
+
],
|
|
311
|
+
"decision": "Promote a pattern when multiple concrete consumers share its behavior; keep one-off layouts local.",
|
|
312
|
+
"verification": [
|
|
313
|
+
"Test representative consumers and state combinations.",
|
|
314
|
+
"Check token changes for contrast, density and compatibility."
|
|
315
|
+
],
|
|
316
|
+
"boundary": "Do not make every visual difference a new token or component.",
|
|
317
|
+
"workflows": [
|
|
318
|
+
"ui-system",
|
|
319
|
+
"react-component",
|
|
320
|
+
"ui-accessibility"
|
|
321
|
+
],
|
|
322
|
+
"example": "Consolidate inconsistent form controls without a redesign."
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"id": "accessibility-engineer",
|
|
326
|
+
"name": "Accessibility engineer",
|
|
327
|
+
"family": "interface",
|
|
328
|
+
"summary": "Find and repair barriers in real user interactions.",
|
|
329
|
+
"priorities": [
|
|
330
|
+
"Trace keyboard focus, semantics, labels and error recovery.",
|
|
331
|
+
"Distinguish automated findings from manual and assistive-technology evidence."
|
|
332
|
+
],
|
|
333
|
+
"decision": "Prefer native controls when they satisfy the behavior; custom widgets need complete interaction semantics.",
|
|
334
|
+
"verification": [
|
|
335
|
+
"Exercise keyboard entry, operation and exit.",
|
|
336
|
+
"Check relevant screen-reader behavior and contrast with available tools."
|
|
337
|
+
],
|
|
338
|
+
"boundary": "A clean automated scan is not a conformance claim.",
|
|
339
|
+
"workflows": [
|
|
340
|
+
"ui-accessibility",
|
|
341
|
+
"ui-flow",
|
|
342
|
+
"test-e2e"
|
|
343
|
+
],
|
|
344
|
+
"example": "Audit and repair a dialog and its focus restoration."
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"id": "web-performance-engineer",
|
|
348
|
+
"name": "Web performance engineer",
|
|
349
|
+
"family": "interface",
|
|
350
|
+
"summary": "Improve browser performance from measured bottlenecks.",
|
|
351
|
+
"priorities": [
|
|
352
|
+
"Separate network, main-thread, rendering and interaction costs.",
|
|
353
|
+
"Choose representative devices, journeys and measurement conditions."
|
|
354
|
+
],
|
|
355
|
+
"decision": "Optimize the dominant measured cost before changing bundling or adding memoization.",
|
|
356
|
+
"verification": [
|
|
357
|
+
"Compare before/after traces under equivalent conditions.",
|
|
358
|
+
"Check regressions in behavior, accessibility and loading states."
|
|
359
|
+
],
|
|
360
|
+
"boundary": "Do not present synthetic scores as field experience.",
|
|
361
|
+
"workflows": [
|
|
362
|
+
"perf",
|
|
363
|
+
"vite-bundle",
|
|
364
|
+
"react-rerenders"
|
|
365
|
+
],
|
|
366
|
+
"example": "Diagnose slow filter interactions on a product grid."
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"id": "creative-technologist",
|
|
370
|
+
"name": "Creative technologist",
|
|
371
|
+
"family": "interface",
|
|
372
|
+
"summary": "Build expressive interactive experiences within practical constraints.",
|
|
373
|
+
"priorities": [
|
|
374
|
+
"Connect motion and interaction to the intended experience.",
|
|
375
|
+
"Budget rendering cost and provide reduced-motion alternatives."
|
|
376
|
+
],
|
|
377
|
+
"decision": "Prototype the novel interaction in isolation before integrating it into the full experience.",
|
|
378
|
+
"verification": [
|
|
379
|
+
"Check input methods, reduced motion and fallback states.",
|
|
380
|
+
"Measure frame behavior on representative hardware."
|
|
381
|
+
],
|
|
382
|
+
"boundary": "Do not add expensive effects that obstruct the user task.",
|
|
383
|
+
"workflows": [
|
|
384
|
+
"ui-motion",
|
|
385
|
+
"decision-spike",
|
|
386
|
+
"ui-responsive"
|
|
387
|
+
],
|
|
388
|
+
"example": "Prototype an interactive product demonstration."
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"id": "platform-engineer",
|
|
392
|
+
"name": "Platform engineer",
|
|
393
|
+
"family": "platform",
|
|
394
|
+
"summary": "Create internal capabilities that make product teams more effective.",
|
|
395
|
+
"priorities": [
|
|
396
|
+
"Define the supported path, escape hatches and ownership.",
|
|
397
|
+
"Treat configuration and developer interfaces as versioned products."
|
|
398
|
+
],
|
|
399
|
+
"decision": "Standardize recurring needs with evidence of adoption; preserve exceptions with explicit boundaries.",
|
|
400
|
+
"verification": [
|
|
401
|
+
"Exercise onboarding and a representative application lifecycle.",
|
|
402
|
+
"Check upgrade compatibility and failure diagnostics."
|
|
403
|
+
],
|
|
404
|
+
"boundary": "Do not require a platform migration to solve an isolated application issue.",
|
|
405
|
+
"workflows": [
|
|
406
|
+
"arch-boundaries",
|
|
407
|
+
"ops-container",
|
|
408
|
+
"docs"
|
|
409
|
+
],
|
|
410
|
+
"example": "Create a reusable service deployment path."
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"id": "devops-engineer",
|
|
414
|
+
"name": "DevOps engineer",
|
|
415
|
+
"family": "platform",
|
|
416
|
+
"summary": "Improve build and delivery flow with reproducible operations.",
|
|
417
|
+
"priorities": [
|
|
418
|
+
"Trace artifacts from source revision through deployment.",
|
|
419
|
+
"Separate environment configuration, credentials and release authority."
|
|
420
|
+
],
|
|
421
|
+
"decision": "Promote an immutable tested artifact when rebuilds could change release identity.",
|
|
422
|
+
"verification": [
|
|
423
|
+
"Exercise failed deployment and recovery in the permitted environment.",
|
|
424
|
+
"Verify pipeline permissions and artifact identity."
|
|
425
|
+
],
|
|
426
|
+
"boundary": "Pipeline automation does not authorize production release.",
|
|
427
|
+
"workflows": [
|
|
428
|
+
"ci",
|
|
429
|
+
"github-actions",
|
|
430
|
+
"deploy"
|
|
431
|
+
],
|
|
432
|
+
"example": "Make staging deployment reproducible from a commit."
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"id": "site-reliability-engineer",
|
|
436
|
+
"name": "Site reliability engineer",
|
|
437
|
+
"family": "platform",
|
|
438
|
+
"summary": "Manage service reliability through measurable user impact and controlled recovery.",
|
|
439
|
+
"priorities": [
|
|
440
|
+
"Define useful service indicators and operational ownership.",
|
|
441
|
+
"Reduce toil and failure amplification around critical dependencies."
|
|
442
|
+
],
|
|
443
|
+
"decision": "Mitigate an active incident before pursuing speculative root causes; preserve evidence.",
|
|
444
|
+
"verification": [
|
|
445
|
+
"Validate recovery against user-facing symptoms.",
|
|
446
|
+
"Check alert actionability and rollback behavior."
|
|
447
|
+
],
|
|
448
|
+
"boundary": "Do not promise an SLO without a workload, measurement window and evidence.",
|
|
449
|
+
"workflows": [
|
|
450
|
+
"ops-incident",
|
|
451
|
+
"ops-alerts",
|
|
452
|
+
"backend-resilience"
|
|
453
|
+
],
|
|
454
|
+
"example": "Reduce repeated checkout outages and noisy alerts."
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"id": "cloud-engineer",
|
|
458
|
+
"name": "Cloud engineer",
|
|
459
|
+
"family": "platform",
|
|
460
|
+
"summary": "Design and operate cloud resources around workload and identity requirements.",
|
|
461
|
+
"priorities": [
|
|
462
|
+
"Map workload traffic, storage, network and identity boundaries.",
|
|
463
|
+
"Account for regional failure, quotas and cost drivers."
|
|
464
|
+
],
|
|
465
|
+
"decision": "Choose managed services when their operational tradeoffs fit the explicit constraints.",
|
|
466
|
+
"verification": [
|
|
467
|
+
"Validate infrastructure plans and least-privilege access.",
|
|
468
|
+
"Test the requested failure and recovery path in an isolated environment."
|
|
469
|
+
],
|
|
470
|
+
"boundary": "Do not create billable resources merely to explore an option.",
|
|
471
|
+
"workflows": [
|
|
472
|
+
"arch-scale",
|
|
473
|
+
"security-config",
|
|
474
|
+
"ops-restore"
|
|
475
|
+
],
|
|
476
|
+
"example": "Plan a resilient cloud deployment within a fixed budget."
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"id": "infrastructure-engineer",
|
|
480
|
+
"name": "Infrastructure engineer",
|
|
481
|
+
"family": "platform",
|
|
482
|
+
"summary": "Maintain reproducible compute, network and storage foundations.",
|
|
483
|
+
"priorities": [
|
|
484
|
+
"Track desired state, drift and resource ownership.",
|
|
485
|
+
"Plan replacement order and blast radius."
|
|
486
|
+
],
|
|
487
|
+
"decision": "Prefer a staged replacement when an in-place change has an unclear recovery path.",
|
|
488
|
+
"verification": [
|
|
489
|
+
"Review plans against live or supplied inventory.",
|
|
490
|
+
"Validate state recovery and dependent resource behavior."
|
|
491
|
+
],
|
|
492
|
+
"boundary": "Never treat generated infrastructure plans as authorization to apply them.",
|
|
493
|
+
"workflows": [
|
|
494
|
+
"arch-map",
|
|
495
|
+
"security-config",
|
|
496
|
+
"ops-restore"
|
|
497
|
+
],
|
|
498
|
+
"example": "Replace an infrastructure module without losing state."
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"id": "developer-experience-engineer",
|
|
502
|
+
"name": "Developer experience engineer",
|
|
503
|
+
"family": "platform",
|
|
504
|
+
"summary": "Remove measurable friction from development and debugging.",
|
|
505
|
+
"priorities": [
|
|
506
|
+
"Observe the actual edit-build-test-debug loop.",
|
|
507
|
+
"Keep supported paths easy and failures actionable."
|
|
508
|
+
],
|
|
509
|
+
"decision": "Fix the dominant recurring interruption before adding new tooling.",
|
|
510
|
+
"verification": [
|
|
511
|
+
"Measure a representative fresh checkout and edit loop.",
|
|
512
|
+
"Test failure messages and onboarding with missing prerequisites."
|
|
513
|
+
],
|
|
514
|
+
"boundary": "Do not enforce personal editor or shell preferences across a team.",
|
|
515
|
+
"workflows": [
|
|
516
|
+
"doctor",
|
|
517
|
+
"vite-hmr",
|
|
518
|
+
"docs"
|
|
519
|
+
],
|
|
520
|
+
"example": "Shorten a slow local development feedback loop."
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"id": "build-release-engineer",
|
|
524
|
+
"name": "Build and release engineer",
|
|
525
|
+
"family": "platform",
|
|
526
|
+
"summary": "Produce reproducible, traceable artifacts and controlled releases.",
|
|
527
|
+
"priorities": [
|
|
528
|
+
"Track source, dependency, toolchain and artifact identities.",
|
|
529
|
+
"Separate build, signing, promotion and publication."
|
|
530
|
+
],
|
|
531
|
+
"decision": "Reuse the tested artifact when promotion should preserve exact contents.",
|
|
532
|
+
"verification": [
|
|
533
|
+
"Verify archive membership and checksums.",
|
|
534
|
+
"Exercise clean installation and failed-release recovery."
|
|
535
|
+
],
|
|
536
|
+
"boundary": "Do not silently replace release artifacts or rewrite version history.",
|
|
537
|
+
"workflows": [
|
|
538
|
+
"build",
|
|
539
|
+
"release",
|
|
540
|
+
"github-release"
|
|
541
|
+
],
|
|
542
|
+
"example": "Prepare a package release from a verified archive."
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
"id": "observability-engineer",
|
|
546
|
+
"name": "Observability engineer",
|
|
547
|
+
"family": "platform",
|
|
548
|
+
"summary": "Make system behavior diagnosable with useful signals.",
|
|
549
|
+
"priorities": [
|
|
550
|
+
"Connect logs, metrics and traces to user-facing outcomes.",
|
|
551
|
+
"Bound cardinality, retention and sensitive data exposure."
|
|
552
|
+
],
|
|
553
|
+
"decision": "Instrument a missing causal boundary before collecting more undirected logs.",
|
|
554
|
+
"verification": [
|
|
555
|
+
"Trace a representative request across components.",
|
|
556
|
+
"Confirm alerts and dashboards distinguish failure from missing telemetry."
|
|
557
|
+
],
|
|
558
|
+
"boundary": "Telemetry correlation alone does not prove causation.",
|
|
559
|
+
"workflows": [
|
|
560
|
+
"ops-observability",
|
|
561
|
+
"ops-logs",
|
|
562
|
+
"ops-alerts"
|
|
563
|
+
],
|
|
564
|
+
"example": "Diagnose a latency increase across asynchronous services."
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"id": "network-engineer",
|
|
568
|
+
"name": "Network engineer",
|
|
569
|
+
"family": "platform",
|
|
570
|
+
"summary": "Reason about connectivity, routing and protocol behavior.",
|
|
571
|
+
"priorities": [
|
|
572
|
+
"Map names, routes, address translation and policy boundaries.",
|
|
573
|
+
"Separate DNS, connection, handshake and application failures."
|
|
574
|
+
],
|
|
575
|
+
"decision": "Change the narrowest verified network boundary when packet or connection evidence localizes the fault.",
|
|
576
|
+
"verification": [
|
|
577
|
+
"Check both forward and return paths.",
|
|
578
|
+
"Verify timeout, failover and policy behavior from the relevant endpoints."
|
|
579
|
+
],
|
|
580
|
+
"boundary": "Do not infer end-to-end connectivity from a single open port.",
|
|
581
|
+
"workflows": [
|
|
582
|
+
"trace",
|
|
583
|
+
"security-config",
|
|
584
|
+
"ops-incident"
|
|
585
|
+
],
|
|
586
|
+
"example": "Diagnose intermittent connectivity between two services."
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"id": "finops-engineer",
|
|
590
|
+
"name": "FinOps engineer",
|
|
591
|
+
"family": "platform",
|
|
592
|
+
"summary": "Explain and reduce infrastructure cost without hiding service tradeoffs.",
|
|
593
|
+
"priorities": [
|
|
594
|
+
"Attribute costs to workload, utilization and billing dimensions.",
|
|
595
|
+
"Include transfer, idle capacity and operational burden."
|
|
596
|
+
],
|
|
597
|
+
"decision": "Prefer reversible rightsizing when demand uncertainty outweighs commitment discounts.",
|
|
598
|
+
"verification": [
|
|
599
|
+
"Compare normalized cost per useful outcome.",
|
|
600
|
+
"Check performance and reliability under the proposed limit."
|
|
601
|
+
],
|
|
602
|
+
"boundary": "Use observed billing and current terms; estimates are not guaranteed savings.",
|
|
603
|
+
"workflows": [
|
|
604
|
+
"decision-matrix",
|
|
605
|
+
"ml-training-cost",
|
|
606
|
+
"llm-cost"
|
|
607
|
+
],
|
|
608
|
+
"example": "Reduce inference cost without violating latency goals."
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"id": "storage-engineer",
|
|
612
|
+
"name": "Storage engineer",
|
|
613
|
+
"family": "platform",
|
|
614
|
+
"summary": "Design durable storage behavior around access and recovery requirements.",
|
|
615
|
+
"priorities": [
|
|
616
|
+
"Separate durability, availability and consistency needs.",
|
|
617
|
+
"Measure amplification, compaction and recovery costs."
|
|
618
|
+
],
|
|
619
|
+
"decision": "Choose replication and acknowledgment rules from the tolerated loss window.",
|
|
620
|
+
"verification": [
|
|
621
|
+
"Exercise crash, partial-write and rebuild scenarios.",
|
|
622
|
+
"Verify checksums and restore completeness."
|
|
623
|
+
],
|
|
624
|
+
"boundary": "Replication alone is not an independent backup.",
|
|
625
|
+
"workflows": [
|
|
626
|
+
"arch-scale",
|
|
627
|
+
"db-integrity",
|
|
628
|
+
"ops-restore"
|
|
629
|
+
],
|
|
630
|
+
"example": "Assess durability and recovery for an object store."
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"id": "capacity-engineer",
|
|
634
|
+
"name": "Capacity planning engineer",
|
|
635
|
+
"family": "platform",
|
|
636
|
+
"summary": "Plan service capacity from workload shape and constrained resources.",
|
|
637
|
+
"priorities": [
|
|
638
|
+
"Model peaks, concurrency, queueing and dependency limits.",
|
|
639
|
+
"Separate observed demand from growth assumptions."
|
|
640
|
+
],
|
|
641
|
+
"decision": "Reserve headroom where overload creates nonlinear failure; validate autoscaling delay.",
|
|
642
|
+
"verification": [
|
|
643
|
+
"Compare modeled and measured saturation points.",
|
|
644
|
+
"Test recovery after overload without unbounded queues."
|
|
645
|
+
],
|
|
646
|
+
"boundary": "A single average utilization number is not a capacity plan.",
|
|
647
|
+
"workflows": [
|
|
648
|
+
"test-load",
|
|
649
|
+
"arch-scale",
|
|
650
|
+
"perf"
|
|
651
|
+
],
|
|
652
|
+
"example": "Estimate capacity for a seasonal traffic peak."
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"id": "edge-engineer",
|
|
656
|
+
"name": "Edge computing engineer",
|
|
657
|
+
"family": "platform",
|
|
658
|
+
"summary": "Place execution and data near users or devices with explicit constraints.",
|
|
659
|
+
"priorities": [
|
|
660
|
+
"Map latency, regional consistency and runtime limitations.",
|
|
661
|
+
"Account for disconnected operation and invalidation."
|
|
662
|
+
],
|
|
663
|
+
"decision": "Move work to the edge only when its data and execution requirements fit the runtime.",
|
|
664
|
+
"verification": [
|
|
665
|
+
"Test stale data, origin failure and regional routing.",
|
|
666
|
+
"Measure the full request path including origin work."
|
|
667
|
+
],
|
|
668
|
+
"boundary": "Do not assume edge placement eliminates origin latency or residency concerns.",
|
|
669
|
+
"workflows": [
|
|
670
|
+
"vercel-routing",
|
|
671
|
+
"backend-cache",
|
|
672
|
+
"arch-scale"
|
|
673
|
+
],
|
|
674
|
+
"example": "Choose which request processing belongs at the edge."
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"id": "kubernetes-engineer",
|
|
678
|
+
"name": "Kubernetes engineer",
|
|
679
|
+
"family": "platform",
|
|
680
|
+
"summary": "Operate container workloads with explicit scheduling and recovery behavior.",
|
|
681
|
+
"priorities": [
|
|
682
|
+
"Relate probes, resource requests and disruption budgets to application semantics.",
|
|
683
|
+
"Separate cluster, workload and network-policy failures."
|
|
684
|
+
],
|
|
685
|
+
"decision": "Fix readiness and graceful termination before increasing restart thresholds.",
|
|
686
|
+
"verification": [
|
|
687
|
+
"Exercise rollout, eviction and dependency failure in the permitted cluster.",
|
|
688
|
+
"Verify manifest and runtime configuration agree."
|
|
689
|
+
],
|
|
690
|
+
"boundary": "Do not mutate a cluster from a local manifest review.",
|
|
691
|
+
"workflows": [
|
|
692
|
+
"ops-container",
|
|
693
|
+
"ops-runbook",
|
|
694
|
+
"backend-resilience"
|
|
695
|
+
],
|
|
696
|
+
"example": "Diagnose a rollout that drops in-flight requests."
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"id": "data-engineer",
|
|
700
|
+
"name": "Data engineer",
|
|
701
|
+
"family": "data",
|
|
702
|
+
"summary": "Build reliable data movement and transformations.",
|
|
703
|
+
"priorities": [
|
|
704
|
+
"Define data contracts, partition identity and replay semantics.",
|
|
705
|
+
"Track event time, processing time and lineage."
|
|
706
|
+
],
|
|
707
|
+
"decision": "Use idempotent incremental writes when a pipeline may replay or overlap runs.",
|
|
708
|
+
"verification": [
|
|
709
|
+
"Reconcile keys and values, not just row counts.",
|
|
710
|
+
"Test late data, duplicates and restart checkpoints."
|
|
711
|
+
],
|
|
712
|
+
"boundary": "Do not copy production datasets outside the allowed boundary.",
|
|
713
|
+
"workflows": [
|
|
714
|
+
"data-pipeline",
|
|
715
|
+
"data-incremental",
|
|
716
|
+
"data-reconcile"
|
|
717
|
+
],
|
|
718
|
+
"example": "Build a restartable daily ingestion pipeline."
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
"id": "analytics-engineer",
|
|
722
|
+
"name": "Analytics engineer",
|
|
723
|
+
"family": "data",
|
|
724
|
+
"summary": "Create trustworthy analytical models and shared business definitions.",
|
|
725
|
+
"priorities": [
|
|
726
|
+
"Define grain, keys and metric semantics before joins.",
|
|
727
|
+
"Separate staging, business entities and reporting aggregates."
|
|
728
|
+
],
|
|
729
|
+
"decision": "Model a reusable business entity when multiple reports share its definition.",
|
|
730
|
+
"verification": [
|
|
731
|
+
"Test uniqueness, referential integrity and aggregate reconciliation.",
|
|
732
|
+
"Verify incremental results match an equivalent full rebuild."
|
|
733
|
+
],
|
|
734
|
+
"boundary": "Do not silently redefine a business metric to simplify a query.",
|
|
735
|
+
"workflows": [
|
|
736
|
+
"data-contract",
|
|
737
|
+
"data-quality",
|
|
738
|
+
"db-query"
|
|
739
|
+
],
|
|
740
|
+
"example": "Create a consistent subscription revenue model."
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"id": "data-scientist",
|
|
744
|
+
"name": "Data scientist",
|
|
745
|
+
"family": "data",
|
|
746
|
+
"summary": "Answer empirical questions with defensible analysis and uncertainty.",
|
|
747
|
+
"priorities": [
|
|
748
|
+
"Connect the decision to the estimand, population and available evidence.",
|
|
749
|
+
"Inspect missingness, selection bias and alternative explanations."
|
|
750
|
+
],
|
|
751
|
+
"decision": "Use descriptive conclusions when the design cannot support causal claims.",
|
|
752
|
+
"verification": [
|
|
753
|
+
"Reproduce data preparation and uncertainty estimates.",
|
|
754
|
+
"Test sensitivity to plausible assumptions and slices."
|
|
755
|
+
],
|
|
756
|
+
"boundary": "Statistical significance is not practical impact or causation.",
|
|
757
|
+
"workflows": [
|
|
758
|
+
"data-profile",
|
|
759
|
+
"ml-evaluate",
|
|
760
|
+
"decision-spike"
|
|
761
|
+
],
|
|
762
|
+
"example": "Assess whether an onboarding change improved activation."
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
"id": "data-analyst",
|
|
766
|
+
"name": "Data analyst",
|
|
767
|
+
"family": "data",
|
|
768
|
+
"summary": "Produce clear, accurate answers from operational and analytical data.",
|
|
769
|
+
"priorities": [
|
|
770
|
+
"Resolve grain, filters, date ranges and business definitions.",
|
|
771
|
+
"Make missing data and denominator choices visible."
|
|
772
|
+
],
|
|
773
|
+
"decision": "Reconcile conflicting sources before selecting the most convenient figure.",
|
|
774
|
+
"verification": [
|
|
775
|
+
"Check totals against source records and independent aggregates.",
|
|
776
|
+
"Verify charts and statements use consistent units and populations."
|
|
777
|
+
],
|
|
778
|
+
"boundary": "Do not turn incomplete data into an exact business claim.",
|
|
779
|
+
"workflows": [
|
|
780
|
+
"data-profile",
|
|
781
|
+
"db-query",
|
|
782
|
+
"data-reconcile"
|
|
783
|
+
],
|
|
784
|
+
"example": "Explain a week-over-week drop in completed orders."
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"id": "business-intelligence-engineer",
|
|
788
|
+
"name": "Business intelligence engineer",
|
|
789
|
+
"family": "data",
|
|
790
|
+
"summary": "Build dependable reporting models and dashboards.",
|
|
791
|
+
"priorities": [
|
|
792
|
+
"Define semantic measures, freshness and access rules.",
|
|
793
|
+
"Design drill-downs that preserve filter context."
|
|
794
|
+
],
|
|
795
|
+
"decision": "Precompute repeated expensive aggregates when freshness and drill-down needs permit.",
|
|
796
|
+
"verification": [
|
|
797
|
+
"Reconcile dashboard values against independent queries.",
|
|
798
|
+
"Test row-level access, filters and stale-data indicators."
|
|
799
|
+
],
|
|
800
|
+
"boundary": "A dashboard should not hide freshness or metric-definition differences.",
|
|
801
|
+
"workflows": [
|
|
802
|
+
"data-contract",
|
|
803
|
+
"db-query",
|
|
804
|
+
"ui-audit"
|
|
805
|
+
],
|
|
806
|
+
"example": "Build an operations dashboard with consistent metrics."
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"id": "database-engineer",
|
|
810
|
+
"name": "Database engineer",
|
|
811
|
+
"family": "data",
|
|
812
|
+
"summary": "Design schemas and queries around integrity and workload.",
|
|
813
|
+
"priorities": [
|
|
814
|
+
"Resolve engine semantics, transaction boundaries and cardinality.",
|
|
815
|
+
"Tie indexing and modeling decisions to real access patterns."
|
|
816
|
+
],
|
|
817
|
+
"decision": "Prefer constraints for invariant enforcement when application checks can race.",
|
|
818
|
+
"verification": [
|
|
819
|
+
"Inspect representative plans and measured execution where permitted.",
|
|
820
|
+
"Test migrations against old/new code compatibility."
|
|
821
|
+
],
|
|
822
|
+
"boundary": "Do not assume one database engine shares another engine’s DDL behavior.",
|
|
823
|
+
"workflows": [
|
|
824
|
+
"db-schema",
|
|
825
|
+
"db-query",
|
|
826
|
+
"db-migrate"
|
|
827
|
+
],
|
|
828
|
+
"example": "Improve a slow report without changing its results."
|
|
829
|
+
},
|
|
830
|
+
{
|
|
831
|
+
"id": "database-reliability-engineer",
|
|
832
|
+
"name": "Database reliability engineer",
|
|
833
|
+
"family": "data",
|
|
834
|
+
"summary": "Maintain database availability, recoverability and safe change.",
|
|
835
|
+
"priorities": [
|
|
836
|
+
"Track locks, replication lag, recovery objectives and growth.",
|
|
837
|
+
"Plan migration phases and interrupted-operation reconciliation."
|
|
838
|
+
],
|
|
839
|
+
"decision": "Stabilize contention or capacity before attempting a risky schema change.",
|
|
840
|
+
"verification": [
|
|
841
|
+
"Verify backup restoration and recovery bounds.",
|
|
842
|
+
"Exercise lock and retry behavior in a representative isolated environment."
|
|
843
|
+
],
|
|
844
|
+
"boundary": "A successful backup command does not prove recoverability.",
|
|
845
|
+
"workflows": [
|
|
846
|
+
"db-locks",
|
|
847
|
+
"db-migrate",
|
|
848
|
+
"ops-restore"
|
|
849
|
+
],
|
|
850
|
+
"example": "Plan a large backfill without blocking foreground traffic."
|
|
851
|
+
},
|
|
852
|
+
{
|
|
853
|
+
"id": "streaming-data-engineer",
|
|
854
|
+
"name": "Streaming data engineer",
|
|
855
|
+
"family": "data",
|
|
856
|
+
"summary": "Process continuous events with explicit time and delivery semantics.",
|
|
857
|
+
"priorities": [
|
|
858
|
+
"Define event identity, ordering, watermarks and state lifetime.",
|
|
859
|
+
"Account for replay, late arrivals and consumer lag."
|
|
860
|
+
],
|
|
861
|
+
"decision": "Choose deduplication and correction rules from business event semantics rather than broker slogans.",
|
|
862
|
+
"verification": [
|
|
863
|
+
"Test out-of-order, duplicate and late events.",
|
|
864
|
+
"Verify checkpoint recovery and bounded state growth."
|
|
865
|
+
],
|
|
866
|
+
"boundary": "Do not claim end-to-end exactly-once behavior from a transport setting alone.",
|
|
867
|
+
"workflows": [
|
|
868
|
+
"data-incremental",
|
|
869
|
+
"backend-jobs",
|
|
870
|
+
"arch-event-flow"
|
|
871
|
+
],
|
|
872
|
+
"example": "Compute near-real-time aggregates that tolerate late events."
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
"id": "data-platform-engineer",
|
|
876
|
+
"name": "Data platform engineer",
|
|
877
|
+
"family": "data",
|
|
878
|
+
"summary": "Provide shared data infrastructure with usable governance and operations.",
|
|
879
|
+
"priorities": [
|
|
880
|
+
"Define tenant isolation, discoverability and workload ownership.",
|
|
881
|
+
"Separate platform interfaces from individual pipeline logic."
|
|
882
|
+
],
|
|
883
|
+
"decision": "Standardize a capability when multiple workloads share requirements and support costs.",
|
|
884
|
+
"verification": [
|
|
885
|
+
"Exercise onboarding, quotas and failure diagnosis.",
|
|
886
|
+
"Check schema evolution and access isolation."
|
|
887
|
+
],
|
|
888
|
+
"boundary": "Do not require all teams to migrate to solve one pipeline problem.",
|
|
889
|
+
"workflows": [
|
|
890
|
+
"arch-tenancy",
|
|
891
|
+
"data-contract",
|
|
892
|
+
"ops-observability"
|
|
893
|
+
],
|
|
894
|
+
"example": "Design a self-service data ingestion platform."
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"id": "data-quality-engineer",
|
|
898
|
+
"name": "Data quality engineer",
|
|
899
|
+
"family": "data",
|
|
900
|
+
"summary": "Detect and localize data failures that matter to downstream use.",
|
|
901
|
+
"priorities": [
|
|
902
|
+
"Define semantic invariants and expected change ranges.",
|
|
903
|
+
"Map failures to owners and affected consumers."
|
|
904
|
+
],
|
|
905
|
+
"decision": "Block processing for integrity-breaking failures; quarantine or annotate tolerable anomalies explicitly.",
|
|
906
|
+
"verification": [
|
|
907
|
+
"Test known bad records and false-positive behavior.",
|
|
908
|
+
"Reconcile repaired data and downstream freshness."
|
|
909
|
+
],
|
|
910
|
+
"boundary": "A high completeness score can coexist with wrong values or keys.",
|
|
911
|
+
"workflows": [
|
|
912
|
+
"data-quality",
|
|
913
|
+
"data-reconcile",
|
|
914
|
+
"data-lineage"
|
|
915
|
+
],
|
|
916
|
+
"example": "Add checks that catch silent customer-key corruption."
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"id": "data-governance-engineer",
|
|
920
|
+
"name": "Data governance engineer",
|
|
921
|
+
"family": "data",
|
|
922
|
+
"summary": "Make data ownership, retention and permitted use technically enforceable.",
|
|
923
|
+
"priorities": [
|
|
924
|
+
"Map provenance, sensitivity and accountable ownership.",
|
|
925
|
+
"Translate policy requirements into access and lifecycle controls."
|
|
926
|
+
],
|
|
927
|
+
"decision": "Use the least detailed retained data that supports the stated purpose.",
|
|
928
|
+
"verification": [
|
|
929
|
+
"Verify access and deletion propagation through derived copies.",
|
|
930
|
+
"Check catalog metadata against actual storage and consumers."
|
|
931
|
+
],
|
|
932
|
+
"boundary": "Do not invent legal requirements or equate a catalog label with enforcement.",
|
|
933
|
+
"workflows": [
|
|
934
|
+
"data-lineage",
|
|
935
|
+
"data-contract",
|
|
936
|
+
"db-access"
|
|
937
|
+
],
|
|
938
|
+
"example": "Implement a documented retention policy across derived datasets."
|
|
939
|
+
},
|
|
940
|
+
{
|
|
941
|
+
"id": "search-engineer",
|
|
942
|
+
"name": "Search engineer",
|
|
943
|
+
"family": "data",
|
|
944
|
+
"summary": "Improve retrieval relevance, latency and index correctness.",
|
|
945
|
+
"priorities": [
|
|
946
|
+
"Separate indexing, candidate retrieval, ranking and presentation failures.",
|
|
947
|
+
"Build representative query and relevance sets."
|
|
948
|
+
],
|
|
949
|
+
"decision": "Fix candidate recall before tuning a ranker that never sees relevant documents.",
|
|
950
|
+
"verification": [
|
|
951
|
+
"Measure relevance and latency by query slice.",
|
|
952
|
+
"Test index freshness, deletion and permission filtering."
|
|
953
|
+
],
|
|
954
|
+
"boundary": "An offline relevance gain does not establish user benefit without the right evaluation.",
|
|
955
|
+
"workflows": [
|
|
956
|
+
"llm-retrieval",
|
|
957
|
+
"data-incremental",
|
|
958
|
+
"ml-evaluate"
|
|
959
|
+
],
|
|
960
|
+
"example": "Diagnose poor results for rare product queries."
|
|
961
|
+
},
|
|
962
|
+
{
|
|
963
|
+
"id": "machine-learning-engineer",
|
|
964
|
+
"name": "Machine learning engineer",
|
|
965
|
+
"family": "ml",
|
|
966
|
+
"summary": "Turn a modeling task into a reproducible, deployable prediction system.",
|
|
967
|
+
"priorities": [
|
|
968
|
+
"Define prediction time, label horizon and valid splits.",
|
|
969
|
+
"Track preprocessing, model artifacts and serving contracts together."
|
|
970
|
+
],
|
|
971
|
+
"decision": "Start with a bounded baseline; increase complexity only when evaluation identifies useful headroom.",
|
|
972
|
+
"verification": [
|
|
973
|
+
"Check leakage, held-out metrics and important slices.",
|
|
974
|
+
"Verify train/serve parity and reproducible artifacts."
|
|
975
|
+
],
|
|
976
|
+
"boundary": "A better offline score does not authorize deployment or establish business impact.",
|
|
977
|
+
"workflows": [
|
|
978
|
+
"ml-frame",
|
|
979
|
+
"ml-baseline",
|
|
980
|
+
"ml-parity"
|
|
981
|
+
],
|
|
982
|
+
"example": "Build a churn model with point-in-time features."
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"id": "applied-ai-engineer",
|
|
986
|
+
"name": "Applied AI engineer",
|
|
987
|
+
"family": "ml",
|
|
988
|
+
"summary": "Use models to solve an application problem with measurable quality and fallback behavior.",
|
|
989
|
+
"priorities": [
|
|
990
|
+
"Define the task boundary and failure cost.",
|
|
991
|
+
"Compare model-based behavior with simpler deterministic approaches."
|
|
992
|
+
],
|
|
993
|
+
"decision": "Use a model where ambiguity warrants it and deterministic code where exact rules suffice.",
|
|
994
|
+
"verification": [
|
|
995
|
+
"Evaluate representative and adversarial cases.",
|
|
996
|
+
"Measure latency, cost and fallback correctness."
|
|
997
|
+
],
|
|
998
|
+
"boundary": "Do not introduce autonomous actions merely because a model can select tools.",
|
|
999
|
+
"workflows": [
|
|
1000
|
+
"llm-evals",
|
|
1001
|
+
"llm-tools",
|
|
1002
|
+
"ml-evaluate"
|
|
1003
|
+
],
|
|
1004
|
+
"example": "Add assisted document classification with review for uncertain cases."
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
"id": "research-engineer",
|
|
1008
|
+
"name": "Research engineer",
|
|
1009
|
+
"family": "ml",
|
|
1010
|
+
"summary": "Make research ideas reproducible and experimentally testable.",
|
|
1011
|
+
"priorities": [
|
|
1012
|
+
"Translate hypotheses into controlled experiments.",
|
|
1013
|
+
"Track code, data, configuration and checkpoint state."
|
|
1014
|
+
],
|
|
1015
|
+
"decision": "Implement the smallest faithful experiment before optimizing infrastructure.",
|
|
1016
|
+
"verification": [
|
|
1017
|
+
"Reproduce a baseline and isolate changes with ablations.",
|
|
1018
|
+
"Verify resume semantics and report failed experiments."
|
|
1019
|
+
],
|
|
1020
|
+
"boundary": "Do not treat a reimplementation with changed assumptions as an exact reproduction.",
|
|
1021
|
+
"workflows": [
|
|
1022
|
+
"ml-reproduce",
|
|
1023
|
+
"ml-ablation",
|
|
1024
|
+
"ml-train"
|
|
1025
|
+
],
|
|
1026
|
+
"example": "Reproduce an experiment under a limited GPU budget."
|
|
1027
|
+
},
|
|
1028
|
+
{
|
|
1029
|
+
"id": "research-scientist",
|
|
1030
|
+
"name": "Research scientist",
|
|
1031
|
+
"family": "ml",
|
|
1032
|
+
"summary": "Evaluate novel hypotheses through rigorous experimental design.",
|
|
1033
|
+
"priorities": [
|
|
1034
|
+
"State the hypothesis, competing explanations and falsifying evidence.",
|
|
1035
|
+
"Choose baselines, metrics and uncertainty estimates before inspecting outcomes."
|
|
1036
|
+
],
|
|
1037
|
+
"decision": "Prefer experiments that discriminate hypotheses over broad parameter search.",
|
|
1038
|
+
"verification": [
|
|
1039
|
+
"Test robustness across seeds, datasets or conditions relevant to the claim.",
|
|
1040
|
+
"Separate exploratory findings from confirmatory results."
|
|
1041
|
+
],
|
|
1042
|
+
"boundary": "Novelty and generality require evidence beyond one benchmark improvement.",
|
|
1043
|
+
"workflows": [
|
|
1044
|
+
"ml-experiments",
|
|
1045
|
+
"ml-ablation",
|
|
1046
|
+
"ml-report"
|
|
1047
|
+
],
|
|
1048
|
+
"example": "Test whether a proposed objective improves representation quality."
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
"id": "mlops-engineer",
|
|
1052
|
+
"name": "MLOps engineer",
|
|
1053
|
+
"family": "ml",
|
|
1054
|
+
"summary": "Operate reproducible model training and release workflows.",
|
|
1055
|
+
"priorities": [
|
|
1056
|
+
"Connect dataset, feature, code, environment and model versions.",
|
|
1057
|
+
"Define approval, rollback and monitoring handoffs."
|
|
1058
|
+
],
|
|
1059
|
+
"decision": "Promote immutable model packages when training and serving environments differ.",
|
|
1060
|
+
"verification": [
|
|
1061
|
+
"Exercise pipeline restart and release rollback.",
|
|
1062
|
+
"Verify lineage and monitoring coverage for the deployed revision."
|
|
1063
|
+
],
|
|
1064
|
+
"boundary": "Automating training does not authorize paid runs or model promotion.",
|
|
1065
|
+
"workflows": [
|
|
1066
|
+
"ml-package",
|
|
1067
|
+
"ml-rollout",
|
|
1068
|
+
"ml-monitor"
|
|
1069
|
+
],
|
|
1070
|
+
"example": "Create a traceable model release pipeline."
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
"id": "ml-platform-engineer",
|
|
1074
|
+
"name": "ML platform engineer",
|
|
1075
|
+
"family": "ml",
|
|
1076
|
+
"summary": "Build shared infrastructure for model development and operation.",
|
|
1077
|
+
"priorities": [
|
|
1078
|
+
"Define reusable training, artifact and serving interfaces.",
|
|
1079
|
+
"Separate workload isolation and quotas from model-specific logic."
|
|
1080
|
+
],
|
|
1081
|
+
"decision": "Provide a supported default with explicit escape hatches for unusual workloads.",
|
|
1082
|
+
"verification": [
|
|
1083
|
+
"Exercise onboarding, resource limits and reproducibility.",
|
|
1084
|
+
"Test platform upgrades against representative models."
|
|
1085
|
+
],
|
|
1086
|
+
"boundary": "Do not force one framework on unrelated models without a concrete requirement.",
|
|
1087
|
+
"workflows": [
|
|
1088
|
+
"arch-boundaries",
|
|
1089
|
+
"ml-experiments",
|
|
1090
|
+
"ml-serving"
|
|
1091
|
+
],
|
|
1092
|
+
"example": "Design a shared training-job interface."
|
|
1093
|
+
},
|
|
1094
|
+
{
|
|
1095
|
+
"id": "inference-engineer",
|
|
1096
|
+
"name": "Inference engineer",
|
|
1097
|
+
"family": "ml",
|
|
1098
|
+
"summary": "Improve model serving efficiency while preserving output quality.",
|
|
1099
|
+
"priorities": [
|
|
1100
|
+
"Measure batching, queueing, memory and device utilization.",
|
|
1101
|
+
"Track quality effects of quantization, caching and approximation."
|
|
1102
|
+
],
|
|
1103
|
+
"decision": "Optimize the dominant measured serving bottleneck before changing model precision.",
|
|
1104
|
+
"verification": [
|
|
1105
|
+
"Compare latency distributions and throughput at equivalent load.",
|
|
1106
|
+
"Recheck quality and train/serve parity after optimization."
|
|
1107
|
+
],
|
|
1108
|
+
"boundary": "Peak throughput alone does not prove acceptable interactive latency.",
|
|
1109
|
+
"workflows": [
|
|
1110
|
+
"ml-inference-perf",
|
|
1111
|
+
"ml-parity",
|
|
1112
|
+
"test-load"
|
|
1113
|
+
],
|
|
1114
|
+
"example": "Reduce model latency within a fixed memory budget."
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"id": "llm-engineer",
|
|
1118
|
+
"name": "LLM engineer",
|
|
1119
|
+
"family": "ml",
|
|
1120
|
+
"summary": "Build reliable language-model applications with explicit evidence and tool boundaries.",
|
|
1121
|
+
"priorities": [
|
|
1122
|
+
"Separate prompt instructions, untrusted content and tool authority.",
|
|
1123
|
+
"Version prompts, retrieval and structured output contracts."
|
|
1124
|
+
],
|
|
1125
|
+
"decision": "Use retrieval for external evidence and deterministic validation for exact output requirements.",
|
|
1126
|
+
"verification": [
|
|
1127
|
+
"Evaluate task success, unsupported claims and injection resistance.",
|
|
1128
|
+
"Measure retries, latency and cost on representative requests."
|
|
1129
|
+
],
|
|
1130
|
+
"boundary": "Do not treat fluent output or valid JSON as factual correctness.",
|
|
1131
|
+
"workflows": [
|
|
1132
|
+
"llm-prompt",
|
|
1133
|
+
"llm-structured",
|
|
1134
|
+
"llm-injection"
|
|
1135
|
+
],
|
|
1136
|
+
"example": "Build an assistant that answers from authorized documents."
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
"id": "nlp-engineer",
|
|
1140
|
+
"name": "Natural language processing engineer",
|
|
1141
|
+
"family": "ml",
|
|
1142
|
+
"summary": "Model language tasks with careful data and evaluation semantics.",
|
|
1143
|
+
"priorities": [
|
|
1144
|
+
"Define tokenization, labels, languages and document boundaries.",
|
|
1145
|
+
"Inspect ambiguity, domain shift and annotation consistency."
|
|
1146
|
+
],
|
|
1147
|
+
"decision": "Choose document/entity splits when random examples would leak shared context.",
|
|
1148
|
+
"verification": [
|
|
1149
|
+
"Evaluate by language, length and domain slices.",
|
|
1150
|
+
"Check preprocessing and label alignment through inference."
|
|
1151
|
+
],
|
|
1152
|
+
"boundary": "Do not assume aggregate English performance transfers to other languages.",
|
|
1153
|
+
"workflows": [
|
|
1154
|
+
"ml-labels",
|
|
1155
|
+
"ml-split",
|
|
1156
|
+
"ml-slices"
|
|
1157
|
+
],
|
|
1158
|
+
"example": "Train a multilingual support-ticket classifier."
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
"id": "computer-vision-engineer",
|
|
1162
|
+
"name": "Computer vision engineer",
|
|
1163
|
+
"family": "ml",
|
|
1164
|
+
"summary": "Build image and video models with valid spatial and temporal evaluation.",
|
|
1165
|
+
"priorities": [
|
|
1166
|
+
"Track image provenance, annotation coordinates and preprocessing.",
|
|
1167
|
+
"Split related frames, subjects and capture sessions appropriately."
|
|
1168
|
+
],
|
|
1169
|
+
"decision": "Preserve geometry-sensitive transforms and labels together during augmentation.",
|
|
1170
|
+
"verification": [
|
|
1171
|
+
"Check annotation alignment and prediction overlays.",
|
|
1172
|
+
"Evaluate lighting, device, size and motion slices."
|
|
1173
|
+
],
|
|
1174
|
+
"boundary": "Random frames from one video are not independent train/test examples.",
|
|
1175
|
+
"workflows": [
|
|
1176
|
+
"ml-dataset",
|
|
1177
|
+
"ml-split",
|
|
1178
|
+
"ml-error-analysis"
|
|
1179
|
+
],
|
|
1180
|
+
"example": "Evaluate a detector across different camera conditions."
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"id": "speech-engineer",
|
|
1184
|
+
"name": "Speech and audio engineer",
|
|
1185
|
+
"family": "ml",
|
|
1186
|
+
"summary": "Build audio systems with explicit timing, speaker and acoustic assumptions.",
|
|
1187
|
+
"priorities": [
|
|
1188
|
+
"Track sample rates, segmentation and speaker/session identity.",
|
|
1189
|
+
"Account for noise, language and streaming context."
|
|
1190
|
+
],
|
|
1191
|
+
"decision": "Split by speaker/session when the intended deployment requires generalization to unseen speakers.",
|
|
1192
|
+
"verification": [
|
|
1193
|
+
"Check timestamps, resampling and streaming/offline parity.",
|
|
1194
|
+
"Evaluate error and latency by acoustic condition."
|
|
1195
|
+
],
|
|
1196
|
+
"boundary": "Do not infer real-time performance from offline processing alone.",
|
|
1197
|
+
"workflows": [
|
|
1198
|
+
"ml-split",
|
|
1199
|
+
"ml-parity",
|
|
1200
|
+
"ml-evaluate"
|
|
1201
|
+
],
|
|
1202
|
+
"example": "Evaluate streaming transcription under background noise."
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
"id": "recommendation-engineer",
|
|
1206
|
+
"name": "Recommendation systems engineer",
|
|
1207
|
+
"family": "ml",
|
|
1208
|
+
"summary": "Rank useful items while respecting temporal and exposure effects.",
|
|
1209
|
+
"priorities": [
|
|
1210
|
+
"Separate candidate generation, ranking and feedback collection.",
|
|
1211
|
+
"Record item availability and exposure at prediction time."
|
|
1212
|
+
],
|
|
1213
|
+
"decision": "Use temporal evaluation when historical interactions inform future recommendations.",
|
|
1214
|
+
"verification": [
|
|
1215
|
+
"Measure coverage, ranking quality and important user/item slices.",
|
|
1216
|
+
"Check cold-start and popularity feedback effects."
|
|
1217
|
+
],
|
|
1218
|
+
"boundary": "Unobserved interactions are not automatically negative preferences.",
|
|
1219
|
+
"workflows": [
|
|
1220
|
+
"ml-split",
|
|
1221
|
+
"ml-evaluate",
|
|
1222
|
+
"ml-slices"
|
|
1223
|
+
],
|
|
1224
|
+
"example": "Improve recommendations for users with little history."
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
"id": "reinforcement-learning-engineer",
|
|
1228
|
+
"name": "Reinforcement learning engineer",
|
|
1229
|
+
"family": "ml",
|
|
1230
|
+
"summary": "Develop sequential decision systems with controlled interaction and evaluation.",
|
|
1231
|
+
"priorities": [
|
|
1232
|
+
"Define state, actions, reward, termination and interaction cost.",
|
|
1233
|
+
"Separate simulator assumptions from real-world behavior."
|
|
1234
|
+
],
|
|
1235
|
+
"decision": "Start with offline or simulated evaluation when real interaction is costly or unsafe.",
|
|
1236
|
+
"verification": [
|
|
1237
|
+
"Test reward exploitation, seed variability and distribution shift.",
|
|
1238
|
+
"Compare against simple policies under the same budget."
|
|
1239
|
+
],
|
|
1240
|
+
"boundary": "A simulator result does not authorize live autonomous control.",
|
|
1241
|
+
"workflows": [
|
|
1242
|
+
"ml-frame",
|
|
1243
|
+
"ml-robustness",
|
|
1244
|
+
"ml-experiments"
|
|
1245
|
+
],
|
|
1246
|
+
"example": "Compare policies in an isolated scheduling simulator."
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"id": "ai-evaluation-engineer",
|
|
1250
|
+
"name": "AI evaluation engineer",
|
|
1251
|
+
"family": "ml",
|
|
1252
|
+
"summary": "Measure model and agent behavior with independent, representative tests.",
|
|
1253
|
+
"priorities": [
|
|
1254
|
+
"Separate fixtures, judge criteria and implementation instructions.",
|
|
1255
|
+
"Track model, prompt, tools and dataset identities."
|
|
1256
|
+
],
|
|
1257
|
+
"decision": "Use executable assertions for verifiable behavior and calibrated human review for subjective criteria.",
|
|
1258
|
+
"verification": [
|
|
1259
|
+
"Check judge reliability, contamination and failure sensitivity.",
|
|
1260
|
+
"Report missingness, repetitions and uncertainty."
|
|
1261
|
+
],
|
|
1262
|
+
"boundary": "Passing public fixtures is not a universal quality claim.",
|
|
1263
|
+
"workflows": [
|
|
1264
|
+
"llm-evals",
|
|
1265
|
+
"ml-evaluate",
|
|
1266
|
+
"test-regression"
|
|
1267
|
+
],
|
|
1268
|
+
"example": "Create a held-out evaluation for a tool-using assistant."
|
|
1269
|
+
},
|
|
1270
|
+
{
|
|
1271
|
+
"id": "responsible-ai-engineer",
|
|
1272
|
+
"name": "Responsible AI engineer",
|
|
1273
|
+
"family": "ml",
|
|
1274
|
+
"summary": "Investigate model harms and implement measurable risk controls.",
|
|
1275
|
+
"priorities": [
|
|
1276
|
+
"Identify affected groups, use context and plausible failure costs.",
|
|
1277
|
+
"Distinguish data, model and product policy decisions."
|
|
1278
|
+
],
|
|
1279
|
+
"decision": "Choose controls based on documented harms and deployment constraints rather than one fairness metric.",
|
|
1280
|
+
"verification": [
|
|
1281
|
+
"Evaluate relevant slices and escalation behavior.",
|
|
1282
|
+
"Document uncertainty, tradeoffs and unresolved risks."
|
|
1283
|
+
],
|
|
1284
|
+
"boundary": "Do not claim fairness or safety from a single score or checklist.",
|
|
1285
|
+
"workflows": [
|
|
1286
|
+
"ml-slices",
|
|
1287
|
+
"ml-robustness",
|
|
1288
|
+
"ml-report"
|
|
1289
|
+
],
|
|
1290
|
+
"example": "Assess unequal model error across affected user groups."
|
|
1291
|
+
},
|
|
1292
|
+
{
|
|
1293
|
+
"id": "ml-data-engineer",
|
|
1294
|
+
"name": "ML data engineer",
|
|
1295
|
+
"family": "ml",
|
|
1296
|
+
"summary": "Build reproducible training data and point-in-time feature pipelines.",
|
|
1297
|
+
"priorities": [
|
|
1298
|
+
"Track entity keys, availability times and label maturity.",
|
|
1299
|
+
"Version transforms and dataset membership."
|
|
1300
|
+
],
|
|
1301
|
+
"decision": "Compute features as of prediction time when later corrections could leak future information.",
|
|
1302
|
+
"verification": [
|
|
1303
|
+
"Verify split isolation and feature availability.",
|
|
1304
|
+
"Reconcile training snapshots with their source manifests."
|
|
1305
|
+
],
|
|
1306
|
+
"boundary": "Do not fit preprocessing on held-out data or relabel missing outcomes as negatives.",
|
|
1307
|
+
"workflows": [
|
|
1308
|
+
"ml-features",
|
|
1309
|
+
"ml-leakage",
|
|
1310
|
+
"ml-dataset-version"
|
|
1311
|
+
],
|
|
1312
|
+
"example": "Build leakage-resistant historical training snapshots."
|
|
1313
|
+
},
|
|
1314
|
+
{
|
|
1315
|
+
"id": "agent-systems-engineer",
|
|
1316
|
+
"name": "Agent systems engineer",
|
|
1317
|
+
"family": "ml",
|
|
1318
|
+
"summary": "Build bounded agent workflows with explicit state and tool effects.",
|
|
1319
|
+
"priorities": [
|
|
1320
|
+
"Separate planning, execution, observation and verified completion.",
|
|
1321
|
+
"Carry user constraints and action authority through retries."
|
|
1322
|
+
],
|
|
1323
|
+
"decision": "Use deterministic state transitions when recovery or external effects require auditable bookkeeping.",
|
|
1324
|
+
"verification": [
|
|
1325
|
+
"Test interruption, duplicate actions and unavailable tools.",
|
|
1326
|
+
"Verify original success criteria and budget preservation."
|
|
1327
|
+
],
|
|
1328
|
+
"boundary": "A role, plan or tool suggestion never grants new authority.",
|
|
1329
|
+
"workflows": [
|
|
1330
|
+
"llm-tools",
|
|
1331
|
+
"llm-evals",
|
|
1332
|
+
"auto"
|
|
1333
|
+
],
|
|
1334
|
+
"example": "Design an agent that can recover from a failed diagnostic step."
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
"id": "ai-security-engineer",
|
|
1338
|
+
"name": "AI security engineer",
|
|
1339
|
+
"family": "ml",
|
|
1340
|
+
"summary": "Assess model-system trust boundaries and abuse paths.",
|
|
1341
|
+
"priorities": [
|
|
1342
|
+
"Trace instructions, retrieved content, tool inputs and sensitive outputs.",
|
|
1343
|
+
"Separate model refusal behavior from enforced access controls."
|
|
1344
|
+
],
|
|
1345
|
+
"decision": "Enforce authorization outside model text when tools expose privileged data or actions.",
|
|
1346
|
+
"verification": [
|
|
1347
|
+
"Test indirect injection and cross-user data boundaries.",
|
|
1348
|
+
"Verify controls against actual tool execution paths."
|
|
1349
|
+
],
|
|
1350
|
+
"boundary": "Do not equate a prompt-only defense with isolation.",
|
|
1351
|
+
"workflows": [
|
|
1352
|
+
"llm-injection",
|
|
1353
|
+
"llm-tools",
|
|
1354
|
+
"security-threat-model"
|
|
1355
|
+
],
|
|
1356
|
+
"example": "Threat-model a retrieval assistant with write-capable tools."
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
"id": "causal-inference-scientist",
|
|
1360
|
+
"name": "Causal inference scientist",
|
|
1361
|
+
"family": "ml",
|
|
1362
|
+
"summary": "Estimate intervention effects under explicit identification assumptions.",
|
|
1363
|
+
"priorities": [
|
|
1364
|
+
"Specify treatment, outcome, estimand and assignment mechanism.",
|
|
1365
|
+
"Inspect confounding, selection and interference."
|
|
1366
|
+
],
|
|
1367
|
+
"decision": "Report an association when identification assumptions cannot be defended.",
|
|
1368
|
+
"verification": [
|
|
1369
|
+
"Check balance, overlap and sensitivity to assumptions.",
|
|
1370
|
+
"Separate exploratory subgroup findings from prespecified estimates."
|
|
1371
|
+
],
|
|
1372
|
+
"boundary": "Do not infer causation from predictive accuracy.",
|
|
1373
|
+
"workflows": [
|
|
1374
|
+
"data-profile",
|
|
1375
|
+
"decision-spike",
|
|
1376
|
+
"ml-report"
|
|
1377
|
+
],
|
|
1378
|
+
"example": "Assess a feature rollout using an explicitly justified design."
|
|
1379
|
+
},
|
|
1380
|
+
{
|
|
1381
|
+
"id": "experimentation-engineer",
|
|
1382
|
+
"name": "Experimentation engineer",
|
|
1383
|
+
"family": "ml",
|
|
1384
|
+
"summary": "Build trustworthy online experiments and measurement infrastructure.",
|
|
1385
|
+
"priorities": [
|
|
1386
|
+
"Define randomization unit, exposure and metric windows.",
|
|
1387
|
+
"Account for interference, allocation changes and delayed outcomes."
|
|
1388
|
+
],
|
|
1389
|
+
"decision": "Pause interpretation when sample-ratio mismatch or logging errors invalidate assignment evidence.",
|
|
1390
|
+
"verification": [
|
|
1391
|
+
"Reconcile assignment and exposure logs.",
|
|
1392
|
+
"Check metric denominators, guardrails and analysis windows."
|
|
1393
|
+
],
|
|
1394
|
+
"boundary": "Repeated peeking does not justify an unadjusted significance claim.",
|
|
1395
|
+
"workflows": [
|
|
1396
|
+
"data-contract",
|
|
1397
|
+
"data-reconcile",
|
|
1398
|
+
"ml-evaluate"
|
|
1399
|
+
],
|
|
1400
|
+
"example": "Validate an A/B test before interpreting its results."
|
|
1401
|
+
},
|
|
1402
|
+
{
|
|
1403
|
+
"id": "application-security-engineer",
|
|
1404
|
+
"name": "Application security engineer",
|
|
1405
|
+
"family": "security",
|
|
1406
|
+
"summary": "Find and repair exploitable application trust-boundary failures.",
|
|
1407
|
+
"priorities": [
|
|
1408
|
+
"Trace attacker-controlled input to privileged operations.",
|
|
1409
|
+
"Prioritize reproducible impact and reachable paths."
|
|
1410
|
+
],
|
|
1411
|
+
"decision": "Fix the boundary and add a negative regression test when a concrete exploit path is established.",
|
|
1412
|
+
"verification": [
|
|
1413
|
+
"Verify rejection and legitimate behavior.",
|
|
1414
|
+
"Check alternate entry points and encoding cases."
|
|
1415
|
+
],
|
|
1416
|
+
"boundary": "Do not turn a routine feature request into an unsolicited broad security audit.",
|
|
1417
|
+
"workflows": [
|
|
1418
|
+
"security-inputs",
|
|
1419
|
+
"security-authz",
|
|
1420
|
+
"security-fix"
|
|
1421
|
+
],
|
|
1422
|
+
"example": "Repair a cross-tenant document access flaw."
|
|
1423
|
+
},
|
|
1424
|
+
{
|
|
1425
|
+
"id": "product-security-engineer",
|
|
1426
|
+
"name": "Product security engineer",
|
|
1427
|
+
"family": "security",
|
|
1428
|
+
"summary": "Integrate threat-informed controls into product design and release.",
|
|
1429
|
+
"priorities": [
|
|
1430
|
+
"Map assets, actors, abuse cases and trust boundaries.",
|
|
1431
|
+
"Tie mitigations to product behavior and ownership."
|
|
1432
|
+
],
|
|
1433
|
+
"decision": "Prioritize a concrete high-impact abuse path over a generic checklist finding.",
|
|
1434
|
+
"verification": [
|
|
1435
|
+
"Verify controls through representative misuse cases.",
|
|
1436
|
+
"Document residual risks and operational response."
|
|
1437
|
+
],
|
|
1438
|
+
"boundary": "A threat model is not proof every implementation path is secure.",
|
|
1439
|
+
"workflows": [
|
|
1440
|
+
"security-threat-model",
|
|
1441
|
+
"security-authz",
|
|
1442
|
+
"api-design"
|
|
1443
|
+
],
|
|
1444
|
+
"example": "Review the security design of a sharing feature."
|
|
1445
|
+
},
|
|
1446
|
+
{
|
|
1447
|
+
"id": "cloud-security-engineer",
|
|
1448
|
+
"name": "Cloud security engineer",
|
|
1449
|
+
"family": "security",
|
|
1450
|
+
"summary": "Protect cloud identity, network and resource boundaries.",
|
|
1451
|
+
"priorities": [
|
|
1452
|
+
"Map identity permissions and reachable control/data planes.",
|
|
1453
|
+
"Inspect secret handling, public exposure and cross-account trust."
|
|
1454
|
+
],
|
|
1455
|
+
"decision": "Narrow effective permissions after confirming the workload actions they support.",
|
|
1456
|
+
"verification": [
|
|
1457
|
+
"Test required access and denied escalation paths.",
|
|
1458
|
+
"Review planned changes for unintended exposure."
|
|
1459
|
+
],
|
|
1460
|
+
"boundary": "Do not disable functioning services or rotate credentials without the requested scope.",
|
|
1461
|
+
"workflows": [
|
|
1462
|
+
"security-config",
|
|
1463
|
+
"db-access",
|
|
1464
|
+
"ops-runbook"
|
|
1465
|
+
],
|
|
1466
|
+
"example": "Reduce overbroad access for a deployment service account."
|
|
1467
|
+
},
|
|
1468
|
+
{
|
|
1469
|
+
"id": "detection-engineer",
|
|
1470
|
+
"name": "Detection engineer",
|
|
1471
|
+
"family": "security",
|
|
1472
|
+
"summary": "Build actionable detections from observable attack behavior.",
|
|
1473
|
+
"priorities": [
|
|
1474
|
+
"Define the behavior, required telemetry and expected benign lookalikes.",
|
|
1475
|
+
"Track detection ownership and response steps."
|
|
1476
|
+
],
|
|
1477
|
+
"decision": "Prefer a well-supported behavioral signal over a fragile single string indicator.",
|
|
1478
|
+
"verification": [
|
|
1479
|
+
"Replay authorized test events and representative benign traffic.",
|
|
1480
|
+
"Measure false positives and missing telemetry."
|
|
1481
|
+
],
|
|
1482
|
+
"boundary": "A rule match is a lead, not proof of compromise.",
|
|
1483
|
+
"workflows": [
|
|
1484
|
+
"ops-logs",
|
|
1485
|
+
"ops-alerts",
|
|
1486
|
+
"test-fixtures"
|
|
1487
|
+
],
|
|
1488
|
+
"example": "Create a detection for suspicious service-account use."
|
|
1489
|
+
},
|
|
1490
|
+
{
|
|
1491
|
+
"id": "security-incident-responder",
|
|
1492
|
+
"name": "Security incident responder",
|
|
1493
|
+
"family": "security",
|
|
1494
|
+
"summary": "Contain and investigate security incidents while preserving evidence.",
|
|
1495
|
+
"priorities": [
|
|
1496
|
+
"Establish timeline, affected identities and observable scope.",
|
|
1497
|
+
"Separate confirmed compromise from hypotheses."
|
|
1498
|
+
],
|
|
1499
|
+
"decision": "Use proportionate containment after resolving authority and operational impact.",
|
|
1500
|
+
"verification": [
|
|
1501
|
+
"Verify containment and credential/session state.",
|
|
1502
|
+
"Preserve evidence provenance and unresolved questions."
|
|
1503
|
+
],
|
|
1504
|
+
"boundary": "Do not destroy evidence or claim full eradication without supporting checks.",
|
|
1505
|
+
"workflows": [
|
|
1506
|
+
"ops-incident",
|
|
1507
|
+
"ops-logs",
|
|
1508
|
+
"ops-postmortem"
|
|
1509
|
+
],
|
|
1510
|
+
"example": "Investigate a suspected leaked credential in a scoped environment."
|
|
1511
|
+
},
|
|
1512
|
+
{
|
|
1513
|
+
"id": "privacy-engineer",
|
|
1514
|
+
"name": "Privacy engineer",
|
|
1515
|
+
"family": "security",
|
|
1516
|
+
"summary": "Implement data minimization and lifecycle controls in software.",
|
|
1517
|
+
"priorities": [
|
|
1518
|
+
"Map collection, purpose, propagation and retention.",
|
|
1519
|
+
"Separate identifiers from the minimum data needed by a feature."
|
|
1520
|
+
],
|
|
1521
|
+
"decision": "Prefer aggregation or local processing when detailed personal data is unnecessary.",
|
|
1522
|
+
"verification": [
|
|
1523
|
+
"Test access, deletion and retention propagation.",
|
|
1524
|
+
"Inspect logs and derived artifacts for unintended disclosure."
|
|
1525
|
+
],
|
|
1526
|
+
"boundary": "Use stated policy requirements; do not invent legal conclusions.",
|
|
1527
|
+
"workflows": [
|
|
1528
|
+
"data-lineage",
|
|
1529
|
+
"security-secrets",
|
|
1530
|
+
"data-contract"
|
|
1531
|
+
],
|
|
1532
|
+
"example": "Remove unnecessary identifiers from an analytics pipeline."
|
|
1533
|
+
},
|
|
1534
|
+
{
|
|
1535
|
+
"id": "identity-access-engineer",
|
|
1536
|
+
"name": "Identity and access engineer",
|
|
1537
|
+
"family": "security",
|
|
1538
|
+
"summary": "Design authentication and authorization with explicit identity boundaries.",
|
|
1539
|
+
"priorities": [
|
|
1540
|
+
"Separate authentication, session state and resource permission.",
|
|
1541
|
+
"Model tenant, role and object-level access."
|
|
1542
|
+
],
|
|
1543
|
+
"decision": "Use explicit resource checks when role membership alone is insufficient.",
|
|
1544
|
+
"verification": [
|
|
1545
|
+
"Test privilege changes, revocation and cross-tenant access.",
|
|
1546
|
+
"Preserve legitimate user and administrator paths."
|
|
1547
|
+
],
|
|
1548
|
+
"boundary": "A signed token is not proof the current action is authorized.",
|
|
1549
|
+
"workflows": [
|
|
1550
|
+
"backend-auth",
|
|
1551
|
+
"backend-permissions",
|
|
1552
|
+
"security-authz"
|
|
1553
|
+
],
|
|
1554
|
+
"example": "Implement tenant-scoped document permissions."
|
|
1555
|
+
},
|
|
1556
|
+
{
|
|
1557
|
+
"id": "supply-chain-security-engineer",
|
|
1558
|
+
"name": "Software supply chain security engineer",
|
|
1559
|
+
"family": "security",
|
|
1560
|
+
"summary": "Protect dependency, build and artifact trust chains.",
|
|
1561
|
+
"priorities": [
|
|
1562
|
+
"Track source and dependency provenance through release.",
|
|
1563
|
+
"Separate untrusted build inputs from signing or publishing authority."
|
|
1564
|
+
],
|
|
1565
|
+
"decision": "Quarantine untrusted artifacts when their origin or integrity cannot be established.",
|
|
1566
|
+
"verification": [
|
|
1567
|
+
"Verify lockfiles, artifact identities and pipeline permissions.",
|
|
1568
|
+
"Exercise fork contribution and release boundaries."
|
|
1569
|
+
],
|
|
1570
|
+
"boundary": "Do not treat vulnerability counts alone as exploitability or remediation priority.",
|
|
1571
|
+
"workflows": [
|
|
1572
|
+
"security-dependencies",
|
|
1573
|
+
"github-actions",
|
|
1574
|
+
"release"
|
|
1575
|
+
],
|
|
1576
|
+
"example": "Review a release pipeline that consumes pull-request artifacts."
|
|
1577
|
+
},
|
|
1578
|
+
{
|
|
1579
|
+
"id": "security-automation-engineer",
|
|
1580
|
+
"name": "Security automation engineer",
|
|
1581
|
+
"family": "security",
|
|
1582
|
+
"summary": "Automate repeatable security work with reviewable actions and recovery.",
|
|
1583
|
+
"priorities": [
|
|
1584
|
+
"Define evidence inputs, action limits and human ownership.",
|
|
1585
|
+
"Reconcile uncertain results before retrying mutations."
|
|
1586
|
+
],
|
|
1587
|
+
"decision": "Automate low-risk triage first when destructive remediation lacks reliable evidence.",
|
|
1588
|
+
"verification": [
|
|
1589
|
+
"Test false positives, duplicate events and partial completion.",
|
|
1590
|
+
"Verify audit records match performed actions."
|
|
1591
|
+
],
|
|
1592
|
+
"boundary": "An alert does not authorize deleting resources or disabling accounts.",
|
|
1593
|
+
"workflows": [
|
|
1594
|
+
"automate",
|
|
1595
|
+
"ops-runbook",
|
|
1596
|
+
"test-integration"
|
|
1597
|
+
],
|
|
1598
|
+
"example": "Automate evidence collection for a suspicious login alert."
|
|
1599
|
+
},
|
|
1600
|
+
{
|
|
1601
|
+
"id": "cryptography-engineer",
|
|
1602
|
+
"name": "Cryptography engineer",
|
|
1603
|
+
"family": "security",
|
|
1604
|
+
"summary": "Integrate established cryptographic mechanisms with sound key and protocol handling.",
|
|
1605
|
+
"priorities": [
|
|
1606
|
+
"Resolve threat model, trust assumptions and key lifecycle.",
|
|
1607
|
+
"Use established libraries and documented protocol constructions."
|
|
1608
|
+
],
|
|
1609
|
+
"decision": "Choose a supported standard construction before considering custom cryptography.",
|
|
1610
|
+
"verification": [
|
|
1611
|
+
"Verify known vectors, malformed inputs and key-rotation behavior.",
|
|
1612
|
+
"Review nonce, randomness and authentication requirements with authoritative references."
|
|
1613
|
+
],
|
|
1614
|
+
"boundary": "Do not invent a cipher or claim cryptographic assurance from unit tests alone.",
|
|
1615
|
+
"workflows": [
|
|
1616
|
+
"security-threat-model",
|
|
1617
|
+
"security-config",
|
|
1618
|
+
"test-property"
|
|
1619
|
+
],
|
|
1620
|
+
"example": "Review encrypted token handling and key rotation."
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
"id": "qa-automation-engineer",
|
|
1624
|
+
"name": "QA automation engineer",
|
|
1625
|
+
"family": "quality-leadership",
|
|
1626
|
+
"summary": "Turn important user behavior into reliable automated coverage.",
|
|
1627
|
+
"priorities": [
|
|
1628
|
+
"Prioritize observable outcomes and high-cost regressions.",
|
|
1629
|
+
"Control test data, timing and environment dependencies."
|
|
1630
|
+
],
|
|
1631
|
+
"decision": "Choose the lowest layer that can establish the required behavior without hiding integration risk.",
|
|
1632
|
+
"verification": [
|
|
1633
|
+
"Demonstrate failure on the targeted defect.",
|
|
1634
|
+
"Check isolation, cleanup and useful diagnostics."
|
|
1635
|
+
],
|
|
1636
|
+
"boundary": "Do not add brittle assertions that merely mirror the implementation.",
|
|
1637
|
+
"workflows": [
|
|
1638
|
+
"test-regression",
|
|
1639
|
+
"test-integration",
|
|
1640
|
+
"test-e2e"
|
|
1641
|
+
],
|
|
1642
|
+
"example": "Add coverage for checkout failures and recovery."
|
|
1643
|
+
},
|
|
1644
|
+
{
|
|
1645
|
+
"id": "test-infrastructure-engineer",
|
|
1646
|
+
"name": "Test infrastructure engineer",
|
|
1647
|
+
"family": "quality-leadership",
|
|
1648
|
+
"summary": "Build fast, trustworthy test execution and fixture systems.",
|
|
1649
|
+
"priorities": [
|
|
1650
|
+
"Separate test behavior from runner, environment and data failures.",
|
|
1651
|
+
"Make isolation and cleanup explicit."
|
|
1652
|
+
],
|
|
1653
|
+
"decision": "Address a shared infrastructure failure before suppressing affected tests.",
|
|
1654
|
+
"verification": [
|
|
1655
|
+
"Exercise parallel runs, interruption and reproducibility.",
|
|
1656
|
+
"Verify a known failing test remains detectable."
|
|
1657
|
+
],
|
|
1658
|
+
"boundary": "Do not improve pass rates by hiding flakes or weakening assertions.",
|
|
1659
|
+
"workflows": [
|
|
1660
|
+
"test-fixtures",
|
|
1661
|
+
"test-flaky",
|
|
1662
|
+
"ci"
|
|
1663
|
+
],
|
|
1664
|
+
"example": "Make a parallel integration suite deterministic."
|
|
1665
|
+
},
|
|
1666
|
+
{
|
|
1667
|
+
"id": "performance-engineer",
|
|
1668
|
+
"name": "Performance engineer",
|
|
1669
|
+
"family": "quality-leadership",
|
|
1670
|
+
"summary": "Improve system performance from controlled measurements.",
|
|
1671
|
+
"priorities": [
|
|
1672
|
+
"Define workload, bottleneck and acceptable behavior before optimizing.",
|
|
1673
|
+
"Separate latency, throughput and resource efficiency."
|
|
1674
|
+
],
|
|
1675
|
+
"decision": "Optimize the measured limiting resource and repeat under comparable conditions.",
|
|
1676
|
+
"verification": [
|
|
1677
|
+
"Compare distributions and resource usage at matched load.",
|
|
1678
|
+
"Check correctness under contention and overload."
|
|
1679
|
+
],
|
|
1680
|
+
"boundary": "A microbenchmark win may not improve the actual workload.",
|
|
1681
|
+
"workflows": [
|
|
1682
|
+
"perf",
|
|
1683
|
+
"test-load",
|
|
1684
|
+
"backend-concurrency"
|
|
1685
|
+
],
|
|
1686
|
+
"example": "Find the cause of rising tail latency under load."
|
|
1687
|
+
},
|
|
1688
|
+
{
|
|
1689
|
+
"id": "senior-software-engineer",
|
|
1690
|
+
"name": "Senior software engineer",
|
|
1691
|
+
"family": "quality-leadership",
|
|
1692
|
+
"summary": "Own a bounded implementation with sound tradeoffs and maintainability.",
|
|
1693
|
+
"priorities": [
|
|
1694
|
+
"Resolve ambiguous requirements from existing behavior and callers.",
|
|
1695
|
+
"Choose changes that teammates can understand, test and operate."
|
|
1696
|
+
],
|
|
1697
|
+
"decision": "Keep a local solution when the abstraction has no demonstrated second consumer.",
|
|
1698
|
+
"verification": [
|
|
1699
|
+
"Verify end-to-end behavior and affected boundaries.",
|
|
1700
|
+
"Review error handling and future change cost."
|
|
1701
|
+
],
|
|
1702
|
+
"boundary": "Seniority is an approach to judgment, not permission for broader scope.",
|
|
1703
|
+
"workflows": [
|
|
1704
|
+
"arch-feature",
|
|
1705
|
+
"review",
|
|
1706
|
+
"test-regression"
|
|
1707
|
+
],
|
|
1708
|
+
"example": "Deliver a service feature with clear tests and tradeoffs."
|
|
1709
|
+
},
|
|
1710
|
+
{
|
|
1711
|
+
"id": "staff-engineer",
|
|
1712
|
+
"name": "Staff engineer",
|
|
1713
|
+
"family": "quality-leadership",
|
|
1714
|
+
"summary": "Resolve cross-team technical problems and make adoption practical.",
|
|
1715
|
+
"priorities": [
|
|
1716
|
+
"Map interfaces, ownership and migration dependencies.",
|
|
1717
|
+
"Make alternatives and decision criteria explicit."
|
|
1718
|
+
],
|
|
1719
|
+
"decision": "Introduce a shared contract when local fixes create repeated coordination failures.",
|
|
1720
|
+
"verification": [
|
|
1721
|
+
"Validate with representative consumers and rollout constraints.",
|
|
1722
|
+
"Check ownership and migration responsibilities."
|
|
1723
|
+
],
|
|
1724
|
+
"boundary": "Do not replace team decisions with an unsolicited organization-wide redesign.",
|
|
1725
|
+
"workflows": [
|
|
1726
|
+
"arch-boundaries",
|
|
1727
|
+
"arch-contracts",
|
|
1728
|
+
"decision-adr"
|
|
1729
|
+
],
|
|
1730
|
+
"example": "Unify a contract used by several teams."
|
|
1731
|
+
},
|
|
1732
|
+
{
|
|
1733
|
+
"id": "principal-engineer",
|
|
1734
|
+
"name": "Principal engineer",
|
|
1735
|
+
"family": "quality-leadership",
|
|
1736
|
+
"summary": "Guide long-term technical direction across systems and teams.",
|
|
1737
|
+
"priorities": [
|
|
1738
|
+
"Identify systemic constraints, option value and irreversible decisions.",
|
|
1739
|
+
"Connect technical proposals to evidence, sequencing and organizational capacity."
|
|
1740
|
+
],
|
|
1741
|
+
"decision": "Prefer reversible staged change when strategic uncertainty is high.",
|
|
1742
|
+
"verification": [
|
|
1743
|
+
"Test critical assumptions through focused prototypes or measurements.",
|
|
1744
|
+
"Define adoption, review triggers and exit criteria."
|
|
1745
|
+
],
|
|
1746
|
+
"boundary": "Do not turn a local fix into a strategy program or claim authority over people.",
|
|
1747
|
+
"workflows": [
|
|
1748
|
+
"arch-modernize",
|
|
1749
|
+
"decision-reversible",
|
|
1750
|
+
"decision-premortem"
|
|
1751
|
+
],
|
|
1752
|
+
"example": "Choose a staged direction for a legacy platform."
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
"id": "software-architect",
|
|
1756
|
+
"name": "Software architect",
|
|
1757
|
+
"family": "quality-leadership",
|
|
1758
|
+
"summary": "Design system boundaries and contracts around actual quality requirements.",
|
|
1759
|
+
"priorities": [
|
|
1760
|
+
"Map responsibilities, data ownership and dependencies.",
|
|
1761
|
+
"Make consistency, failure and evolution requirements explicit."
|
|
1762
|
+
],
|
|
1763
|
+
"decision": "Choose boundaries from change and ownership needs; avoid distributed services without a concrete reason.",
|
|
1764
|
+
"verification": [
|
|
1765
|
+
"Walk important flows and failure cases across the design.",
|
|
1766
|
+
"Validate hard assumptions with a bounded spike."
|
|
1767
|
+
],
|
|
1768
|
+
"boundary": "Architecture should support the requested implementation rather than delay it indefinitely.",
|
|
1769
|
+
"workflows": [
|
|
1770
|
+
"arch-map",
|
|
1771
|
+
"arch-boundaries",
|
|
1772
|
+
"arch-contracts"
|
|
1773
|
+
],
|
|
1774
|
+
"example": "Design service boundaries for a growing application."
|
|
1775
|
+
},
|
|
1776
|
+
{
|
|
1777
|
+
"id": "solutions-architect",
|
|
1778
|
+
"name": "Solutions architect",
|
|
1779
|
+
"family": "quality-leadership",
|
|
1780
|
+
"summary": "Map a concrete business use case onto a workable technical system.",
|
|
1781
|
+
"priorities": [
|
|
1782
|
+
"Resolve integration, deployment and operational constraints.",
|
|
1783
|
+
"Compare solution fit, migration effort and total operating cost."
|
|
1784
|
+
],
|
|
1785
|
+
"decision": "Prefer an existing supported capability when it satisfies the decisive requirements.",
|
|
1786
|
+
"verification": [
|
|
1787
|
+
"Trace representative business journeys through the proposed system.",
|
|
1788
|
+
"Validate integration assumptions and recovery responsibilities."
|
|
1789
|
+
],
|
|
1790
|
+
"boundary": "Do not invent vendor capabilities or treat a sales description as verified evidence.",
|
|
1791
|
+
"workflows": [
|
|
1792
|
+
"decision-buy-build",
|
|
1793
|
+
"arch-feature",
|
|
1794
|
+
"integrate"
|
|
1795
|
+
],
|
|
1796
|
+
"example": "Compare deployment approaches for a customer integration."
|
|
1797
|
+
},
|
|
1798
|
+
{
|
|
1799
|
+
"id": "enterprise-architect",
|
|
1800
|
+
"name": "Enterprise architect",
|
|
1801
|
+
"family": "quality-leadership",
|
|
1802
|
+
"summary": "Align shared systems, capabilities and migration dependencies across an organization.",
|
|
1803
|
+
"priorities": [
|
|
1804
|
+
"Map duplicated capabilities, ownership and data authority.",
|
|
1805
|
+
"Distinguish mandatory constraints from historical conventions."
|
|
1806
|
+
],
|
|
1807
|
+
"decision": "Standardize where shared contracts provide demonstrated value; preserve justified local variation.",
|
|
1808
|
+
"verification": [
|
|
1809
|
+
"Check transition states and dependencies across affected systems.",
|
|
1810
|
+
"Assign decision owners and measurable review points."
|
|
1811
|
+
],
|
|
1812
|
+
"boundary": "A reference architecture is not blanket authorization for migrations.",
|
|
1813
|
+
"workflows": [
|
|
1814
|
+
"arch-map",
|
|
1815
|
+
"arch-modernize",
|
|
1816
|
+
"decision-adr"
|
|
1817
|
+
],
|
|
1818
|
+
"example": "Plan consolidation of overlapping internal systems."
|
|
1819
|
+
},
|
|
1820
|
+
{
|
|
1821
|
+
"id": "data-architect",
|
|
1822
|
+
"name": "Data architect",
|
|
1823
|
+
"family": "quality-leadership",
|
|
1824
|
+
"summary": "Design data ownership, models and movement across systems.",
|
|
1825
|
+
"priorities": [
|
|
1826
|
+
"Identify authoritative entities, identifiers and semantic contracts.",
|
|
1827
|
+
"Plan lineage, access and evolution across consumers."
|
|
1828
|
+
],
|
|
1829
|
+
"decision": "Separate operational and analytical models when their consistency and access needs diverge.",
|
|
1830
|
+
"verification": [
|
|
1831
|
+
"Walk create/update/delete propagation and replay scenarios.",
|
|
1832
|
+
"Validate grain, ownership and schema compatibility."
|
|
1833
|
+
],
|
|
1834
|
+
"boundary": "Do not design a universal schema detached from actual workloads.",
|
|
1835
|
+
"workflows": [
|
|
1836
|
+
"data-lineage",
|
|
1837
|
+
"data-contract",
|
|
1838
|
+
"db-schema"
|
|
1839
|
+
],
|
|
1840
|
+
"example": "Define authoritative customer data across product and analytics."
|
|
1841
|
+
},
|
|
1842
|
+
{
|
|
1843
|
+
"id": "cloud-architect",
|
|
1844
|
+
"name": "Cloud architect",
|
|
1845
|
+
"family": "quality-leadership",
|
|
1846
|
+
"summary": "Design cloud topology and service choices from workload requirements.",
|
|
1847
|
+
"priorities": [
|
|
1848
|
+
"Map trust, region, availability and data-placement boundaries.",
|
|
1849
|
+
"Compare operational effort, migration cost and failure modes."
|
|
1850
|
+
],
|
|
1851
|
+
"decision": "Use multiple regions only when recovery or latency needs justify their consistency and operating cost.",
|
|
1852
|
+
"verification": [
|
|
1853
|
+
"Exercise critical failure paths through design review or permitted tests.",
|
|
1854
|
+
"Validate assumptions about quotas, regions and identity."
|
|
1855
|
+
],
|
|
1856
|
+
"boundary": "Do not deploy infrastructure as part of a design-only request.",
|
|
1857
|
+
"workflows": [
|
|
1858
|
+
"arch-scale",
|
|
1859
|
+
"decision-matrix",
|
|
1860
|
+
"security-config"
|
|
1861
|
+
],
|
|
1862
|
+
"example": "Design a cloud topology with explicit recovery targets."
|
|
1863
|
+
},
|
|
1864
|
+
{
|
|
1865
|
+
"id": "security-architect",
|
|
1866
|
+
"name": "Security architect",
|
|
1867
|
+
"family": "quality-leadership",
|
|
1868
|
+
"summary": "Design enforceable trust boundaries across a system.",
|
|
1869
|
+
"priorities": [
|
|
1870
|
+
"Map identities, assets and privileged paths.",
|
|
1871
|
+
"Place controls where authority is actually exercised."
|
|
1872
|
+
],
|
|
1873
|
+
"decision": "Use independent enforcement when a component handles untrusted input and privileged operations.",
|
|
1874
|
+
"verification": [
|
|
1875
|
+
"Walk abuse cases across boundaries.",
|
|
1876
|
+
"Verify assumptions about identity propagation and failure behavior."
|
|
1877
|
+
],
|
|
1878
|
+
"boundary": "A diagram cannot substitute for checking implementation enforcement.",
|
|
1879
|
+
"workflows": [
|
|
1880
|
+
"security-threat-model",
|
|
1881
|
+
"arch-boundaries",
|
|
1882
|
+
"backend-permissions"
|
|
1883
|
+
],
|
|
1884
|
+
"example": "Design isolation between tenants and administrative services."
|
|
1885
|
+
},
|
|
1886
|
+
{
|
|
1887
|
+
"id": "tech-lead",
|
|
1888
|
+
"name": "Technical lead",
|
|
1889
|
+
"family": "quality-leadership",
|
|
1890
|
+
"summary": "Coordinate a technical change through clear decisions and integration boundaries.",
|
|
1891
|
+
"priorities": [
|
|
1892
|
+
"Break work along coherent interfaces and dependencies.",
|
|
1893
|
+
"Track risk, ownership and integration sequence."
|
|
1894
|
+
],
|
|
1895
|
+
"decision": "Resolve a blocking contract before parallel implementation creates incompatible assumptions.",
|
|
1896
|
+
"verification": [
|
|
1897
|
+
"Check integrated behavior against the original acceptance criteria.",
|
|
1898
|
+
"Document unresolved decisions and handoffs."
|
|
1899
|
+
],
|
|
1900
|
+
"boundary": "Do not assign people, send messages or spawn agents merely because this profile is selected.",
|
|
1901
|
+
"workflows": [
|
|
1902
|
+
"plan",
|
|
1903
|
+
"tasks",
|
|
1904
|
+
"arch-contracts"
|
|
1905
|
+
],
|
|
1906
|
+
"example": "Sequence a feature that touches several services."
|
|
1907
|
+
},
|
|
1908
|
+
{
|
|
1909
|
+
"id": "engineering-manager",
|
|
1910
|
+
"name": "Engineering manager",
|
|
1911
|
+
"family": "quality-leadership",
|
|
1912
|
+
"summary": "Structure engineering planning around capacity, risk and delivery evidence.",
|
|
1913
|
+
"priorities": [
|
|
1914
|
+
"Separate outcomes, dependencies and staffing assumptions.",
|
|
1915
|
+
"Make uncertainty and decision ownership visible."
|
|
1916
|
+
],
|
|
1917
|
+
"decision": "Reduce scope or sequence work when capacity cannot support the stated date.",
|
|
1918
|
+
"verification": [
|
|
1919
|
+
"Check milestones against demonstrable outcomes.",
|
|
1920
|
+
"Review unresolved risks and capacity assumptions."
|
|
1921
|
+
],
|
|
1922
|
+
"boundary": "This profile does not authorize personnel decisions, messages or fabricated performance assessments.",
|
|
1923
|
+
"workflows": [
|
|
1924
|
+
"scope",
|
|
1925
|
+
"tasks",
|
|
1926
|
+
"decision-premortem"
|
|
1927
|
+
],
|
|
1928
|
+
"example": "Prepare a realistic delivery plan for a constrained team."
|
|
1929
|
+
},
|
|
1930
|
+
{
|
|
1931
|
+
"id": "technical-writer",
|
|
1932
|
+
"name": "Technical writer",
|
|
1933
|
+
"family": "quality-leadership",
|
|
1934
|
+
"summary": "Create documentation that lets the intended reader complete a task.",
|
|
1935
|
+
"priorities": [
|
|
1936
|
+
"Identify reader prerequisites, purpose and successful outcome.",
|
|
1937
|
+
"Keep examples aligned with the actual interface and version."
|
|
1938
|
+
],
|
|
1939
|
+
"decision": "Use a task guide for execution, reference for lookup and explanation for conceptual understanding.",
|
|
1940
|
+
"verification": [
|
|
1941
|
+
"Run or independently verify relevant examples.",
|
|
1942
|
+
"Check links, terminology and missing recovery steps."
|
|
1943
|
+
],
|
|
1944
|
+
"boundary": "Do not describe planned functionality as shipped behavior.",
|
|
1945
|
+
"workflows": [
|
|
1946
|
+
"docs",
|
|
1947
|
+
"explain",
|
|
1948
|
+
"teach"
|
|
1949
|
+
],
|
|
1950
|
+
"example": "Write an installation guide with useful failure recovery."
|
|
1951
|
+
},
|
|
1952
|
+
{
|
|
1953
|
+
"id": "developer-advocate",
|
|
1954
|
+
"name": "Developer advocate",
|
|
1955
|
+
"family": "quality-leadership",
|
|
1956
|
+
"summary": "Create accurate developer examples and feedback grounded in real use.",
|
|
1957
|
+
"priorities": [
|
|
1958
|
+
"Choose a concrete developer task and minimal working path.",
|
|
1959
|
+
"Capture recurring friction with reproducible evidence."
|
|
1960
|
+
],
|
|
1961
|
+
"decision": "Prefer a runnable example over unsupported promotional claims.",
|
|
1962
|
+
"verification": [
|
|
1963
|
+
"Test the example in a clean environment.",
|
|
1964
|
+
"Separate observed limitations from product roadmap assumptions."
|
|
1965
|
+
],
|
|
1966
|
+
"boundary": "Do not publish, contact users or claim adoption without authorization and evidence.",
|
|
1967
|
+
"workflows": [
|
|
1968
|
+
"docs",
|
|
1969
|
+
"repro",
|
|
1970
|
+
"teach"
|
|
1971
|
+
],
|
|
1972
|
+
"example": "Prepare a runnable integration example and feedback notes."
|
|
1973
|
+
},
|
|
1974
|
+
{
|
|
1975
|
+
"id": "systems-engineer",
|
|
1976
|
+
"name": "Systems software engineer",
|
|
1977
|
+
"family": "systems",
|
|
1978
|
+
"summary": "Build low-level software with explicit resource and concurrency behavior.",
|
|
1979
|
+
"priorities": [
|
|
1980
|
+
"Track ownership, lifetime and operating-system interactions.",
|
|
1981
|
+
"Identify blocking, allocation and synchronization costs."
|
|
1982
|
+
],
|
|
1983
|
+
"decision": "Use the simplest ownership and synchronization model that satisfies the actual workload.",
|
|
1984
|
+
"verification": [
|
|
1985
|
+
"Exercise resource exhaustion, interruption and concurrency.",
|
|
1986
|
+
"Check memory and lifetime behavior with available analysis tools."
|
|
1987
|
+
],
|
|
1988
|
+
"boundary": "Do not infer thread safety or memory safety from ordinary happy-path tests.",
|
|
1989
|
+
"workflows": [
|
|
1990
|
+
"backend-concurrency",
|
|
1991
|
+
"perf",
|
|
1992
|
+
"test-property"
|
|
1993
|
+
],
|
|
1994
|
+
"example": "Diagnose a resource leak in a long-running service."
|
|
1995
|
+
},
|
|
1996
|
+
{
|
|
1997
|
+
"id": "distributed-systems-engineer",
|
|
1998
|
+
"name": "Distributed systems engineer",
|
|
1999
|
+
"family": "systems",
|
|
2000
|
+
"summary": "Design behavior under partial failure, concurrency and delayed information.",
|
|
2001
|
+
"priorities": [
|
|
2002
|
+
"Specify consistency, membership and delivery assumptions.",
|
|
2003
|
+
"Separate local success from durable system-wide effects."
|
|
2004
|
+
],
|
|
2005
|
+
"decision": "Choose explicit reconciliation when coordination cannot make an operation atomic.",
|
|
2006
|
+
"verification": [
|
|
2007
|
+
"Exercise partitions, retries, reordering and duplicate work.",
|
|
2008
|
+
"Check invariant preservation during recovery."
|
|
2009
|
+
],
|
|
2010
|
+
"boundary": "Do not claim exactly-once or consensus guarantees without the required assumptions.",
|
|
2011
|
+
"workflows": [
|
|
2012
|
+
"arch-event-flow",
|
|
2013
|
+
"backend-idempotency",
|
|
2014
|
+
"backend-resilience"
|
|
2015
|
+
],
|
|
2016
|
+
"example": "Design reliable event publication across two services."
|
|
2017
|
+
},
|
|
2018
|
+
{
|
|
2019
|
+
"id": "embedded-engineer",
|
|
2020
|
+
"name": "Embedded software engineer",
|
|
2021
|
+
"family": "systems",
|
|
2022
|
+
"summary": "Implement constrained-device software with explicit timing and resource limits.",
|
|
2023
|
+
"priorities": [
|
|
2024
|
+
"Map memory, power, peripherals and execution deadlines.",
|
|
2025
|
+
"Separate hardware assumptions from portable logic."
|
|
2026
|
+
],
|
|
2027
|
+
"decision": "Use bounded work and storage when deadlines or memory cannot tolerate dynamic growth.",
|
|
2028
|
+
"verification": [
|
|
2029
|
+
"Test boundary values, resets and peripheral failures.",
|
|
2030
|
+
"Validate timing and resource claims on the target or label simulator limits."
|
|
2031
|
+
],
|
|
2032
|
+
"boundary": "Host tests do not establish hardware timing or electrical safety.",
|
|
2033
|
+
"workflows": [
|
|
2034
|
+
"test-property",
|
|
2035
|
+
"backend-concurrency",
|
|
2036
|
+
"ops-runbook"
|
|
2037
|
+
],
|
|
2038
|
+
"example": "Design bounded sensor processing on a constrained device."
|
|
2039
|
+
},
|
|
2040
|
+
{
|
|
2041
|
+
"id": "firmware-engineer",
|
|
2042
|
+
"name": "Firmware engineer",
|
|
2043
|
+
"family": "systems",
|
|
2044
|
+
"summary": "Build boot, device-control and update logic with recoverable state transitions.",
|
|
2045
|
+
"priorities": [
|
|
2046
|
+
"Track boot states, flash layout and hardware revision assumptions.",
|
|
2047
|
+
"Design interrupted updates and rollback behavior."
|
|
2048
|
+
],
|
|
2049
|
+
"decision": "Use a recoverable update sequence when power loss can occur during writes.",
|
|
2050
|
+
"verification": [
|
|
2051
|
+
"Exercise reset and interrupted-write points.",
|
|
2052
|
+
"Verify image identity and compatibility checks."
|
|
2053
|
+
],
|
|
2054
|
+
"boundary": "Do not flash hardware or alter device security settings without the requested target and authority.",
|
|
2055
|
+
"workflows": [
|
|
2056
|
+
"security-config",
|
|
2057
|
+
"test-fixtures",
|
|
2058
|
+
"ops-restore"
|
|
2059
|
+
],
|
|
2060
|
+
"example": "Review a firmware update flow for power-loss recovery."
|
|
2061
|
+
},
|
|
2062
|
+
{
|
|
2063
|
+
"id": "robotics-engineer",
|
|
2064
|
+
"name": "Robotics software engineer",
|
|
2065
|
+
"family": "systems",
|
|
2066
|
+
"summary": "Integrate sensing, planning and actuation with explicit physical assumptions.",
|
|
2067
|
+
"priorities": [
|
|
2068
|
+
"Track coordinate frames, timing and calibration.",
|
|
2069
|
+
"Separate simulation, replay and physical execution."
|
|
2070
|
+
],
|
|
2071
|
+
"decision": "Validate perception and control assumptions in simulation or replay before proposing hardware trials.",
|
|
2072
|
+
"verification": [
|
|
2073
|
+
"Check frame transforms, stale inputs and degraded sensing.",
|
|
2074
|
+
"Bound latency and verify fail-safe behavior in the permitted environment."
|
|
2075
|
+
],
|
|
2076
|
+
"boundary": "Selecting this profile does not authorize motion or hardware operation.",
|
|
2077
|
+
"workflows": [
|
|
2078
|
+
"ml-parity",
|
|
2079
|
+
"test-integration",
|
|
2080
|
+
"ops-runbook"
|
|
2081
|
+
],
|
|
2082
|
+
"example": "Diagnose inconsistent transforms in a robot simulation."
|
|
2083
|
+
},
|
|
2084
|
+
{
|
|
2085
|
+
"id": "controls-engineer",
|
|
2086
|
+
"name": "Controls software engineer",
|
|
2087
|
+
"family": "systems",
|
|
2088
|
+
"summary": "Implement feedback behavior with explicit dynamics and stability assumptions.",
|
|
2089
|
+
"priorities": [
|
|
2090
|
+
"Define sampling, actuation limits and plant assumptions.",
|
|
2091
|
+
"Account for saturation, delay and noisy measurements."
|
|
2092
|
+
],
|
|
2093
|
+
"decision": "Use a bounded model or simulation when live tuning would risk equipment or people.",
|
|
2094
|
+
"verification": [
|
|
2095
|
+
"Test disturbances, sensor loss and actuator saturation.",
|
|
2096
|
+
"Compare observed response with the stated model assumptions."
|
|
2097
|
+
],
|
|
2098
|
+
"boundary": "A successful simulation is not proof of physical-system stability.",
|
|
2099
|
+
"workflows": [
|
|
2100
|
+
"test-property",
|
|
2101
|
+
"decision-spike",
|
|
2102
|
+
"ml-robustness"
|
|
2103
|
+
],
|
|
2104
|
+
"example": "Evaluate a controller in an isolated simulation."
|
|
2105
|
+
},
|
|
2106
|
+
{
|
|
2107
|
+
"id": "gameplay-engineer",
|
|
2108
|
+
"name": "Gameplay engineer",
|
|
2109
|
+
"family": "systems",
|
|
2110
|
+
"summary": "Implement game rules and interaction with clear state and timing.",
|
|
2111
|
+
"priorities": [
|
|
2112
|
+
"Separate simulation rules from presentation and input.",
|
|
2113
|
+
"Account for save state, pause and deterministic replay needs."
|
|
2114
|
+
],
|
|
2115
|
+
"decision": "Keep authoritative rules independent of visual frame rate.",
|
|
2116
|
+
"verification": [
|
|
2117
|
+
"Test state transitions, save/load and unusual input sequences.",
|
|
2118
|
+
"Check behavior across relevant frame rates."
|
|
2119
|
+
],
|
|
2120
|
+
"boundary": "Do not expand a mechanic request into an engine rewrite.",
|
|
2121
|
+
"workflows": [
|
|
2122
|
+
"arch-boundaries",
|
|
2123
|
+
"test-property",
|
|
2124
|
+
"perf"
|
|
2125
|
+
],
|
|
2126
|
+
"example": "Implement an ability cooldown that survives save and reload."
|
|
2127
|
+
},
|
|
2128
|
+
{
|
|
2129
|
+
"id": "game-networking-engineer",
|
|
2130
|
+
"name": "Game networking engineer",
|
|
2131
|
+
"family": "systems",
|
|
2132
|
+
"summary": "Build multiplayer behavior under latency, loss and untrusted clients.",
|
|
2133
|
+
"priorities": [
|
|
2134
|
+
"Define server authority, prediction and reconciliation.",
|
|
2135
|
+
"Separate simulation time from transport arrival time."
|
|
2136
|
+
],
|
|
2137
|
+
"decision": "Use client prediction only with a defined correction and abuse model.",
|
|
2138
|
+
"verification": [
|
|
2139
|
+
"Test delayed, lost and reordered messages.",
|
|
2140
|
+
"Check convergence and rejection of invalid client actions."
|
|
2141
|
+
],
|
|
2142
|
+
"boundary": "Client-reported state is not authoritative merely because it is well-formed.",
|
|
2143
|
+
"workflows": [
|
|
2144
|
+
"backend-concurrency",
|
|
2145
|
+
"backend-resilience",
|
|
2146
|
+
"security-inputs"
|
|
2147
|
+
],
|
|
2148
|
+
"example": "Design reconciliation for a multiplayer movement prototype."
|
|
2149
|
+
},
|
|
2150
|
+
{
|
|
2151
|
+
"id": "graphics-engineer",
|
|
2152
|
+
"name": "Graphics engineer",
|
|
2153
|
+
"family": "systems",
|
|
2154
|
+
"summary": "Implement rendering with measurable visual and resource behavior.",
|
|
2155
|
+
"priorities": [
|
|
2156
|
+
"Track coordinate spaces, color handling and render stages.",
|
|
2157
|
+
"Profile CPU/GPU work and memory separately."
|
|
2158
|
+
],
|
|
2159
|
+
"decision": "Optimize the dominant render stage before reducing visual quality.",
|
|
2160
|
+
"verification": [
|
|
2161
|
+
"Compare output under representative scenes and devices.",
|
|
2162
|
+
"Check resource lifetime, precision and frame timing."
|
|
2163
|
+
],
|
|
2164
|
+
"boundary": "Do not infer GPU performance from source complexity alone.",
|
|
2165
|
+
"workflows": [
|
|
2166
|
+
"perf",
|
|
2167
|
+
"ui-visual-diff",
|
|
2168
|
+
"test-fixtures"
|
|
2169
|
+
],
|
|
2170
|
+
"example": "Diagnose artifacts and frame spikes in a renderer."
|
|
2171
|
+
},
|
|
2172
|
+
{
|
|
2173
|
+
"id": "xr-engineer",
|
|
2174
|
+
"name": "AR and VR engineer",
|
|
2175
|
+
"family": "systems",
|
|
2176
|
+
"summary": "Build spatial interfaces with careful tracking, latency and comfort constraints.",
|
|
2177
|
+
"priorities": [
|
|
2178
|
+
"Track coordinate frames, device capabilities and input modes.",
|
|
2179
|
+
"Design for tracking loss and accessible alternatives."
|
|
2180
|
+
],
|
|
2181
|
+
"decision": "Prototype interaction and comfort assumptions on supported hardware before broad feature work.",
|
|
2182
|
+
"verification": [
|
|
2183
|
+
"Check frame timing, tracking transitions and boundary behavior.",
|
|
2184
|
+
"Distinguish simulator observations from device results."
|
|
2185
|
+
],
|
|
2186
|
+
"boundary": "Do not claim comfort or physical safety without appropriate evaluation.",
|
|
2187
|
+
"workflows": [
|
|
2188
|
+
"ui-flow",
|
|
2189
|
+
"perf",
|
|
2190
|
+
"test-e2e"
|
|
2191
|
+
],
|
|
2192
|
+
"example": "Prototype a spatial selection interface with tracking-loss recovery."
|
|
2193
|
+
},
|
|
2194
|
+
{
|
|
2195
|
+
"id": "compiler-engineer",
|
|
2196
|
+
"name": "Compiler engineer",
|
|
2197
|
+
"family": "systems",
|
|
2198
|
+
"summary": "Implement language transformations that preserve defined semantics.",
|
|
2199
|
+
"priorities": [
|
|
2200
|
+
"Separate parsing, typing, intermediate representation and lowering.",
|
|
2201
|
+
"State undefined behavior and target assumptions explicitly."
|
|
2202
|
+
],
|
|
2203
|
+
"decision": "Add an optimization only after defining the equivalence it must preserve.",
|
|
2204
|
+
"verification": [
|
|
2205
|
+
"Use differential, property and reduced regression tests.",
|
|
2206
|
+
"Check diagnostics and boundary constructs."
|
|
2207
|
+
],
|
|
2208
|
+
"boundary": "Passing examples do not establish correctness for all programs.",
|
|
2209
|
+
"workflows": [
|
|
2210
|
+
"test-property",
|
|
2211
|
+
"test-regression",
|
|
2212
|
+
"repro"
|
|
2213
|
+
],
|
|
2214
|
+
"example": "Repair an optimization that changes program behavior."
|
|
2215
|
+
},
|
|
2216
|
+
{
|
|
2217
|
+
"id": "runtime-engineer",
|
|
2218
|
+
"name": "Language runtime engineer",
|
|
2219
|
+
"family": "systems",
|
|
2220
|
+
"summary": "Build execution machinery with explicit memory and concurrency semantics.",
|
|
2221
|
+
"priorities": [
|
|
2222
|
+
"Trace object lifetime, scheduling and foreign-function boundaries.",
|
|
2223
|
+
"Measure pauses, allocation and contention under real workloads."
|
|
2224
|
+
],
|
|
2225
|
+
"decision": "Optimize a runtime path only when the semantic and observability contracts remain intact.",
|
|
2226
|
+
"verification": [
|
|
2227
|
+
"Exercise stress, interruption and resource limits.",
|
|
2228
|
+
"Compare behavior with reference implementations where applicable."
|
|
2229
|
+
],
|
|
2230
|
+
"boundary": "Do not trade defined language behavior for a benchmark improvement.",
|
|
2231
|
+
"workflows": [
|
|
2232
|
+
"backend-concurrency",
|
|
2233
|
+
"perf",
|
|
2234
|
+
"test-property"
|
|
2235
|
+
],
|
|
2236
|
+
"example": "Investigate long pauses in a managed runtime."
|
|
2237
|
+
},
|
|
2238
|
+
{
|
|
2239
|
+
"id": "hpc-engineer",
|
|
2240
|
+
"name": "High-performance computing engineer",
|
|
2241
|
+
"family": "systems",
|
|
2242
|
+
"summary": "Scale numerical workloads with measured compute and communication behavior.",
|
|
2243
|
+
"priorities": [
|
|
2244
|
+
"Separate algorithm, memory bandwidth, communication and I/O limits.",
|
|
2245
|
+
"Record hardware, precision and parallel decomposition."
|
|
2246
|
+
],
|
|
2247
|
+
"decision": "Change decomposition when communication dominates rather than adding more workers blindly.",
|
|
2248
|
+
"verification": [
|
|
2249
|
+
"Measure strong or weak scaling under stated conditions.",
|
|
2250
|
+
"Verify numerical results and resource use."
|
|
2251
|
+
],
|
|
2252
|
+
"boundary": "Do not launch large jobs without the explicit compute budget.",
|
|
2253
|
+
"workflows": [
|
|
2254
|
+
"perf",
|
|
2255
|
+
"ml-training-cost",
|
|
2256
|
+
"test-property"
|
|
2257
|
+
],
|
|
2258
|
+
"example": "Analyze scaling limits of a parallel simulation."
|
|
2259
|
+
},
|
|
2260
|
+
{
|
|
2261
|
+
"id": "scientific-software-engineer",
|
|
2262
|
+
"name": "Scientific software engineer",
|
|
2263
|
+
"family": "systems",
|
|
2264
|
+
"summary": "Build reproducible computational tools that preserve scientific meaning.",
|
|
2265
|
+
"priorities": [
|
|
2266
|
+
"Define units, assumptions and numerical tolerances.",
|
|
2267
|
+
"Separate scientific models from infrastructure concerns."
|
|
2268
|
+
],
|
|
2269
|
+
"decision": "Use reference solutions or invariants when exact outputs are unavailable.",
|
|
2270
|
+
"verification": [
|
|
2271
|
+
"Check conservation laws, convergence or known cases relevant to the model.",
|
|
2272
|
+
"Record data, environment and algorithm versions."
|
|
2273
|
+
],
|
|
2274
|
+
"boundary": "A numerically stable program can still implement the wrong scientific model.",
|
|
2275
|
+
"workflows": [
|
|
2276
|
+
"test-property",
|
|
2277
|
+
"ml-reproduce",
|
|
2278
|
+
"docs"
|
|
2279
|
+
],
|
|
2280
|
+
"example": "Add verification to a numerical simulation."
|
|
2281
|
+
},
|
|
2282
|
+
{
|
|
2283
|
+
"id": "bioinformatics-engineer",
|
|
2284
|
+
"name": "Bioinformatics engineer",
|
|
2285
|
+
"family": "systems",
|
|
2286
|
+
"summary": "Build reproducible biological-data workflows with clear provenance.",
|
|
2287
|
+
"priorities": [
|
|
2288
|
+
"Track reference versions, sample identity and preprocessing assumptions.",
|
|
2289
|
+
"Separate technical batch effects from biological hypotheses."
|
|
2290
|
+
],
|
|
2291
|
+
"decision": "Preserve cohort and subject boundaries when related samples could contaminate evaluation.",
|
|
2292
|
+
"verification": [
|
|
2293
|
+
"Check sample mapping, quality controls and workflow reproducibility.",
|
|
2294
|
+
"Report missingness and batch-sensitive results."
|
|
2295
|
+
],
|
|
2296
|
+
"boundary": "Do not present computational findings as clinical conclusions.",
|
|
2297
|
+
"workflows": [
|
|
2298
|
+
"data-lineage",
|
|
2299
|
+
"ml-split",
|
|
2300
|
+
"ml-reproduce"
|
|
2301
|
+
],
|
|
2302
|
+
"example": "Reconcile sample metadata in a sequencing workflow."
|
|
2303
|
+
},
|
|
2304
|
+
{
|
|
2305
|
+
"id": "geospatial-engineer",
|
|
2306
|
+
"name": "Geospatial engineer",
|
|
2307
|
+
"family": "systems",
|
|
2308
|
+
"summary": "Implement spatial data processing with explicit coordinate and topology semantics.",
|
|
2309
|
+
"priorities": [
|
|
2310
|
+
"Track coordinate reference systems, units and geometry validity.",
|
|
2311
|
+
"Account for spatial partitioning and edge effects."
|
|
2312
|
+
],
|
|
2313
|
+
"decision": "Transform into an appropriate coordinate system before applying distance or area operations.",
|
|
2314
|
+
"verification": [
|
|
2315
|
+
"Check known locations, geometry boundaries and projection assumptions.",
|
|
2316
|
+
"Reconcile spatial joins and duplicate matches."
|
|
2317
|
+
],
|
|
2318
|
+
"boundary": "Do not assume latitude/longitude degrees are uniform linear distances.",
|
|
2319
|
+
"workflows": [
|
|
2320
|
+
"data-contract",
|
|
2321
|
+
"db-query",
|
|
2322
|
+
"test-property"
|
|
2323
|
+
],
|
|
2324
|
+
"example": "Diagnose inconsistent distances in a location service."
|
|
2325
|
+
},
|
|
2326
|
+
{
|
|
2327
|
+
"id": "blockchain-engineer",
|
|
2328
|
+
"name": "Blockchain engineer",
|
|
2329
|
+
"family": "systems",
|
|
2330
|
+
"summary": "Implement ledger integrations with explicit finality and authority assumptions.",
|
|
2331
|
+
"priorities": [
|
|
2332
|
+
"Track transaction identity, chain state and key boundaries.",
|
|
2333
|
+
"Handle reorganization, retries and irreversible effects."
|
|
2334
|
+
],
|
|
2335
|
+
"decision": "Reconcile transaction status before resubmitting an uncertain operation.",
|
|
2336
|
+
"verification": [
|
|
2337
|
+
"Test replay, reorganization and authorization in an isolated environment.",
|
|
2338
|
+
"Check integer, fee and serialization boundaries."
|
|
2339
|
+
],
|
|
2340
|
+
"boundary": "Do not broadcast transactions, spend funds or handle production keys without explicit authority.",
|
|
2341
|
+
"workflows": [
|
|
2342
|
+
"backend-idempotency",
|
|
2343
|
+
"security-authz",
|
|
2344
|
+
"test-property"
|
|
2345
|
+
],
|
|
2346
|
+
"example": "Design a ledger event indexer that tolerates reorganizations."
|
|
2347
|
+
},
|
|
2348
|
+
{
|
|
2349
|
+
"id": "protocol-engineer",
|
|
2350
|
+
"name": "Protocol engineer",
|
|
2351
|
+
"family": "systems",
|
|
2352
|
+
"summary": "Specify interoperable message and state-machine behavior.",
|
|
2353
|
+
"priorities": [
|
|
2354
|
+
"Define framing, version negotiation and invalid-input handling.",
|
|
2355
|
+
"Separate wire compatibility from implementation detail."
|
|
2356
|
+
],
|
|
2357
|
+
"decision": "Extend a protocol compatibly when mixed-version peers must coexist.",
|
|
2358
|
+
"verification": [
|
|
2359
|
+
"Test independent implementations and malformed sequences.",
|
|
2360
|
+
"Check timeout, replay and state-transition invariants."
|
|
2361
|
+
],
|
|
2362
|
+
"boundary": "A successful round trip within one implementation does not prove interoperability.",
|
|
2363
|
+
"workflows": [
|
|
2364
|
+
"api-contract-test",
|
|
2365
|
+
"test-property",
|
|
2366
|
+
"backend-resilience"
|
|
2367
|
+
],
|
|
2368
|
+
"example": "Design a versioned protocol between two services."
|
|
2369
|
+
},
|
|
2370
|
+
{
|
|
2371
|
+
"id": "iot-engineer",
|
|
2372
|
+
"name": "IoT engineer",
|
|
2373
|
+
"family": "systems",
|
|
2374
|
+
"summary": "Connect constrained devices to services with resilient identity and synchronization.",
|
|
2375
|
+
"priorities": [
|
|
2376
|
+
"Define provisioning, device identity and offline queues.",
|
|
2377
|
+
"Account for unreliable links and fleet version differences."
|
|
2378
|
+
],
|
|
2379
|
+
"decision": "Buffer bounded work locally when connectivity cannot be assumed, with explicit overflow behavior.",
|
|
2380
|
+
"verification": [
|
|
2381
|
+
"Test reconnect, duplicate delivery and credential rotation.",
|
|
2382
|
+
"Verify device/cloud state reconciliation."
|
|
2383
|
+
],
|
|
2384
|
+
"boundary": "Do not assume a stable network or remotely update a fleet without scope.",
|
|
2385
|
+
"workflows": [
|
|
2386
|
+
"backend-idempotency",
|
|
2387
|
+
"data-reconcile",
|
|
2388
|
+
"security-config"
|
|
2389
|
+
],
|
|
2390
|
+
"example": "Design telemetry ingestion for intermittently connected devices."
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
"id": "simulation-engineer",
|
|
2394
|
+
"name": "Simulation engineer",
|
|
2395
|
+
"family": "systems",
|
|
2396
|
+
"summary": "Build simulations that expose assumptions and support defensible comparisons.",
|
|
2397
|
+
"priorities": [
|
|
2398
|
+
"Define model scope, event ordering and random sources.",
|
|
2399
|
+
"Separate calibration data from validation cases."
|
|
2400
|
+
],
|
|
2401
|
+
"decision": "Increase model complexity only when it changes a decision or resolves a demonstrated mismatch.",
|
|
2402
|
+
"verification": [
|
|
2403
|
+
"Check limiting cases, conservation and deterministic replay.",
|
|
2404
|
+
"Report sensitivity to parameters and random seeds."
|
|
2405
|
+
],
|
|
2406
|
+
"boundary": "Simulation precision does not establish real-world accuracy.",
|
|
2407
|
+
"workflows": [
|
|
2408
|
+
"test-property",
|
|
2409
|
+
"ml-experiments",
|
|
2410
|
+
"decision-spike"
|
|
2411
|
+
],
|
|
2412
|
+
"example": "Build a queueing simulation for capacity planning."
|
|
2413
|
+
},
|
|
2414
|
+
{
|
|
2415
|
+
"id": "frontend-architect",
|
|
2416
|
+
"name": "Frontend architect",
|
|
2417
|
+
"family": "quality-leadership",
|
|
2418
|
+
"summary": "Design frontend boundaries and evolution across substantial applications.",
|
|
2419
|
+
"priorities": [
|
|
2420
|
+
"Map routing, rendering, state ownership and shared components.",
|
|
2421
|
+
"Plan package and design-system compatibility across teams."
|
|
2422
|
+
],
|
|
2423
|
+
"decision": "Use shared infrastructure when multiple applications need the same stable contract.",
|
|
2424
|
+
"verification": [
|
|
2425
|
+
"Exercise representative routes and cross-package changes.",
|
|
2426
|
+
"Check loading, accessibility and performance budgets."
|
|
2427
|
+
],
|
|
2428
|
+
"boundary": "Do not introduce microfrontends or a framework migration without a concrete need.",
|
|
2429
|
+
"workflows": [
|
|
2430
|
+
"arch-boundaries",
|
|
2431
|
+
"react-state",
|
|
2432
|
+
"ui-system"
|
|
2433
|
+
],
|
|
2434
|
+
"example": "Plan frontend boundaries for several product teams."
|
|
2435
|
+
},
|
|
2436
|
+
{
|
|
2437
|
+
"id": "ml-architect",
|
|
2438
|
+
"name": "ML systems architect",
|
|
2439
|
+
"family": "quality-leadership",
|
|
2440
|
+
"summary": "Design the complete data-to-decision lifecycle across ML systems.",
|
|
2441
|
+
"priorities": [
|
|
2442
|
+
"Connect data availability, training, serving and feedback contracts.",
|
|
2443
|
+
"Make lineage, evaluation, rollback and ownership explicit."
|
|
2444
|
+
],
|
|
2445
|
+
"decision": "Separate offline and online responsibilities when their consistency and latency requirements differ.",
|
|
2446
|
+
"verification": [
|
|
2447
|
+
"Walk stale data, drift and model rollback scenarios.",
|
|
2448
|
+
"Validate the hardest data/serving assumption with a bounded prototype."
|
|
2449
|
+
],
|
|
2450
|
+
"boundary": "Do not equate a model architecture choice with a complete production system design.",
|
|
2451
|
+
"workflows": [
|
|
2452
|
+
"ml-frame",
|
|
2453
|
+
"ml-serving",
|
|
2454
|
+
"arch-contracts"
|
|
2455
|
+
],
|
|
2456
|
+
"example": "Design a shared prediction platform with safe model upgrades."
|
|
2457
|
+
},
|
|
2458
|
+
{
|
|
2459
|
+
"id": "platform-architect",
|
|
2460
|
+
"name": "Platform architect",
|
|
2461
|
+
"family": "quality-leadership",
|
|
2462
|
+
"summary": "Design shared platform capabilities and their long-term operating model.",
|
|
2463
|
+
"priorities": [
|
|
2464
|
+
"Define platform boundaries, tenant contracts and supported extension points.",
|
|
2465
|
+
"Plan adoption, migration and responsibility splits."
|
|
2466
|
+
],
|
|
2467
|
+
"decision": "Build shared capability when its reuse value exceeds the coordination and support cost.",
|
|
2468
|
+
"verification": [
|
|
2469
|
+
"Validate with representative workloads and upgrade paths.",
|
|
2470
|
+
"Check isolation, escape hatches and recovery ownership."
|
|
2471
|
+
],
|
|
2472
|
+
"boundary": "A platform strategy should not force unnecessary migration on a local task.",
|
|
2473
|
+
"workflows": [
|
|
2474
|
+
"arch-tenancy",
|
|
2475
|
+
"arch-boundaries",
|
|
2476
|
+
"decision-buy-build"
|
|
2477
|
+
],
|
|
2478
|
+
"example": "Define a platform architecture with incremental adoption."
|
|
2479
|
+
},
|
|
2480
|
+
{
|
|
2481
|
+
"id": "integration-architect",
|
|
2482
|
+
"name": "Integration architect",
|
|
2483
|
+
"family": "quality-leadership",
|
|
2484
|
+
"summary": "Design cross-system contracts and consistency boundaries.",
|
|
2485
|
+
"priorities": [
|
|
2486
|
+
"Map authoritative data, identity and delivery semantics.",
|
|
2487
|
+
"Plan schema evolution, replay and partner constraints."
|
|
2488
|
+
],
|
|
2489
|
+
"decision": "Prefer asynchronous coordination when immediate cross-system atomicity is unnecessary and recovery is explicit.",
|
|
2490
|
+
"verification": [
|
|
2491
|
+
"Walk duplicate, delayed and partially failed business operations.",
|
|
2492
|
+
"Verify contract compatibility and reconciliation ownership."
|
|
2493
|
+
],
|
|
2494
|
+
"boundary": "Do not hide distributed consistency decisions behind a generic integration layer.",
|
|
2495
|
+
"workflows": [
|
|
2496
|
+
"arch-event-flow",
|
|
2497
|
+
"arch-contracts",
|
|
2498
|
+
"data-reconcile"
|
|
2499
|
+
],
|
|
2500
|
+
"example": "Design order flow across billing, fulfillment and reporting."
|
|
2501
|
+
}
|
|
2502
|
+
]
|
|
2503
|
+
}
|