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,90 @@
|
|
|
1
|
+
# FE Spec Template
|
|
2
|
+
|
|
3
|
+
Use this template when writing FE specs to `.memory/wiki/specs/fe/[NN-feature-name].md`.
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
# [Feature] — Frontend Specification
|
|
7
|
+
|
|
8
|
+
> **BE Source**: [link to BE spec(s), or N/A for cross-cutting]
|
|
9
|
+
> **IA Source**: [link to IA shard, or N/A for cross-cutting]
|
|
10
|
+
> **Status**: Draft | Review | Complete
|
|
11
|
+
|
|
12
|
+
## Split Group _(include only if this spec resulted from a split)_
|
|
13
|
+
|
|
14
|
+
> **Split origin**: [IA shard that was split, e.g., `09-messaging`]
|
|
15
|
+
> **Companion specs**: [sibling FE spec files, e.g., `09b-agent-flow-ui.md`]
|
|
16
|
+
> **Shared entities**: [data models shared across companions, e.g., `Message`, `Thread`]
|
|
17
|
+
|
|
18
|
+
## Source Map
|
|
19
|
+
|
|
20
|
+
| FE Spec Section | Source | Section/Lines |
|
|
21
|
+
|-----------------|--------|---------------|
|
|
22
|
+
| Component Inventory | [be-spec.md or conventions] | § Response Contracts |
|
|
23
|
+
| Page/Route Definitions | [ia-shard.md or conventions] | § User Flows |
|
|
24
|
+
| Interactions | [ia-shard.md or conventions] | § User Flows + § Edge Cases |
|
|
25
|
+
| Accessibility | [ia-shard.md or conventions] | § Accessibility (lines N–M) |
|
|
26
|
+
| Responsive Behavior | [ia-shard.md or conventions] | § Device Strategy |
|
|
27
|
+
| Data Mapping | [be-spec.md or conventions] | § Request/Response Contracts |
|
|
28
|
+
|
|
29
|
+
## Design Requirements
|
|
30
|
+
**Direction**: [from brand-guidelines — confirmed direction]
|
|
31
|
+
**Typography**: [font/size/weight per text element]
|
|
32
|
+
**Colors**: [primary/secondary/accent for default, hover, active, disabled, error states]
|
|
33
|
+
**Motion**: [animation/transition behavior, or "none"]
|
|
34
|
+
**Anti-patterns**: [what AI slop looks like for this component and how to avoid it]
|
|
35
|
+
|
|
36
|
+
## Design System Compliance
|
|
37
|
+
**Page archetype(s)**: [name the archetype(s) from design-system.md]
|
|
38
|
+
**Navigation**: [confirm which nav elements this spec uses from the global component inventory]
|
|
39
|
+
**Loading states**: [confirm skeleton vs. spinner — cite design-system.md rule]
|
|
40
|
+
**Error states**: [confirm inline/toast/full-page/boundary — cite design-system.md rule for each context]
|
|
41
|
+
**Empty states**: [confirm illustration style and copy tone from design-system.md]
|
|
42
|
+
|
|
43
|
+
## Component Inventory
|
|
44
|
+
[Tree with props interfaces]
|
|
45
|
+
|
|
46
|
+
## Page/Route Definitions
|
|
47
|
+
[URL patterns, guards, redirects]
|
|
48
|
+
|
|
49
|
+
## State Management
|
|
50
|
+
[Server state, client state, URL state, loading/error/empty]
|
|
51
|
+
|
|
52
|
+
## Interaction Specification
|
|
53
|
+
[Click, hover, keyboard, form validation matching {{CONTRACT_LIBRARY}}]
|
|
54
|
+
|
|
55
|
+
## Responsive Behavior
|
|
56
|
+
[Breakpoints, component behavior per breakpoint]
|
|
57
|
+
|
|
58
|
+
## Accessibility
|
|
59
|
+
[ARIA roles, keyboard nav, screen reader, WCAG compliance]
|
|
60
|
+
|
|
61
|
+
## Data Mapping
|
|
62
|
+
[Which BE response fields map to which component props]
|
|
63
|
+
|
|
64
|
+
## Open Questions
|
|
65
|
+
|
|
66
|
+
## Changelog
|
|
67
|
+
|
|
68
|
+
| Date | Change | Workflow | Sections Affected |
|
|
69
|
+
|------|--------|----------|-------------------|
|
|
70
|
+
| [date] | Initial creation | /write-fe-spec | All |
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Quality Gates Checklist
|
|
74
|
+
|
|
75
|
+
Apply after writing every FE spec:
|
|
76
|
+
|
|
77
|
+
- [ ] Every component has a props interface
|
|
78
|
+
- [ ] Every interactive element has defined behavior
|
|
79
|
+
- [ ] Every data field maps to a BE response field (if applicable)
|
|
80
|
+
- [ ] Loading, error, and empty states defined for every data-fetching view
|
|
81
|
+
- [ ] Accessibility requirements meet WCAG 2.1 AA
|
|
82
|
+
- [ ] Responsive behavior specified for all breakpoints
|
|
83
|
+
- [ ] IA shard's accessibility section fully consumed (not re-derived from BE spec)
|
|
84
|
+
- [ ] IA shard's user flows reflected in interaction specification
|
|
85
|
+
- [ ] Account-tier conditional rendering rules from IA access model included
|
|
86
|
+
- [ ] Source Map is complete — no FE spec section lacks a traceable source
|
|
87
|
+
- [ ] Design Requirements section filled from brand-guidelines (not placeholders)
|
|
88
|
+
- [ ] Page archetype named and matches design-system.md
|
|
89
|
+
- [ ] All loading/error/empty states use the confirmed design language from design-system.md
|
|
90
|
+
- [ ] No global component re-invented (consuming from global inventory, not re-implementing)
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Feature Tracking Ledger Protocol
|
|
2
|
+
|
|
3
|
+
> **Purpose**: Track every ideation feature through the entire pipeline — from birth in ideation to final slice assignment. Catches dropped features that per-stage reconciliation tables miss.
|
|
4
|
+
|
|
5
|
+
## Ledger Location
|
|
6
|
+
|
|
7
|
+
`.memory/wiki/specs/feature-ledger.md`
|
|
8
|
+
|
|
9
|
+
## Ledger Format
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Feature Tracking Ledger
|
|
13
|
+
|
|
14
|
+
> Auto-generated by `/ideate-validate`. Updated by each pipeline stage.
|
|
15
|
+
> Each column is populated by the stage that owns it (see Column Ownership below).
|
|
16
|
+
|
|
17
|
+
| Feature ID | Feature Name | Domain | MoSCoW | IA Shard | IA Status | BE Spec | BE Status | FE Spec | FE Status | Phase | Slice |
|
|
18
|
+
|-----------|-------------|--------|--------|----------|-----------|---------|-----------|---------|-----------|-------|-------|
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Column Ownership
|
|
22
|
+
|
|
23
|
+
| Column(s) | Populated By | Stage |
|
|
24
|
+
|-----------|-------------|-------|
|
|
25
|
+
| Feature ID, Feature Name, Domain, MoSCoW | `/ideate-validate` Step 11.5 | Discovery |
|
|
26
|
+
| IA Shard, IA Status | `/decompose-architecture-validate` | Design |
|
|
27
|
+
| BE Spec, BE Status | `/write-be-spec-write` | Specification |
|
|
28
|
+
| FE Spec, FE Status | `/write-fe-spec-write` | Specification |
|
|
29
|
+
| Phase, Slice | `/plan-phase-write` Step 2.5 | Planning |
|
|
30
|
+
|
|
31
|
+
## Status Values
|
|
32
|
+
|
|
33
|
+
| Status | Meaning |
|
|
34
|
+
|--------|---------|
|
|
35
|
+
| ✅ | Covered — spec exists and includes this feature |
|
|
36
|
+
| ⚠️ deferred | Explicitly deferred with documented reason |
|
|
37
|
+
| ❌ missing | Not covered — no spec addresses this feature |
|
|
38
|
+
| — | Column not yet populated (upstream stage hasn't run) |
|
|
39
|
+
|
|
40
|
+
## Step 1 — Ledger Creation (`/ideate-validate`)
|
|
41
|
+
|
|
42
|
+
**When**: After Step 11 (compile vision), before Step 12 (request review).
|
|
43
|
+
|
|
44
|
+
**Procedure**:
|
|
45
|
+
|
|
46
|
+
1. Read `ideation-index.md` → Structure Map → get all domain paths
|
|
47
|
+
2. For each domain, read `{domain}-index.md` → Children table
|
|
48
|
+
3. For each leaf-level child (type = `feature`), create one ledger row:
|
|
49
|
+
- **Feature ID**: `{domain-name}/{feature-file-basename}` (e.g., `inventory/01-categories`)
|
|
50
|
+
- **Feature Name**: from the Children table Name column
|
|
51
|
+
- **Domain**: domain name
|
|
52
|
+
- **MoSCoW**: from `ideation-index.md` MoSCoW Summary (match by feature name), or from the feature's own priority field if available
|
|
53
|
+
4. All other columns → `—` (not yet populated)
|
|
54
|
+
5. Write to `.memory/wiki/specs/feature-ledger.md`
|
|
55
|
+
|
|
56
|
+
> **Context management**: Read domain indexes one at a time, extract features, move on. Same pattern as the deep-ideation-loading protocol.
|
|
57
|
+
|
|
58
|
+
## Step 2 — IA Assignment (`/decompose-architecture-validate`)
|
|
59
|
+
|
|
60
|
+
**When**: After shard boundaries are approved and shard skeletons exist.
|
|
61
|
+
|
|
62
|
+
**Procedure**:
|
|
63
|
+
|
|
64
|
+
1. Read `.memory/wiki/specs/feature-ledger.md`
|
|
65
|
+
2. For each IA shard skeleton in `.memory/wiki/specs/ia/`:
|
|
66
|
+
- Read the shard's `## Sub-features` or features list
|
|
67
|
+
- For each feature, find the matching row in the ledger (match by Feature ID or Feature Name)
|
|
68
|
+
- Set **IA Shard** = shard name (e.g., `02-inventory`)
|
|
69
|
+
- Set **IA Status** = `✅`
|
|
70
|
+
3. **Orphan check**: Any row where IA Shard is still `—` after processing all shards → set IA Status = `❌ missing`
|
|
71
|
+
4. Write updated ledger
|
|
72
|
+
|
|
73
|
+
**If orphans are found**:
|
|
74
|
+
> ⚠️ **Feature ledger orphan check**: [N] features from ideation have no IA shard assignment:
|
|
75
|
+
> - `{Feature ID}`: {Feature Name}
|
|
76
|
+
>
|
|
77
|
+
> Options:
|
|
78
|
+
> 1. Add to an existing shard
|
|
79
|
+
> 2. Create a new shard
|
|
80
|
+
> 3. Mark as explicitly deferred (with reason)
|
|
81
|
+
|
|
82
|
+
**STOP** — wait for user decision on each orphan.
|
|
83
|
+
|
|
84
|
+
## Step 3 — BE Coverage (`/write-be-spec-write`)
|
|
85
|
+
|
|
86
|
+
**When**: After each BE spec is written.
|
|
87
|
+
|
|
88
|
+
**Procedure**:
|
|
89
|
+
|
|
90
|
+
1. Read `.memory/wiki/specs/feature-ledger.md`
|
|
91
|
+
2. Read the newly written BE spec's endpoint list
|
|
92
|
+
3. For each endpoint, identify which Feature ID(s) it serves (from the IA shard → feature mapping)
|
|
93
|
+
4. For each matched Feature ID, set **BE Spec** = spec file name, **BE Status** = `✅`
|
|
94
|
+
5. Write updated ledger
|
|
95
|
+
|
|
96
|
+
> **Note**: Not all features produce BE endpoints (e.g., purely client-side UI features). These should have BE Status = `⚠️ deferred` with reason "client-only".
|
|
97
|
+
|
|
98
|
+
## Step 4 — FE Coverage (`/write-fe-spec-write`)
|
|
99
|
+
|
|
100
|
+
**When**: After each FE spec is written.
|
|
101
|
+
|
|
102
|
+
**Procedure**:
|
|
103
|
+
|
|
104
|
+
1. Read `.memory/wiki/specs/feature-ledger.md`
|
|
105
|
+
2. Read the newly written FE spec's component list
|
|
106
|
+
3. For each component, identify which Feature ID(s) it serves
|
|
107
|
+
4. For each matched Feature ID, set **FE Spec** = spec file name, **FE Status** = `✅`
|
|
108
|
+
5. Write updated ledger
|
|
109
|
+
|
|
110
|
+
## Step 5 — Slice Assignment (`/plan-phase-write`)
|
|
111
|
+
|
|
112
|
+
**When**: After Step 2.5 (spec coverage verification).
|
|
113
|
+
|
|
114
|
+
**Procedure**:
|
|
115
|
+
|
|
116
|
+
1. Read `.memory/wiki/specs/feature-ledger.md`
|
|
117
|
+
2. For each slice, identify which Feature ID(s) it covers (from its spec source map)
|
|
118
|
+
3. For each matched Feature ID, set **Phase** = phase number, **Slice** = slice ID
|
|
119
|
+
4. Write updated ledger
|
|
120
|
+
|
|
121
|
+
## Verification Gate (`/plan-phase-preflight`)
|
|
122
|
+
|
|
123
|
+
**When**: During the cross-layer consistency check.
|
|
124
|
+
|
|
125
|
+
**Procedure**:
|
|
126
|
+
|
|
127
|
+
1. Read `.memory/wiki/specs/feature-ledger.md`
|
|
128
|
+
2. Count features by completeness:
|
|
129
|
+
- **✅ Complete**: All columns through FE Status are ✅ or ⚠️ deferred
|
|
130
|
+
- **⚠️ Partial**: Some columns filled, some still `—`
|
|
131
|
+
- **❌ Orphaned**: IA Status or BE Status or FE Status = `❌ missing`
|
|
132
|
+
3. Report:
|
|
133
|
+
|
|
134
|
+
> **Feature Ledger Verification**:
|
|
135
|
+
> - ✅ Complete: [N] features
|
|
136
|
+
> - ⚠️ Partial: [N] features (columns not yet populated by upstream stages)
|
|
137
|
+
> - ❌ Orphaned: [N] features (dropped between stages)
|
|
138
|
+
|
|
139
|
+
4. **If any ❌ orphans** → **BLOCKING GATE**: "Feature ledger shows [N] orphaned features. Resolve before planning."
|
|
140
|
+
5. **If any ⚠️ partial** → **WARNING**: "Feature ledger shows [N] features with incomplete coverage. These may be from stages not yet run."
|
|
141
|
+
|
|
142
|
+
## Anti-Patterns
|
|
143
|
+
|
|
144
|
+
| ❌ Wrong | ✅ Right |
|
|
145
|
+
|---------|---------|
|
|
146
|
+
| Skipping ledger updates "because it's just bookkeeping" | Every stage updates its columns — it's the only global tracking |
|
|
147
|
+
| Marking orphaned features as ⚠️ deferred without a reason | Orphans are ❌ missing until explicitly deferred with documented reasoning |
|
|
148
|
+
| Regenerating the ledger from scratch at each stage | Updating existing rows — the ledger is cumulative |
|
|
149
|
+
| Ignoring the orphan check at plan-phase-preflight | Blocking on orphans — they represent dropped features |
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Folder Seeding Protocol
|
|
2
|
+
|
|
3
|
+
Rules for creating the `.memory/wiki/specs/ideation/` folder structure during `/ideate-extract`.
|
|
4
|
+
|
|
5
|
+
## Additive-Only Rule
|
|
6
|
+
|
|
7
|
+
The `.memory/wiki/specs/ideation/` directory already exists in the kit with `.gitkeep` and `README.md`. You are ADDING files into this existing directory.
|
|
8
|
+
|
|
9
|
+
- Do NOT delete, overwrite, or replace the directory itself
|
|
10
|
+
- Do NOT remove any existing files (`.gitkeep`, `README.md`)
|
|
11
|
+
- Create new files alongside what already exists
|
|
12
|
+
|
|
13
|
+
## Base Structure (All Project Shapes)
|
|
14
|
+
|
|
15
|
+
After seeding, the folder should contain kit-shipped files PLUS new pipeline files:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
.memory/wiki/specs/ideation/
|
|
19
|
+
├── .gitkeep ← KIT-SHIPPED — do not touch
|
|
20
|
+
├── README.md ← KIT-SHIPPED — do not touch
|
|
21
|
+
├── ideation-index.md ← NEW: super-index (from ideation-index-template)
|
|
22
|
+
├── ideation-cx.md ← NEW: global cross-cuts (from ideation-crosscut-template)
|
|
23
|
+
└── meta/ ← NEW: created by this step
|
|
24
|
+
├── problem-statement.md
|
|
25
|
+
├── personas.md
|
|
26
|
+
├── competitive-landscape.md
|
|
27
|
+
└── constraints.md
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
For multi-product projects, additionally create `surfaces/` with sub-folders per surface.
|
|
31
|
+
|
|
32
|
+
## Templates
|
|
33
|
+
|
|
34
|
+
Read these templates when creating files:
|
|
35
|
+
|
|
36
|
+
- `.codex/skills/prd-templates/references/ideation-index-template.md` (super-index)
|
|
37
|
+
- `.codex/skills/prd-templates/references/ideation-crosscut-template.md` (global CX)
|
|
38
|
+
- `.codex/skills/prd-templates/references/fractal-node-index-template.md` (node index)
|
|
39
|
+
- `.codex/skills/prd-templates/references/fractal-cx-template.md` (node CX)
|
|
40
|
+
- `.codex/skills/prd-templates/references/fractal-feature-template.md` (feature file)
|
|
41
|
+
|
|
42
|
+
## Domain Seeding Rules
|
|
43
|
+
|
|
44
|
+
Domains come from the **confirmed classification table** (Step 1.4.5), NOT from source headings.
|
|
45
|
+
|
|
46
|
+
### Placement by Structural Classification
|
|
47
|
+
|
|
48
|
+
| Classification | Placement |
|
|
49
|
+
|---|---|
|
|
50
|
+
| Single-surface | `.memory/wiki/specs/ideation/{NN}-{slug}/` |
|
|
51
|
+
| Hub-and-spoke | Surface-exclusive in `surfaces/{surface}/{NN}-{slug}/`, shared in hub surface |
|
|
52
|
+
| Peer | Surface-exclusive in `surfaces/{surface}/{NN}-{slug}/`, shared in `shared/{NN}-{slug}/` |
|
|
53
|
+
|
|
54
|
+
### Node Type → Action
|
|
55
|
+
|
|
56
|
+
| Gate Result | Action |
|
|
57
|
+
|---|---|
|
|
58
|
+
| **Domain** | Create domain folder with `{slug}-index.md` + `{slug}-cx.md` |
|
|
59
|
+
| **Sub-domain** | Create sub-domain folder nested inside parent domain |
|
|
60
|
+
| **Feature** | Create feature file inside parent domain or sub-domain |
|
|
61
|
+
| **Cross-cut** | Add entries to appropriate CX files (domain-level or global) |
|
|
62
|
+
| **Not-a-product-domain** | Add notes to `meta/constraints.md` for `/create-prd` |
|
|
63
|
+
|
|
64
|
+
After all nodes are created, update `ideation-index.md` structure map with paths.
|
|
65
|
+
|
|
66
|
+
## Content Seeding by Input Type
|
|
67
|
+
|
|
68
|
+
| Input Type | Content Strategy |
|
|
69
|
+
|---|---|
|
|
70
|
+
| **Rich document** | Seed each node with content from source using classification table citations. Run fidelity check: every major concept in source must map to SOMETHING in the output. Add `> Source: path/to/original.md` to index. |
|
|
71
|
+
| **Chat transcript** | Noise filter → extract signal → seed domain folders with structured output |
|
|
72
|
+
| **Thin document** | Create domain folders with depth markers on feature files |
|
|
73
|
+
| **Verbal / one-liner** | Create domain folders with scaffolding. Feature files are `[SURFACE]`. |
|
|
74
|
+
|
|
75
|
+
## Post-Seeding Verification Gate
|
|
76
|
+
|
|
77
|
+
After creating all files, verify that `.memory/wiki/specs/ideation/.gitkeep` and `.memory/wiki/specs/ideation/README.md` still exist. If EITHER file is missing → **STOP**: "Kit-shipped files were destroyed during seeding. Restore `.gitkeep` and/or `README.md` to `.memory/wiki/specs/ideation/` before continuing."
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# {Node Name} — Cross-Cuts
|
|
2
|
+
|
|
3
|
+
> **Level**: {surface | domain | sub-domain}
|
|
4
|
+
> **Scope**: Connections between children of [{parent}](../{parent}-index.md)
|
|
5
|
+
|
|
6
|
+
## Cross-Cut Map
|
|
7
|
+
|
|
8
|
+
| # | Source | Target | Relationship | Roles Affected | Confidence | Evidence |
|
|
9
|
+
|---|--------|--------|--------------|----------------|------------|----------|
|
|
10
|
+
| CX-01 | [child-A](./path) | [child-B](./path) | _what the interaction is_ | Tech, Owner | High | _specific evidence from exploration_ |
|
|
11
|
+
| CX-02 | [child-C](./path) | [{external-node}](../../path) | _cross-level interaction_ | Tech | Medium | _evidence_ |
|
|
12
|
+
|
|
13
|
+
> **Confidence levels:** High (confirmed with evidence), Medium (strong signal, needs validation), Low (hypothesis)
|
|
14
|
+
>
|
|
15
|
+
> **Cross-level references:** When a cross-cut spans levels (e.g., a feature in one surface touches a domain in another), record it here at the HIGHER level with a link path to the specific lower-level item. The detail of HOW they interact lives in the LOWER-level CX file.
|
|
16
|
+
>
|
|
17
|
+
> **Cross-references:** When referencing a CX entry from another file, use format `{filename}#CX-NN` (e.g., `ai-assistant-cx.md#CX-03`)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Cross-Cut Details
|
|
22
|
+
|
|
23
|
+
### CX-01: {Source} ↔ {Target}
|
|
24
|
+
|
|
25
|
+
**Relationship**: _Detailed description of how these two children interact. What data flows between them? What triggers what?_
|
|
26
|
+
|
|
27
|
+
**Role scoping**:
|
|
28
|
+
- **{Role 1}**: _what this role experiences at this intersection_
|
|
29
|
+
- **{Role 2}**: _what this role experiences_
|
|
30
|
+
- **{Role 3}**: _not affected / no visibility_
|
|
31
|
+
|
|
32
|
+
**Synthesis questions answered**:
|
|
33
|
+
1. **Shared state conflict**: _Who owns the entity? What's the merge strategy if both sides modify it?_
|
|
34
|
+
2. **Trigger chain**: _Does A trigger B? What happens if B fails — rollback? Compensating action? Is it sync or async?_
|
|
35
|
+
3. **Permission intersection**: _Does a permission in A affect what you can do in B?_
|
|
36
|
+
4. **Notification fan-out**: _Does an event in A notify actors in B?_
|
|
37
|
+
5. **State transition conflict**: _Can A and B race? What's the consistency impact?_
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
_Repeat the Cross-Cut Details section for each CX entry in the map._
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Rejected Pairs
|
|
46
|
+
|
|
47
|
+
| # | Source | Target | Reason for Rejection |
|
|
48
|
+
|---|--------|--------|---------------------|
|
|
49
|
+
| R-01 | _{child-A}_ | _{child-B}_ | _No shared state, no trigger dependency, independent lifecycles_ |
|
|
50
|
+
|
|
51
|
+
> **Notes for agents:**
|
|
52
|
+
> - This template is used at EVERY folder level in the fractal structure
|
|
53
|
+
> - CX files ONLY connect children at their own level — a surface CX connects domains, a domain CX connects sub-domains, a sub-domain CX connects features
|
|
54
|
+
> - CX entries use sequential `CX-NN` numbering within each file, starting at CX-01
|
|
55
|
+
> - Always include role scoping — every cross-cut affects specific roles, not all roles equally
|
|
56
|
+
> - Rejected pairs are valuable — they show the agent considered the interaction and dismissed it with reasoning
|
|
57
|
+
> - The 5 synthesis questions should be answered for EVERY confirmed cross-cut (CX entries with High confidence)
|
|
58
|
+
> - For Medium/Low confidence entries, the synthesis questions can be deferred to later drilling passes
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Feature: {Feature Name}
|
|
2
|
+
|
|
3
|
+
> **Number**: {NN.NN.NN}
|
|
4
|
+
> **Parent**: [{sub-domain-name}](./{sub-domain}-index.md)
|
|
5
|
+
> **Status**: [SURFACE] / [PARTIAL] / [DEEP] / [EXHAUSTED]
|
|
6
|
+
> **Last updated**: {timestamp}
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
_What this feature is, why it exists, what user problem it solves. 2-3 sentences._
|
|
11
|
+
|
|
12
|
+
## Role Lens
|
|
13
|
+
|
|
14
|
+
| Role | Access | What They See/Do |
|
|
15
|
+
|------|--------|-------------------|
|
|
16
|
+
| {Persona 1} | Full | _specific behavior for this role — actions, views, capabilities_ |
|
|
17
|
+
| {Persona 2} | Config | _specific behavior — what they configure, what they see_ |
|
|
18
|
+
| {Persona 3} | Read-only | _specific behavior — what they can view, what's hidden_ |
|
|
19
|
+
| {Persona 4} | None | _not visible — brief note on why or what they see instead_ |
|
|
20
|
+
|
|
21
|
+
> **Access levels**: Full · Config · Read-only · Reports · None
|
|
22
|
+
>
|
|
23
|
+
> **Rules:**
|
|
24
|
+
> - Every feature file MUST have a Role Lens table — no exceptions
|
|
25
|
+
> - Use persona names from `meta/personas.md`
|
|
26
|
+
> - "What They See/Do" must be SPECIFIC to this feature, not generic role descriptions
|
|
27
|
+
> - If a persona has "None" access, still list them — the explicit absence is valuable for downstream spec writers
|
|
28
|
+
> - This is the implementation-ready detail that IA/BE/FE spec writers consume directly
|
|
29
|
+
|
|
30
|
+
## Behavior
|
|
31
|
+
|
|
32
|
+
_Detailed description of the feature's behavior._
|
|
33
|
+
|
|
34
|
+
### Happy Path
|
|
35
|
+
|
|
36
|
+
_Step-by-step user interaction for the normal/expected case. Number each step._
|
|
37
|
+
|
|
38
|
+
1. _User does X_
|
|
39
|
+
2. _System responds with Y_
|
|
40
|
+
3. _User confirms Z_
|
|
41
|
+
4. _System completes action, shows confirmation_
|
|
42
|
+
|
|
43
|
+
### Edge Cases / Failure Modes
|
|
44
|
+
|
|
45
|
+
| Scenario | What Happens | User Sees |
|
|
46
|
+
|----------|-------------|-----------|
|
|
47
|
+
| _edge case 1_ | _system behavior_ | _error message or fallback UI_ |
|
|
48
|
+
| _edge case 2_ | _system behavior_ | _error message or fallback UI_ |
|
|
49
|
+
|
|
50
|
+
### States
|
|
51
|
+
|
|
52
|
+
| State | Trigger | What User Sees |
|
|
53
|
+
|-------|---------|---------------|
|
|
54
|
+
| Loading | _action initiated_ | _spinner, skeleton, progress bar_ |
|
|
55
|
+
| Empty | _no data exists yet_ | _empty state with CTA_ |
|
|
56
|
+
| Populated | _data loaded_ | _populated view_ |
|
|
57
|
+
| Error | _request failed_ | _error message with retry option_ |
|
|
58
|
+
| Partial | _incomplete data_ | _partial view with missing-data indicator_ |
|
|
59
|
+
|
|
60
|
+
## Deep Think Annotations
|
|
61
|
+
|
|
62
|
+
| # | Hypothesis | Source | Outcome |
|
|
63
|
+
|---|-----------|--------|---------|
|
|
64
|
+
| DT-01 | _hypothesis about what this feature needs_ | _reasoning or industry precedent_ | ✅ CONFIRMED / ❌ REJECTED: _reason_ |
|
|
65
|
+
|
|
66
|
+
> Log every Deep Think hypothesis — both confirmed and rejected. This is the audit trail showing the agent explored beyond the obvious.
|
|
67
|
+
|
|
68
|
+
## Cross-Cut Notes
|
|
69
|
+
|
|
70
|
+
_Quick references to how this feature interacts with features in other domains/sub-domains. These are pointers — detailed cross-cut analysis lives in the parent's CX file._
|
|
71
|
+
|
|
72
|
+
- Touches **{Domain/Sub-domain/Feature}** ([path](../../../path)) — _why: shared entity, trigger dependency, permission, etc._
|
|
73
|
+
- Consumed by **{Surface/Domain}** via API — _why: spoke surface reads this data through platform API_
|
|
74
|
+
|
|
75
|
+
> For detailed cross-cut analysis (synthesis questions, role scoping), see the CX file at the appropriate level.
|
|
76
|
+
|
|
77
|
+
## Decisions
|
|
78
|
+
|
|
79
|
+
| # | Decision | Context |
|
|
80
|
+
|---|----------|---------|
|
|
81
|
+
| D-01 | _what was decided_ | _why this was the right call_ |
|
|
82
|
+
|
|
83
|
+
## Open Questions
|
|
84
|
+
|
|
85
|
+
| # | Question | Owner | Deferred To |
|
|
86
|
+
|---|----------|-------|-------------|
|
|
87
|
+
| Q-01 | _question_ | User / Agent / /create-prd | _pipeline stage_ |
|
|
88
|
+
|
|
89
|
+
> **Notes for agents:**
|
|
90
|
+
> - Feature files are LEAF NODES — they are `.md` files, never folders
|
|
91
|
+
> - If a feature reveals 2+ interacting capabilities during drilling, it should be PROMOTED to a sub-domain (see Reactive Depth Protocol in `idea-extraction/SKILL.md`)
|
|
92
|
+
> - Status markers: `[SURFACE]` = identified only, `[PARTIAL]` = some depth, `[DEEP]` = all sections filled with edge cases, `[EXHAUSTED]` = Deep Think yields zero hypotheses + user confirms nothing missing
|
|
93
|
+
> - The Role Lens is the PRIMARY output consumed by `/write-fe-spec` and `/write-be-spec` — make it thorough
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# {Node Name} — Index
|
|
2
|
+
|
|
3
|
+
> **Level**: {surface | domain | sub-domain}
|
|
4
|
+
> **Parent**: [{parent-name}](../{parent}-index.md)
|
|
5
|
+
> **Status**: [SURFACE] / [BREADTH] / [DEEP] / [EXHAUSTED]
|
|
6
|
+
> **Last updated**: {timestamp}
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
_What this node contains and why it exists. 2-3 sentences describing the domain or sub-domain's purpose and scope._
|
|
11
|
+
|
|
12
|
+
## Children
|
|
13
|
+
|
|
14
|
+
| # | Name | Type | Path | Status | Deep Think |
|
|
15
|
+
|---|------|------|------|--------|------------|
|
|
16
|
+
| 01 | _{child-name}_ | domain / sub-domain / feature | [01-slug](./01-slug/) or [01.01-slug.md](./01.01-slug.md) | [SURFACE] | _N hypotheses_ |
|
|
17
|
+
| 02 | ... | ... | ... | ... | ... |
|
|
18
|
+
|
|
19
|
+
> **Type column values:**
|
|
20
|
+
> - `domain` — a top-level grouping within a surface (folder with index + CX)
|
|
21
|
+
> - `sub-domain` — a grouping within a domain that has 2+ interacting capabilities (folder with index + CX)
|
|
22
|
+
> - `feature` — a leaf node describing a single capability (.md file)
|
|
23
|
+
|
|
24
|
+
## Role Matrix
|
|
25
|
+
|
|
26
|
+
| Child | {Persona 1} | {Persona 2} | {Persona 3} | {Persona 4} |
|
|
27
|
+
|-------|-------------|-------------|-------------|-------------|
|
|
28
|
+
| 01-child | ✅ Full | ⚙️ Config | 👁️ View | ❌ None |
|
|
29
|
+
| 02-child | ✅ Full | ✅ Full | ❌ None | ❌ None |
|
|
30
|
+
|
|
31
|
+
> **Legend**: ✅ Full access · ⚙️ Configuration only · 👁️ Read-only · 📊 Reports only · ❌ No access
|
|
32
|
+
>
|
|
33
|
+
> **Rules:**
|
|
34
|
+
> - Persona names come from `meta/personas.md` — use short names (e.g., "Tech", "Owner", "CSR", "Consumer")
|
|
35
|
+
> - NEVER redefine a persona here — reference only
|
|
36
|
+
> - Only list children that exist — the matrix grows as children are added
|
|
37
|
+
> - Access icons are shorthand; detailed per-role behavior lives in each feature file's **Role Lens**
|
|
38
|
+
|
|
39
|
+
## Decision Log
|
|
40
|
+
|
|
41
|
+
| # | Decision | Context | Source |
|
|
42
|
+
|---|----------|---------|--------|
|
|
43
|
+
| D-01 | _what was decided_ | _why this was the right call_ | _conversation / document / user directive_ |
|
|
44
|
+
|
|
45
|
+
## Open Questions
|
|
46
|
+
|
|
47
|
+
| # | Question | Owner | Deferred To |
|
|
48
|
+
|---|----------|-------|-------------|
|
|
49
|
+
| Q-01 | _question_ | User / Agent / /create-prd | _pipeline stage_ |
|
|
50
|
+
|
|
51
|
+
> **Notes for agents:**
|
|
52
|
+
> - This template is used at EVERY folder level in the fractal structure (surface, domain, sub-domain)
|
|
53
|
+
> - The content differs by level — a surface index lists domains, a domain index lists sub-domains/features
|
|
54
|
+
> - Status propagates upward: all children `[EXHAUSTED]` → node is `[EXHAUSTED]`; all `[DEEP]`+ → node is `[DEEP]`
|
|
55
|
+
> - When adding a new child, update BOTH the Children table AND the Role Matrix
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Gate Applicability Reference
|
|
2
|
+
|
|
3
|
+
Reference for `/validate-phase-readiness` Step 5.85. Defines which readiness gates apply based on phase content.
|
|
4
|
+
|
|
5
|
+
## Content Classification Table
|
|
6
|
+
|
|
7
|
+
Read the phase plan and completed slices. Determine which content categories are present:
|
|
8
|
+
|
|
9
|
+
| Content Category | How to Detect | Gates It Triggers |
|
|
10
|
+
|-----------------|---------------|-------------------|
|
|
11
|
+
| **New/modified API endpoints** | BE spec slices, new route files, new controllers | 5.9 (API docs), 8 (Security — full) |
|
|
12
|
+
| **New/modified UI components** | FE spec slices, new component files, new pages/routes | 6 (Accessibility), 7a (Performance — Web Vitals/Bundle) |
|
|
13
|
+
| **New/modified data models** | Schema changes, new migrations, new DB queries | 7a (Performance — DB Query Time), 8 (Security — data flow) |
|
|
14
|
+
| **Infrastructure-only changes** | CI/CD config, hosting config, env vars, no app code | Skip 5.9, 6; apply 8 (infra security only) |
|
|
15
|
+
| **Auth/security changes** | Auth middleware, RBAC, token handling, secrets | 8 (Security — mandatory, elevated priority) |
|
|
16
|
+
|
|
17
|
+
## Gate Applicability Table Template
|
|
18
|
+
|
|
19
|
+
Build this table for each phase:
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
| Gate | Applies? | Reason |
|
|
23
|
+
|------|----------|--------|
|
|
24
|
+
| 5.9 API Documentation | Yes/No/Deferred | [why] |
|
|
25
|
+
| 6 Accessibility | Yes/No/Deferred | [why] |
|
|
26
|
+
| 7a Performance Budget | Yes/No/Deferred | [why] |
|
|
27
|
+
| 7b Deep Performance | Yes/No/Deferred | [why] |
|
|
28
|
+
| 8 Security Review | Always Yes | Core audit always runs |
|
|
29
|
+
| 8.5 Dependency Audit | Always Yes | Always runs |
|
|
30
|
+
| 8.7 Feature Ledger | Always Yes | Always runs (if ledger exists) |
|
|
31
|
+
| 8.8 Boundary Stub Audit | Always Yes | Always runs |
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Always-On Gates (never skippable)
|
|
35
|
+
|
|
36
|
+
- **8 Security Review** — Core adversarial review + defense-in-depth always runs. DAST scan is conditional on having a staging deployment with endpoints.
|
|
37
|
+
- **8.5 Dependency Audit** — Always runs.
|
|
38
|
+
- **8.7 Feature Ledger Reconciliation** — Always runs (if ledger exists).
|
|
39
|
+
- **8.8 Boundary Stub Audit** — Always runs.
|
|
40
|
+
|
|
41
|
+
## Content-Triggered Gates (skip when content category is absent)
|
|
42
|
+
|
|
43
|
+
- **5.9 API Documentation** — Skip if no new/modified API endpoints in this phase.
|
|
44
|
+
- **6 Accessibility** — Skip if no new/modified UI components in this phase.
|
|
45
|
+
- **7a Performance Budget (Web Vitals/Bundle)** — Skip if no UI changes. DB Query Time sub-gate skips if no new queries/models.
|
|
46
|
+
- **7b Deep Performance** — Skip if no performance-critical changes.
|
|
47
|
+
|
|
48
|
+
## Deferred Gate Rules
|
|
49
|
+
|
|
50
|
+
A gate may be **deferred** (not skipped) when:
|
|
51
|
+
- The gate applies but a prerequisite is not yet available (e.g., staging deployment not configured yet for DAST)
|
|
52
|
+
- The phase is early infrastructure and the gate will apply to the next phase that adds the relevant content
|
|
53
|
+
|
|
54
|
+
**Hard deadline required**: Specify which phase or milestone must run the deferred gate. Log deferred gates in `.memory/wiki/specs/audits/phase-N-validation.md` with the deadline.
|
|
55
|
+
|
|
56
|
+
**Single-deferral limit**: A gate may NOT be deferred more than once. If a previously deferred gate's deadline arrives, it MUST run — no further deferral.
|
|
57
|
+
|
|
58
|
+
## Validation Report Structure
|
|
59
|
+
|
|
60
|
+
### Gate Applicability Summary
|
|
61
|
+
|
|
62
|
+
Include the gate applicability table. For each gate, report one of:
|
|
63
|
+
- **Applied** — gate ran, results follow
|
|
64
|
+
- **Skipped** — gate did not apply to this phase (with reason)
|
|
65
|
+
- **Deferred** — gate applies but prerequisite missing (with hard deadline)
|
|
66
|
+
|
|
67
|
+
### Applied Gate Results
|
|
68
|
+
|
|
69
|
+
Report only for gates that were applied:
|
|
70
|
+
- Test results and coverage
|
|
71
|
+
- Lint and type-check status
|
|
72
|
+
- Build status
|
|
73
|
+
- Accessibility findings (if gate applied)
|
|
74
|
+
- Performance budget results 7a and deep audit findings 7b (if gate applied)
|
|
75
|
+
- Security review findings (including DAST results if applicable)
|
|
76
|
+
- Dependency audit results
|
|
77
|
+
- API documentation sync status (if gate applied)
|
|
78
|
+
- Deployment strategy compliance (if applicable)
|
|
79
|
+
- CI/CD pipeline status, staging deployment result, migration verification status
|
|
80
|
+
|
|
81
|
+
### Deferred Gates Section
|
|
82
|
+
|
|
83
|
+
For each deferred gate:
|
|
84
|
+
- Gate name and step number
|
|
85
|
+
- Reason for deferral
|
|
86
|
+
- Hard deadline (phase number or milestone)
|
|
87
|
+
- Whether this is the first deferral (second deferral is forbidden)
|
|
88
|
+
|
|
89
|
+
### Verdict
|
|
90
|
+
|
|
91
|
+
- Pass/fail verdict
|
|
92
|
+
- If any gates were deferred: "Phase N passes with deferred gates. Deferred gates MUST run by [deadline]."
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Global Cross-Cuts — {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
> **Scope**: Cross-surface interactions for multi-product projects, or cross-domain interactions for single-surface projects.
|
|
4
|
+
> **Format**: Index + one-line summary. Detailed synthesis lives in lower-level CX files.
|
|
5
|
+
|
|
6
|
+
## Cross-Surface Interaction Map
|
|
7
|
+
|
|
8
|
+
> Each row records that an interaction EXISTS between two surfaces or top-level domains. The Detail column links to the lower-level CX file where the full synthesis questions are answered.
|
|
9
|
+
|
|
10
|
+
| # | Source Surface/Domain | Target Surface/Domain | Summary | Roles | Detail |
|
|
11
|
+
|---|----------------------|----------------------|---------|-------|--------|
|
|
12
|
+
| CX-01 | _Web / Consumer Platform_ | _Desktop / Shop Ops_ | _Desktop diagnostic workflow consumes web supplier data via API_ | Tech, Owner | [detail](surfaces/desktop/desktop-cx.md#CX-03) |
|
|
13
|
+
| CX-02 | _Web / Device History_ | _Mobile / Device Guardian_ | _Mobile app syncs with web device history for owner verification_ | Consumer | [detail](surfaces/mobile/mobile-cx.md#CX-01) |
|
|
14
|
+
|
|
15
|
+
> **Rules:**
|
|
16
|
+
> - This file is an INDEX with one-line summaries — not the source of truth for cross-cut details
|
|
17
|
+
> - Detailed synthesis (5 questions, role scoping) lives in the lower-level CX file linked in the Detail column
|
|
18
|
+
> - For single-surface projects, this file covers cross-DOMAIN interactions (same content as would appear in a surface-level CX)
|
|
19
|
+
> - For multi-product projects, this file covers cross-SURFACE interactions
|
|
20
|
+
> - Use `CX-NN` numbering. This file's entries are distinct from CX entries in lower-level files.
|
|
21
|
+
> - When referencing from other files, use `ideation-cx.md#CX-NN`
|
|
22
|
+
|
|
23
|
+
## Shared Domain Consumption _(multi-product only)_
|
|
24
|
+
|
|
25
|
+
> Which shared domains are consumed by which spoke surfaces, and through what mechanism.
|
|
26
|
+
|
|
27
|
+
| Shared Domain | Owner | Consumed By | Mechanism | Detail |
|
|
28
|
+
|--------------|-------|-------------|-----------|--------|
|
|
29
|
+
| _Device History_ | Web (hub) | Desktop, Mobile | REST API | [web/02-device-history-cx.md](surfaces/web/02-device-history/device-history-cx.md) |
|
|
30
|
+
| _Payments_ | Web (hub) | Desktop | REST API | [web/03-payments-cx.md](surfaces/web/03-payments/payments-cx.md) |
|
|
31
|
+
|
|
32
|
+
## Rejected Cross-Surface Pairs
|
|
33
|
+
|
|
34
|
+
| # | Surface A | Surface B | Reason for Rejection |
|
|
35
|
+
|---|-----------|-----------|---------------------|
|
|
36
|
+
| R-01 | _Desktop_ | _Mobile_ | _No direct interaction — both consume web API independently_ |
|