ai-spector 0.9.20 → 0.9.24
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/contracts/bootstrap/config/prototype-screen-map.json +25 -0
- package/contracts/bootstrap/config/prototype.config.json +17 -0
- package/contracts/bootstrap/config/review-queue-pending.json +4 -0
- package/contracts/bootstrap/config/review-queue-registry.json +4 -0
- package/contracts/bootstrap/config/review.config.json +5 -0
- package/contracts/bootstrap/docs/ENTITY_REGISTRY_MIGRATION.md +192 -0
- package/contracts/bootstrap/docs/MIGRATION.md +463 -0
- package/contracts/bootstrap/docs/README.md +48 -0
- package/contracts/bootstrap/docs/adapters/README.md +32 -0
- package/contracts/bootstrap/docs/guides/COMMENTS_ENTITY_MIGRATION.md +195 -0
- package/contracts/bootstrap/docs/guides/DOCOPS_MANUAL_FALLBACK.md +177 -0
- package/contracts/bootstrap/docs/guides/PROJECT_LAYOUT.md +84 -0
- package/contracts/bootstrap/docs/modules/comments.md +77 -0
- package/contracts/bootstrap/docs/modules/generate.md +25 -0
- package/contracts/bootstrap/docs/modules/graph.md +31 -0
- package/contracts/bootstrap/docs/modules/prototype.md +26 -0
- package/contracts/bootstrap/docs/modules/review.md +25 -0
- package/contracts/bootstrap/docs/modules/translate.md +26 -0
- package/contracts/bootstrap/scripts/migrate-entity-registry.sh +55 -0
- package/contracts/bootstrap/templates/basic-design/db-design-template.md +177 -0
- package/contracts/bootstrap/templates/basic-design/detail-api-template.md +278 -0
- package/contracts/bootstrap/templates/basic-design/detail-screen-template.md +281 -0
- package/contracts/bootstrap/templates/basic-design/list-api-template.md +130 -0
- package/contracts/bootstrap/templates/basic-design/list-screen-template.md +242 -0
- package/contracts/bootstrap/templates/detail-design/common/architecture-overview-template.md +302 -0
- package/contracts/bootstrap/templates/detail-design/common/deployment-infrastructure-template.md +461 -0
- package/contracts/bootstrap/templates/detail-design/common/error-handling-patterns-template.md +460 -0
- package/contracts/bootstrap/templates/detail-design/common/integration-patterns-template.md +410 -0
- package/contracts/bootstrap/templates/detail-design/common/performance-standards-template.md +406 -0
- package/contracts/bootstrap/templates/detail-design/common/security-patterns-template.md +395 -0
- package/contracts/bootstrap/templates/detail-design/feature-detail-design-template.md +773 -0
- package/contracts/bootstrap/templates/detail-design/feature-list-template.md +39 -0
- package/contracts/bootstrap/templates/srs/1-introduction.md +58 -0
- package/contracts/bootstrap/templates/srs/2-overall-description.md +91 -0
- package/contracts/bootstrap/templates/srs/3-use-case-detail-template.md +142 -0
- package/contracts/bootstrap/templates/srs/3-use-cases.md +53 -0
- package/contracts/bootstrap/templates/srs/4-system-feature-detail-template.md +131 -0
- package/contracts/bootstrap/templates/srs/4-system-features-list-template.md +39 -0
- package/contracts/bootstrap/templates/srs/5-data-requirements.md +59 -0
- package/contracts/bootstrap/templates/srs/6-external-interfaces.md +56 -0
- package/contracts/bootstrap/templates/srs/7-quality-attributes.md +74 -0
- package/contracts/bootstrap/templates/srs/8-internationalization.md +36 -0
- package/contracts/bootstrap/templates/srs/9-other-requirements.md +46 -0
- package/contracts/examples/full-docops.config.json +54 -0
- package/contracts/examples/migrate-lifecycle.json +18 -0
- package/contracts/examples/minimal-comment-thread/comment-root.json +10 -0
- package/contracts/examples/minimal-comment-thread/meta_data.json +22 -0
- package/contracts/examples/minimal-docops.config.json +33 -0
- package/contracts/examples/minimal-lifecycle.json +17 -0
- package/contracts/examples/minimal-prototype.config.json +18 -0
- package/contracts/examples/minimal-screen-map.json +25 -0
- package/contracts/examples/registry/minimal-document.entity.json +15 -0
- package/contracts/examples/registry/minimal-manifest.json +7 -0
- package/contracts/examples/registry/minimal-screen.entity.json +11 -0
- package/contracts/examples/review/minimal-pending.json +14 -0
- package/contracts/examples/review/minimal-registry.json +31 -0
- package/contracts/examples/review/minimal-review.config.json +7 -0
- package/contracts/schemas/comments/comment_body.schema.json +19 -0
- package/contracts/schemas/comments/meta_data.schema.json +59 -0
- package/contracts/schemas/docops.config.schema.json +97 -0
- package/contracts/schemas/lifecycle.schema.json +43 -0
- package/contracts/schemas/prototype/config.schema.json +56 -0
- package/contracts/schemas/prototype/screen-map.schema.json +51 -0
- package/contracts/schemas/registry/document.entity.schema.json +38 -0
- package/contracts/schemas/registry/manifest.schema.json +18 -0
- package/contracts/schemas/registry/screen.entity.schema.json +28 -0
- package/contracts/schemas/review/registry.schema.json +72 -0
- package/contracts/schemas/review/review.config.schema.json +42 -0
- package/dist/cli.js +52 -3
- package/dist/cli.js.map +1 -1
- package/dist/core/docops/assess.d.ts.map +1 -1
- package/dist/core/docops/assess.js +28 -1
- package/dist/core/docops/assess.js.map +1 -1
- package/dist/core/docops/bootstrap.d.ts +4 -1
- package/dist/core/docops/bootstrap.d.ts.map +1 -1
- package/dist/core/docops/bootstrap.js +16 -9
- package/dist/core/docops/bootstrap.js.map +1 -1
- package/dist/core/docops/capabilities.d.ts +1 -1
- package/dist/core/docops/capabilities.d.ts.map +1 -1
- package/dist/core/docops/capabilities.js +0 -1
- package/dist/core/docops/capabilities.js.map +1 -1
- package/dist/core/docops/check.d.ts +26 -0
- package/dist/core/docops/check.d.ts.map +1 -0
- package/dist/core/docops/check.js +280 -0
- package/dist/core/docops/check.js.map +1 -0
- package/dist/core/docops/guide.d.ts +78 -0
- package/dist/core/docops/guide.d.ts.map +1 -0
- package/dist/core/docops/guide.js +554 -0
- package/dist/core/docops/guide.js.map +1 -0
- package/dist/core/docops/layer-defaults.d.ts +2 -0
- package/dist/core/docops/layer-defaults.d.ts.map +1 -1
- package/dist/core/docops/layer-defaults.js +7 -0
- package/dist/core/docops/layer-defaults.js.map +1 -1
- package/dist/core/docops/layout-classify.d.ts +24 -0
- package/dist/core/docops/layout-classify.d.ts.map +1 -0
- package/dist/core/{adopt/classify.js → docops/layout-classify.js} +2 -4
- package/dist/core/docops/layout-classify.js.map +1 -0
- package/dist/core/docops/layout.d.ts +27 -0
- package/dist/core/docops/layout.d.ts.map +1 -0
- package/dist/core/docops/layout.js +181 -0
- package/dist/core/docops/layout.js.map +1 -0
- package/dist/core/docops/migrate.d.ts +2 -0
- package/dist/core/docops/migrate.d.ts.map +1 -1
- package/dist/core/docops/migrate.js +64 -8
- package/dist/core/docops/migrate.js.map +1 -1
- package/dist/core/graph/doc-extract.d.ts.map +1 -1
- package/dist/core/graph/doc-extract.js +12 -0
- package/dist/core/graph/doc-extract.js.map +1 -1
- package/dist/core/graph/impact.d.ts.map +1 -1
- package/dist/core/graph/impact.js +2 -1
- package/dist/core/graph/impact.js.map +1 -1
- package/dist/core/graph/link-testcases.d.ts +14 -0
- package/dist/core/graph/link-testcases.d.ts.map +1 -0
- package/dist/core/graph/link-testcases.js +46 -0
- package/dist/core/graph/link-testcases.js.map +1 -0
- package/dist/core/operations/check.d.ts.map +1 -1
- package/dist/core/operations/check.js +11 -19
- package/dist/core/operations/check.js.map +1 -1
- package/dist/core/operations/docops.d.ts +18 -0
- package/dist/core/operations/docops.d.ts.map +1 -1
- package/dist/core/operations/docops.js +116 -0
- package/dist/core/operations/docops.js.map +1 -1
- package/dist/core/operations/index.d.ts.map +1 -1
- package/dist/core/operations/index.js +25 -0
- package/dist/core/operations/index.js.map +1 -1
- package/dist/core/operations/task-gates.d.ts +8 -1
- package/dist/core/operations/task-gates.d.ts.map +1 -1
- package/dist/core/operations/task-gates.js +14 -15
- package/dist/core/operations/task-gates.js.map +1 -1
- package/dist/core/operations/task-templates.d.ts +2 -2
- package/dist/core/operations/task-templates.d.ts.map +1 -1
- package/dist/core/operations/task-templates.js +0 -20
- package/dist/core/operations/task-templates.js.map +1 -1
- package/dist/core/operations/task.d.ts +2 -14
- package/dist/core/operations/task.d.ts.map +1 -1
- package/dist/core/operations/task.js +40 -60
- package/dist/core/operations/task.js.map +1 -1
- package/dist/core/operations/work.d.ts +1 -2
- package/dist/core/operations/work.d.ts.map +1 -1
- package/dist/core/operations/work.js +1 -21
- package/dist/core/operations/work.js.map +1 -1
- package/dist/core/sync/audit.d.ts.map +1 -1
- package/dist/core/sync/audit.js +14 -6
- package/dist/core/sync/audit.js.map +1 -1
- package/dist/core/sync/baseline.d.ts.map +1 -1
- package/dist/core/sync/baseline.js +5 -2
- package/dist/core/sync/baseline.js.map +1 -1
- package/dist/core/sync/constants.d.ts.map +1 -1
- package/dist/core/sync/constants.js +2 -1
- package/dist/core/sync/constants.js.map +1 -1
- package/dist/core/sync/gaps.d.ts.map +1 -1
- package/dist/core/sync/gaps.js +23 -2
- package/dist/core/sync/gaps.js.map +1 -1
- package/dist/core/sync/git-diff.d.ts +1 -0
- package/dist/core/sync/git-diff.d.ts.map +1 -1
- package/dist/core/sync/git-diff.js +14 -0
- package/dist/core/sync/git-diff.js.map +1 -1
- package/dist/core/sync/repo-context.d.ts +23 -0
- package/dist/core/sync/repo-context.d.ts.map +1 -0
- package/dist/core/sync/repo-context.js +28 -0
- package/dist/core/sync/repo-context.js.map +1 -0
- package/dist/core/sync/snapshot.d.ts.map +1 -1
- package/dist/core/sync/snapshot.js +24 -18
- package/dist/core/sync/snapshot.js.map +1 -1
- package/dist/core/sync/types.d.ts +7 -2
- package/dist/core/sync/types.d.ts.map +1 -1
- package/dist/core/upgrade/apply.d.ts.map +1 -1
- package/dist/core/upgrade/apply.js +11 -0
- package/dist/core/upgrade/apply.js.map +1 -1
- package/dist/core/upgrade/checklist.json +11 -1
- package/dist/core/upgrade/detect.d.ts.map +1 -1
- package/dist/core/upgrade/detect.js +20 -0
- package/dist/core/upgrade/detect.js.map +1 -1
- package/dist/core/upgrade/types.d.ts +1 -1
- package/dist/core/upgrade/types.d.ts.map +1 -1
- package/dist/core/workflow/active-worker.js +1 -1
- package/dist/core/workflow/active-worker.js.map +1 -1
- package/dist/core/workflow/route-intent-examples.d.ts.map +1 -1
- package/dist/core/workflow/route-intent-examples.js +2 -3
- package/dist/core/workflow/route-intent-examples.js.map +1 -1
- package/dist/core/workflow/route-intent.d.ts +1 -1
- package/dist/core/workflow/route-intent.d.ts.map +1 -1
- package/dist/core/workflow/route-intent.js +8 -8
- package/dist/core/workflow/route-intent.js.map +1 -1
- package/dist/interfaces/mcp/schemas.d.ts +2 -344
- package/dist/interfaces/mcp/schemas.d.ts.map +1 -1
- package/dist/interfaces/mcp/schemas.js +7 -68
- package/dist/interfaces/mcp/schemas.js.map +1 -1
- package/dist/interfaces/mcp/server.js +3 -61
- package/dist/interfaces/mcp/server.js.map +1 -1
- package/dist/interfaces/mcp/tool-descriptions.d.ts +0 -10
- package/dist/interfaces/mcp/tool-descriptions.d.ts.map +1 -1
- package/dist/interfaces/mcp/tool-descriptions.js +3 -52
- package/dist/interfaces/mcp/tool-descriptions.js.map +1 -1
- package/dist/interfaces/mcp/tool-names.d.ts +1 -1
- package/dist/interfaces/mcp/tool-names.d.ts.map +1 -1
- package/dist/interfaces/mcp/tool-names.js +0 -8
- package/dist/interfaces/mcp/tool-names.js.map +1 -1
- package/dist/interfaces/mcp/tools/task.d.ts +1 -2
- package/dist/interfaces/mcp/tools/task.d.ts.map +1 -1
- package/dist/interfaces/mcp/tools/task.js +1 -10
- package/dist/interfaces/mcp/tools/task.js.map +1 -1
- package/dist/interfaces/sdk/index.d.ts +2 -2
- package/dist/interfaces/sdk/index.d.ts.map +1 -1
- package/dist/interfaces/sdk/index.js +2 -2
- package/dist/interfaces/sdk/index.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/scaffold/.ai-spector/.docflow/config/workspace/rules.json +1 -1
- package/scaffold/claude/.claude/skills/_skill-router.md +11 -8
- package/scaffold/claude/.claude/skills/ai-spector/references/cli-failures.md +3 -3
- package/scaffold/claude/.claude/skills/ai-spector/references/docops-migrate.md +112 -0
- package/scaffold/claude/.claude/skills/ai-spector/references/help.md +1 -1
- package/scaffold/claude/.claude/skills/ai-spector/references/runbook.md +44 -57
- package/scaffold/claude/.claude/skills/ai-spector/skill.md +3 -2
- package/scaffold/cursor/skills/_skill-router.md +11 -8
- package/scaffold/cursor/skills/ai-spector/SKILL.md +3 -2
- package/scaffold/cursor/skills/ai-spector/references/cli-failures.md +3 -3
- package/scaffold/cursor/skills/ai-spector/references/docops-migrate.md +112 -0
- package/scaffold/cursor/skills/ai-spector/references/help.md +1 -1
- package/scaffold/cursor/skills/ai-spector/references/runbook.md +44 -57
- package/schemas/rules.impact.json +3 -2
- package/schemas/schema.graph.json +4 -2
- package/dist/commands/analyze.d.ts +0 -12
- package/dist/commands/analyze.d.ts.map +0 -1
- package/dist/commands/analyze.js +0 -53
- package/dist/commands/analyze.js.map +0 -1
- package/dist/commands/bootstrap.d.ts +0 -4
- package/dist/commands/bootstrap.d.ts.map +0 -1
- package/dist/commands/bootstrap.js +0 -58
- package/dist/commands/bootstrap.js.map +0 -1
- package/dist/commands/comments.d.ts +0 -44
- package/dist/commands/comments.d.ts.map +0 -1
- package/dist/commands/comments.js +0 -79
- package/dist/commands/comments.js.map +0 -1
- package/dist/commands/graph-impact.d.ts +0 -28
- package/dist/commands/graph-impact.d.ts.map +0 -1
- package/dist/commands/graph-impact.js +0 -174
- package/dist/commands/graph-impact.js.map +0 -1
- package/dist/commands/graph-merge.d.ts +0 -32
- package/dist/commands/graph-merge.d.ts.map +0 -1
- package/dist/commands/graph-merge.js +0 -101
- package/dist/commands/graph-merge.js.map +0 -1
- package/dist/commands/graph-query.d.ts +0 -10
- package/dist/commands/graph-query.d.ts.map +0 -1
- package/dist/commands/graph-query.js +0 -24
- package/dist/commands/graph-query.js.map +0 -1
- package/dist/commands/graph-report.d.ts +0 -9
- package/dist/commands/graph-report.d.ts.map +0 -1
- package/dist/commands/graph-report.js +0 -10
- package/dist/commands/graph-report.js.map +0 -1
- package/dist/commands/graph-visualize.d.ts +0 -17
- package/dist/commands/graph-visualize.d.ts.map +0 -1
- package/dist/commands/graph-visualize.js +0 -44
- package/dist/commands/graph-visualize.js.map +0 -1
- package/dist/commands/hooks-constants.d.ts +0 -2
- package/dist/commands/hooks-constants.d.ts.map +0 -1
- package/dist/commands/hooks-constants.js +0 -2
- package/dist/commands/hooks-constants.js.map +0 -1
- package/dist/commands/hooks.d.ts +0 -28
- package/dist/commands/hooks.d.ts.map +0 -1
- package/dist/commands/hooks.js +0 -187
- package/dist/commands/hooks.js.map +0 -1
- package/dist/commands/index.d.ts +0 -22
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -472
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/init.d.ts +0 -19
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -210
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/lang-queue.d.ts +0 -28
- package/dist/commands/lang-queue.d.ts.map +0 -1
- package/dist/commands/lang-queue.js +0 -49
- package/dist/commands/lang-queue.js.map +0 -1
- package/dist/commands/lang.d.ts +0 -16
- package/dist/commands/lang.d.ts.map +0 -1
- package/dist/commands/lang.js +0 -69
- package/dist/commands/lang.js.map +0 -1
- package/dist/commands/prototype.d.ts +0 -66
- package/dist/commands/prototype.d.ts.map +0 -1
- package/dist/commands/prototype.js +0 -370
- package/dist/commands/prototype.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -26
- package/dist/commands/setup.d.ts.map +0 -1
- package/dist/commands/setup.js +0 -259
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/sync-cursor.d.ts +0 -10
- package/dist/commands/sync-cursor.d.ts.map +0 -1
- package/dist/commands/sync-cursor.js +0 -18
- package/dist/commands/sync-cursor.js.map +0 -1
- package/dist/commands/template-regen.d.ts +0 -24
- package/dist/commands/template-regen.d.ts.map +0 -1
- package/dist/commands/template-regen.js +0 -240
- package/dist/commands/template-regen.js.map +0 -1
- package/dist/commands/template.d.ts +0 -3
- package/dist/commands/template.d.ts.map +0 -1
- package/dist/commands/template.js +0 -1285
- package/dist/commands/template.js.map +0 -1
- package/dist/commands/validate.d.ts +0 -10
- package/dist/commands/validate.d.ts.map +0 -1
- package/dist/commands/validate.js +0 -89
- package/dist/commands/validate.js.map +0 -1
- package/dist/comments/anchor.d.ts +0 -16
- package/dist/comments/anchor.d.ts.map +0 -1
- package/dist/comments/anchor.js +0 -59
- package/dist/comments/anchor.js.map +0 -1
- package/dist/comments/inbox.d.ts +0 -82
- package/dist/comments/inbox.d.ts.map +0 -1
- package/dist/comments/inbox.js +0 -179
- package/dist/comments/inbox.js.map +0 -1
- package/dist/comments/paths.d.ts +0 -12
- package/dist/comments/paths.d.ts.map +0 -1
- package/dist/comments/paths.js +0 -54
- package/dist/comments/paths.js.map +0 -1
- package/dist/comments/plan.d.ts +0 -20
- package/dist/comments/plan.d.ts.map +0 -1
- package/dist/comments/plan.js +0 -62
- package/dist/comments/plan.js.map +0 -1
- package/dist/comments/storage.d.ts +0 -30
- package/dist/comments/storage.d.ts.map +0 -1
- package/dist/comments/storage.js +0 -272
- package/dist/comments/storage.js.map +0 -1
- package/dist/comments/types.d.ts +0 -54
- package/dist/comments/types.d.ts.map +0 -1
- package/dist/comments/types.js +0 -2
- package/dist/comments/types.js.map +0 -1
- package/dist/config/load.d.ts +0 -47
- package/dist/config/load.d.ts.map +0 -1
- package/dist/config/load.js +0 -148
- package/dist/config/load.js.map +0 -1
- package/dist/config/types.d.ts +0 -56
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js +0 -2
- package/dist/config/types.js.map +0 -1
- package/dist/core/adopt/apply.d.ts +0 -15
- package/dist/core/adopt/apply.d.ts.map +0 -1
- package/dist/core/adopt/apply.js +0 -127
- package/dist/core/adopt/apply.js.map +0 -1
- package/dist/core/adopt/bootstrap.d.ts +0 -16
- package/dist/core/adopt/bootstrap.d.ts.map +0 -1
- package/dist/core/adopt/bootstrap.js +0 -164
- package/dist/core/adopt/bootstrap.js.map +0 -1
- package/dist/core/adopt/classify.d.ts +0 -22
- package/dist/core/adopt/classify.d.ts.map +0 -1
- package/dist/core/adopt/classify.js.map +0 -1
- package/dist/core/adopt/paths.d.ts +0 -10
- package/dist/core/adopt/paths.d.ts.map +0 -1
- package/dist/core/adopt/paths.js +0 -16
- package/dist/core/adopt/paths.js.map +0 -1
- package/dist/core/adopt/plan.d.ts +0 -10
- package/dist/core/adopt/plan.d.ts.map +0 -1
- package/dist/core/adopt/plan.js +0 -269
- package/dist/core/adopt/plan.js.map +0 -1
- package/dist/core/adopt/scan.d.ts +0 -5
- package/dist/core/adopt/scan.d.ts.map +0 -1
- package/dist/core/adopt/scan.js +0 -169
- package/dist/core/adopt/scan.js.map +0 -1
- package/dist/core/adopt/setup.d.ts +0 -7
- package/dist/core/adopt/setup.d.ts.map +0 -1
- package/dist/core/adopt/setup.js +0 -64
- package/dist/core/adopt/setup.js.map +0 -1
- package/dist/core/adopt/tasks.d.ts +0 -9
- package/dist/core/adopt/tasks.d.ts.map +0 -1
- package/dist/core/adopt/tasks.js +0 -153
- package/dist/core/adopt/tasks.js.map +0 -1
- package/dist/core/adopt/types.d.ts +0 -75
- package/dist/core/adopt/types.d.ts.map +0 -1
- package/dist/core/adopt/types.js +0 -2
- package/dist/core/adopt/types.js.map +0 -1
- package/dist/core/adopt/validate.d.ts +0 -20
- package/dist/core/adopt/validate.d.ts.map +0 -1
- package/dist/core/adopt/validate.js +0 -129
- package/dist/core/adopt/validate.js.map +0 -1
- package/dist/core/docops/dual-write.d.ts +0 -12
- package/dist/core/docops/dual-write.d.ts.map +0 -1
- package/dist/core/docops/dual-write.js +0 -44
- package/dist/core/docops/dual-write.js.map +0 -1
- package/dist/core/engine/local-adapter.d.ts +0 -3
- package/dist/core/engine/local-adapter.d.ts.map +0 -1
- package/dist/core/engine/local-adapter.js +0 -18
- package/dist/core/engine/local-adapter.js.map +0 -1
- package/dist/core/graph/rules/default-impact.json +0 -24
- package/dist/core/operations/adopt-gates.d.ts +0 -19
- package/dist/core/operations/adopt-gates.d.ts.map +0 -1
- package/dist/core/operations/adopt-gates.js +0 -71
- package/dist/core/operations/adopt-gates.js.map +0 -1
- package/dist/core/operations/adopt-plan.d.ts +0 -15
- package/dist/core/operations/adopt-plan.d.ts.map +0 -1
- package/dist/core/operations/adopt-plan.js +0 -24
- package/dist/core/operations/adopt-plan.js.map +0 -1
- package/dist/core/operations/adopt.d.ts +0 -11
- package/dist/core/operations/adopt.d.ts.map +0 -1
- package/dist/core/operations/adopt.js +0 -150
- package/dist/core/operations/adopt.js.map +0 -1
- package/dist/core/operations/analyze.d.ts +0 -12
- package/dist/core/operations/analyze.d.ts.map +0 -1
- package/dist/core/operations/analyze.js +0 -53
- package/dist/core/operations/analyze.js.map +0 -1
- package/dist/core/prototype/spa-route-fallbacks.d.ts +0 -21
- package/dist/core/prototype/spa-route-fallbacks.d.ts.map +0 -1
- package/dist/core/prototype/spa-route-fallbacks.js +0 -93
- package/dist/core/prototype/spa-route-fallbacks.js.map +0 -1
- package/dist/graph/InMemoryGraph.d.ts +0 -2
- package/dist/graph/InMemoryGraph.d.ts.map +0 -1
- package/dist/graph/InMemoryGraph.js +0 -2
- package/dist/graph/InMemoryGraph.js.map +0 -1
- package/dist/graph/bundles.d.ts +0 -32
- package/dist/graph/bundles.d.ts.map +0 -1
- package/dist/graph/bundles.js +0 -109
- package/dist/graph/bundles.js.map +0 -1
- package/dist/graph/defaults.d.ts +0 -23
- package/dist/graph/defaults.d.ts.map +0 -1
- package/dist/graph/defaults.js +0 -25
- package/dist/graph/defaults.js.map +0 -1
- package/dist/graph/detail-sections.d.ts +0 -28
- package/dist/graph/detail-sections.d.ts.map +0 -1
- package/dist/graph/detail-sections.js +0 -220
- package/dist/graph/detail-sections.js.map +0 -1
- package/dist/graph/doc-extract.d.ts +0 -84
- package/dist/graph/doc-extract.d.ts.map +0 -1
- package/dist/graph/doc-extract.js +0 -821
- package/dist/graph/doc-extract.js.map +0 -1
- package/dist/graph/impact.d.ts +0 -5
- package/dist/graph/impact.d.ts.map +0 -1
- package/dist/graph/impact.js +0 -7
- package/dist/graph/impact.js.map +0 -1
- package/dist/graph/knowledge.d.ts +0 -11
- package/dist/graph/knowledge.d.ts.map +0 -1
- package/dist/graph/knowledge.js +0 -62
- package/dist/graph/knowledge.js.map +0 -1
- package/dist/graph/layer-audit.d.ts +0 -5
- package/dist/graph/layer-audit.d.ts.map +0 -1
- package/dist/graph/layer-audit.js +0 -29
- package/dist/graph/layer-audit.js.map +0 -1
- package/dist/graph/load.d.ts +0 -4
- package/dist/graph/load.d.ts.map +0 -1
- package/dist/graph/load.js +0 -12
- package/dist/graph/load.js.map +0 -1
- package/dist/graph/loadGraph.d.ts +0 -3
- package/dist/graph/loadGraph.d.ts.map +0 -1
- package/dist/graph/loadGraph.js +0 -7
- package/dist/graph/loadGraph.js.map +0 -1
- package/dist/graph/merge.d.ts +0 -27
- package/dist/graph/merge.d.ts.map +0 -1
- package/dist/graph/merge.js +0 -239
- package/dist/graph/merge.js.map +0 -1
- package/dist/graph/path-target-edges.d.ts +0 -2
- package/dist/graph/path-target-edges.d.ts.map +0 -1
- package/dist/graph/path-target-edges.js +0 -2
- package/dist/graph/path-target-edges.js.map +0 -1
- package/dist/graph/provenance.d.ts +0 -19
- package/dist/graph/provenance.d.ts.map +0 -1
- package/dist/graph/provenance.js +0 -199
- package/dist/graph/provenance.js.map +0 -1
- package/dist/graph/query.d.ts +0 -3
- package/dist/graph/query.d.ts.map +0 -1
- package/dist/graph/query.js +0 -2
- package/dist/graph/query.js.map +0 -1
- package/dist/graph/resolve.d.ts +0 -15
- package/dist/graph/resolve.d.ts.map +0 -1
- package/dist/graph/resolve.js +0 -117
- package/dist/graph/resolve.js.map +0 -1
- package/dist/graph/source-refs.d.ts +0 -2
- package/dist/graph/source-refs.d.ts.map +0 -1
- package/dist/graph/source-refs.js +0 -30
- package/dist/graph/source-refs.js.map +0 -1
- package/dist/graph/translation.d.ts +0 -14
- package/dist/graph/translation.d.ts.map +0 -1
- package/dist/graph/translation.js +0 -65
- package/dist/graph/translation.js.map +0 -1
- package/dist/index/doc-semantics.d.ts +0 -14
- package/dist/index/doc-semantics.d.ts.map +0 -1
- package/dist/index/doc-semantics.js +0 -101
- package/dist/index/doc-semantics.js.map +0 -1
- package/dist/index/docs-build.d.ts +0 -40
- package/dist/index/docs-build.d.ts.map +0 -1
- package/dist/index/docs-build.js +0 -136
- package/dist/index/docs-build.js.map +0 -1
- package/dist/index/docs-config.d.ts +0 -19
- package/dist/index/docs-config.d.ts.map +0 -1
- package/dist/index/docs-config.js +0 -5
- package/dist/index/docs-config.js.map +0 -1
- package/dist/interfaces/cli/format/adopt.d.ts +0 -23
- package/dist/interfaces/cli/format/adopt.d.ts.map +0 -1
- package/dist/interfaces/cli/format/adopt.js +0 -89
- package/dist/interfaces/cli/format/adopt.js.map +0 -1
- package/dist/interfaces/mcp/tools/adopt.d.ts +0 -22
- package/dist/interfaces/mcp/tools/adopt.d.ts.map +0 -1
- package/dist/interfaces/mcp/tools/adopt.js +0 -55
- package/dist/interfaces/mcp/tools/adopt.js.map +0 -1
- package/dist/lang/diff.d.ts +0 -12
- package/dist/lang/diff.d.ts.map +0 -1
- package/dist/lang/diff.js +0 -71
- package/dist/lang/diff.js.map +0 -1
- package/dist/lang/paths.d.ts +0 -16
- package/dist/lang/paths.d.ts.map +0 -1
- package/dist/lang/paths.js +0 -32
- package/dist/lang/paths.js.map +0 -1
- package/dist/lang/queue-layout.d.ts +0 -11
- package/dist/lang/queue-layout.d.ts.map +0 -1
- package/dist/lang/queue-layout.js +0 -56
- package/dist/lang/queue-layout.js.map +0 -1
- package/dist/lang/queue-store.d.ts +0 -23
- package/dist/lang/queue-store.d.ts.map +0 -1
- package/dist/lang/queue-store.js +0 -285
- package/dist/lang/queue-store.js.map +0 -1
- package/dist/lang/queue-types.d.ts +0 -122
- package/dist/lang/queue-types.d.ts.map +0 -1
- package/dist/lang/queue-types.js +0 -2
- package/dist/lang/queue-types.js.map +0 -1
- package/dist/lang/queue.d.ts +0 -17
- package/dist/lang/queue.d.ts.map +0 -1
- package/dist/lang/queue.js +0 -362
- package/dist/lang/queue.js.map +0 -1
- package/dist/lang/sections.d.ts +0 -26
- package/dist/lang/sections.d.ts.map +0 -1
- package/dist/lang/sections.js +0 -85
- package/dist/lang/sections.js.map +0 -1
- package/dist/markdown/parse.d.ts +0 -25
- package/dist/markdown/parse.d.ts.map +0 -1
- package/dist/markdown/parse.js +0 -100
- package/dist/markdown/parse.js.map +0 -1
- package/dist/prototype/build-base-path.d.ts +0 -11
- package/dist/prototype/build-base-path.d.ts.map +0 -1
- package/dist/prototype/build-base-path.js +0 -84
- package/dist/prototype/build-base-path.js.map +0 -1
- package/dist/prototype/build-manifest.d.ts +0 -21
- package/dist/prototype/build-manifest.d.ts.map +0 -1
- package/dist/prototype/build-manifest.js +0 -171
- package/dist/prototype/build-manifest.js.map +0 -1
- package/dist/prototype/config.d.ts +0 -21
- package/dist/prototype/config.d.ts.map +0 -1
- package/dist/prototype/config.js +0 -131
- package/dist/prototype/config.js.map +0 -1
- package/dist/prototype/deploy-path.d.ts +0 -9
- package/dist/prototype/deploy-path.d.ts.map +0 -1
- package/dist/prototype/deploy-path.js +0 -21
- package/dist/prototype/deploy-path.js.map +0 -1
- package/dist/prototype/htpasswd.d.ts +0 -8
- package/dist/prototype/htpasswd.d.ts.map +0 -1
- package/dist/prototype/htpasswd.js +0 -36
- package/dist/prototype/htpasswd.js.map +0 -1
- package/dist/prototype/nginx-config.d.ts +0 -16
- package/dist/prototype/nginx-config.d.ts.map +0 -1
- package/dist/prototype/nginx-config.js +0 -39
- package/dist/prototype/nginx-config.js.map +0 -1
- package/dist/prototype/parse-screen-index.d.ts +0 -10
- package/dist/prototype/parse-screen-index.d.ts.map +0 -1
- package/dist/prototype/parse-screen-index.js +0 -109
- package/dist/prototype/parse-screen-index.js.map +0 -1
- package/dist/prototype/preview-uri.d.ts +0 -8
- package/dist/prototype/preview-uri.d.ts.map +0 -1
- package/dist/prototype/preview-uri.js +0 -35
- package/dist/prototype/preview-uri.js.map +0 -1
- package/dist/prototype/relative-assets.d.ts +0 -9
- package/dist/prototype/relative-assets.d.ts.map +0 -1
- package/dist/prototype/relative-assets.js +0 -23
- package/dist/prototype/relative-assets.js.map +0 -1
- package/dist/prototype/resolve-default-screen.d.ts +0 -17
- package/dist/prototype/resolve-default-screen.d.ts.map +0 -1
- package/dist/prototype/resolve-default-screen.js +0 -31
- package/dist/prototype/resolve-default-screen.js.map +0 -1
- package/dist/prototype/rewrite-build-assets.d.ts +0 -8
- package/dist/prototype/rewrite-build-assets.d.ts.map +0 -1
- package/dist/prototype/rewrite-build-assets.js +0 -40
- package/dist/prototype/rewrite-build-assets.js.map +0 -1
- package/dist/prototype/route-defaults.d.ts +0 -43
- package/dist/prototype/route-defaults.d.ts.map +0 -1
- package/dist/prototype/route-defaults.js +0 -50
- package/dist/prototype/route-defaults.js.map +0 -1
- package/dist/prototype/screen-doc-paths.d.ts +0 -15
- package/dist/prototype/screen-doc-paths.d.ts.map +0 -1
- package/dist/prototype/screen-doc-paths.js +0 -38
- package/dist/prototype/screen-doc-paths.js.map +0 -1
- package/dist/prototype/spa-route-fallbacks.d.ts +0 -21
- package/dist/prototype/spa-route-fallbacks.d.ts.map +0 -1
- package/dist/prototype/spa-route-fallbacks.js +0 -93
- package/dist/prototype/spa-route-fallbacks.js.map +0 -1
- package/dist/prototype/theme-preview.d.ts +0 -17
- package/dist/prototype/theme-preview.d.ts.map +0 -1
- package/dist/prototype/theme-preview.js +0 -73
- package/dist/prototype/theme-preview.js.map +0 -1
- package/dist/prototype/themes.d.ts +0 -6
- package/dist/prototype/themes.d.ts.map +0 -1
- package/dist/prototype/themes.js +0 -55
- package/dist/prototype/themes.js.map +0 -1
- package/dist/prototype/types.d.ts +0 -160
- package/dist/prototype/types.d.ts.map +0 -1
- package/dist/prototype/types.js +0 -2
- package/dist/prototype/types.js.map +0 -1
- package/dist/prototype/validate.d.ts +0 -16
- package/dist/prototype/validate.d.ts.map +0 -1
- package/dist/prototype/validate.js +0 -149
- package/dist/prototype/validate.js.map +0 -1
- package/dist/registry/build.d.ts +0 -5
- package/dist/registry/build.d.ts.map +0 -1
- package/dist/registry/build.js +0 -71
- package/dist/registry/build.js.map +0 -1
- package/dist/registry/slug.d.ts +0 -4
- package/dist/registry/slug.d.ts.map +0 -1
- package/dist/registry/slug.js +0 -16
- package/dist/registry/slug.js.map +0 -1
- package/dist/registry/structure-patch.d.ts +0 -6
- package/dist/registry/structure-patch.d.ts.map +0 -1
- package/dist/registry/structure-patch.js +0 -49
- package/dist/registry/structure-patch.js.map +0 -1
- package/dist/template/scan.d.ts +0 -21
- package/dist/template/scan.d.ts.map +0 -1
- package/dist/template/scan.js +0 -84
- package/dist/template/scan.js.map +0 -1
- package/dist/template/validate.d.ts +0 -10
- package/dist/template/validate.d.ts.map +0 -1
- package/dist/template/validate.js +0 -64
- package/dist/template/validate.js.map +0 -1
- package/dist/util/fs.d.ts +0 -6
- package/dist/util/fs.d.ts.map +0 -1
- package/dist/util/fs.js +0 -24
- package/dist/util/fs.js.map +0 -1
- package/dist/util/git-diff.d.ts +0 -16
- package/dist/util/git-diff.d.ts.map +0 -1
- package/dist/util/git-diff.js +0 -93
- package/dist/util/git-diff.js.map +0 -1
- package/dist/util/gitignore.d.ts +0 -9
- package/dist/util/gitignore.d.ts.map +0 -1
- package/dist/util/gitignore.js +0 -44
- package/dist/util/gitignore.js.map +0 -1
- package/dist/util/open-browser.d.ts +0 -3
- package/dist/util/open-browser.d.ts.map +0 -1
- package/dist/util/open-browser.js +0 -24
- package/dist/util/open-browser.js.map +0 -1
- package/dist/util/paths.d.ts +0 -16
- package/dist/util/paths.d.ts.map +0 -1
- package/dist/util/paths.js +0 -19
- package/dist/util/paths.js.map +0 -1
- package/dist/util/prompt.d.ts +0 -14
- package/dist/util/prompt.d.ts.map +0 -1
- package/dist/util/prompt.js +0 -65
- package/dist/util/prompt.js.map +0 -1
- package/dist/visualize/html.d.ts +0 -13
- package/dist/visualize/html.d.ts.map +0 -1
- package/dist/visualize/html.js +0 -766
- package/dist/visualize/html.js.map +0 -1
- package/dist/visualize/stats.d.ts +0 -8
- package/dist/visualize/stats.d.ts.map +0 -1
- package/dist/visualize/stats.js +0 -9
- package/dist/visualize/stats.js.map +0 -1
- package/scaffold/claude/.claude/workflows/adopt.md +0 -14
- package/scaffold/cursor/commands/adopt.md +0 -14
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"buildMode": "static",
|
|
4
|
+
"defaultScreenId": "SCR-001",
|
|
5
|
+
"defaultScreen": {
|
|
6
|
+
"screenId": "SCR-001",
|
|
7
|
+
"displayName": "Login",
|
|
8
|
+
"screenDocPath": "basic-design/screens/login.md",
|
|
9
|
+
"prototypePath": "",
|
|
10
|
+
"route_exists": false
|
|
11
|
+
},
|
|
12
|
+
"screens": [
|
|
13
|
+
{
|
|
14
|
+
"screenId": "SCR-001",
|
|
15
|
+
"displayName": "Login",
|
|
16
|
+
"screenDocPath": "basic-design/screens/login.md",
|
|
17
|
+
"screenDocs": {
|
|
18
|
+
"en": "docs/basic-design/en/screens/login.md"
|
|
19
|
+
},
|
|
20
|
+
"prototypePath": "",
|
|
21
|
+
"route_exists": false,
|
|
22
|
+
"reviewUrl": null
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"version": 1,
|
|
4
|
+
"buildMode": "static",
|
|
5
|
+
"listScreenDoc": "docs/basic-design/en/list-screens.md",
|
|
6
|
+
"screenIndexSection": "## 4. Screen Index",
|
|
7
|
+
"screenDetailDir": "docs/basic-design/screens/",
|
|
8
|
+
"prototypeDir": "prototype",
|
|
9
|
+
"srcDir": "prototype/src",
|
|
10
|
+
"slugFrom": "screenName",
|
|
11
|
+
"defaultTheme": "vercel",
|
|
12
|
+
"htpasswdFile": "prototype/.htpasswd",
|
|
13
|
+
"prototypeBypassAuth": true,
|
|
14
|
+
"reviewHost": "",
|
|
15
|
+
"projectId": "",
|
|
16
|
+
"deployVersion": ""
|
|
17
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# Entity registry migration guide
|
|
2
|
+
|
|
3
|
+
> **Greenfield projects:** `docops init` and `docops migrate --repair` scaffold **entityId** keying by default (`.docops/registry/`, review registry v4). Path-keyed layouts are **legacy only** and will be removed in a future release.
|
|
4
|
+
>
|
|
5
|
+
> **Note:** `.docops/registry/documents/` is created by `docops registry sync` (also run automatically on init/repair/index when design docs exist). An empty project has no entity files until the first sync.
|
|
6
|
+
|
|
7
|
+
> **Audience:** Teams on legacy path-keyed docops (comments, prototype screen-map, review queue v3) migrating to stable **entity IDs** in `.docops/registry/`.
|
|
8
|
+
> **Prerequisite:** [MIGRATION.md](MIGRATION.md) — contract layout (`legacy` → `docops`) should be done first (or in parallel on the same branch).
|
|
9
|
+
|
|
10
|
+
**Related:** [README.md](README.md) · [modules/comments.md](modules/comments.md) · [modules/prototype.md](modules/prototype.md) · [examples/full-docops.config.json](../examples/full-docops.config.json)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## What changes
|
|
15
|
+
|
|
16
|
+
| Before (legacy) | After (entity registry) |
|
|
17
|
+
|-----------------|---------------------------|
|
|
18
|
+
| Comments at `comments/{logical_path}/` | `comments/documents/{entityId}/` or `comments/screens/{screenId}/` |
|
|
19
|
+
| `prototype/screen-map.json` | `registry/screens/{screenId}.json` + `registry/manifest.json` |
|
|
20
|
+
| Review queue keyed by `logicalPath` (v3) | Keys = `entityId` (v4) |
|
|
21
|
+
| APIs filter by `filePath` | Prefer `entityId` / `screenId` (`filePath` deprecated one release) |
|
|
22
|
+
|
|
23
|
+
**Source of truth:** git files under `.docops/registry/` — **not** a Postgres mirror. Kari Writer caches registry reads in **Redis** (invalidated on git push via repo generation bump). The existing `git_document_registry` table still lists design docs from `docs/` scans; it is separate from entity JSON files.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 1. Detect readiness
|
|
28
|
+
|
|
29
|
+
On the branch you will migrate, confirm:
|
|
30
|
+
|
|
31
|
+
| Check | Path | Required |
|
|
32
|
+
|-------|------|----------|
|
|
33
|
+
| Docops contract | `.docops/docops.config.json` | Yes |
|
|
34
|
+
| Registry path configured | `"paths": { "registry": ".docops/registry", ... }` | Yes |
|
|
35
|
+
| Markdown in place | `docs/` per `docTypes.*.path` | Yes |
|
|
36
|
+
| Writer storage layout | Project Settings → `docops` when `.docops/` paths are live | Yes before Writer reads |
|
|
37
|
+
|
|
38
|
+
Legacy screen-map may still exist until step 2 runs — `registry sync` imports then removes it.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 2. Migration commands (ordered)
|
|
43
|
+
|
|
44
|
+
Run **on each git branch** that should use ID-keyed artifacts (e.g. `main`, release branches). Install [ai-spector](https://www.npmjs.com/package/ai-spector) locally or use `npx`.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Preview (no writes)
|
|
48
|
+
npx ai-spector docops registry sync --dry-run
|
|
49
|
+
npx ai-spector docops comments migrate --dry-run
|
|
50
|
+
npx ai-spector docops review-registry migrate --dry-run
|
|
51
|
+
|
|
52
|
+
# Apply
|
|
53
|
+
npx ai-spector docops registry sync
|
|
54
|
+
npx ai-spector docops comments migrate
|
|
55
|
+
npx ai-spector docops review-registry migrate
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Or use the bundled script (from repo root):
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
bash .docops/guide/scripts/migrate-entity-registry.sh --dry-run
|
|
62
|
+
bash .docops/guide/scripts/migrate-entity-registry.sh
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Step 2a — `registry sync`
|
|
66
|
+
|
|
67
|
+
- Scans `docs/` and creates/updates `registry/documents/{entityId}.json`
|
|
68
|
+
- Reuses existing `git_document_registry.registry_id` UUIDs when Writer DB is linked (optional; IDs are assigned in git if unknown)
|
|
69
|
+
- Imports `screen-map.json` → `registry/screens/*.json` + `registry/manifest.json`, then **deletes** legacy screen-map files
|
|
70
|
+
- Safe to re-run; does not overwrite unrelated files
|
|
71
|
+
|
|
72
|
+
### Step 2b — `comments migrate`
|
|
73
|
+
|
|
74
|
+
- Moves `comments/{path}/` → `comments/documents/{entityId}/` or `comments/screens/{screenId}/`
|
|
75
|
+
- Backfills `meta_data.json`: `targetId`, `commentType`; drops redundant `filePath` from storage shape
|
|
76
|
+
- **Requires** registry from step 2a so paths resolve to entity IDs
|
|
77
|
+
- **Detail:** [guides/COMMENTS_ENTITY_MIGRATION.md](guides/COMMENTS_ENTITY_MIGRATION.md)
|
|
78
|
+
|
|
79
|
+
### Step 2c — `review-registry migrate`
|
|
80
|
+
|
|
81
|
+
- Rekeys `.docops/review-queue/registry.json` from v3 (path keys) to v4 (`entityId` keys)
|
|
82
|
+
- Strips path fields from entries; resolve paths from registry at read time
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 3. Writer configuration
|
|
87
|
+
|
|
88
|
+
1. **Storage layout:** Project Settings → Docops → set `storage_layout` to **`docops`** once `.docops/` contract paths exist on the working branch.
|
|
89
|
+
2. **Comments API:** List/create with `entityId` (documents) or `screenId` (prototype). `filePath` still works but returns `Deprecation` / `Sunset` headers until 2026-12-31.
|
|
90
|
+
3. **Cache:** After git push, Writer bumps Redis generation — registry JSON is re-read from git; no manual DB sync for entity files.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 4. Legacy layout (`storage_layout: legacy`)
|
|
95
|
+
|
|
96
|
+
If the project still uses repo-root `comments/` or `prototype/screen-map.json` (not under `.docops/`):
|
|
97
|
+
|
|
98
|
+
1. Complete [MIGRATION.md §2](MIGRATION.md#2-path-reference-legacy--contract) path copy first
|
|
99
|
+
2. Set Writer `storage_layout: docops`
|
|
100
|
+
3. Run §2 commands above — comment folders follow the configured `paths.comments` root
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 5. Verify
|
|
105
|
+
|
|
106
|
+
### Git tree
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
ls .docops/registry/documents/ # one JSON per design doc
|
|
110
|
+
ls .docops/registry/screens/ # one JSON per prototype screen
|
|
111
|
+
test -f .docops/registry/manifest.json
|
|
112
|
+
# screen-map should be gone after sync (unless --skip-screen-map)
|
|
113
|
+
test ! -f .docops/prototype/screen-map.json || echo "WARN: legacy screen-map still present"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Comments
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npx ai-spector comments list --entity <uuid> --json
|
|
120
|
+
npx ai-spector comments list --screen-id <screenId> --type prototype --json
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Writer UI
|
|
124
|
+
|
|
125
|
+
- [ ] Documents tree loads
|
|
126
|
+
- [ ] Document comments visible after renaming a doc path (re-run `registry sync` on branch)
|
|
127
|
+
- [ ] Prototype gallery / per-screen comments work
|
|
128
|
+
- [ ] Review queue shows correct docs
|
|
129
|
+
|
|
130
|
+
### API deprecation
|
|
131
|
+
|
|
132
|
+
Requests using only `filePath` receive:
|
|
133
|
+
|
|
134
|
+
```http
|
|
135
|
+
Deprecation: true
|
|
136
|
+
Sunset: Sat, 31 Dec 2026 23:59:59 GMT
|
|
137
|
+
Link: </contracts/bootstrap/docs/MIGRATION.md#61-comment-storage-keys>; rel="deprecation"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Update clients to send `entityId` or `screenId`.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 6. Rollback (emergency)
|
|
145
|
+
|
|
146
|
+
Entity migration touches git only. To roll back **before push**:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
git checkout -- .docops/registry .docops/comments .docops/review-queue .docops/prototype
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
If already pushed, restore from a pre-migration tag/branch. Dual-read of legacy comment paths is **not** guaranteed after the migration window — keep a backup branch.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 7. For AI agents
|
|
157
|
+
|
|
158
|
+
| Rule | Detail |
|
|
159
|
+
|------|--------|
|
|
160
|
+
| Order | `registry sync` → `comments migrate` → `review-registry migrate` |
|
|
161
|
+
| Branch scope | Run on every branch that needs ID-keyed artifacts |
|
|
162
|
+
| No DB entity mirror | Do not insert into Postgres from `registry/documents/*.json`; git + Redis cache only |
|
|
163
|
+
| screen-map | Do not recreate `screen-map.json` after sync; use `registry/screens/` |
|
|
164
|
+
| UUID stability | Never change `entityId` / `screenId` when paths move — only update path fields inside entity JSON |
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 8. Schema references
|
|
169
|
+
|
|
170
|
+
| File | Schema |
|
|
171
|
+
|------|--------|
|
|
172
|
+
| `registry/documents/{id}.json` | [schemas/registry/document.entity.schema.json](../schemas/registry/document.entity.schema.json) |
|
|
173
|
+
| `registry/screens/{id}.json` | [schemas/registry/screen.entity.schema.json](../schemas/registry/screen.entity.schema.json) |
|
|
174
|
+
| `registry/manifest.json` | [schemas/registry/manifest.schema.json](../schemas/registry/manifest.schema.json) |
|
|
175
|
+
|
|
176
|
+
Examples: [examples/registry/](../examples/registry/)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## 9. Troubleshooting
|
|
181
|
+
|
|
182
|
+
| Symptom | Fix |
|
|
183
|
+
|---------|-----|
|
|
184
|
+
| Comments missing after migrate | Re-run `registry sync`; confirm `entityId` in document JSON matches thread `targetId` |
|
|
185
|
+
| `comments migrate` skips threads | Path not in registry — fix `repoDocs` / `logicalPath`, sync again |
|
|
186
|
+
| Prototype screens empty | Run `registry sync` to import screen-map; or `npx ai-spector prototype manifest` |
|
|
187
|
+
| Writer still reads screen-map | Confirm `storage_layout: docops` and registry has `screens/` |
|
|
188
|
+
| Stale prototype list in UI | Wait ~30s for Redis cache or push a noop commit to bump generation |
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
*After migration, see [MIGRATION.md §8](MIGRATION.md#8-after-migration) for ongoing contract maintenance.*
|