cfsa-antigravity 3.0.2 → 3.1.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/README.md +27 -10
- package/bin/cli.mjs +7 -6
- package/package.json +1 -1
- package/template/.agent/PRDS/codex-runtime-support.md +2 -2
- package/template/.agent/TASKS/codex-runtime-support.md +2 -2
- package/template/.agent/instructions/workflow.md +3 -3
- package/template/.agent/kit-sync.md +3 -3
- package/template/.agent/rules/completion-checklist.md +3 -3
- package/template/.agent/skills/parallel-agents/SKILL.md +1 -1
- package/template/.agent/skills/session-continuity/SKILL.md +6 -6
- package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +3 -3
- package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +4 -4
- package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
- package/template/.agent/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.agent/workflows/create-prd-architecture.md +2 -2
- package/template/.agent/workflows/create-prd-design-system.md +2 -2
- package/template/.agent/workflows/create-prd-security.md +2 -2
- package/template/.agent/workflows/create-prd-stack.md +2 -2
- package/template/.agent/workflows/create-prd.md +2 -2
- package/template/.agent/workflows/decompose-architecture-validate.md +1 -1
- package/template/.agent/workflows/decompose-architecture.md +2 -2
- package/template/.agent/workflows/ideate.md +2 -2
- package/template/.agent/workflows/implement-slice-setup.md +1 -1
- package/template/.agent/workflows/implement-slice-tdd.md +3 -3
- package/template/.agent/workflows/implement-slice.md +2 -2
- package/template/.agent/workflows/plan-phase-preflight.md +2 -2
- package/template/.agent/workflows/plan-phase-write.md +2 -2
- package/template/.agent/workflows/plan-phase.md +2 -2
- package/template/.agent/workflows/setup-workspace.md +2 -2
- package/template/.agent/workflows/update-architecture-map.md +1 -1
- package/template/.agent/workflows/validate-phase-quality.md +1 -1
- package/template/.agent/workflows/validate-phase-readiness.md +2 -2
- package/template/.agent/workflows/validate-phase.md +2 -2
- package/template/.agent/workflows/verify-infrastructure.md +1 -1
- package/template/.agent/workflows/write-architecture-spec-deepen.md +3 -3
- package/template/.agent/workflows/write-architecture-spec-design.md +1 -1
- package/template/.agent/workflows/write-architecture-spec.md +3 -3
- package/template/.agent/workflows/write-be-spec-classify.md +1 -1
- package/template/.agent/workflows/write-be-spec-write.md +3 -3
- package/template/.agent/workflows/write-be-spec.md +3 -3
- package/template/.agent/workflows/write-fe-spec-classify.md +1 -1
- package/template/.agent/workflows/write-fe-spec-write.md +2 -2
- package/template/.agent/workflows/write-fe-spec.md +3 -3
- package/template/.claude/README.md +3 -1
- package/template/.claude/instructions/workflow.md +3 -3
- package/template/.claude/kit-sync.md +3 -3
- package/template/.claude/rules/completion-checklist.md +3 -3
- package/template/.claude/skills/parallel-agents/SKILL.md +1 -1
- package/template/.claude/skills/plan-phase/SKILL.md +2 -2
- package/template/.claude/skills/plan-phase-preflight/SKILL.md +2 -2
- package/template/.claude/skills/session-continuity/SKILL.md +6 -6
- package/template/.claude/skills/session-continuity/protocols/01-session-resumption.md +1 -1
- package/template/.claude/skills/session-continuity/protocols/02-progress-generation.md +3 -3
- package/template/.claude/skills/session-continuity/protocols/03-progress-update.md +4 -4
- package/template/.claude/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
- package/template/.claude/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
- package/template/.claude/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.claude/skills/setup/setup-cfsa.md +1 -1
- package/template/.claude/skills/write-architecture-spec/SKILL.md +2 -2
- package/template/.claude/skills/write-architecture-spec-deepen/SKILL.md +1 -1
- package/template/.claude/skills/write-architecture-spec-design/SKILL.md +1 -1
- package/template/.claude/skills/write-be-spec/SKILL.md +3 -3
- package/template/.claude/skills/write-be-spec-classify/SKILL.md +1 -1
- package/template/.claude/skills/write-be-spec-write/SKILL.md +1 -1
- package/template/.claude/skills/write-fe-spec/SKILL.md +3 -3
- package/template/.claude/skills/write-fe-spec-write/SKILL.md +1 -1
- package/template/.codex/README.md +99 -0
- package/template/.codex/instructions/commands.md +24 -0
- package/template/.codex/instructions/example.md +21 -0
- package/template/.codex/instructions/patterns.md +61 -0
- package/template/.codex/instructions/structure.md +29 -0
- package/template/.codex/instructions/tech-stack.md +93 -0
- package/template/.codex/instructions/workflow.md +64 -0
- package/template/.codex/kit-sync.md +6 -0
- package/template/.codex/rules/boundary-not-placeholder.md +146 -0
- package/template/.codex/rules/completion-checklist.md +60 -0
- package/template/.codex/rules/debug-by-test.md +49 -0
- package/template/.codex/rules/decision-classification.md +113 -0
- package/template/.codex/rules/extensibility.md +52 -0
- package/template/.codex/rules/memory-capture.md +84 -0
- package/template/.codex/rules/question-vs-command.md +91 -0
- package/template/.codex/rules/security-first.md +54 -0
- package/template/.codex/rules/single-question.md +59 -0
- package/template/.codex/rules/skill-mcp-first.md +45 -0
- package/template/.codex/rules/source-before-ask.md +93 -0
- package/template/.codex/rules/specificity-standards.md +64 -0
- package/template/.codex/rules/tdd-contract-first.md +67 -0
- package/template/.codex/rules/vertical-slices.md +83 -0
- package/template/.codex/skill-library/MANIFEST.md +498 -0
- package/template/.codex/skill-library/README.md +38 -0
- package/template/.codex/skill-library/meta/claude-code/README.md +9 -0
- package/template/.codex/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
- package/template/.codex/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
- package/template/.codex/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
- package/template/.codex/skill-library/meta/mcp-builder/SKILL.md +236 -0
- package/template/.codex/skill-library/meta/product-marketing-context/SKILL.md +241 -0
- package/template/.codex/skill-library/meta/tmux-processes/SKILL.md +210 -0
- package/template/.codex/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
- package/template/.codex/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
- package/template/.codex/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
- package/template/.codex/skill-library/stack/ai/langchain/SKILL.md +530 -0
- package/template/.codex/skill-library/stack/ai/ollama/SKILL.md +321 -0
- package/template/.codex/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
- package/template/.codex/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
- package/template/.codex/skill-library/stack/api/graphql/SKILL.md +1061 -0
- package/template/.codex/skill-library/stack/api/trpc/SKILL.md +576 -0
- package/template/.codex/skill-library/stack/auth/authjs/SKILL.md +569 -0
- package/template/.codex/skill-library/stack/auth/clerk/SKILL.md +590 -0
- package/template/.codex/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
- package/template/.codex/skill-library/stack/auth/lucia/SKILL.md +230 -0
- package/template/.codex/skill-library/stack/auth/supabase-auth/SKILL.md +293 -0
- package/template/.codex/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
- package/template/.codex/skill-library/stack/cms/shopify/SKILL.md +1193 -0
- package/template/.codex/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
- package/template/.codex/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
- package/template/.codex/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
- package/template/.codex/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
- package/template/.codex/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
- package/template/.codex/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
- package/template/.codex/skill-library/stack/databases/influxdb/SKILL.md +280 -0
- package/template/.codex/skill-library/stack/databases/lancedb/SKILL.md +415 -0
- package/template/.codex/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
- package/template/.codex/skill-library/stack/databases/neo4j/SKILL.md +839 -0
- package/template/.codex/skill-library/stack/databases/pgvector/SKILL.md +241 -0
- package/template/.codex/skill-library/stack/databases/pinecone/SKILL.md +212 -0
- package/template/.codex/skill-library/stack/databases/postgresql/SKILL.md +658 -0
- package/template/.codex/skill-library/stack/databases/qdrant/SKILL.md +312 -0
- package/template/.codex/skill-library/stack/databases/redis/SKILL.md +1079 -0
- package/template/.codex/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
- package/template/.codex/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
- package/template/.codex/skill-library/stack/databases/supabase/SKILL.md +640 -0
- package/template/.codex/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
- package/template/.codex/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
- package/template/.codex/skill-library/stack/databases/weaviate/SKILL.md +218 -0
- package/template/.codex/skill-library/stack/devops/git-advanced/SKILL.md +972 -0
- package/template/.codex/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
- package/template/.codex/skill-library/stack/devops/github-actions/SKILL.md +554 -0
- package/template/.codex/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
- package/template/.codex/skill-library/stack/devops/nginx/SKILL.md +841 -0
- package/template/.codex/skill-library/stack/devops/terraform/SKILL.md +860 -0
- package/template/.codex/skill-library/stack/email/resend/SKILL.md +391 -0
- package/template/.codex/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
- package/template/.codex/skill-library/stack/extensions/plasmo/SKILL.md +195 -0
- package/template/.codex/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
- package/template/.codex/skill-library/stack/extensions/wxt/SKILL.md +216 -0
- package/template/.codex/skill-library/stack/feature-flags/flagsmith/SKILL.md +187 -0
- package/template/.codex/skill-library/stack/feature-flags/launchdarkly/SKILL.md +183 -0
- package/template/.codex/skill-library/stack/feature-flags/posthog-flags/SKILL.md +189 -0
- package/template/.codex/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
- package/template/.codex/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
- package/template/.codex/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
- package/template/.codex/skill-library/stack/frameworks/hono/SKILL.md +90 -0
- package/template/.codex/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
- package/template/.codex/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
- package/template/.codex/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/SKILL.md +81 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/events.md +353 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/migration.md +339 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/performance.md +443 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/runes.md +394 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/snippets.md +291 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/sveltekit.md +401 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/typescript.md +305 -0
- package/template/.codex/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
- package/template/.codex/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
- package/template/.codex/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
- package/template/.codex/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
- package/template/.codex/skill-library/stack/hosting/aws/SKILL.md +467 -0
- package/template/.codex/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
- package/template/.codex/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
- package/template/.codex/skill-library/stack/hosting/vercel/SKILL.md +484 -0
- package/template/.codex/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
- package/template/.codex/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
- package/template/.codex/skill-library/stack/languages/gdscript/SKILL.md +789 -0
- package/template/.codex/skill-library/stack/languages/go/SKILL.md +664 -0
- package/template/.codex/skill-library/stack/languages/java/SKILL.md +778 -0
- package/template/.codex/skill-library/stack/languages/kotlin/SKILL.md +665 -0
- package/template/.codex/skill-library/stack/languages/python/SKILL.md +678 -0
- package/template/.codex/skill-library/stack/languages/rust/SKILL.md +673 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
- package/template/.codex/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
- package/template/.codex/skill-library/stack/messaging/kafka/SKILL.md +235 -0
- package/template/.codex/skill-library/stack/messaging/nats/SKILL.md +147 -0
- package/template/.codex/skill-library/stack/messaging/rabbitmq/SKILL.md +178 -0
- package/template/.codex/skill-library/stack/messaging/sqs/SKILL.md +187 -0
- package/template/.codex/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
- package/template/.codex/skill-library/stack/mobile/flutter/SKILL.md +316 -0
- package/template/.codex/skill-library/stack/mobile/kotlin-compose/SKILL.md +215 -0
- package/template/.codex/skill-library/stack/mobile/react-native/SKILL.md +337 -0
- package/template/.codex/skill-library/stack/mobile/swiftui/SKILL.md +261 -0
- package/template/.codex/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
- package/template/.codex/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
- package/template/.codex/skill-library/stack/notifications/fcm/SKILL.md +229 -0
- package/template/.codex/skill-library/stack/notifications/sendgrid/SKILL.md +220 -0
- package/template/.codex/skill-library/stack/notifications/twilio/SKILL.md +204 -0
- package/template/.codex/skill-library/stack/observability/datadog/SKILL.md +179 -0
- package/template/.codex/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
- package/template/.codex/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
- package/template/.codex/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
- package/template/.codex/skill-library/stack/observability/python-observability/SKILL.md +158 -0
- package/template/.codex/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
- package/template/.codex/skill-library/stack/orm/prisma/SKILL.md +744 -0
- package/template/.codex/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
- package/template/.codex/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
- package/template/.codex/skill-library/stack/queue/bullmq/SKILL.md +385 -0
- package/template/.codex/skill-library/stack/queue/inngest/SKILL.md +438 -0
- package/template/.codex/skill-library/stack/realtime/socketio/SKILL.md +595 -0
- package/template/.codex/skill-library/stack/search/algolia/SKILL.md +206 -0
- package/template/.codex/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
- package/template/.codex/skill-library/stack/search/meilisearch/SKILL.md +385 -0
- package/template/.codex/skill-library/stack/search/typesense/SKILL.md +189 -0
- package/template/.codex/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
- package/template/.codex/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
- package/template/.codex/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
- package/template/.codex/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
- package/template/.codex/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
- package/template/.codex/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
- package/template/.codex/skill-library/stack/state/zustand/SKILL.md +483 -0
- package/template/.codex/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
- package/template/.codex/skill-library/stack/storage/cloudflare-r2/SKILL.md +252 -0
- package/template/.codex/skill-library/stack/storage/gcs/SKILL.md +229 -0
- package/template/.codex/skill-library/stack/testing/playwright/SKILL.md +641 -0
- package/template/.codex/skill-library/stack/testing/storybook/SKILL.md +923 -0
- package/template/.codex/skill-library/stack/testing/testing-library/SKILL.md +872 -0
- package/template/.codex/skill-library/stack/testing/vitest/SKILL.md +714 -0
- package/template/.codex/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
- package/template/.codex/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
- package/template/.codex/skill-library/stack/ui/react-flow/SKILL.md +425 -0
- package/template/.codex/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
- package/template/.codex/skill-library/stack/ui/svelte-flow/SKILL.md +390 -0
- package/template/.codex/skill-library/surface/api/api-caching/SKILL.md +458 -0
- package/template/.codex/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
- package/template/.codex/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
- package/template/.codex/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
- package/template/.codex/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
- package/template/.codex/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
- package/template/.codex/skill-library/surface/api/webhook-design/SKILL.md +752 -0
- package/template/.codex/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
- package/template/.codex/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
- package/template/.codex/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
- package/template/.codex/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
- package/template/.codex/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
- package/template/.codex/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
- package/template/.codex/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
- package/template/.codex/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
- package/template/.codex/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
- package/template/.codex/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
- package/template/.codex/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
- package/template/.codex/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
- package/template/.codex/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
- package/template/.codex/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
- package/template/.codex/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
- package/template/.codex/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
- package/template/.codex/skill-library/surface/web/ai-seo/SKILL.md +398 -0
- package/template/.codex/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
- package/template/.codex/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
- package/template/.codex/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
- package/template/.codex/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
- package/template/.codex/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
- package/template/.codex/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
- package/template/.codex/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
- package/template/.codex/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
- package/template/.codex/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
- package/template/.codex/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/SKILL.md +332 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/references/icu-message-format.md +223 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/references/intl-api-patterns.md +326 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/references/rtl-support.md +298 -0
- package/template/.codex/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
- package/template/.codex/skill-library/surface/web/page-cro/SKILL.md +182 -0
- package/template/.codex/skill-library/surface/web/page-cro/references/experiments.md +248 -0
- package/template/.codex/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
- package/template/.codex/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
- package/template/.codex/skill-library/surface/web/schema-markup/SKILL.md +179 -0
- package/template/.codex/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
- package/template/.codex/skill-library/surface/web/seo-audit/SKILL.md +394 -0
- package/template/.codex/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
- package/template/.codex/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
- package/template/.codex/skill-library/surface/web/web-scraping/SKILL.md +58 -0
- package/template/.codex/skills/README.md +78 -0
- package/template/.codex/skills/accessibility/SKILL.md +522 -0
- package/template/.codex/skills/accessibility/references/WCAG.md +162 -0
- package/template/.codex/skills/accessibility/references/ia-spec-checklist.md +35 -0
- package/template/.codex/skills/adversarial-review/SKILL.md +90 -0
- package/template/.codex/skills/antigravity-workflows/SKILL.md +81 -0
- package/template/.codex/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
- package/template/.codex/skills/api-design-principles/SKILL.md +169 -0
- package/template/.codex/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/template/.codex/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/template/.codex/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/template/.codex/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/template/.codex/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/template/.codex/skills/api-versioning/SKILL.md +166 -0
- package/template/.codex/skills/api-versioning/references/typescript.md +157 -0
- package/template/.codex/skills/architecture-mapping/SKILL.md +219 -0
- package/template/.codex/skills/audit-ambiguity/SKILL.md +54 -0
- package/template/.codex/skills/audit-ambiguity-execute/SKILL.md +86 -0
- package/template/.codex/skills/audit-ambiguity-rubrics/SKILL.md +58 -0
- package/template/.codex/skills/bootstrap-agents/SKILL.md +258 -0
- package/template/.codex/skills/bootstrap-agents-fill/SKILL.md +25 -0
- package/template/.codex/skills/bootstrap-agents-provision/SKILL.md +22 -0
- package/template/.codex/skills/brainstorming/SKILL.md +177 -0
- package/template/.codex/skills/brand-guidelines/SKILL.md +44 -0
- package/template/.codex/skills/clean-code/SKILL.md +196 -0
- package/template/.codex/skills/clean-code/references/typescript.md +126 -0
- package/template/.codex/skills/code-review-pro/SKILL.md +152 -0
- package/template/.codex/skills/concise-planning/SKILL.md +107 -0
- package/template/.codex/skills/create-prd/SKILL.md +94 -0
- package/template/.codex/skills/create-prd-architecture/SKILL.md +72 -0
- package/template/.codex/skills/create-prd-compile/SKILL.md +85 -0
- package/template/.codex/skills/create-prd-design-system/SKILL.md +69 -0
- package/template/.codex/skills/create-prd-security/SKILL.md +66 -0
- package/template/.codex/skills/create-prd-stack/SKILL.md +84 -0
- package/template/.codex/skills/cross-layer-consistency/SKILL.md +117 -0
- package/template/.codex/skills/database-schema-design/SKILL.md +205 -0
- package/template/.codex/skills/database-schema-design/references/relational.md +228 -0
- package/template/.codex/skills/decompose-architecture/SKILL.md +72 -0
- package/template/.codex/skills/decompose-architecture-structure/SKILL.md +62 -0
- package/template/.codex/skills/decompose-architecture-validate/SKILL.md +72 -0
- package/template/.codex/skills/deployment-procedures/SKILL.md +241 -0
- package/template/.codex/skills/design-anti-cliche/SKILL.md +159 -0
- package/template/.codex/skills/design-direction/SKILL.md +45 -0
- package/template/.codex/skills/error-handling-patterns/SKILL.md +226 -0
- package/template/.codex/skills/error-handling-patterns/references/go.md +162 -0
- package/template/.codex/skills/error-handling-patterns/references/python.md +262 -0
- package/template/.codex/skills/error-handling-patterns/references/rust.md +112 -0
- package/template/.codex/skills/error-handling-patterns/references/typescript.md +178 -0
- package/template/.codex/skills/evolve-contract/SKILL.md +24 -0
- package/template/.codex/skills/evolve-feature/SKILL.md +18 -0
- package/template/.codex/skills/evolve-feature-cascade/SKILL.md +24 -0
- package/template/.codex/skills/evolve-feature-classify/SKILL.md +21 -0
- package/template/.codex/skills/find-skills/SKILL.md +145 -0
- package/template/.codex/skills/git-advanced/SKILL.md +972 -0
- package/template/.codex/skills/git-workflow/SKILL.md +420 -0
- package/template/.codex/skills/idea-extraction/SKILL.md +644 -0
- package/template/.codex/skills/ideate/SKILL.md +77 -0
- package/template/.codex/skills/ideate-discover/SKILL.md +89 -0
- package/template/.codex/skills/ideate-extract/SKILL.md +77 -0
- package/template/.codex/skills/ideate-validate/SKILL.md +75 -0
- package/template/.codex/skills/implement-slice/SKILL.md +64 -0
- package/template/.codex/skills/implement-slice-setup/SKILL.md +70 -0
- package/template/.codex/skills/implement-slice-tdd/SKILL.md +78 -0
- package/template/.codex/skills/logging-best-practices/SKILL.md +192 -0
- package/template/.codex/skills/logging-best-practices/references/go.md +49 -0
- package/template/.codex/skills/logging-best-practices/references/python.md +52 -0
- package/template/.codex/skills/logging-best-practices/references/typescript.md +215 -0
- package/template/.codex/skills/migration-management/SKILL.md +200 -0
- package/template/.codex/skills/migration-management/references/relational.md +214 -0
- package/template/.codex/skills/minimalist-surgical-development/SKILL.md +135 -0
- package/template/.codex/skills/parallel-agents/SKILL.md +165 -0
- package/template/.codex/skills/parallel-debugging/SKILL.md +135 -0
- package/template/.codex/skills/parallel-feature-development/SKILL.md +157 -0
- package/template/.codex/skills/performance-budgeting/SKILL.md +144 -0
- package/template/.codex/skills/pipeline-rubrics/SKILL.md +51 -0
- package/template/.codex/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
- package/template/.codex/skills/pipeline-rubrics/references/be-rubric.md +21 -0
- package/template/.codex/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
- package/template/.codex/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
- package/template/.codex/skills/pipeline-rubrics/references/scoring.md +32 -0
- package/template/.codex/skills/pipeline-rubrics/references/vision-rubric.md +12 -0
- package/template/.codex/skills/plan-phase/SKILL.md +62 -0
- package/template/.codex/skills/plan-phase-preflight/SKILL.md +75 -0
- package/template/.codex/skills/plan-phase-write/SKILL.md +85 -0
- package/template/.codex/skills/prd-templates/SKILL.md +107 -0
- package/template/.codex/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
- package/template/.codex/skills/prd-templates/references/architecture-design-template.md +88 -0
- package/template/.codex/skills/prd-templates/references/be-spec-classification.md +41 -0
- package/template/.codex/skills/prd-templates/references/be-spec-template.md +107 -0
- package/template/.codex/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
- package/template/.codex/skills/prd-templates/references/constraint-exploration.md +41 -0
- package/template/.codex/skills/prd-templates/references/data-placement-template.md +74 -0
- package/template/.codex/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
- package/template/.codex/skills/prd-templates/references/decision-propagation.md +121 -0
- package/template/.codex/skills/prd-templates/references/decomposition-templates.md +226 -0
- package/template/.codex/skills/prd-templates/references/deep-ideation-loading-protocol.md +114 -0
- package/template/.codex/skills/prd-templates/references/design-system-decisions.md +198 -0
- package/template/.codex/skills/prd-templates/references/design-system-prerequisite-check.md +18 -0
- package/template/.codex/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
- package/template/.codex/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
- package/template/.codex/skills/prd-templates/references/engineering-standards-template.md +126 -0
- package/template/.codex/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
- package/template/.codex/skills/prd-templates/references/expansion-modes.md +27 -0
- package/template/.codex/skills/prd-templates/references/fe-classification-procedures.md +47 -0
- package/template/.codex/skills/prd-templates/references/fe-spec-template.md +90 -0
- package/template/.codex/skills/prd-templates/references/feature-ledger-protocol.md +149 -0
- package/template/.codex/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
- package/template/.codex/skills/prd-templates/references/fractal-cx-template.md +58 -0
- package/template/.codex/skills/prd-templates/references/fractal-feature-template.md +93 -0
- package/template/.codex/skills/prd-templates/references/fractal-node-index-template.md +55 -0
- package/template/.codex/skills/prd-templates/references/gate-applicability.md +92 -0
- package/template/.codex/skills/prd-templates/references/ideation-crosscut-template.md +36 -0
- package/template/.codex/skills/prd-templates/references/ideation-index-template.md +111 -0
- package/template/.codex/skills/prd-templates/references/ideation-meta-template.md +126 -0
- package/template/.codex/skills/prd-templates/references/infrastructure-report-template.md +71 -0
- package/template/.codex/skills/prd-templates/references/input-classification.md +23 -0
- package/template/.codex/skills/prd-templates/references/map-guard-protocol.md +65 -0
- package/template/.codex/skills/prd-templates/references/operational-templates.md +116 -0
- package/template/.codex/skills/prd-templates/references/persona-completeness-gate.md +20 -0
- package/template/.codex/skills/prd-templates/references/placeholder-guard-template.md +21 -0
- package/template/.codex/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -0
- package/template/.codex/skills/prd-templates/references/shard-boundary-analysis.md +103 -0
- package/template/.codex/skills/prd-templates/references/shard-split-remediation.md +157 -0
- package/template/.codex/skills/prd-templates/references/skill-loading-protocol.md +36 -0
- package/template/.codex/skills/prd-templates/references/slice-completion-gates.md +29 -0
- package/template/.codex/skills/prd-templates/references/spec-coverage-sweep.md +44 -0
- package/template/.codex/skills/prd-templates/references/surface-model.md +61 -0
- package/template/.codex/skills/prd-templates/references/tdd-testing-policy.md +39 -0
- package/template/.codex/skills/prd-templates/references/vision-template.md +57 -0
- package/template/.codex/skills/prd-templates/references/workflow-checkpoint-protocol.md +112 -0
- package/template/.codex/skills/prd-templates/references/write-verification-protocol.md +57 -0
- package/template/.codex/skills/prompt-engineer/SKILL.md +203 -0
- package/template/.codex/skills/propagate-decision/SKILL.md +18 -0
- package/template/.codex/skills/propagate-decision-apply/SKILL.md +22 -0
- package/template/.codex/skills/propagate-decision-scan/SKILL.md +20 -0
- package/template/.codex/skills/regex-patterns/SKILL.md +333 -0
- package/template/.codex/skills/regex-patterns/references/go.md +44 -0
- package/template/.codex/skills/regex-patterns/references/javascript.md +63 -0
- package/template/.codex/skills/regex-patterns/references/python.md +77 -0
- package/template/.codex/skills/regex-patterns/references/rust.md +43 -0
- package/template/.codex/skills/remediate-pipeline/SKILL.md +18 -0
- package/template/.codex/skills/remediate-pipeline-assess/SKILL.md +21 -0
- package/template/.codex/skills/remediate-pipeline-execute/SKILL.md +23 -0
- package/template/.codex/skills/remediate-shard-split/SKILL.md +21 -0
- package/template/.codex/skills/resolve-ambiguity/SKILL.md +278 -0
- package/template/.codex/skills/security-scanning-security-hardening/SKILL.md +231 -0
- package/template/.codex/skills/session-continuity/SKILL.md +732 -0
- package/template/.codex/skills/session-continuity/protocols/01-session-resumption.md +38 -0
- package/template/.codex/skills/session-continuity/protocols/02-progress-generation.md +85 -0
- package/template/.codex/skills/session-continuity/protocols/03-progress-update.md +70 -0
- package/template/.codex/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
- package/template/.codex/skills/session-continuity/protocols/05-session-close.md +37 -0
- package/template/.codex/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
- package/template/.codex/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
- package/template/.codex/skills/session-continuity/protocols/08-spec-pipeline-update.md +65 -0
- package/template/.codex/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
- package/template/.codex/skills/session-continuity/protocols/10-placeholder-verification-gate.md +83 -0
- package/template/.codex/skills/session-continuity/protocols/11-parallel-synthesis.md +21 -0
- package/template/.codex/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
- package/template/.codex/skills/setup/README.md +24 -0
- package/template/.codex/skills/setup/setup-cfsa.md +200 -0
- package/template/.codex/skills/setup/setup-fill-placeholders.md +192 -0
- package/template/.codex/skills/setup/setup-provision-skills.md +82 -0
- package/template/.codex/skills/setup/setup-verify.md +89 -0
- package/template/.codex/skills/setup-workspace/SKILL.md +83 -0
- package/template/.codex/skills/setup-workspace-cicd/SKILL.md +56 -0
- package/template/.codex/skills/setup-workspace-data/SKILL.md +69 -0
- package/template/.codex/skills/setup-workspace-hosting/SKILL.md +59 -0
- package/template/.codex/skills/setup-workspace-scaffold/SKILL.md +72 -0
- package/template/.codex/skills/skill-creator/SKILL.md +203 -0
- package/template/.codex/skills/spec-writing/SKILL.md +110 -0
- package/template/.codex/skills/sync-kit/SKILL.md +23 -0
- package/template/.codex/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/template/.codex/skills/systematic-debugging/SKILL.md +297 -0
- package/template/.codex/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/template/.codex/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/template/.codex/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/template/.codex/skills/systematic-debugging/find-polluter.sh +63 -0
- package/template/.codex/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/template/.codex/skills/systematic-debugging/test-academic.md +14 -0
- package/template/.codex/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/template/.codex/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/template/.codex/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/template/.codex/skills/tdd-workflow/SKILL.md +186 -0
- package/template/.codex/skills/tdd-workflow/references/typescript.md +231 -0
- package/template/.codex/skills/tech-stack-catalog/SKILL.md +49 -0
- package/template/.codex/skills/tech-stack-catalog/references/constraint-questions.md +237 -0
- package/template/.codex/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
- package/template/.codex/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
- package/template/.codex/skills/technical-writer/SKILL.md +242 -0
- package/template/.codex/skills/testing-strategist/SKILL.md +319 -0
- package/template/.codex/skills/testing-strategist/references/typescript.md +328 -0
- package/template/.codex/skills/update-architecture-map/SKILL.md +21 -0
- package/template/.codex/skills/utilities/resolve-skill.md +195 -0
- package/template/.codex/skills/validate-phase/SKILL.md +62 -0
- package/template/.codex/skills/validate-phase-quality/SKILL.md +67 -0
- package/template/.codex/skills/validate-phase-readiness/SKILL.md +74 -0
- package/template/.codex/skills/verification-before-completion/SKILL.md +97 -0
- package/template/.codex/skills/verify-infrastructure/SKILL.md +25 -0
- package/template/.codex/skills/workflow-automation/SKILL.md +166 -0
- package/template/.codex/skills/workflow-automation/references/inngest.md +88 -0
- package/template/.codex/skills/workflow-automation/references/temporal.md +64 -0
- package/template/.codex/skills/write-architecture-spec/SKILL.md +78 -0
- package/template/.codex/skills/write-architecture-spec-deepen/SKILL.md +82 -0
- package/template/.codex/skills/write-architecture-spec-design/SKILL.md +80 -0
- package/template/.codex/skills/write-be-spec/SKILL.md +75 -0
- package/template/.codex/skills/write-be-spec-classify/SKILL.md +80 -0
- package/template/.codex/skills/write-be-spec-write/SKILL.md +99 -0
- package/template/.codex/skills/write-fe-spec/SKILL.md +79 -0
- package/template/.codex/skills/write-fe-spec-classify/SKILL.md +77 -0
- package/template/.codex/skills/write-fe-spec-write/SKILL.md +88 -0
- package/template/.factory/README.md +2 -3
- package/template/.factory/instructions/workflow.md +3 -3
- package/template/.factory/kit-sync.md +3 -3
- package/template/.factory/skills/completion-checklist/SKILL.md +3 -3
- package/template/.factory/skills/parallel-agents/SKILL.md +1 -1
- package/template/.factory/skills/plan-phase/SKILL.md +2 -2
- package/template/.factory/skills/plan-phase-preflight/SKILL.md +2 -2
- package/template/.factory/skills/session-continuity/SKILL.md +6 -6
- package/template/.factory/skills/session-continuity/protocols/01-session-resumption.md +1 -1
- package/template/.factory/skills/session-continuity/protocols/02-progress-generation.md +3 -3
- package/template/.factory/skills/session-continuity/protocols/03-progress-update.md +4 -4
- package/template/.factory/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
- package/template/.factory/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
- package/template/.factory/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.factory/skills/setup-cfsa/SKILL.md +1 -1
- package/template/.factory/skills/write-architecture-spec/SKILL.md +2 -2
- package/template/.factory/skills/write-architecture-spec-deepen/SKILL.md +1 -1
- package/template/.factory/skills/write-architecture-spec-design/SKILL.md +1 -1
- package/template/.factory/skills/write-be-spec/SKILL.md +3 -3
- package/template/.factory/skills/write-be-spec-classify/SKILL.md +1 -1
- package/template/.factory/skills/write-be-spec-write/SKILL.md +1 -1
- package/template/.factory/skills/write-fe-spec/SKILL.md +3 -3
- package/template/.factory/skills/write-fe-spec-write/SKILL.md +1 -1
- package/template/.memory/README.md +1 -0
- package/template/.memory/mcp-server/README.md +10 -2
- package/template/.memory/mcp-server/client.mjs +61 -18
- package/template/.memory/mcp-server/daemon.mjs +8 -3
- package/template/.memory/mcp-server/runtime.mjs +51 -14
- package/template/.memory/mcp-server/start.mjs +4 -2
- package/template/.memory/migrate/migrate-legacy.mjs +1 -0
- package/template/.memory/pipeline/README.md +1 -0
- package/template/CLAUDE.md +4 -4
- package/template/CODEX.md +6 -53
- package/template/GEMINI.md +2 -2
- package/template/docs/README.md +5 -2
- package/template/docs/kit-architecture.md +36 -19
- package/template/docs/progress-state-catalog.md +48 -0
- package/template/.factory/progress/memory/.gitkeep +0 -0
- /package/template/{.agent/progress → .codex/skills/skill-creator/references}/.gitkeep +0 -0
- /package/template/{.agent/progress/memory → .codex/skills/skill-creator/scripts}/.gitkeep +0 -0
- /package/template/{.agent/progress/sessions → .memory/pipeline/progress}/.gitkeep +0 -0
- /package/template/{.claude/progress → .memory/pipeline/progress/memory}/.gitkeep +0 -0
- /package/template/{.claude/progress/memory → .memory/pipeline/progress/phases}/.gitkeep +0 -0
- /package/template/{.claude → .memory/pipeline}/progress/sessions/.gitkeep +0 -0
- /package/template/{.factory/progress → .memory/pipeline/progress/slices}/.gitkeep +0 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: parallel-feature-development
|
|
3
|
+
description: Prevent tool call conflicts when making concurrent edits across a codebase. Establishes strict file ownership, interface contracts, and merge strategies. Use with parallel-agents when executing concurrent code changes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Concurrent Feature Development
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
When making concurrent code edits (e.g. implementing the frontend and backend of a slice simultaneously), the #1 risk is **file conflicts** — trying to modify the same file from multiple streams, which causes the operation to fail. This skill prevents that with strict file ownership, typed interface contracts, and batched execution.
|
|
11
|
+
|
|
12
|
+
**Core principle:** One concurrent stream per file, always. No exceptions. If two streams need the same file, they're not independent — restructure the decomposition.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- Implementing multiple surfaces (e.g. `BE` and `FE`) in the same turn
|
|
17
|
+
- A phase plan has slices that can be implemented concurrently
|
|
18
|
+
- Multiple features touching different subsystems simultaneously
|
|
19
|
+
- Any time `parallel-agents` is used for implementation (not analysis)
|
|
20
|
+
|
|
21
|
+
## When NOT to Use
|
|
22
|
+
|
|
23
|
+
- Single agent doing sequential work
|
|
24
|
+
- Agents only analyzing/reviewing (no code changes)
|
|
25
|
+
- All changes are in the same file or module
|
|
26
|
+
|
|
27
|
+
## The Cardinal Rule
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
ONE OWNER PER FILE. NO EXCEPTIONS.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If Stream A owns `src/auth/login.ts`, no other stream may modify that file — not even to add an import.
|
|
34
|
+
|
|
35
|
+
## The Protocol
|
|
36
|
+
|
|
37
|
+
### 1. Ownership Declaration
|
|
38
|
+
|
|
39
|
+
Before writing code concurrently, create an explicit ownership manifest:
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
## File Ownership Manifest
|
|
43
|
+
|
|
44
|
+
| Stream | Owned Files | Interface Files |
|
|
45
|
+
|--------|-------------|-----------------|
|
|
46
|
+
| Stream 1 (Auth) | `src/auth/*`, `src/middleware/auth.*` | `src/types/auth.*` |
|
|
47
|
+
| Stream 2 (API) | `src/api/*`, `src/middleware/api.*` | `src/types/api.*` |
|
|
48
|
+
| Stream 3 (UI) | `src/components/*`, `src/pages/*` | `src/types/ui.*` |
|
|
49
|
+
|
|
50
|
+
### Shared Files (Frozen)
|
|
51
|
+
- `src/types/shared.*` — modify only in synthesis step
|
|
52
|
+
- `src/config.*` — frozen during parallel work
|
|
53
|
+
- Package manifest — frozen during parallel work
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Rules:**
|
|
57
|
+
- Every source file appears in exactly ONE workstream
|
|
58
|
+
- Shared files are **frozen** — do not mutate concurrently
|
|
59
|
+
- If a stream needs a change to a shared file, document it as a `// BOUNDARY:` stub
|
|
60
|
+
- Interface files define the contract between streams
|
|
61
|
+
|
|
62
|
+
### 2. Interface Contracts
|
|
63
|
+
|
|
64
|
+
Before generating concurrent edits, define the typed interfaces they'll communicate through.
|
|
65
|
+
|
|
66
|
+
**Example (pseudocode — adapt to your language):**
|
|
67
|
+
```
|
|
68
|
+
// src/types/auth — Stream 1 PRODUCES, Stream 2 CONSUMES
|
|
69
|
+
AuthResult { userId: string, roles: string[], token: string }
|
|
70
|
+
|
|
71
|
+
// src/types/api — Stream 2 PRODUCES, Stream 3 CONSUMES
|
|
72
|
+
UserResponse { id: string, name: string, email: string }
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Contract rules:**
|
|
76
|
+
- Interfaces defined BEFORE generating logic
|
|
77
|
+
- Do NOT change interface files during the concurrent phase
|
|
78
|
+
- Each interface has exactly one PRODUCER and one or more CONSUMERS
|
|
79
|
+
- Develop against the interface, not assumptions
|
|
80
|
+
|
|
81
|
+
### 3. Batched Tool Execution
|
|
82
|
+
|
|
83
|
+
When generating concurrent tool calls:
|
|
84
|
+
|
|
85
|
+
```markdown
|
|
86
|
+
## Stream: [Role]
|
|
87
|
+
|
|
88
|
+
### Your Owned Files
|
|
89
|
+
[Explicit list — you may ONLY create/modify these files]
|
|
90
|
+
|
|
91
|
+
### Frozen Files (DO NOT MODIFY)
|
|
92
|
+
[List of shared files — read but never write]
|
|
93
|
+
|
|
94
|
+
### Interface Contract
|
|
95
|
+
[The interfaces you produce and consume]
|
|
96
|
+
|
|
97
|
+
### Boundary Protocol
|
|
98
|
+
If you need something from another stream's domain:
|
|
99
|
+
1. Import the interface type (read-only)
|
|
100
|
+
2. Code against the interface, not the implementation
|
|
101
|
+
3. Add a `// BOUNDARY:` comment if you need a shared file change
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 4. Merge Protocol
|
|
105
|
+
|
|
106
|
+
Process dependencies in order:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
1. Interface files (already defined, verify no changes)
|
|
110
|
+
2. Stream with fewest dependencies first
|
|
111
|
+
3. Stream with most dependencies last
|
|
112
|
+
4. Shared file modifications (from BOUNDARY stubs)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Execution checklist:**
|
|
116
|
+
- [ ] No file appears in multiple streams' edits
|
|
117
|
+
- [ ] All interface contracts satisfied (types compile)
|
|
118
|
+
- [ ] Shared file BOUNDARY stubs resolved in a sequential commit
|
|
119
|
+
- [ ] Full test suite passes after the batched edit
|
|
120
|
+
|
|
121
|
+
### 5. Conflict Resolution
|
|
122
|
+
|
|
123
|
+
| Conflict Type | Resolution |
|
|
124
|
+
|---------------|-----------|
|
|
125
|
+
| **Same file modified** | Separate edits into sequential tool calls |
|
|
126
|
+
| **Interface mismatch** | Producer's implementation doesn't match contract → fix producer |
|
|
127
|
+
| **Missing dependency** | Assumed something exists that doesn't → add BOUNDARY stub |
|
|
128
|
+
| **Mutual dependency** | A needs B's output AND B needs A's → can't go concurrent, code sequentially |
|
|
129
|
+
|
|
130
|
+
## Integration with Kit
|
|
131
|
+
|
|
132
|
+
- **With `session-continuity` Protocol 9 (Parallel Claim):** Surface tags (`BE`, `FE`, `QA`) and claim markers (`[!]`) in progress files serve as your live ownership manifest.
|
|
133
|
+
- **With `boundary-not-placeholder`:** Use `// BOUNDARY:` stubs for cross-stream dependencies. Resolve them sequentially afterward.
|
|
134
|
+
- **With `implement-slice`:** When a slice enters parallel mode (step 1.5), claim all tags concurrently. The synthesis step (6.5) resolves BOUNDARY stubs on frozen files.
|
|
135
|
+
|
|
136
|
+
## Example: Concurrent Vertical Slice
|
|
137
|
+
|
|
138
|
+
**Slice:** "User can view their profile"
|
|
139
|
+
|
|
140
|
+
| Stream | Surface | Owned Files | Produces | Consumes |
|
|
141
|
+
|--------|---------|-------------|----------|----------|
|
|
142
|
+
| DB | Schema | `migrations/003-profile.*`, `src/db/profile.*` | `ProfileRecord` type | — |
|
|
143
|
+
| API | Endpoint | `src/api/profile.*`, `src/api/profile.test.*` | `GET /api/profile` | `ProfileRecord` |
|
|
144
|
+
| UI | Component | `src/components/Profile.*`, `src/pages/profile.*` | Rendered page | `GET /api/profile` |
|
|
145
|
+
|
|
146
|
+
**Merge order:** DB → API → UI (dependency chain)
|
|
147
|
+
|
|
148
|
+
**Frozen files:** `src/types/shared.*`, config, package manifest
|
|
149
|
+
|
|
150
|
+
## Common Mistakes
|
|
151
|
+
|
|
152
|
+
| Mistake | Consequence | Fix |
|
|
153
|
+
|---------|-------------|-----|
|
|
154
|
+
| Two streams mutate the same file | Tool call conflict, lost edits | ONE STREAM PER FILE |
|
|
155
|
+
| No interface contracts | Mismatched assumptions | Define types BEFORE editing |
|
|
156
|
+
| Skipping integration tests | Interfaces match but behavior doesn't | Full suite after batch edits |
|
|
157
|
+
| Parallelizing tightly coupled code | Constant blocking, stubs everywhere | Code sequentially |
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: performance-budgeting
|
|
3
|
+
description: "Axis-by-axis interview methodology for establishing engineering performance budgets during architecture PRD compilation. Use when conducting the Step 10.5 performance budget interview in /create-prd-compile."
|
|
4
|
+
category: product
|
|
5
|
+
risk: none
|
|
6
|
+
source: self
|
|
7
|
+
date_added: "2026-03-03"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Performance Budgeting
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
This skill owns the interview methodology for establishing concrete, enforceable performance thresholds across all applicable surfaces.
|
|
15
|
+
|
|
16
|
+
## When to Use This Skill
|
|
17
|
+
|
|
18
|
+
- During `/create-prd-compile` Step 10.5 — the performance budget interview
|
|
19
|
+
- Any time engineering performance standards need to be established from scratch
|
|
20
|
+
- When updating `ENGINEERING-STANDARDS.md` for an existing project
|
|
21
|
+
|
|
22
|
+
## Write-As-You-Go Rule
|
|
23
|
+
|
|
24
|
+
Performance budgets are written **as you go** — each axis is discussed, decided, and immediately written to the corresponding subsection of `.memory/wiki/specs/ENGINEERING-STANDARDS.md`. Do not batch them.
|
|
25
|
+
|
|
26
|
+
## Surface Conditioning
|
|
27
|
+
|
|
28
|
+
> **Surface conditioning**: Only present axes that apply to the confirmed tech stack surfaces. A CLI-only project skips Web Vitals and bundle-size axes. A web-only project skips Desktop and CLI axes. Always present API and DB axes.
|
|
29
|
+
|
|
30
|
+
## Interview Protocol
|
|
31
|
+
|
|
32
|
+
### Axis 0 — Target device tier and network baseline
|
|
33
|
+
|
|
34
|
+
Before any threshold is chosen, anchor all budgets to an explicit operating context. Require named choices — no vague defaults.
|
|
35
|
+
|
|
36
|
+
| Decision | Options (examples) |
|
|
37
|
+
|----------|---------------------|
|
|
38
|
+
| Target device tier | Low-end Android (Moto G Power), Mid-range (Pixel 7a), High-end (iPhone 15) |
|
|
39
|
+
| Target network condition | Slow 3G (400 Kbps, 400 ms RTT), Fast 3G (1.6 Mbps, 150 ms RTT), 4G (9 Mbps, 50 ms RTT), Wi-Fi |
|
|
40
|
+
|
|
41
|
+
Ask: "What is the lowest-spec device and slowest network your users will realistically use? All budgets will be validated against this baseline."
|
|
42
|
+
|
|
43
|
+
**Write immediately** → `.memory/wiki/specs/ENGINEERING-STANDARDS.md` § `## Performance Budgets` baseline note — fill in the `[device tier]` and `[network condition]` placeholders.
|
|
44
|
+
|
|
45
|
+
### Axis 1 — Web Vitals per page type (web/desktop surfaces only)
|
|
46
|
+
|
|
47
|
+
Define LCP, INP, and CLS targets **per page type** (e.g., landing, dashboard, detail). Different page types have different acceptable thresholds.
|
|
48
|
+
|
|
49
|
+
| Page Type | LCP | INP | CLS | Notes |
|
|
50
|
+
|-----------|-----|-----|-----|-------|
|
|
51
|
+
| Landing / marketing | ≤ 2.0 s | ≤ 150 ms | ≤ 0.05 | First-impression page; tightest targets |
|
|
52
|
+
| Dashboard / data-heavy | ≤ 2.5 s | ≤ 200 ms | ≤ 0.1 | Streaming data acceptable |
|
|
53
|
+
| Detail / form | ≤ 2.0 s | ≤ 100 ms | ≤ 0.05 | Interaction-heavy; INP matters most |
|
|
54
|
+
|
|
55
|
+
Ask: "Which page types does your app have, and do these starting points fit?"
|
|
56
|
+
|
|
57
|
+
**Write immediately** → `.memory/wiki/specs/ENGINEERING-STANDARDS.md` § `### Web Vitals per page type`
|
|
58
|
+
|
|
59
|
+
### Axis 2 — JS bundle size per page type (web/desktop surfaces only)
|
|
60
|
+
|
|
61
|
+
Define initial and total JS budgets **per page type**, gzipped.
|
|
62
|
+
|
|
63
|
+
| Page Type | Initial JS (gzipped) | Total JS (gzipped) | Notes |
|
|
64
|
+
|-----------|---------------------|--------------------|-------|
|
|
65
|
+
| Landing / marketing | ≤ 80 KB | ≤ 150 KB | Must load fast on first visit |
|
|
66
|
+
| Dashboard / data-heavy | ≤ 150 KB | ≤ 300 KB | Lazy-load heavy components |
|
|
67
|
+
|
|
68
|
+
Ask: "Are there pages that pull in large libraries (maps, charts, editors)? Those need their own row."
|
|
69
|
+
|
|
70
|
+
**Write immediately** → `.memory/wiki/specs/ENGINEERING-STANDARDS.md` § `### JS Bundle Size per page type`
|
|
71
|
+
|
|
72
|
+
### Axis 3 — API response time per tier
|
|
73
|
+
|
|
74
|
+
Define p50, p95, and p99 targets **per tier**, not a single number for the whole API.
|
|
75
|
+
|
|
76
|
+
| Tier | Description | p50 | p95 | p99 |
|
|
77
|
+
|------|-------------|-----|-----|-----|
|
|
78
|
+
| Tier 1 — Cached read | Response served from cache (Redis, CDN, in-memory) | ≤ 10 ms | ≤ 30 ms | ≤ 50 ms |
|
|
79
|
+
| Tier 2 — Uncached read | Single-entity DB fetch or simple join | ≤ 30 ms | ≤ 80 ms | ≤ 150 ms |
|
|
80
|
+
| Tier 3 — Write | Create, update, delete with validation | ≤ 80 ms | ≤ 200 ms | ≤ 400 ms |
|
|
81
|
+
| Tier 4 — Background | Async jobs, batch processing, external calls | Best-effort | ≤ 1000 ms | ≤ 3000 ms |
|
|
82
|
+
|
|
83
|
+
Ask: "Do any endpoints call external services? Those belong in Tier 4. Are there any endpoints that don't fit these four tiers?"
|
|
84
|
+
|
|
85
|
+
**Write immediately** → `.memory/wiki/specs/ENGINEERING-STANDARDS.md` § `### API Response Time per tier`
|
|
86
|
+
|
|
87
|
+
### Axis 4 — DB query time per tier
|
|
88
|
+
|
|
89
|
+
Define p50 and p95 targets **per query tier**.
|
|
90
|
+
|
|
91
|
+
| Tier | Description | p50 | p95 |
|
|
92
|
+
|------|-------------|-----|-----|
|
|
93
|
+
| Tier 1 — Indexed point lookup | Primary-key or unique-index fetch | ≤ 5 ms | ≤ 15 ms |
|
|
94
|
+
| Tier 2 — Indexed range scan | Range or list query on indexed column | ≤ 15 ms | ≤ 50 ms |
|
|
95
|
+
| Tier 3 — Aggregation | COUNT, SUM, GROUP BY, window functions | ≤ 50 ms | ≤ 150 ms |
|
|
96
|
+
| Tier 4 — Full-text / vector / analytical | Search, similarity, or reporting queries | ≤ 100 ms | ≤ 300 ms |
|
|
97
|
+
|
|
98
|
+
Ask: "Are there any known heavy queries (reports, analytics)? Those belong in Tier 4. Any queries that don't fit these four tiers?"
|
|
99
|
+
|
|
100
|
+
**Write immediately** → `.memory/wiki/specs/ENGINEERING-STANDARDS.md` § `### DB Query Time per tier`
|
|
101
|
+
|
|
102
|
+
### Axis 5 — Desktop / mobile surface budgets (if applicable)
|
|
103
|
+
|
|
104
|
+
Define surface-specific budgets using the reference table:
|
|
105
|
+
|
|
106
|
+
**Desktop**:
|
|
107
|
+
| Metric | Starting point |
|
|
108
|
+
|--------|---------------|
|
|
109
|
+
| Cold start | ≤ 2 s |
|
|
110
|
+
| Memory (idle / active) | ≤ 200 MB / ≤ 500 MB |
|
|
111
|
+
| Installer size | ≤ 100 MB |
|
|
112
|
+
| Window resize repaint | ≤ 16 ms (60 fps) |
|
|
113
|
+
|
|
114
|
+
**Mobile**:
|
|
115
|
+
| Metric | Starting point |
|
|
116
|
+
|--------|---------------|
|
|
117
|
+
| Cold launch | ≤ 1.5 s |
|
|
118
|
+
| Warm launch | ≤ 0.5 s |
|
|
119
|
+
| Battery drain (active) | ≤ 5 %/hr |
|
|
120
|
+
| Download size | ≤ 50 MB |
|
|
121
|
+
|
|
122
|
+
Ask: "Do these match your target devices and user expectations?"
|
|
123
|
+
|
|
124
|
+
**Write immediately** → `.memory/wiki/specs/ENGINEERING-STANDARDS.md` § `### Desktop surfaces` and/or `### Mobile surfaces`
|
|
125
|
+
|
|
126
|
+
### Axis 6 — CI enforcement mapping
|
|
127
|
+
|
|
128
|
+
For **every budget defined in axes 0–5**, name the enforcement tool and fail condition.
|
|
129
|
+
|
|
130
|
+
| Budget Category | Enforcement Tool | Fail Condition | Fail vs. Warn |
|
|
131
|
+
|----------------|-----------------|----------------|---------------|
|
|
132
|
+
| Web Vitals | Lighthouse CI | Score below threshold | Fail |
|
|
133
|
+
| Bundle size | size-limit | Exceeds per-page-type cap | Fail |
|
|
134
|
+
| API response time | k6 / autocannon | p95 exceeds tier target | Warn (fail after baseline) |
|
|
135
|
+
| DB query time | pgbench / query timer | p95 exceeds tier target | Warn (fail after baseline) |
|
|
136
|
+
| Desktop/mobile | Platform profiler | Any metric exceeds threshold | Warn |
|
|
137
|
+
|
|
138
|
+
Ask: "For API and DB budgets, should CI fail immediately or warn-then-fail after a baseline run?"
|
|
139
|
+
|
|
140
|
+
**Write immediately** → `.memory/wiki/specs/ENGINEERING-STANDARDS.md` § `### CI Enforcement`
|
|
141
|
+
|
|
142
|
+
## Closing Summary
|
|
143
|
+
|
|
144
|
+
Summarise all confirmed performance budgets. Ask: "Any axis you want to tighten, loosen, or add?"
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pipeline-rubrics
|
|
3
|
+
description: "Scoring rubrics for all 5 pipeline layers (Vision, Architecture, IA, BE, FE). Use when auditing specs, running self-checks, or remediating ambiguity gaps."
|
|
4
|
+
category: quality
|
|
5
|
+
risk: none
|
|
6
|
+
source: self
|
|
7
|
+
date_added: "2026-02-28"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Pipeline Rubrics
|
|
11
|
+
|
|
12
|
+
Standardized scoring rubrics for every pipeline layer. Used by audit workflows, self-checks in compilation workflows, and remediation workflows.
|
|
13
|
+
|
|
14
|
+
## When to Use This Skill
|
|
15
|
+
|
|
16
|
+
- During `/audit-ambiguity` — load the rubric for the layer being audited
|
|
17
|
+
- During document compilation self-checks — load the relevant rubric to validate before presenting
|
|
18
|
+
- During `/remediate-pipeline` — load rubrics for adversarial scoring
|
|
19
|
+
- Any time a two-implementer test is needed on a pipeline document
|
|
20
|
+
|
|
21
|
+
## How to Use
|
|
22
|
+
|
|
23
|
+
1. Identify the pipeline layer being scored
|
|
24
|
+
2. Load the matching reference file from `references/`
|
|
25
|
+
3. Score each dimension using the ✅ / ⚠️ / ❌ criteria
|
|
26
|
+
4. Apply the scoring formula from `references/scoring.md`
|
|
27
|
+
|
|
28
|
+
## Reference Files
|
|
29
|
+
|
|
30
|
+
| Layer | File | Dimensions |
|
|
31
|
+
|-------|------|------------|
|
|
32
|
+
| Vision | `references/vision-rubric.md` | 7 |
|
|
33
|
+
| Architecture | `references/architecture-rubric.md` | 15 |
|
|
34
|
+
| IA | `references/ia-rubric.md` | 8 |
|
|
35
|
+
| BE | `references/be-rubric.md` | 10 |
|
|
36
|
+
| FE | `references/fe-rubric.md` | 10 |
|
|
37
|
+
| Scoring | `references/scoring.md` | Formula + cross-layer checks |
|
|
38
|
+
|
|
39
|
+
## Two-Implementer Test
|
|
40
|
+
|
|
41
|
+
For every dimension: *"Would two different developers, reading only this spec with no other context, make the same decision?"*
|
|
42
|
+
|
|
43
|
+
- If YES with a specific citation → ✅
|
|
44
|
+
- If MAYBE or requires inference → ⚠️
|
|
45
|
+
- If NO or content is absent → ❌
|
|
46
|
+
|
|
47
|
+
## Related Skills
|
|
48
|
+
|
|
49
|
+
- `resolve-ambiguity` — resolve gaps found by rubric scoring
|
|
50
|
+
- `technical-writer` — rewrite sections that score ⚠️ or ❌
|
|
51
|
+
- `code-review-pro` — adversarial review methodology
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Architecture Rubric (15 dimensions)
|
|
2
|
+
|
|
3
|
+
| # | Dimension | ✅ (must meet ALL criteria) | ⚠️ | ❌ |
|
|
4
|
+
|---|---|---|---|---|
|
|
5
|
+
| 1 | Tech Stack Decisiveness | Every applicable axis has a named technology + rationale + what alternatives were rejected and why. No axis uses "TBD" or "standard". | Some axes decided, some TBD or rationale missing | Major axes undecided |
|
|
6
|
+
| 2 | System Architecture | Every component is named. Every communication path has a protocol. Every component has a defined failure mode and fallback. Data flow is traced end-to-end with every hop named. Observability documented: logging library named, log format specified, PII scrubbing fields named, tracing boundaries named, alerting thresholds are numbers. | Some components or flows missing, or failure modes absent, or observability present but logging/tracing/alerting any one of these is missing or undocumented | Diagram only, no flows or failure modes; or no observability section at all |
|
|
7
|
+
| 3 | Data Strategy | Every entity has a named canonical store. Every hot query path is identified. Migration strategy names the tool and approach. PII fields are enumerated by name. | Some entities without canonical store, or PII not enumerated | Sketched only |
|
|
8
|
+
| 4 | Security Model | Auth flow is step-by-step. Every role has an explicit permission list. Rate limits are numbers (not "standard"). Input validation names the library and where it runs. | Some flows vague or rate limits unspecified | Not addressed |
|
|
9
|
+
| 5 | Compliance Depth | Every regulated domain (minors, payments, health) has its own section with: account type hierarchy, consent flows, content filtering rules, audit requirements. No compliance domain is a sub-bullet. | Mentioned but in a sub-bullet without full depth | Not addressed |
|
|
10
|
+
| 6 | API Design | Versioning strategy is named. Error format is defined (fields, types). Pagination strategy is named with parameters. Rate limit headers are specified. | Some conventions missing | Not addressed |
|
|
11
|
+
| 7 | Integration Robustness | Every external service has: what it provides + failure mode + fallback strategy + cost model. No external is listed without a fallback. | Some externals missing fallback or cost model | Externals unnamed |
|
|
12
|
+
| 8 | Phasing Clarity | Every phase has: entry criteria + exit criteria + dependency list. No phase uses "when ready" as a criterion. | Phases listed without entry/exit criteria | No phasing |
|
|
13
|
+
| 9 | Engineering Standards | Every threshold is a concrete number (coverage %, response time ms, bundle size KB). No threshold uses "good", "acceptable", or "TBD". Every threshold row names its enforcement tool (CI action, load test, profiler) — a threshold without a named enforcement tool is treated as incomplete. Performance budgets are per-page-type for web/desktop and per-tier for API and DB. | Some thresholds concrete but enforcement tool missing for one or more rows, or budgets use a single number for the whole app rather than per-page-type or per-tier | Thresholds missing entirely, or majority lack enforcement mechanisms |
|
|
14
|
+
| 10 | Persistence Architecture | Persistence map complete — all query types (find, store, relate, rank/search) mapped to a named store with rationale. Every entity spanning multiple stores has a documented cross-store consistency contract covering: canonical ID, creation sequence (with failure recovery), deletion cascade, and read join strategy. No store is chosen without a traced feature requirement. | Persistence map present but one or more cross-store entities missing their full consistency contract | No persistence map; single DATABASE decision with no query-type analysis |
|
|
15
|
+
| 11 | Error Architecture | Global error envelope defined with all four fields typed and a locked example JSON produced. Error propagation chain documents every layer (DB, service, API handler, transport, client) with explicit catch/log/expose rules. Unhandled exception strategy names the process-level mechanism, log fields, client response, and alerting timeline. Client fallback contract covers every surface with offline decision, UI behaviour, retry strategy, and timeout. Error boundary strategy names placement and fallback rendering for all applicable surfaces. | Envelope defined but propagation chain incomplete, or client fallback missing for one surface | No global error envelope; error handling left to individual spec writers |
|
|
16
|
+
| 12 | Attack Surface Coverage | Secret management plan documented (storage, access policy, rotation). Dependency audit cadence named with CI gate behaviour. Web surface: all OWASP Top 10 categories addressed with named mechanisms (not "handled by framework"). API surface: BOLA/IDOR addressed with per-endpoint ownership check strategy. Security headers documented with configured values (not just "enabled"). Observability: logging strategy documented (library, format, PII fields named), tracing documented (boundaries, sampling rate), alerting thresholds named with numbers. | Some surface checks present but one or more OWASP categories use vague mechanisms, or security headers missing configured values, or observability partially documented | No attack surface review present; secret management not documented |
|
|
17
|
+
| 13 | Observability & Operability Strategy | Runbook locations are named and linked. On-call escalation path defined with owner, contact method, and escalation timeline. At least one dashboard per service named with its hosting location. SLO defined per critical endpoint with a numeric target (e.g., "p99 < 300ms"). Mean-time-to-detection strategy named (what triggers the alert, which tool, which threshold number). Alert fatigue strategy addressed (severity tiers defined, silencing rules documented). | Some items present but runbooks missing, or SLOs not numeric, or escalation path absent, or dashboard named without hosting location | No operability strategy; observability only mentioned as sub-bullets in other dimensions with no dedicated analysis |
|
|
18
|
+
| 14 | Cost Architecture | Baseline cost documented (cost at 0 users / idle infrastructure). Scaling curve documented for at least two load points (e.g., 1k and 10k users) showing which component drives cost growth. Highest-cost operation per user action identified by name. Cost observability mechanism named (specific tool or method for seeing cost per feature or endpoint). Budget ceiling defined with a number and currency. | Cost mentioned but scaling curve absent, or budget ceiling missing, or no per-operation analysis, or cost observability mechanism unnamed | No cost analysis present; cost considerations absent from the architecture document |
|
|
19
|
+
| 15 | Testability Architecture | Test suite can run without live external network calls — dependency injection or service mocking strategy is named explicitly. Service boundaries are injectable for mocking (confirmed, not assumed). Local-dev environment topology mirrors production (or deviations are explicitly documented with rationale). Architecture avoids global shared mutable state that would create test-order dependencies — or an isolation strategy is named. Integration test data strategy documented (seed data approach, factory pattern, or test containers named). | Some criteria met but mocking strategy missing or undocumented, or local-dev parity undocumented, or test data strategy absent | No testability architecture consideration; testability left entirely to the implementation phase with no architectural decisions to support it |
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# BE Rubric (11 dimensions)
|
|
2
|
+
|
|
3
|
+
| # | Dimension | ✅ (must meet ALL criteria) | ⚠️ | ❌ |
|
|
4
|
+
|---|---|---|---|---|
|
|
5
|
+
| 1 | Upstream Traceability | (a) Every endpoint cites its IA source shard + section. (b) Every schema field traces to an IA data model field. No endpoint is "inferred" from context. (c) Every sub-feature listed in the IA shard's `## Features` is represented by at least one endpoint in the BE spec — a sub-feature with zero endpoints and no explicit `[Deferred to Phase N]` note is a gap. | Some endpoints or fields missing IA citations, or ≤20% of sub-features lack endpoint representation | Orphan endpoints with no IA source, or >20% of sub-features have no endpoint and no deferral note |
|
|
6
|
+
| 2 | Contract Completeness | Every endpoint has: {{CONTRACT_LIBRARY}} request schema (all fields typed) + {{CONTRACT_LIBRARY}} response schema (all fields typed) + error schema. No field uses `any`, `unknown`, or untyped `string` where a more specific type exists. | Some schemas present but fields untyped or missing | Major schemas absent |
|
|
7
|
+
| 3 | Error Exhaustiveness | Every endpoint has: HTTP status code + application error code (not just HTTP) + error message format + retry guidance. No endpoint uses "standard error handling" without defining it. | Some endpoints missing error codes or retry guidance | Generic 500s or no error section |
|
|
8
|
+
| 4 | Schema Completeness | Every database table has: all fields with types + constraints (nullable, unique, indexed) + relationships with foreign keys + indexes for every query pattern. No field uses "standard" constraints without defining them. | Constraints or indexes missing | Sketched only |
|
|
9
|
+
| 5 | Middleware Explicitness | Every endpoint has an explicit middleware matrix: auth required (yes/no) + rate limit (number/window) + input validation (where it runs) + CORS policy. No endpoint inherits "default middleware" without defining it. | Some endpoints missing middleware entries | No matrix |
|
|
10
|
+
| 6 | State Transitions | Every stateful entity has a state machine: all states named + all valid transitions + what triggers each transition + what's blocked in each state. | Lifecycle mentioned but transitions or triggers missing | No lifecycle |
|
|
11
|
+
| 7 | Concurrency | Every write operation has an explicit concurrency strategy: optimistic locking, pessimistic locking, idempotency key, or "single writer" with justification. No operation uses "handle concurrency" without a named strategy. | Mentioned but strategy not named | Not addressed |
|
|
12
|
+
| 8 | Pagination & Limits | Every list endpoint has: pagination strategy (cursor/offset) + page size (default + max) + sort options + filter options. No endpoint uses "standard pagination" without defining it. | Some list endpoints missing pagination or limits | No strategy |
|
|
13
|
+
| 9 | Integration Seams | Every external service call has: request format + response format + timeout (ms) + retry policy (count + backoff) + circuit breaker behavior. No integration uses "standard retry" without defining it. | Some integrations missing timeout or retry policy | Unnamed externals |
|
|
14
|
+
| 10 | Security Rules | Every endpoint has explicit: authentication requirement + authorization check (which roles) + input sanitization + output filtering (what's excluded from response). No endpoint uses "standard security" without defining it. | Some endpoints missing auth or authz specification | Not mentioned |
|
|
15
|
+
| 11 | Global Error Envelope Conformance | Every endpoint's error section explicitly cites the global error envelope from `architecture-design.md` `## Error Architecture` (e.g., `[error-architecture]` reference or direct quote of the envelope shape). No endpoint defines its own error shape that differs from the global envelope. The `code` field in every error response uses the application-specific enum, not a raw HTTP status string. | Envelope referenced on most endpoints but one or more endpoints define a local error shape without justification | No reference to the global error envelope anywhere in the spec; each endpoint invents its own error shape |
|
|
16
|
+
|
|
17
|
+
> **Dimension 1 audit procedure**:
|
|
18
|
+
> 1. Read the IA shard's `## Features` section and list every Level-1 sub-feature.
|
|
19
|
+
> 2. For each sub-feature, search the BE spec for at least one endpoint that implements it. An endpoint "implements" a sub-feature if it directly creates, reads, updates, or deletes data for that capability.
|
|
20
|
+
> 3. If a sub-feature has no endpoint, check for an explicit `[Deferred to Phase N — reason]` note in the endpoint completeness reconciliation table. If neither an endpoint nor a deferral note exists, score it as a gap.
|
|
21
|
+
> 4. Score: ✅ if all sub-features are represented. ⚠️ if ≤20% of sub-features lack representation. ❌ if >20% of sub-features have no endpoint and no deferral note.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# FE Rubric (11 dimensions)
|
|
2
|
+
|
|
3
|
+
| # | Dimension | ✅ (must meet ALL criteria) | ⚠️ | ❌ |
|
|
4
|
+
|---|---|---|---|---|
|
|
5
|
+
| 1 | Upstream Traceability | Every component cites its BE source spec + field. Every page cites its IA user flow. No component is "inferred" from context. | Some components or pages missing source citations | No mapping |
|
|
6
|
+
| 2 | Component Inventory | (a) Every component has: name + props interface (all props typed) + children + variants. No component uses "standard props" or "typical interface". (b) Every IA user flow maps to at least one component or page entry in the FE spec — no user flow is unrepresented. (c) Every role-based rendering variant from the conditional rendering matrix (produced during `/write-fe-spec-classify` Step 4c.5) appears as a named component variant. | Some components missing props or variants, or some IA user flows not mapped to any component, or some conditional rendering variants missing | Vague component list, or IA user flows largely unrepresented, or no conditional rendering variants defined |
|
|
7
|
+
| 3 | State Management | Every piece of state is classified: server state (which query) + client state (which store) + URL state (which param). Loading, error, and empty states are defined for every async operation. | Some state unclassified or async states missing | Unspecified |
|
|
8
|
+
| 4 | Interactions | Every interactive element has: trigger + action + feedback (visual + timing). Every form has: validation rules + error display + submission behavior + success behavior. | Some interactions implicit or missing feedback | Unspecified |
|
|
9
|
+
| 5 | Routing | Every route has: URL pattern + auth guard (yes/no + redirect target) + page component + meta (title, description). No route uses "standard guard" without defining it. | Some routes missing guards or meta | Vague |
|
|
10
|
+
| 6 | Responsive | Every component has behavior defined at: mobile (≤768px) + tablet (769–1024px) + desktop (≥1025px). No component uses "responsive" without defining the behavior at each breakpoint. | Mobile mentioned but tablet/desktop missing | Not addressed |
|
|
11
|
+
| 7 | Accessibility | Every interactive element has: ARIA role + keyboard navigation + screen reader label. Every image has alt text policy. WCAG level is named. | Partial — some elements missing ARIA or keyboard nav | Not addressed |
|
|
12
|
+
| 8 | Error/Loading States | Every data-fetching view has: loading skeleton/spinner + error message + retry action + empty state. No state uses "standard loading" without defining it. | Some states missing or using generic messages | None |
|
|
13
|
+
| 9 | Performance | Every page has: bundle size budget + lazy loading strategy for heavy components + image optimization policy. No page uses "optimized" without a number. | Some pages missing budgets or lazy loading strategy | Not addressed |
|
|
14
|
+
| 10 | Security Rules | Every form has: CSRF protection + input sanitization + output encoding. Every auth-gated view has: token validation + expiry handling + redirect on failure. | Some forms or views missing security rules | Not mentioned |
|
|
15
|
+
| 11 | Design System Consistency | Every page component names its page archetype from design-system.md. Every loading/error/empty state uses the confirmed design language (skeleton vs. spinner, toast vs. inline error — no invention). Every navigation element is drawn from the global component inventory (not re-implemented). Motion durations and easing match the confirmed motion language. | Some components naming archetype but others missing; or some states using non-standard patterns | No reference to design-system.md; components invent their own layout conventions |
|
|
16
|
+
|
|
17
|
+
> **Dimension 2 audit procedure**:
|
|
18
|
+
> 1. Read the IA shard's `## User Interactions` section and list every user flow (each trigger → action → response sequence counts as one flow).
|
|
19
|
+
> 2. For each user flow, search the FE spec's `## Component Inventory` and `## Page/Route Definitions` for at least one component or page entry that implements it. A flow is "implemented" if a component or page handles the trigger and renders the expected response. Score ⚠️ if some flows are unmapped. Score ❌ if IA user flows are largely unrepresented.
|
|
20
|
+
> 3. Read the conditional rendering matrix from `/write-fe-spec-classify` Step 4c.5. For each non-trivial cell (any value other than `full` for the majority role), verify the FE spec's component inventory includes a named variant for that role × feature combination. Score ⚠️ if some variants are missing. Score ❌ if no conditional rendering variants are defined.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# IA Rubric (8 dimensions)
|
|
2
|
+
|
|
3
|
+
| # | Dimension | ✅ (must meet ALL criteria) | ⚠️ | ❌ |
|
|
4
|
+
|---|---|---|---|---|
|
|
5
|
+
| 1 | Feature Enumeration | (a) Every feature from the ideation index's Must Have list appears in at least one shard. (b) Every feature has a clear scope boundary (what's in, what's out). (c) Every shard's `## Features` section contains Level-1 sub-features from the ideation domain tree (folder index + feature files) — not architecture headlines — and every sub-feature is represented in at least one section body (User Interactions, Data Model, Access Control, or Edge Cases). | Some features vague, scope unclear, or sub-features listed in `## Features` but not represented in any section body | Major Must Have features missing, or `## Features` contains only architecture headlines with no sub-feature detail |
|
|
6
|
+
| 2 | Access Model | Every role has: a named role + an exhaustive list of what it CAN do + an exhaustive list of what it CANNOT do + escalation path. No role uses "standard access" without defining it. | Some roles defined but missing permission or restriction lists | No access model |
|
|
7
|
+
| 3 | Data Model | Every entity has: named fields + field types + constraints + relationships with cardinality. No field uses "standard" or "typical" without defining it. | Structure present but field types or constraints missing | Absent |
|
|
8
|
+
| 4 | User Flows | Every user flow has: trigger + step-by-step actions + system responses + error paths. No flow ends at "success" without defining what success looks like. | Happy path only, or flows missing error paths | None |
|
|
9
|
+
| 5 | Cross-Shard Contracts | Every cross-shard reference is bidirectional and cites the specific section in the referenced shard. No reference uses "see shard N" without a section name. | One-way references or missing section citations | None |
|
|
10
|
+
| 6 | Edge Cases | Every feature has ≥3 edge cases covering: concurrent access, invalid input, and deletion/cascade. No edge case uses "handle gracefully" without defining the handling. | Some edge cases listed but fewer than 3 per feature, or vague handling | None |
|
|
11
|
+
| 7 | Deep Dive Coverage | Every referenced deep dive file exists and contains exhaustive subsystem detail (technology choice + rationale + phasing + failure modes + integration contracts). No deep dive is a skeleton. | Some deep dives exist but are partial or skeleton | Referenced deep dives missing or empty |
|
|
12
|
+
| 8 | Testability | Every feature has ≥1 acceptance criterion in Given/When/Then format. No criterion uses "should work" or "should be fast" without a measurable threshold. | Some criteria present but not in Given/When/Then or missing thresholds | Mostly subjective |
|
|
13
|
+
|
|
14
|
+
> **Deep Dive audit note**: When auditing dimension 7, read each deep dive file directly — do not infer its completeness from the parent shard's reference to it. A parent shard that links to a deep dive scores ⚠️ (not ✅) if the deep dive file itself is still a skeleton. Score ✅ only when the deep dive file contains exhaustive subsystem detail that an implementer could work from without asking questions.
|
|
15
|
+
|
|
16
|
+
> **Dimension 1 audit procedure**:
|
|
17
|
+
> 1. Read `.memory/wiki/specs/ideation/ideation-index.md` and the relevant ideation domain folders (use Structure Map for correct paths — folders are under `domains/` or `surfaces/{name}/`). For each domain, read the folder's `*-index.md` for the children table, then each child feature file to extract the authoritative list of Level-1 sub-features per domain.
|
|
18
|
+
> 2. For each shard, open `.memory/wiki/specs/ia/[NN-domain-name].md` and confirm every sub-feature from step 1 appears in the `## Features` section. Score ❌ if Must Have sub-features are missing entirely.
|
|
19
|
+
> 3. For each sub-feature listed in `## Features`, verify it is represented in at least one section body (User Interactions, Data Model, Access Control, or Edge Cases). A sub-feature that appears only as a headline in `## Features` but has no corresponding detail in any section body scores ⚠️ — headline only = warning, not pass.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Scoring Formula
|
|
2
|
+
|
|
3
|
+
- ✅ = 0 points, ⚠️ = 0.5 points, ❌ = 1 point
|
|
4
|
+
- `ambiguity% = (points / applicable_checkpoints) × 100`
|
|
5
|
+
- Gaps found during Implementer Simulation are added directly to the punch list as ❌ items and also count toward the ambiguity score.
|
|
6
|
+
|
|
7
|
+
## Cross-Layer Consistency Checks
|
|
8
|
+
|
|
9
|
+
Run after all per-document scoring is complete, whenever the current layer is BE, FE, or the scope is `all`.
|
|
10
|
+
|
|
11
|
+
| Check | How to Verify |
|
|
12
|
+
|-------|---------------|
|
|
13
|
+
| IA → BE coverage | For each user flow in each IA shard, verify a BE endpoint exists that handles it. Orphan endpoints or uncovered flows are ❌. |
|
|
14
|
+
| BE → FE field mapping | For each BE response field, verify at least one FE component prop consumes it. Unmapped fields or props are ❌. |
|
|
15
|
+
| IA → FE access control | For each access control rule in each IA shard, verify the FE spec has corresponding conditional rendering. Missing conditional rendering is ❌. |
|
|
16
|
+
| Error code coverage | For each BE error code, verify the FE spec has a corresponding error state. Missing error states are ❌. |
|
|
17
|
+
|
|
18
|
+
Write all cross-layer findings to a `## Cross-Layer Consistency` section in the layer's ambiguity report.
|
|
19
|
+
|
|
20
|
+
## Document-to-Layer Mapping
|
|
21
|
+
|
|
22
|
+
> **MANDATORY**: EVERY file matching these patterns MUST be individually audited through the full 3a→3b→3c cycle. Do NOT skip documents because rubric dimensions can be "mapped" to synthesized files. Do NOT read only "key documents" or "representative samples." The audit scope is EVERY file listed — no exceptions, no optimizations, no shortcuts.
|
|
23
|
+
|
|
24
|
+
Use filesystem tools (`find_by_name`, `list_dir`) to discover ALL matching files. Write every discovered path to `audit-scope.md`.
|
|
25
|
+
|
|
26
|
+
| Layer | Documents to load |
|
|
27
|
+
|-------|-------------------|
|
|
28
|
+
| Ideation | Use filesystem tools to recursively list ALL `.md` files under `.memory/wiki/specs/ideation/`. Include every `*-index.md`, `*-cx.md`, feature `.md`, and `meta/*.md` file. For multi-surface projects, scan `surfaces/` subdirectories too. Every file found is audited — no selection, no sampling. |
|
|
29
|
+
| Architecture | `.memory/wiki/specs/*-architecture-design.md`, `.memory/wiki/specs/ENGINEERING-STANDARDS.md` |
|
|
30
|
+
| IA | `.memory/wiki/specs/ia/index.md` + each shard listed + `.memory/wiki/specs/ia/deep-dives/*.md` (list directory; include all files present) |
|
|
31
|
+
| BE | `.memory/wiki/specs/be/index.md` + each spec listed |
|
|
32
|
+
| FE | `.memory/wiki/specs/fe/index.md` + each spec listed |
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Vision Rubric (8 dimensions)
|
|
2
|
+
|
|
3
|
+
| # | Dimension | ✅ (must meet ALL criteria) | ⚠️ | ❌ |
|
|
4
|
+
|---|---|---|---|---|
|
|
5
|
+
| 1 | Problem Clarity | Single sentence. Names a specific user. Names a specific pain. Is falsifiable. | Vague, multi-problem, or untestable | Missing |
|
|
6
|
+
| 2 | Persona Specificity | Each persona has: name + role + specific pain point + current workaround + success criteria + switching trigger. No persona uses "users" or "customers" without a role. | Named but missing ≥1 required field | Missing or generic "users" |
|
|
7
|
+
| 3 | Feature Completeness | Every Must Have has ≥2 levels of sub-features. Every sub-feature has at least one edge case. MoSCoW categories are mutually exclusive. | Some Must Haves at Level 1 only, or missing edge cases | Missing MoSCoW or major features absent |
|
|
8
|
+
| 4 | Constraint Explicitness | Every axis (budget, timeline, team size, compliance, performance) has a specific value or explicit "not applicable". No axis uses "standard" or "TBD". | Some axes addressed, some missing or vague | Missing |
|
|
9
|
+
| 5 | Success Measurability | Every metric is a number with a unit and a timeframe (e.g., "p95 < 500ms at launch"). No metric uses "fast", "good", or "acceptable". | Directional only | Missing |
|
|
10
|
+
| 6 | Competitive Positioning | ≥3 named competitors. Differentiation is a specific capability gap. Moat is a defensible mechanism. | Vague positioning or <3 competitors | Not addressed |
|
|
11
|
+
| 7 | Open Question Resolution | Every open question has: owner + deadline + what decision it blocks. No question is listed without an owner. | Questions listed, no owners or deadlines | No questions section |
|
|
12
|
+
| 8 | Structural Compliance | Every domain folder has `*-index.md` + `*-cx.md`. Role Matrix populated in every domain index. Feature files have Role Lens. Structure Map in `ideation-index.md` matches actual folder tree. No Classification Gate violations (no folders with 1 child, no flat features with ≥3 sub-features). | Structure exists but some folders missing CX or Role Matrix is partially empty | No fractal structure, or flat files used instead of folders |
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-phase
|
|
3
|
+
description: Orchestrate phase planning into dependency-ordered TDD slices with preflight gates and write/finalization flow
|
|
4
|
+
parameters:
|
|
5
|
+
- name: phase
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional phase identifier override (defaults to current phase from progress index)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Runs phase planning in two shards: preflight → write.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
|
|
18
|
+
1. IA, BE, and FE spec layers are fully complete
|
|
19
|
+
2. Phase progression state exists in `.memory/pipeline/progress/`
|
|
20
|
+
3. Architecture phasing section and spec indexes are available
|
|
21
|
+
|
|
22
|
+
## Step-by-Step
|
|
23
|
+
|
|
24
|
+
### Step 0 — Full-layer readiness gate
|
|
25
|
+
|
|
26
|
+
1. Verify `.memory/wiki/specs/ia/index.md`, `.memory/wiki/specs/be/index.md`, and `.memory/wiki/specs/fe/index.md` exist.
|
|
27
|
+
2. Verify all required entries in each index are complete.
|
|
28
|
+
3. If any layer is incomplete: stop and route to missing spec workflow.
|
|
29
|
+
|
|
30
|
+
### Step 1 — Run preflight shard
|
|
31
|
+
|
|
32
|
+
Call skill: `plan-phase-preflight`
|
|
33
|
+
|
|
34
|
+
Expected outputs:
|
|
35
|
+
- phase sequencing gate result
|
|
36
|
+
- completeness audit result
|
|
37
|
+
- cross-layer consistency report
|
|
38
|
+
- draft continuity decision
|
|
39
|
+
|
|
40
|
+
### Step 2 — Run write shard
|
|
41
|
+
|
|
42
|
+
Call skill: `plan-phase-write`
|
|
43
|
+
|
|
44
|
+
Expected outputs:
|
|
45
|
+
- `.memory/wiki/specs/phases/phase-N.md`
|
|
46
|
+
- `.memory/wiki/specs/phases/phase-N-draft.md`
|
|
47
|
+
- generated progress files in `.memory/pipeline/progress/`
|
|
48
|
+
- verified bootstrap/map completeness for planning prerequisites
|
|
49
|
+
|
|
50
|
+
## Completion Checklist
|
|
51
|
+
|
|
52
|
+
- [ ] full-layer readiness confirmed
|
|
53
|
+
- [ ] preflight shard completed
|
|
54
|
+
- [ ] write shard completed
|
|
55
|
+
- [ ] phase plan and progress artifacts generated
|
|
56
|
+
- [ ] review requested and workflow paused for approval
|
|
57
|
+
- [ ] next valid command recommendation emitted
|
|
58
|
+
|
|
59
|
+
## Next Steps
|
|
60
|
+
|
|
61
|
+
After explicit approval, the only valid next command is:
|
|
62
|
+
- `/implement-slice` (starting with first dependency-ordered slice)
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-phase-preflight
|
|
3
|
+
description: Validate sequencing and cross-layer readiness before phase slicing, including coverage and consistency hard gates
|
|
4
|
+
parameters:
|
|
5
|
+
- name: phase
|
|
6
|
+
type: string
|
|
7
|
+
required: false
|
|
8
|
+
description: Optional explicit phase number override
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
1. Approved IA/BE/FE specs exist
|
|
17
|
+
2. Progress state files exist under `.memory/pipeline/progress/`
|
|
18
|
+
|
|
19
|
+
## Step-by-Step
|
|
20
|
+
|
|
21
|
+
### Step 0 — Phase sequencing gate
|
|
22
|
+
|
|
23
|
+
1. Read `.memory/pipeline/progress/index.md` for current phase number.
|
|
24
|
+
2. If planning Phase N>1, verify Phase N-1 is complete and has passing `/validate-phase`.
|
|
25
|
+
3. Run architecture map freshness warning gate for N>1 (warning + user resolution).
|
|
26
|
+
|
|
27
|
+
### Step 1 — Planning skill load
|
|
28
|
+
|
|
29
|
+
1. Load testing-strategist and technical-writer planning guidance.
|
|
30
|
+
|
|
31
|
+
### Step 2 — Application completeness audit
|
|
32
|
+
|
|
33
|
+
1. Read surfaces from tech-stack map.
|
|
34
|
+
2. Run only applicable checks by surface class:
|
|
35
|
+
- route coverage
|
|
36
|
+
- navigation coverage
|
|
37
|
+
- auth state coverage
|
|
38
|
+
- empty/error states
|
|
39
|
+
- onboarding
|
|
40
|
+
- web/desktop global error pages
|
|
41
|
+
- cli help/exit/discovery coverage
|
|
42
|
+
3. If any applicable check fails, stop and require FE spec remediation.
|
|
43
|
+
|
|
44
|
+
### Step 3 — Cross-layer consistency hard gates
|
|
45
|
+
|
|
46
|
+
1. Run BE↔FE coverage checks (with internal-only exception handling).
|
|
47
|
+
2. Enforce minimum consistency checks:
|
|
48
|
+
- field mapping integrity
|
|
49
|
+
- BE error code FE propagation
|
|
50
|
+
- access-control role consistency
|
|
51
|
+
- IA→BE contract drift
|
|
52
|
+
- optimistic update rollback support
|
|
53
|
+
3. If mismatches exist, stop and require resolution.
|
|
54
|
+
|
|
55
|
+
### Step 4 — Feature ledger verification (conditional)
|
|
56
|
+
|
|
57
|
+
1. If feature ledger exists, verify no orphan statuses in IA/BE/FE columns.
|
|
58
|
+
2. Block progression when orphaned features remain.
|
|
59
|
+
|
|
60
|
+
### Step 5 — Draft continuity decision
|
|
61
|
+
|
|
62
|
+
1. Detect existing `.memory/wiki/specs/phases/phase-N-draft.md`.
|
|
63
|
+
2. Require explicit user decision to continue missing slices vs start fresh.
|
|
64
|
+
|
|
65
|
+
## Completion Checklist
|
|
66
|
+
|
|
67
|
+
- [ ] sequencing gate passed
|
|
68
|
+
- [ ] completeness audit passed for applicable surfaces
|
|
69
|
+
- [ ] cross-layer consistency checks passed
|
|
70
|
+
- [ ] feature ledger verification passed (or skipped if absent)
|
|
71
|
+
- [ ] draft continuity decision captured
|
|
72
|
+
|
|
73
|
+
## Next Steps
|
|
74
|
+
|
|
75
|
+
- Run `plan-phase-write`
|