@leanspec/ui 0.2.6-dev.20251125015611 → 0.2.6
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/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
- package/.next/standalone/packages/ui/.next/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
- package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/packages/ui/dist/BUILD_ID +1 -0
- package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +1 -0
- package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
- package/.next/standalone/packages/ui/dist/public/file.svg +1 -0
- package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +1 -0
- package/.next/standalone/packages/ui/dist/public/github-mark.svg +1 -0
- package/.next/standalone/packages/ui/dist/public/globe.svg +1 -0
- package/.next/standalone/packages/ui/dist/public/icon.svg +7 -0
- package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +17 -0
- package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +17 -0
- package/.next/standalone/packages/ui/dist/public/logo.svg +17 -0
- package/.next/standalone/packages/ui/dist/public/next.svg +1 -0
- package/.next/standalone/packages/ui/dist/public/vercel.svg +1 -0
- package/.next/standalone/packages/ui/dist/public/window.svg +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +196 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/leanspec.db +0 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +75 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +44 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +175 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +317 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +261 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +380 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +230 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +285 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +358 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +303 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +368 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +327 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +117 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +73 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +109 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +107 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +244 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +429 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +302 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +158 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +359 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +86 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +437 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +365 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +203 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +174 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +156 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +183 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +229 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +243 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +217 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +166 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +126 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +108 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +382 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +144 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +146 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +208 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +182 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +314 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +113 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +237 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +149 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +175 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +254 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +376 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +240 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +175 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +374 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +339 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +128 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +97 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +93 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +146 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +175 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +397 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +342 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +44 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +150 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +351 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +238 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +280 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +372 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +466 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +178 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +174 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +295 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +487 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +241 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +279 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +642 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +125 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +286 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +392 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +1002 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +411 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +812 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +504 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +724 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +125 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +299 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +174 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +265 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +36 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +243 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +82 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +338 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +354 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +189 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +119 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +170 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +158 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +842 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +358 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +444 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +357 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +551 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +372 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +489 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +285 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +323 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +136 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +399 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +301 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +235 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +303 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +196 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +388 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +824 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +111 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +69 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +77 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +184 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +496 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +490 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +389 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +920 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +146 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +607 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +104 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +124 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +129 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +244 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +148 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +54 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +37 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +60 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +113 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +69 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +112 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +229 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +406 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +168 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +174 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +212 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +249 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +60 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +139 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +722 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +413 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +255 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +252 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +253 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +612 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +794 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +834 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +255 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +454 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +172 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +152 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +95 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +87 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +230 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +89 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +89 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +166 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +276 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +122 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +198 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +192 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +171 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +200 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +317 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +276 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +241 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +139 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +328 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +400 -0
- package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +3 -0
- package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +5 -0
- package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +4 -0
- package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +2 -0
- package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +19 -0
- package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +3 -0
- package/.next/standalone/packages/ui/leanspec.db +0 -0
- package/.next/standalone/packages/ui/package.json +1 -1
- package/.next/standalone/packages/ui/server.js +1 -1
- package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
- package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_buildManifest.js +11 -0
- package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_clientMiddlewareManifest.json +1 -0
- package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_ssgManifest.js +1 -0
- package/package.json +2 -2
- /package/.next/standalone/packages/ui/.next/static/{q_RJXo9ZqWIVUq3kCY65L → T_KGFP0pHt_xSaaYUJa3L}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/ui/.next/static/{q_RJXo9ZqWIVUq3kCY65L → T_KGFP0pHt_xSaaYUJa3L}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{q_RJXo9ZqWIVUq3kCY65L → T_KGFP0pHt_xSaaYUJa3L}/_ssgManifest.js +0 -0
- /package/.next/{static/q_RJXo9ZqWIVUq3kCY65L → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_buildManifest.js +0 -0
- /package/.next/{static/q_RJXo9ZqWIVUq3kCY65L → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_clientMiddlewareManifest.json +0 -0
- /package/.next/{static/q_RJXo9ZqWIVUq3kCY65L → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: complete
|
|
3
|
+
created: '2025-11-07'
|
|
4
|
+
tags:
|
|
5
|
+
- context-engineering
|
|
6
|
+
- automation
|
|
7
|
+
- tooling
|
|
8
|
+
- ai-agents
|
|
9
|
+
- performance
|
|
10
|
+
- v0.3.0
|
|
11
|
+
priority: critical
|
|
12
|
+
created_at: '2025-11-07T11:28:43.206Z'
|
|
13
|
+
depends_on:
|
|
14
|
+
- 067-monorepo-core-extraction
|
|
15
|
+
- 069-token-counting-utils
|
|
16
|
+
related:
|
|
17
|
+
- 048-spec-complexity-analysis
|
|
18
|
+
- 049-leanspec-first-principles
|
|
19
|
+
- 018-spec-validation
|
|
20
|
+
- 012-sub-spec-files
|
|
21
|
+
- 066-context-economy-thresholds-refinement
|
|
22
|
+
updated_at: '2025-11-16T13:59:12.743Z'
|
|
23
|
+
transitions:
|
|
24
|
+
- status: in-progress
|
|
25
|
+
at: '2025-11-13T10:24:05.467Z'
|
|
26
|
+
- status: complete
|
|
27
|
+
at: '2025-11-13T14:21:42.907Z'
|
|
28
|
+
completed_at: '2025-11-13T14:21:42.907Z'
|
|
29
|
+
completed: '2025-11-13'
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Programmatic Spec Management & Context Engineering
|
|
33
|
+
|
|
34
|
+
> **Status**: ✅ Complete · **Priority**: Critical · **Created**: 2025-11-07 · **Tags**: context-engineering, automation, tooling, ai-agents, performance, v0.3.0
|
|
35
|
+
|
|
36
|
+
**The Problem**: AI agents manually editing oversized spec files is slow and error-prone. They need clean, mechanical tools to transform specs without direct markdown manipulation.
|
|
37
|
+
|
|
38
|
+
**The Solution**: Provide programmatic transformation commands that AI agents can orchestrate. AI agents analyze specs and call tools with explicit parameters - tools execute transformations mechanically without LLM calls.
|
|
39
|
+
|
|
40
|
+
## Overview
|
|
41
|
+
|
|
42
|
+
### Critical Performance Issue
|
|
43
|
+
|
|
44
|
+
**Current Reality**:
|
|
45
|
+
- AI agents manually editing 1,166-line markdown files → slow, error-prone
|
|
46
|
+
- Text corruption during large multi-replace operations
|
|
47
|
+
- Context window pollution from oversized specs
|
|
48
|
+
- Manual markdown editing by AI is fundamentally inefficient
|
|
49
|
+
|
|
50
|
+
**Root Cause**: AI agents lack clean tools to transform specs programmatically - they resort to direct markdown editing.
|
|
51
|
+
|
|
52
|
+
**Impact**:
|
|
53
|
+
- ❌ Spec 045 (4,800 tokens): AI struggles to edit coherently
|
|
54
|
+
- ❌ Context window waste processing oversized specs
|
|
55
|
+
- ❌ Risk of file corruption during complex transformations
|
|
56
|
+
- ❌ Violation of our own Context Economy principle
|
|
57
|
+
|
|
58
|
+
### The AI Agent Orchestration Model
|
|
59
|
+
|
|
60
|
+
**Key Insight**: AI agents should orchestrate transformations, not perform them manually.
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
┌─────────────────────────────────────────────────────────┐
|
|
64
|
+
│ AI Agent (GitHub Copilot, Claude, etc.) │
|
|
65
|
+
│ - Reads spec files │
|
|
66
|
+
│ - Detects issues (token count, redundancy, etc.) │
|
|
67
|
+
│ - Decides transformation strategy │
|
|
68
|
+
│ - Calls tools with explicit parameters │
|
|
69
|
+
└─────────────────────────────────────────────────────────┘
|
|
70
|
+
↓
|
|
71
|
+
┌─────────────────────────────────────────────────────────┐
|
|
72
|
+
│ LeanSpec CLI Tools (No LLM, Pure Execution) │
|
|
73
|
+
│ - Parse markdown structure │
|
|
74
|
+
│ - Execute mechanical transformations │
|
|
75
|
+
│ - Validate results │
|
|
76
|
+
│ - No semantic analysis, no LLM calls │
|
|
77
|
+
└─────────────────────────────────────────────────────────┘
|
|
78
|
+
↓
|
|
79
|
+
Transformed Specs
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Benefits**:
|
|
83
|
+
- ✅ Fast: No LLM text generation for file operations
|
|
84
|
+
- ✅ Reliable: Deterministic, testable transformations
|
|
85
|
+
- ✅ Clean: AI agents don't touch markdown directly
|
|
86
|
+
- ✅ Composable: Tools are building blocks AI agents orchestrate
|
|
87
|
+
|
|
88
|
+
### Context Engineering Foundation
|
|
89
|
+
|
|
90
|
+
Based on research from [Anthropic](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents), [LangChain](https://blog.langchain.com/context-engineering-for-agents/), and [Drew Breunig](https://www.dbreunig.com/2025/06/22/how-contexts-fail-and-how-to-fix-them.html):
|
|
91
|
+
|
|
92
|
+
**Four Core Strategies**:
|
|
93
|
+
1. **Partitioning** - Split into sub-specs (what we do in spec 012)
|
|
94
|
+
2. **Compaction** - Remove redundancy, preserve signal
|
|
95
|
+
3. **Compression** - Summarize without losing intent
|
|
96
|
+
4. **Isolation** - Move unrelated concerns to separate specs
|
|
97
|
+
|
|
98
|
+
**Four Context Failure Modes** (what LeanSpec addresses):
|
|
99
|
+
1. **Context Poisoning** - Hallucinations accumulate in spec history
|
|
100
|
+
2. **Context Distraction** - Spec length overwhelms trained knowledge
|
|
101
|
+
3. **Context Confusion** - Superfluous content influences decisions
|
|
102
|
+
4. **Context Clash** - Conflicting information within same spec
|
|
103
|
+
|
|
104
|
+
### What We're Building
|
|
105
|
+
|
|
106
|
+
**Mechanical transformation tools for AI agent orchestration**:
|
|
107
|
+
- ✅ Parse markdown structure (sections, line ranges, tokens)
|
|
108
|
+
- ✅ Analyze complexity algorithmically (metrics, patterns)
|
|
109
|
+
- ✅ Execute transformations mechanically (split, move, merge)
|
|
110
|
+
- ✅ Validate results automatically (structure, references)
|
|
111
|
+
- ⚡ No LLM calls - AI agents provide the intelligence
|
|
112
|
+
|
|
113
|
+
**AI Agent Workflow**:
|
|
114
|
+
1. Agent reads spec → detects issue (e.g., 4,800 tokens)
|
|
115
|
+
2. Agent decides strategy (e.g., "split by concerns")
|
|
116
|
+
3. Agent calls tool with explicit parameters (e.g., section mappings)
|
|
117
|
+
4. Tool executes transformation mechanically
|
|
118
|
+
5. Agent reviews result and continues or adjusts
|
|
119
|
+
|
|
120
|
+
**Why This Works**:
|
|
121
|
+
- AI agents already have context understanding
|
|
122
|
+
- Tools just need to execute what AI decides
|
|
123
|
+
- Clean separation: intelligence (AI) vs execution (tools)
|
|
124
|
+
|
|
125
|
+
## The Vision
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# AI Agent Workflow Example:
|
|
129
|
+
|
|
130
|
+
# 1. AI agent detects issue
|
|
131
|
+
$ lean-spec analyze 045 --json
|
|
132
|
+
{
|
|
133
|
+
"tokens": 4800,
|
|
134
|
+
"threshold": "warning",
|
|
135
|
+
"concerns": [
|
|
136
|
+
{"name": "Overview", "sections": ["Overview", "Background"], "lines": "1-150"},
|
|
137
|
+
{"name": "Design", "sections": ["Architecture", "Components"], "lines": "151-528"},
|
|
138
|
+
{"name": "Testing", "sections": ["Test Strategy", "Test Cases"], "lines": "529-710"}
|
|
139
|
+
],
|
|
140
|
+
"recommendation": "split"
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
# 2. AI agent decides: "I'll split by concerns"
|
|
144
|
+
|
|
145
|
+
# 3. AI agent calls tool with explicit parameters
|
|
146
|
+
$ lean-spec split 045 \
|
|
147
|
+
--output=README.md:1-150 \
|
|
148
|
+
--output=DESIGN.md:151-528 \
|
|
149
|
+
--output=TESTING.md:529-710 \
|
|
150
|
+
--update-refs
|
|
151
|
+
|
|
152
|
+
# Tool executes mechanically (no LLM):
|
|
153
|
+
# ✓ Created README.md (812 tokens / 150 lines)
|
|
154
|
+
# ✓ Created DESIGN.md (1,512 tokens / 378 lines)
|
|
155
|
+
# ✓ Created TESTING.md (728 tokens / 182 lines)
|
|
156
|
+
# ✓ Updated 47 cross-references
|
|
157
|
+
# ✓ Validated all files
|
|
158
|
+
|
|
159
|
+
# 4. AI agent verifies result
|
|
160
|
+
$ lean-spec tokens 045/*
|
|
161
|
+
# 045-unified-dashboard/README.md: 812 tokens
|
|
162
|
+
# 045-unified-dashboard/DESIGN.md: 1,512 tokens
|
|
163
|
+
# 045-unified-dashboard/TESTING.md: 728 tokens
|
|
164
|
+
# Total: 3,052 tokens (saved 1,748 via compaction)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Key Difference from Current Approach**:
|
|
168
|
+
- ❌ Old: AI manually rewrites markdown → slow, error-prone
|
|
169
|
+
- ✅ New: AI orchestrates tools → fast, deterministic
|
|
170
|
+
|
|
171
|
+
## Sub-Specs
|
|
172
|
+
|
|
173
|
+
This spec is organized using sub-spec files:
|
|
174
|
+
|
|
175
|
+
- **[CONTEXT-ENGINEERING.md](./CONTEXT-ENGINEERING.md)** - Research: 4 strategies, 4 failure modes, academic synthesis
|
|
176
|
+
- **[ARCHITECTURE.md](./ARCHITECTURE.md)** - System design: AI agent orchestration, mechanical tools, simple parsing
|
|
177
|
+
- **[COMMANDS.md](./COMMANDS.md)** - CLI reference: analyze, split, compact, compress, isolate with AI agent examples
|
|
178
|
+
- **[IMPLEMENTATION.md](./IMPLEMENTATION.md)** - Roadmap: 4-week plan, simplified from original 7-week complexity
|
|
179
|
+
- **[TESTING.md](./TESTING.md)** - Test strategy: unit tests, integration tests, real-world validation
|
|
180
|
+
|
|
181
|
+
## Quick Reference
|
|
182
|
+
|
|
183
|
+
### Context Engineering Strategies
|
|
184
|
+
|
|
185
|
+
| Strategy | Purpose | When to Use | Tool |
|
|
186
|
+
|----------|---------|-------------|------|
|
|
187
|
+
| **Partition** | Split into sub-specs | Spec >3,500 tokens, multiple concerns | `lean-spec split` |
|
|
188
|
+
| **Compact** | Remove redundancy | Verbose, repetitive content | `lean-spec compact` |
|
|
189
|
+
| **Compress** | Summarize sections | Historical context, completed phases | `lean-spec compress` |
|
|
190
|
+
| **Isolate** | Move to separate spec | Unrelated concern, different lifecycle | `lean-spec isolate` |
|
|
191
|
+
|
|
192
|
+
### Context Failure Detection
|
|
193
|
+
|
|
194
|
+
| Failure Mode | Symptom | Detection | Mitigation |
|
|
195
|
+
|--------------|---------|-----------|------------|
|
|
196
|
+
| **Poisoning** | AI references non-existent content | Validate references | Remove corrupted sections |
|
|
197
|
+
| **Distraction** | AI ignores training, repeats spec | Track spec token count | Split at 3,500 tokens |
|
|
198
|
+
| **Confusion** | AI uses irrelevant context | Identify superfluous sections | Compact/remove noise |
|
|
199
|
+
| **Clash** | AI contradicts itself | Detect conflicting statements | Resolve or isolate |
|
|
200
|
+
|
|
201
|
+
### Commands Preview
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Analyze spec (returns JSON for AI agent)
|
|
205
|
+
lean-spec analyze <spec> --json
|
|
206
|
+
|
|
207
|
+
# Transform specs (AI agent provides parameters)
|
|
208
|
+
lean-spec split <spec> --output=FILE:LINES [--output=...]
|
|
209
|
+
lean-spec compact <spec> --remove=LINES [--remove=...]
|
|
210
|
+
lean-spec compress <spec> --replace=LINES:TEXT
|
|
211
|
+
lean-spec isolate <spec> --lines=RANGE --to=NEW_SPEC
|
|
212
|
+
|
|
213
|
+
# Utilities
|
|
214
|
+
lean-spec diff <spec> --before-after
|
|
215
|
+
lean-spec preview <spec> --split=FILE:LINES
|
|
216
|
+
lean-spec rollback <spec>
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Status
|
|
220
|
+
|
|
221
|
+
**Current Phase**: 📋 Planning & Design
|
|
222
|
+
|
|
223
|
+
**Next Steps**:
|
|
224
|
+
1. Complete sub-spec documentation
|
|
225
|
+
2. Review with team
|
|
226
|
+
3. Begin implementation (Phase 1: Parser)
|
|
227
|
+
|
|
228
|
+
## Key Principles
|
|
229
|
+
|
|
230
|
+
### Why AI Agent Orchestration Works
|
|
231
|
+
|
|
232
|
+
**AI Agent Strengths** (provide intelligence):
|
|
233
|
+
- Understanding spec content
|
|
234
|
+
- Detecting issues (oversized, redundant, contradictory)
|
|
235
|
+
- Deciding transformation strategy
|
|
236
|
+
- Determining split points, what to remove
|
|
237
|
+
- Reviewing and verifying results
|
|
238
|
+
|
|
239
|
+
**Tool Strengths** (provide execution):
|
|
240
|
+
- Fast file operations
|
|
241
|
+
- Deterministic behavior
|
|
242
|
+
- No hallucinations
|
|
243
|
+
- Syntax validation
|
|
244
|
+
- Reference updating
|
|
245
|
+
|
|
246
|
+
**Clean Separation**:
|
|
247
|
+
```
|
|
248
|
+
AI Agent: "Split this 4,800 token spec at lines 1-150, 151-528, 529-710"
|
|
249
|
+
↓
|
|
250
|
+
Tool: [mechanically extracts line ranges, creates files, validates]
|
|
251
|
+
↓
|
|
252
|
+
AI Agent: "Verify: all files under 2,000 tokens" → ✓
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Why This is Better**:
|
|
256
|
+
- ✅ AI agents already have context (no need to re-analyze in tool)
|
|
257
|
+
- ✅ Tools are simple and fast (no LLM calls)
|
|
258
|
+
- ✅ Deterministic (same params = same result)
|
|
259
|
+
- ✅ Testable (no AI unpredictability)
|
|
260
|
+
|
|
261
|
+
### Context Engineering as First Principle
|
|
262
|
+
|
|
263
|
+
This builds on **Context Economy** (Principle #1 from spec 049):
|
|
264
|
+
- Specs must fit in working memory
|
|
265
|
+
- <2,000 tokens excellent, >3,500 tokens warning, >5,000 tokens should split
|
|
266
|
+
- But splitting shouldn't require 10 minutes of LLM text generation
|
|
267
|
+
|
|
268
|
+
**Evolution**:
|
|
269
|
+
```
|
|
270
|
+
v0.1.0: Manual spec writing
|
|
271
|
+
v0.2.0: Detection + warnings (lean-spec validate)
|
|
272
|
+
v0.3.0: Programmatic transformation (this spec)
|
|
273
|
+
v0.4.0: Continuous context management (auto-compaction, etc.)
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
## Plan
|
|
277
|
+
|
|
278
|
+
### Phase 1: Foundation (Week 1) ✅ COMPLETE
|
|
279
|
+
- [x] Markdown AST parser (unified.js ecosystem)
|
|
280
|
+
- [x] Spec structure analyzer
|
|
281
|
+
- [x] Boundary detection algorithms
|
|
282
|
+
- [x] Core data structures
|
|
283
|
+
|
|
284
|
+
### Phase 2: Analysis Tools (Week 2) ✅ COMPLETE
|
|
285
|
+
- [x] `lean-spec analyze --complexity`
|
|
286
|
+
- [x] `lean-spec analyze --json` (for AI agents)
|
|
287
|
+
- [x] Visual reports
|
|
288
|
+
|
|
289
|
+
### Phase 3: Transformation Engine (Week 3) ✅ COMPLETE
|
|
290
|
+
- [x] `lean-spec split` - Partition specs into sub-specs
|
|
291
|
+
- [x] `lean-spec compact` - Remove redundancy
|
|
292
|
+
- [x] `lean-spec compress` - Replace with summaries
|
|
293
|
+
- [x] `lean-spec isolate` - Move to new spec
|
|
294
|
+
|
|
295
|
+
### Phase 4: Testing & Launch (Week 4) ✅ COMPLETE
|
|
296
|
+
- [x] Test all commands
|
|
297
|
+
- [x] Add comprehensive test coverage
|
|
298
|
+
- [x] CLI integration and polish
|
|
299
|
+
- [x] Documentation and help text
|
|
300
|
+
|
|
301
|
+
**Implementation Status**: All 5 transformation commands are now available in v0.2.2+
|
|
302
|
+
|
|
303
|
+
## Usage Examples
|
|
304
|
+
|
|
305
|
+
### Analyze Spec Complexity
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
# Get structured analysis (JSON output for AI agents)
|
|
309
|
+
lean-spec analyze 059 --json
|
|
310
|
+
|
|
311
|
+
# Human-readable output with recommendations
|
|
312
|
+
lean-spec analyze 045 --verbose
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Split Spec into Sub-Specs
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
# Split by explicit line ranges (AI agent provides ranges)
|
|
319
|
+
lean-spec split 045 \
|
|
320
|
+
--output=README.md:1-150 \
|
|
321
|
+
--output=DESIGN.md:151-528 \
|
|
322
|
+
--output=TESTING.md:529-710 \
|
|
323
|
+
--update-refs
|
|
324
|
+
|
|
325
|
+
# Preview before applying
|
|
326
|
+
lean-spec split 045 --output=README.md:1-150 --dry-run
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Compact Redundant Content
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
# Remove specified line ranges (AI agent identifies redundancy)
|
|
333
|
+
lean-spec compact 045 \
|
|
334
|
+
--remove=145-153 \
|
|
335
|
+
--remove=234-256 \
|
|
336
|
+
--remove=401-415
|
|
337
|
+
|
|
338
|
+
# Preview what would be removed
|
|
339
|
+
lean-spec compact 045 --remove=145-153 --dry-run
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Compress with Summaries
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
# Replace verbose sections with AI-provided summaries
|
|
346
|
+
lean-spec compress 043 \
|
|
347
|
+
--replace='142-284:## ✅ Phase 1: Completed
|
|
348
|
+
|
|
349
|
+
Established first principles. See: specs/049/'
|
|
350
|
+
|
|
351
|
+
# Preview compression
|
|
352
|
+
lean-spec compress 043 --replace='142-284:Summary here' --dry-run
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Isolate Content to New Spec
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
# Move independent sections to separate specs
|
|
359
|
+
lean-spec isolate 045 \
|
|
360
|
+
--lines=401-542 \
|
|
361
|
+
--to=060-velocity-algorithm \
|
|
362
|
+
--add-reference
|
|
363
|
+
|
|
364
|
+
# Preview isolation
|
|
365
|
+
lean-spec isolate 045 --lines=401-542 --to=060-new-spec --dry-run
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
For detailed command documentation, see [COMMANDS.md](./COMMANDS.md).
|
|
369
|
+
|
|
370
|
+
## Test
|
|
371
|
+
|
|
372
|
+
### Validation Criteria
|
|
373
|
+
|
|
374
|
+
**Performance**:
|
|
375
|
+
- [ ] Split 4,800-token spec in <1 second (vs 10+ minutes manual)
|
|
376
|
+
- [ ] Parse/analyze 100 specs in <2 seconds
|
|
377
|
+
- [ ] Zero text corruption (programmatic = deterministic)
|
|
378
|
+
|
|
379
|
+
**Correctness**:
|
|
380
|
+
- [ ] Preserves all content (no information loss)
|
|
381
|
+
- [ ] Maintains markdown validity
|
|
382
|
+
- [ ] Updates all cross-references correctly
|
|
383
|
+
- [ ] Frontmatter remains valid
|
|
384
|
+
|
|
385
|
+
**Usability**:
|
|
386
|
+
- [ ] Clear analysis reports
|
|
387
|
+
- [ ] Interactive preview before applying
|
|
388
|
+
- [ ] Undo/rollback capability
|
|
389
|
+
- [ ] Helpful error messages
|
|
390
|
+
|
|
391
|
+
### Test Approach
|
|
392
|
+
|
|
393
|
+
**Golden Tests**:
|
|
394
|
+
- Snapshot known-good transformations
|
|
395
|
+
- Regression testing against corpus
|
|
396
|
+
- Compare manual vs programmatic splits
|
|
397
|
+
|
|
398
|
+
**Dogfooding**:
|
|
399
|
+
- Use tools on our own oversized specs
|
|
400
|
+
- Validate against specs 045, 046, 048 splits
|
|
401
|
+
- Measure time savings vs manual approach
|
|
402
|
+
|
|
403
|
+
**Edge Cases**:
|
|
404
|
+
- Specs with complex nested structures
|
|
405
|
+
- Specs with many code blocks
|
|
406
|
+
- Specs with tables and diagrams
|
|
407
|
+
- Specs with cross-references
|
|
408
|
+
|
|
409
|
+
## Success Metrics
|
|
410
|
+
|
|
411
|
+
### Quantitative
|
|
412
|
+
|
|
413
|
+
**Speed**:
|
|
414
|
+
- 100x faster than LLM text generation
|
|
415
|
+
- <1s to split any spec <8,000 tokens
|
|
416
|
+
- <2s to analyze entire project
|
|
417
|
+
|
|
418
|
+
**Quality**:
|
|
419
|
+
- Zero corruption incidents
|
|
420
|
+
- 100% markdown validity preserved
|
|
421
|
+
- 100% frontmatter validity preserved
|
|
422
|
+
- 100% cross-references updated
|
|
423
|
+
|
|
424
|
+
### Qualitative
|
|
425
|
+
|
|
426
|
+
**Developer Experience**:
|
|
427
|
+
- "Splitting specs is now instant"
|
|
428
|
+
- "No more babysitting AI rewrites"
|
|
429
|
+
- "Confident transformations won't corrupt"
|
|
430
|
+
- "Can experiment with splits freely"
|
|
431
|
+
|
|
432
|
+
**Impact**:
|
|
433
|
+
- Enables proactive splitting at 3,500 tokens (warning threshold)
|
|
434
|
+
- Removes friction from Context Economy
|
|
435
|
+
- Makes LeanSpec principles easier to follow
|
|
436
|
+
- Dogfooding our own methodology effectively
|
|
437
|
+
|
|
438
|
+
## Notes
|
|
439
|
+
|
|
440
|
+
### Research Synthesis
|
|
441
|
+
|
|
442
|
+
The external references identified four key insights:
|
|
443
|
+
|
|
444
|
+
1. **Context is Finite** (Anthropic): Even 1M token windows experience "context rot"—attention degrades with length
|
|
445
|
+
2. **Four Strategies** (LangChain): Write, Select, Compress, Isolate for managing context
|
|
446
|
+
3. **Four Failure Modes** (Breunig): Poisoning, Distraction, Confusion, Clash
|
|
447
|
+
4. **Hybrid Approach**: AI for strategy, code for execution
|
|
448
|
+
|
|
449
|
+
### Why This Matters
|
|
450
|
+
|
|
451
|
+
**For LeanSpec**:
|
|
452
|
+
- ✅ Practices our own principles (Context Economy)
|
|
453
|
+
- ✅ Removes major pain point (slow manual splitting)
|
|
454
|
+
- ✅ Enables proactive management (split at 300, not 600)
|
|
455
|
+
- ✅ Makes AI agents more effective (faster, fewer errors)
|
|
456
|
+
|
|
457
|
+
**For Users**:
|
|
458
|
+
- ✅ Faster workflow (seconds vs minutes)
|
|
459
|
+
- ✅ Higher confidence (deterministic transforms)
|
|
460
|
+
- ✅ Better specs (easy to maintain context limits)
|
|
461
|
+
- ✅ Learning tool (see how specs should be structured)
|
|
462
|
+
|
|
463
|
+
### Alternatives Considered
|
|
464
|
+
|
|
465
|
+
**1. Pure AI Approach** (current, rejected):
|
|
466
|
+
- ❌ Too slow (10+ minutes per spec)
|
|
467
|
+
- ❌ Error-prone (context corruption)
|
|
468
|
+
- ❌ Not deterministic (varies by run)
|
|
469
|
+
|
|
470
|
+
**2. Manual Guidelines Only** (rejected):
|
|
471
|
+
- ❌ Relies on discipline
|
|
472
|
+
- ❌ Still slow when needed
|
|
473
|
+
- ❌ No automation assistance
|
|
474
|
+
|
|
475
|
+
**3. Hybrid Approach** (chosen):
|
|
476
|
+
- ✅ AI suggests, code executes
|
|
477
|
+
- ✅ Fast (programmatic) + smart (AI)
|
|
478
|
+
- ✅ Best of both worlds
|
|
479
|
+
|
|
480
|
+
### Open Questions
|
|
481
|
+
|
|
482
|
+
1. **AST Library**: unified.js (remark) vs custom parser?
|
|
483
|
+
- Leaning toward unified.js (battle-tested, ecosystem)
|
|
484
|
+
|
|
485
|
+
2. **LLM Integration**: When to use AI vs pure code?
|
|
486
|
+
- AI for: Suggesting concerns, reviewing results
|
|
487
|
+
- Code for: Parsing, moving content, updating refs
|
|
488
|
+
|
|
489
|
+
3. **Preview UX**: How to show transformation preview?
|
|
490
|
+
- Interactive diff view? Side-by-side? Git-style?
|
|
491
|
+
|
|
492
|
+
4. **Undo Mechanism**: Git commits? Custom snapshots?
|
|
493
|
+
- Probably git-based (user is already in git)
|
|
494
|
+
|
|
495
|
+
## Related Specs
|
|
496
|
+
|
|
497
|
+
- **[048-spec-complexity-analysis](../048-spec-complexity-analysis/)** - Identified the problem
|
|
498
|
+
- **[049-leanspec-first-principles](../049-leanspec-first-principles/)** - Context Economy principle
|
|
499
|
+
- **[018-spec-validation](../018-spec-validation/)** - Validation framework
|
|
500
|
+
- **[012-sub-spec-files](../012-sub-spec-files/)** - Sub-spec pattern we're automating
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
**Remember**: Context engineering isn't about bigger windows—it's about smarter curation. Programmatic tools make curation fast and reliable.
|