docsif 1.0.0__tar.gz → 1.0.1__tar.gz

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.
Files changed (616) hide show
  1. {docsif-1.0.0 → docsif-1.0.1}/.gsd/dispatch-isolation-sentinel.json +1 -1
  2. docsif-1.0.1/.planning/.continue-here.md +80 -0
  3. docsif-1.0.1/.planning/HANDOFF.json +37 -0
  4. {docsif-1.0.0 → docsif-1.0.1}/.planning/STATE.md +5 -3
  5. docsif-1.0.1/.planning/state.json +12 -0
  6. {docsif-1.0.0 → docsif-1.0.1}/PKG-INFO +3 -2
  7. {docsif-1.0.0 → docsif-1.0.1}/README.md +1 -1
  8. {docsif-1.0.0 → docsif-1.0.1}/docs/changelog.md +7 -0
  9. {docsif-1.0.0 → docsif-1.0.1}/docs/index.md +1 -1
  10. {docsif-1.0.0 → docsif-1.0.1}/docs/installation.md +5 -5
  11. {docsif-1.0.0 → docsif-1.0.1}/docs/quickstart.md +3 -3
  12. {docsif-1.0.0 → docsif-1.0.1}/docs/testing.md +1 -5
  13. {docsif-1.0.0 → docsif-1.0.1}/example_config.yaml +2 -2
  14. {docsif-1.0.0 → docsif-1.0.1}/pyproject.toml +2 -1
  15. {docsif-1.0.0 → docsif-1.0.1}/src/sif/__init__.py +1 -1
  16. {docsif-1.0.0 → docsif-1.0.1}/src/sif/_version.py +1 -1
  17. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/__init__.py +1 -1
  18. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/index.py +4 -0
  19. {docsif-1.0.0 → docsif-1.0.1}/src/sif/config/constants.py +1 -1
  20. {docsif-1.0.0 → docsif-1.0.1}/src/sif/indexing/parser.py +6 -2
  21. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/protocol.py +1 -1
  22. {docsif-1.0.0 → docsif-1.0.1}/tests/integration/test_embed_idempotency.py +89 -0
  23. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/indexing/test_parser.py +7 -2
  24. docsif-1.0.1/tests/unit/indexing/test_parser_checksum.py +70 -0
  25. docsif-1.0.1/tests/unit/utils/__init__.py +0 -0
  26. {docsif-1.0.0 → docsif-1.0.1}/uv.lock +26 -1
  27. docsif-1.0.0/$$TMPD$$/t.db +0 -0
  28. docsif-1.0.0/.planning/.continue-here.md +0 -57
  29. docsif-1.0.0/.planning/state.json +0 -58
  30. {docsif-1.0.0 → docsif-1.0.1}/.github/workflows/docs.yml +0 -0
  31. {docsif-1.0.0 → docsif-1.0.1}/.gitignore +0 -0
  32. {docsif-1.0.0 → docsif-1.0.1}/.gsd/.gitignore +0 -0
  33. /docsif-1.0.0/.planning/milestones/v1.0-phases/07-cli-claude-skill/.gitkeep → /docsif-1.0.1/.planning/.gsd-ws-arg +0 -0
  34. {docsif-1.0.0 → docsif-1.0.1}/.planning/E2E-UAT.md +0 -0
  35. {docsif-1.0.0 → docsif-1.0.1}/.planning/E2E-manual-test-plan.md +0 -0
  36. {docsif-1.0.0 → docsif-1.0.1}/.planning/MILESTONES.md +0 -0
  37. {docsif-1.0.0 → docsif-1.0.1}/.planning/PROJECT.md +0 -0
  38. {docsif-1.0.0 → docsif-1.0.1}/.planning/RETROSPECTIVE.md +0 -0
  39. {docsif-1.0.0 → docsif-1.0.1}/.planning/ROADMAP.md +0 -0
  40. {docsif-1.0.0 → docsif-1.0.1}/.planning/WINDOWS.md +0 -0
  41. {docsif-1.0.0 → docsif-1.0.1}/.planning/codebase/ARCHITECTURE.md +0 -0
  42. {docsif-1.0.0 → docsif-1.0.1}/.planning/codebase/CONCERNS.md +0 -0
  43. {docsif-1.0.0 → docsif-1.0.1}/.planning/codebase/CONVENTIONS.md +0 -0
  44. {docsif-1.0.0 → docsif-1.0.1}/.planning/codebase/INTEGRATIONS.md +0 -0
  45. {docsif-1.0.0 → docsif-1.0.1}/.planning/codebase/STACK.md +0 -0
  46. {docsif-1.0.0 → docsif-1.0.1}/.planning/codebase/STRUCTURE.md +0 -0
  47. {docsif-1.0.0 → docsif-1.0.1}/.planning/codebase/TESTING.md +0 -0
  48. {docsif-1.0.0 → docsif-1.0.1}/.planning/config.json +0 -0
  49. {docsif-1.0.0 → docsif-1.0.1}/.planning/debug/e2e-get-and-stats-bugs.md +0 -0
  50. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-MILESTONE-AUDIT.md +0 -0
  51. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-REQUIREMENTS.md +0 -0
  52. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-ROADMAP.md +0 -0
  53. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-01-PLAN.md +0 -0
  54. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-01-SUMMARY.md +0 -0
  55. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-02-PLAN.md +0 -0
  56. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-02-SUMMARY.md +0 -0
  57. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-03-PLAN.md +0 -0
  58. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-03-SUMMARY.md +0 -0
  59. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-04-PLAN.md +0 -0
  60. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-04-SUMMARY.md +0 -0
  61. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-05-PLAN.md +0 -0
  62. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-05-SUMMARY.md +0 -0
  63. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-06-PLAN.md +0 -0
  64. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-06-SUMMARY.md +0 -0
  65. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-CONTEXT.md +0 -0
  66. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-DISCUSSION-LOG.md +0 -0
  67. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-PATTERNS.md +0 -0
  68. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-RESEARCH.md +0 -0
  69. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-VALIDATION.md +0 -0
  70. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/01-foundation-fix/01-VERIFICATION.md +0 -0
  71. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-01-PLAN.md +0 -0
  72. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-01-SUMMARY.md +0 -0
  73. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-02-PLAN.md +0 -0
  74. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-02-SUMMARY.md +0 -0
  75. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-03a-PLAN.md +0 -0
  76. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-03a-SUMMARY.md +0 -0
  77. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-03b-PLAN.md +0 -0
  78. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-03b-SUMMARY.md +0 -0
  79. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-04-PLAN.md +0 -0
  80. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-04-SUMMARY.md +0 -0
  81. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-05-PLAN.md +0 -0
  82. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-05-SUMMARY.md +0 -0
  83. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-CONTEXT.md +0 -0
  84. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-DISCUSSION-LOG.md +0 -0
  85. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-PATTERNS.md +0 -0
  86. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-RESEARCH.md +0 -0
  87. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-REVIEW.md +0 -0
  88. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-VALIDATION.md +0 -0
  89. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/02-cli-core-completion/02-VERIFICATION.md +0 -0
  90. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-01-PLAN.md +0 -0
  91. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-01-SUMMARY.md +0 -0
  92. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-02-PLAN.md +0 -0
  93. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-02-SUMMARY.md +0 -0
  94. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-03-PLAN.md +0 -0
  95. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-03-SUMMARY.md +0 -0
  96. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-04-PLAN.md +0 -0
  97. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-04-SUMMARY.md +0 -0
  98. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-05-PLAN.md +0 -0
  99. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-05-SUMMARY.md +0 -0
  100. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-06-PLAN.md +0 -0
  101. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-06-SUMMARY.md +0 -0
  102. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-07-PLAN.md +0 -0
  103. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-07-SUMMARY.md +0 -0
  104. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-08-PLAN.md +0 -0
  105. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-08-SUMMARY.md +0 -0
  106. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-CONTEXT.md +0 -0
  107. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-DISCUSSION-LOG.md +0 -0
  108. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-PATTERNS.md +0 -0
  109. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-RESEARCH.md +0 -0
  110. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-REVIEW-FIX.md +0 -0
  111. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-REVIEW.md +0 -0
  112. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-SECURITY.md +0 -0
  113. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-UAT.md +0 -0
  114. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-VALIDATION.md +0 -0
  115. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/03-VERIFICATION.md +0 -0
  116. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/COVERAGE.md +0 -0
  117. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/03-embedding-vector-search/deferred-items.md +0 -0
  118. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-01-PLAN.md +0 -0
  119. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-01-SUMMARY.md +0 -0
  120. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-02-PLAN.md +0 -0
  121. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-02-SUMMARY.md +0 -0
  122. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-03-PLAN.md +0 -0
  123. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-03-SUMMARY.md +0 -0
  124. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-04-PLAN.md +0 -0
  125. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-04-SUMMARY.md +0 -0
  126. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-05-PLAN.md +0 -0
  127. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-05-SUMMARY.md +0 -0
  128. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-06-PLAN.md +0 -0
  129. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-06-SUMMARY.md +0 -0
  130. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-CONTEXT.md +0 -0
  131. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-DISCUSSION-LOG.md +0 -0
  132. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-PATTERNS.md +0 -0
  133. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-RESEARCH.md +0 -0
  134. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-REVIEW.md +0 -0
  135. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-SECURITY.md +0 -0
  136. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-UAT.md +0 -0
  137. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-UI-REVIEW.md +0 -0
  138. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-VALIDATION.md +0 -0
  139. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/04-advanced-search-pipeline/04-VERIFICATION.md +0 -0
  140. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-01-PLAN.md +0 -0
  141. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-01-SUMMARY.md +0 -0
  142. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-02-PLAN.md +0 -0
  143. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-02-SUMMARY.md +0 -0
  144. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-03-PLAN.md +0 -0
  145. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-03-SUMMARY.md +0 -0
  146. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-04-PLAN.md +0 -0
  147. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-04-SUMMARY.md +0 -0
  148. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-05-PLAN.md +0 -0
  149. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-05-SUMMARY.md +0 -0
  150. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-06-PLAN.md +0 -0
  151. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-06-SUMMARY.md +0 -0
  152. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-07-PLAN.md +0 -0
  153. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-07-SUMMARY.md +0 -0
  154. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-08-PLAN.md +0 -0
  155. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-08-SUMMARY.md +0 -0
  156. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-09-PLAN.md +0 -0
  157. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-09-SUMMARY.md +0 -0
  158. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-10-PLAN.md +0 -0
  159. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-10-SUMMARY.md +0 -0
  160. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-11-PLAN.md +0 -0
  161. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-11-SUMMARY.md +0 -0
  162. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-12-PLAN.md +0 -0
  163. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-12-SUMMARY.md +0 -0
  164. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-CONTEXT.md +0 -0
  165. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-DISCUSSION-LOG.md +0 -0
  166. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-PATTERNS.md +0 -0
  167. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-RESEARCH.md +0 -0
  168. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-REVIEW-DISPOSITION.md +0 -0
  169. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-REVIEW-FIX.md +0 -0
  170. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-REVIEW.md +0 -0
  171. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-SECURITY.md +0 -0
  172. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-SPEC.md +0 -0
  173. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-UAT.md +0 -0
  174. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-UI-REVIEW.md +0 -0
  175. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-VALIDATION.md +0 -0
  176. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/05-VERIFICATION.md +0 -0
  177. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/05-agent-context-experience/deferred-items.md +0 -0
  178. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/.continue-here.md +0 -0
  179. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-01-SUMMARY.md +0 -0
  180. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-02-SUMMARY.md +0 -0
  181. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-03-SUMMARY.md +0 -0
  182. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-04-SUMMARY.md +0 -0
  183. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-05-SUMMARY.md +0 -0
  184. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-06-SUMMARY.md +0 -0
  185. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-07-SUMMARY.md +0 -0
  186. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-08-PLAN.md +0 -0
  187. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-08-SUMMARY.md +0 -0
  188. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-09-PLAN.md +0 -0
  189. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-09-SUMMARY.md +0 -0
  190. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-10-PLAN.md +0 -0
  191. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-10-SUMMARY.md +0 -0
  192. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-CONTEXT.md +0 -0
  193. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-DISCUSSION-LOG.md +0 -0
  194. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-RESEARCH.md +0 -0
  195. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-REVIEW-DISPOSITION.md +0 -0
  196. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-REVIEW.md +0 -0
  197. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-SECURITY.md +0 -0
  198. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-SPEC.md +0 -0
  199. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-UAT.md +0 -0
  200. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-UI-REVIEW.md +0 -0
  201. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-VALIDATION.md +0 -0
  202. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/06-documentation-audit-refresh/06-VERIFICATION.md +0 -0
  203. {docsif-1.0.0/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif → docsif-1.0.1/.planning/milestones/v1.0-phases/07-cli-claude-skill}/.gitkeep +0 -0
  204. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-01-PLAN.md +0 -0
  205. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-01-SUMMARY.md +0 -0
  206. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-02-PLAN.md +0 -0
  207. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-02-SUMMARY.md +0 -0
  208. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-CONTEXT.md +0 -0
  209. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-DISCUSSION-LOG.md +0 -0
  210. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-REVIEW-DISPOSITION.md +0 -0
  211. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-REVIEW.md +0 -0
  212. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-SECURITY.md +0 -0
  213. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-SPEC.md +0 -0
  214. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-UAT.md +0 -0
  215. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-UI-REVIEW.md +0 -0
  216. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-VALIDATION.md +0 -0
  217. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/07-cli-claude-skill/07-VERIFICATION.md +0 -0
  218. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/.continue-here.md +0 -0
  219. {docsif-1.0.0/.planning/milestones/v1.0-phases/09-mcp-server-implementation → docsif-1.0.1/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif}/.gitkeep +0 -0
  220. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-01-PLAN.md +0 -0
  221. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-01-SUMMARY.md +0 -0
  222. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-02-PLAN.md +0 -0
  223. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-02-SUMMARY.md +0 -0
  224. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-03-PLAN.md +0 -0
  225. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-03-SUMMARY.md +0 -0
  226. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-04-PLAN.md +0 -0
  227. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-04-SUMMARY.md +0 -0
  228. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-05-PLAN.md +0 -0
  229. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-05-SUMMARY.md +0 -0
  230. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-06-PLAN.md +0 -0
  231. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-06-SUMMARY.md +0 -0
  232. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-07-PLAN.md +0 -0
  233. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-07-SUMMARY.md +0 -0
  234. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-08-PLAN.md +0 -0
  235. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-08-SUMMARY.md +0 -0
  236. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-CONTEXT.md +0 -0
  237. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-DISCUSSION-LOG.md +0 -0
  238. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-PATTERNS.md +0 -0
  239. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-RESEARCH.md +0 -0
  240. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-VALIDATION.md +0 -0
  241. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/08-project-rename-from-docsift-to-sif/08-VERIFICATION.md +0 -0
  242. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/.continue-here.md +0 -0
  243. /docsif-1.0.0/.planning/tmp/verify-cr03/probe/plain.md → /docsif-1.0.1/.planning/milestones/v1.0-phases/09-mcp-server-implementation/.gitkeep +0 -0
  244. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-01-PLAN.md +0 -0
  245. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-01-SUMMARY.md +0 -0
  246. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-02-PLAN.md +0 -0
  247. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-02-SUMMARY.md +0 -0
  248. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-03-PLAN.md +0 -0
  249. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-03-SUMMARY.md +0 -0
  250. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-04-PLAN.md +0 -0
  251. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-04-SUMMARY.md +0 -0
  252. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-05-PLAN.md +0 -0
  253. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-05-SUMMARY.md +0 -0
  254. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-06-PLAN.md +0 -0
  255. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-06-SUMMARY.md +0 -0
  256. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-CONTEXT.md +0 -0
  257. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-DISCUSSION-LOG.md +0 -0
  258. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-PATTERNS.md +0 -0
  259. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-RESEARCH.md +0 -0
  260. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-REVIEW-FIX.md +0 -0
  261. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-REVIEW.md +0 -0
  262. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-SPEC.md +0 -0
  263. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-VALIDATION.md +0 -0
  264. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/09-VERIFICATION.md +0 -0
  265. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/09-mcp-server-implementation/9-UAT.md +0 -0
  266. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/.gitkeep +0 -0
  267. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-01-PLAN.md +0 -0
  268. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-01-SUMMARY.md +0 -0
  269. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-02-PLAN.md +0 -0
  270. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-02-SUMMARY.md +0 -0
  271. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-03-PLAN.md +0 -0
  272. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-03-SUMMARY.md +0 -0
  273. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-04-PLAN.md +0 -0
  274. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-04-SUMMARY.md +0 -0
  275. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-05-PLAN.md +0 -0
  276. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-05-SUMMARY.md +0 -0
  277. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-06-PLAN.md +0 -0
  278. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-06-SUMMARY.md +0 -0
  279. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-07-PLAN.md +0 -0
  280. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-07-SUMMARY.md +0 -0
  281. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-CONTEXT.md +0 -0
  282. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-DISCUSSION-LOG.md +0 -0
  283. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-PATTERNS.md +0 -0
  284. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-RESEARCH.md +0 -0
  285. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-REVIEW-DELTA-DISPOSITION.md +0 -0
  286. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-REVIEW-DELTA.md +0 -0
  287. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-REVIEW-DISPOSITION.md +0 -0
  288. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-REVIEW.md +0 -0
  289. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-SECURITY.md +0 -0
  290. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-UI-REVIEW.md +0 -0
  291. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-VALIDATION.md +0 -0
  292. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10-raise-pytest-coverage-to-90/10-VERIFICATION.md +0 -0
  293. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/.continue-here.md +0 -0
  294. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/.gitkeep +0 -0
  295. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-01-PLAN.md +0 -0
  296. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-01-SUMMARY.md +0 -0
  297. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-02-PLAN.md +0 -0
  298. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-02-SUMMARY.md +0 -0
  299. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-03-PLAN.md +0 -0
  300. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-03-SUMMARY.md +0 -0
  301. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-04-PLAN.md +0 -0
  302. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-04-SUMMARY.md +0 -0
  303. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-PATTERNS.md +0 -0
  304. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-RESEARCH.md +0 -0
  305. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-REVIEW-DISPOSITION.md +0 -0
  306. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-REVIEW.md +0 -0
  307. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-SECURITY.md +0 -0
  308. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-UI-REVIEW.md +0 -0
  309. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-VALIDATION.md +0 -0
  310. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/10.1-VERIFICATION.md +0 -0
  311. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/COVERAGE.md +0 -0
  312. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-phases/10.1-address-tech-debt-path-normalization-review-findings-cr-01-c/deferred-items.md +0 -0
  313. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260905-hc3-fix-g-04-1-snippet-relevance-markdown-li/260905-hc3-PLAN.md +0 -0
  314. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260905-hc3-fix-g-04-1-snippet-relevance-markdown-li/260905-hc3-SUMMARY.md +0 -0
  315. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260905-kmv-fix-g-04-2-reranker-load-crash-model-dir/260905-kmv-PLAN.md +0 -0
  316. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260905-kmv-fix-g-04-2-reranker-load-crash-model-dir/260905-kmv-SUMMARY.md +0 -0
  317. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260905-sxc-fix-g-04-3-hyde-unreachable-add-create-c/260905-sxc-PLAN.md +0 -0
  318. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260905-sxc-fix-g-04-3-hyde-unreachable-add-create-c/260905-sxc-SUMMARY.md +0 -0
  319. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260905-tax-fix-g-04-4-gguf-embed-shape-unwrap-llama/260905-tax-PLAN.md +0 -0
  320. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260905-tax-fix-g-04-4-gguf-embed-shape-unwrap-llama/260905-tax-SUMMARY.md +0 -0
  321. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260905-tax-fix-g-04-4-gguf-embed-shape-unwrap-llama/deferred-items.md +0 -0
  322. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260910-kps-fix-json-output-emit-via-click-echo-no-w/260910-kps-PLAN.md +0 -0
  323. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260910-kps-fix-json-output-emit-via-click-echo-no-w/260910-kps-SUMMARY.md +0 -0
  324. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260914-g63-audit-follow-up-fix-deferred-items-doc-f/260914-g63-PLAN.md +0 -0
  325. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260914-g63-audit-follow-up-fix-deferred-items-doc-f/260914-g63-SUMMARY.md +0 -0
  326. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260914-v5f-fix-exclude-all-collection-leak-empty-co/260914-v5f-PLAN.md +0 -0
  327. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260914-v5f-fix-exclude-all-collection-leak-empty-co/260914-v5f-SUMMARY.md +0 -0
  328. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260914-vyr-rename-distribution-docsif-to-sif-pyproj/260914-vyr-PLAN.md +0 -0
  329. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260914-vyr-rename-distribution-docsif-to-sif-pyproj/260914-vyr-SUMMARY.md +0 -0
  330. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260914-wxv-fix-stale-command-references-nonexistent/260914-wxv-PLAN.md +0 -0
  331. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260914-wxv-fix-stale-command-references-nonexistent/260914-wxv-SUMMARY.md +0 -0
  332. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260917-bo2-typing-debt-batch-1-clear-search-rerank-/260917-bo2-PLAN.md +0 -0
  333. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260917-bo2-typing-debt-batch-1-clear-search-rerank-/260917-bo2-SUMMARY.md +0 -0
  334. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260917-dkf-typing-debt-batch-2-clear-indexing-watch/260917-dkf-PLAN.md +0 -0
  335. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260917-dkf-typing-debt-batch-2-clear-indexing-watch/260917-dkf-SUMMARY.md +0 -0
  336. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260917-kav-typing-debt-batch-3-clear-mcp-handlers-p/260917-kav-PLAN.md +0 -0
  337. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/260917-kav-typing-debt-batch-3-clear-mcp-handlers-p/260917-kav-SUMMARY.md +0 -0
  338. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261105-eev-document-embedding-hardware-device-selec/261105-eev-PLAN.md +0 -0
  339. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261105-eev-document-embedding-hardware-device-selec/261105-eev-SUMMARY.md +0 -0
  340. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261105-g1u-fix-05-review-wr-03-and-wr-09-context-ad/261105-g1u-PLAN.md +0 -0
  341. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261105-g1u-fix-05-review-wr-03-and-wr-09-context-ad/261105-g1u-SUMMARY.md +0 -0
  342. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261105-g1u-fix-05-review-wr-03-and-wr-09-context-ad/deferred-items.md +0 -0
  343. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261105-wbj-embed-o-n-bug-src-sif-search-vector-py-2/261105-wbj-PLAN.md +0 -0
  344. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261105-wbj-embed-o-n-bug-src-sif-search-vector-py-2/261105-wbj-SUMMARY.md +0 -0
  345. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261105-wwz-vec0-metadata-src-sif-search-vector-py-8/261105-wwz-PLAN.md +0 -0
  346. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261105-wwz-vec0-metadata-src-sif-search-vector-py-8/261105-wwz-SUMMARY.md +0 -0
  347. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261106-u7d-typing-debt-batch-4-clear-all-17-ledgere/261106-u7d-PLAN.md +0 -0
  348. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/261106-u7d-typing-debt-batch-4-clear-all-17-ledgere/261106-u7d-SUMMARY.md +0 -0
  349. {docsif-1.0.0 → docsif-1.0.1}/.planning/milestones/v1.0-quick/README.md +0 -0
  350. {docsif-1.0.0 → docsif-1.0.1}/.planning/research/ARCHITECTURE.md +0 -0
  351. {docsif-1.0.0 → docsif-1.0.1}/.planning/research/FEATURES.md +0 -0
  352. {docsif-1.0.0 → docsif-1.0.1}/.planning/research/PITFALLS.md +0 -0
  353. {docsif-1.0.0 → docsif-1.0.1}/.planning/research/STACK.md +0 -0
  354. {docsif-1.0.0 → docsif-1.0.1}/.planning/research/SUMMARY.md +0 -0
  355. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/03-contribution-ai-integration.md +0 -0
  356. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/03-contribution-assumption-delta.md +0 -0
  357. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/03-contribution-schema-gate.md +0 -0
  358. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/03-contribution-security.md +0 -0
  359. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/03-edge-coverage.json +0 -0
  360. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-09-tdd/task1-red-raw.txt +0 -0
  361. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-09-tdd/task1-red-record.json +0 -0
  362. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-09-tdd/task2-red-raw.txt +0 -0
  363. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-09-tdd/task2-red-record.json +0 -0
  364. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-10-red-evidence-task1.json +0 -0
  365. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-10-red-evidence-task3.json +0 -0
  366. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-11-decision1.txt +0 -0
  367. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-11-decision2.txt +0 -0
  368. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-11-full-suite.txt +0 -0
  369. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-11-red-console.txt +0 -0
  370. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-11-red-end.txt +0 -0
  371. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-11-red-evidence-task1.json +0 -0
  372. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-11-red-junit.xml +0 -0
  373. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/05-11-red-start.txt +0 -0
  374. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-02-collection.xml +0 -0
  375. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-02-final-coverage.txt +0 -0
  376. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-02-final.xml +0 -0
  377. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-02-full-plain.txt +0 -0
  378. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-02-full-suite.txt +0 -0
  379. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-02-get.xml +0 -0
  380. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-02-main.xml +0 -0
  381. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-03-full.xml +0 -0
  382. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-03-rerank.xml +0 -0
  383. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-03-search-before.xml +0 -0
  384. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-03-search.xml +0 -0
  385. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-04-cache.xml +0 -0
  386. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-04-database.xml +0 -0
  387. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-04-full.xml +0 -0
  388. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-04-migrations.xml +0 -0
  389. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-04-repositories.xml +0 -0
  390. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-05-collection.xml +0 -0
  391. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-05-context.xml +0 -0
  392. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-05-download.xml +0 -0
  393. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-05-full.xml +0 -0
  394. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-05-logging.xml +0 -0
  395. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-05-paths.xml +0 -0
  396. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-05-progress.xml +0 -0
  397. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-05-text.xml +0 -0
  398. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-06-chunker.xml +0 -0
  399. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-06-full.xml +0 -0
  400. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-06-http.xml +0 -0
  401. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-06-parser.xml +0 -0
  402. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-06-scanner.xml +0 -0
  403. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-06-server.xml +0 -0
  404. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-06-stdio-handler-before.xml +0 -0
  405. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-07-duration +0 -0
  406. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-07-start-epoch +0 -0
  407. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-07-start-time +0 -0
  408. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-plan-check-collection.xml +0 -0
  409. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-plan-check-get.xml +0 -0
  410. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-plan-check-http.xml +0 -0
  411. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-plan-check-main.xml +0 -0
  412. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-plan-check-repositories.xml +0 -0
  413. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-plan-check-rerank.xml +0 -0
  414. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/10-plan-check-search.xml +0 -0
  415. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/261105-wwz-probe.py +0 -0
  416. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/cfg-before-fmt.md +0 -0
  417. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/cfg-check.md +0 -0
  418. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/dec-05-12-a-rationale.txt +0 -0
  419. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/dec-05-12-a-summary.txt +0 -0
  420. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/docs-work-manifest.json +0 -0
  421. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-current-coverage.txt +0 -0
  422. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-final-command-paths.json +0 -0
  423. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-final-failure-directions.json +0 -0
  424. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-focused-coverage.xml +0 -0
  425. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-focused-module-probe.txt +0 -0
  426. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-focused-probe.txt +0 -0
  427. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-focused-total-probe.txt +0 -0
  428. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-format-baseline.txt +0 -0
  429. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-openai-forward.txt +0 -0
  430. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-openai-isolated.txt +0 -0
  431. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-openai-reverse.txt +0 -0
  432. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-ruff-baseline.txt +0 -0
  433. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/phase10-xml-gate-probe.txt +0 -0
  434. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/red-run-05-08.txt +0 -0
  435. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/tdd-red-05-12-console.txt +0 -0
  436. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/tdd-red-05-12-junit.xml +0 -0
  437. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/tdd-red-05-12-record.json +0 -0
  438. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/tdd-red-10.1-01-console.txt +0 -0
  439. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/tdd-red-10.1-01.json +0 -0
  440. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/tdd-red-10.1-01.xml +0 -0
  441. {docsif-1.0.0 → docsif-1.0.1}/.planning/tmp/tdd-red-evidence-05-08-task1.json +0 -0
  442. /docsif-1.0.0/tests/unit/core/__init__.py → /docsif-1.0.1/.planning/tmp/verify-cr03/probe/plain.md +0 -0
  443. {docsif-1.0.0 → docsif-1.0.1}/CLAUDE.md +0 -0
  444. {docsif-1.0.0 → docsif-1.0.1}/DELIVERY_REPORT.md +0 -0
  445. {docsif-1.0.0 → docsif-1.0.1}/DESIGN.md +0 -0
  446. {docsif-1.0.0 → docsif-1.0.1}/INTEGRATION_STATUS.md +0 -0
  447. {docsif-1.0.0 → docsif-1.0.1}/LICENSE +0 -0
  448. {docsif-1.0.0 → docsif-1.0.1}/MagicMock/mock/4398091296 +0 -0
  449. {docsif-1.0.0 → docsif-1.0.1}/MagicMock/mock/4419046432 +0 -0
  450. {docsif-1.0.0 → docsif-1.0.1}/MagicMock/mock/4419497200 +0 -0
  451. {docsif-1.0.0 → docsif-1.0.1}/MagicMock/mock/4426075504 +0 -0
  452. {docsif-1.0.0 → docsif-1.0.1}/Makefile +0 -0
  453. {docsif-1.0.0 → docsif-1.0.1}/PROJECT_SUMMARY.md +0 -0
  454. {docsif-1.0.0 → docsif-1.0.1}/REFACTOR_REPORT.md +0 -0
  455. {docsif-1.0.0 → docsif-1.0.1}/SIDE_BY_SIDE_TEST_REPORT.md +0 -0
  456. {docsif-1.0.0 → docsif-1.0.1}/docs/api-reference.md +0 -0
  457. {docsif-1.0.0 → docsif-1.0.1}/docs/architecture.md +0 -0
  458. {docsif-1.0.0 → docsif-1.0.1}/docs/cli-reference.md +0 -0
  459. {docsif-1.0.0 → docsif-1.0.1}/docs/configuration.md +0 -0
  460. {docsif-1.0.0 → docsif-1.0.1}/docs/contributing.md +0 -0
  461. {docsif-1.0.0 → docsif-1.0.1}/docs/development.md +0 -0
  462. {docsif-1.0.0 → docsif-1.0.1}/docs/mcp-server.md +0 -0
  463. {docsif-1.0.0 → docsif-1.0.1}/docs/migration.md +0 -0
  464. {docsif-1.0.0 → docsif-1.0.1}/docs/models.md +0 -0
  465. {docsif-1.0.0 → docsif-1.0.1}/docs/search-algorithms.md +0 -0
  466. {docsif-1.0.0 → docsif-1.0.1}/examples/quickstart.py +0 -0
  467. {docsif-1.0.0 → docsif-1.0.1}/mkdocs.yml +0 -0
  468. {docsif-1.0.0 → docsif-1.0.1}/quick_test.py +0 -0
  469. {docsif-1.0.0 → docsif-1.0.1}/scripts/generate_arch_diagram.py +0 -0
  470. {docsif-1.0.0 → docsif-1.0.1}/scripts/generate_cli_ref.py +0 -0
  471. {docsif-1.0.0 → docsif-1.0.1}/scripts/generate_config_ref.py +0 -0
  472. {docsif-1.0.0 → docsif-1.0.1}/simple_test.py +0 -0
  473. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/__init__.py +0 -0
  474. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/bench.py +0 -0
  475. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/collection.py +0 -0
  476. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/context.py +0 -0
  477. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/get.py +0 -0
  478. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/ls.py +0 -0
  479. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/mcp.py +0 -0
  480. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/pull.py +0 -0
  481. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/commands/search.py +0 -0
  482. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/formatters.py +0 -0
  483. {docsif-1.0.0 → docsif-1.0.1}/src/sif/cli/main.py +0 -0
  484. {docsif-1.0.0 → docsif-1.0.1}/src/sif/config/__init__.py +0 -0
  485. {docsif-1.0.0 → docsif-1.0.1}/src/sif/config/settings.py +0 -0
  486. {docsif-1.0.0 → docsif-1.0.1}/src/sif/core/__init__.py +0 -0
  487. {docsif-1.0.0 → docsif-1.0.1}/src/sif/core/collection.py +0 -0
  488. {docsif-1.0.0 → docsif-1.0.1}/src/sif/core/context.py +0 -0
  489. {docsif-1.0.0 → docsif-1.0.1}/src/sif/core/document.py +0 -0
  490. {docsif-1.0.0 → docsif-1.0.1}/src/sif/core/models.py +0 -0
  491. {docsif-1.0.0 → docsif-1.0.1}/src/sif/database/__init__.py +0 -0
  492. {docsif-1.0.0 → docsif-1.0.1}/src/sif/database/connection.py +0 -0
  493. {docsif-1.0.0 → docsif-1.0.1}/src/sif/database/database.py +0 -0
  494. {docsif-1.0.0 → docsif-1.0.1}/src/sif/database/migrations.py +0 -0
  495. {docsif-1.0.0 → docsif-1.0.1}/src/sif/database/repositories.py +0 -0
  496. {docsif-1.0.0 → docsif-1.0.1}/src/sif/database/repository.py +0 -0
  497. {docsif-1.0.0 → docsif-1.0.1}/src/sif/database/schema.py +0 -0
  498. {docsif-1.0.0 → docsif-1.0.1}/src/sif/embedding/__init__.py +0 -0
  499. {docsif-1.0.0 → docsif-1.0.1}/src/sif/embedding/cache.py +0 -0
  500. {docsif-1.0.0 → docsif-1.0.1}/src/sif/embedding/embedder.py +0 -0
  501. {docsif-1.0.0 → docsif-1.0.1}/src/sif/embedding/factory.py +0 -0
  502. {docsif-1.0.0 → docsif-1.0.1}/src/sif/embedding/manager.py +0 -0
  503. {docsif-1.0.0 → docsif-1.0.1}/src/sif/embedding/model.py +0 -0
  504. {docsif-1.0.0 → docsif-1.0.1}/src/sif/indexing/__init__.py +0 -0
  505. {docsif-1.0.0 → docsif-1.0.1}/src/sif/indexing/chunker.py +0 -0
  506. {docsif-1.0.0 → docsif-1.0.1}/src/sif/indexing/indexer.py +0 -0
  507. {docsif-1.0.0 → docsif-1.0.1}/src/sif/indexing/scanner.py +0 -0
  508. {docsif-1.0.0 → docsif-1.0.1}/src/sif/indexing/watcher.py +0 -0
  509. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/README.md +0 -0
  510. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/__init__.py +0 -0
  511. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/backend.py +0 -0
  512. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/claude_desktop_config.json +0 -0
  513. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/cli.py +0 -0
  514. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/handlers.py +0 -0
  515. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/server.py +0 -0
  516. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/transports/__init__.py +0 -0
  517. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/transports/http.py +0 -0
  518. {docsif-1.0.0 → docsif-1.0.1}/src/sif/mcp/transports/stdio.py +0 -0
  519. {docsif-1.0.0 → docsif-1.0.1}/src/sif/models/__init__.py +0 -0
  520. {docsif-1.0.0 → docsif-1.0.1}/src/sif/models/collection.py +0 -0
  521. {docsif-1.0.0 → docsif-1.0.1}/src/sif/models/context.py +0 -0
  522. {docsif-1.0.0 → docsif-1.0.1}/src/sif/models/document.py +0 -0
  523. {docsif-1.0.0 → docsif-1.0.1}/src/sif/models/download.py +0 -0
  524. {docsif-1.0.0 → docsif-1.0.1}/src/sif/models/embedding.py +0 -0
  525. {docsif-1.0.0 → docsif-1.0.1}/src/sif/models/search.py +0 -0
  526. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/__init__.py +0 -0
  527. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/benchmark.py +0 -0
  528. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/bm25.py +0 -0
  529. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/context_attach.py +0 -0
  530. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/expansion.py +0 -0
  531. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/hybrid.py +0 -0
  532. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/rerank.py +0 -0
  533. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/rrf.py +0 -0
  534. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/snippets.py +0 -0
  535. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/strategy.py +0 -0
  536. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/term_match.py +0 -0
  537. {docsif-1.0.0 → docsif-1.0.1}/src/sif/search/vector.py +0 -0
  538. {docsif-1.0.0 → docsif-1.0.1}/src/sif/utils/__init__.py +0 -0
  539. {docsif-1.0.0 → docsif-1.0.1}/src/sif/utils/logging.py +0 -0
  540. {docsif-1.0.0 → docsif-1.0.1}/src/sif/utils/paths.py +0 -0
  541. {docsif-1.0.0 → docsif-1.0.1}/src/sif/utils/progress.py +0 -0
  542. {docsif-1.0.0 → docsif-1.0.1}/src/sif/utils/text.py +0 -0
  543. {docsif-1.0.0 → docsif-1.0.1}/tests/__init__.py +0 -0
  544. {docsif-1.0.0 → docsif-1.0.1}/tests/conftest.py +0 -0
  545. {docsif-1.0.0 → docsif-1.0.1}/tests/e2e/__init__.py +0 -0
  546. {docsif-1.0.0 → docsif-1.0.1}/tests/factories.py +0 -0
  547. {docsif-1.0.0 → docsif-1.0.1}/tests/integration/__init__.py +0 -0
  548. {docsif-1.0.0 → docsif-1.0.1}/tests/integration/test_search_pipeline.py +0 -0
  549. {docsif-1.0.0 → docsif-1.0.1}/tests/test_docs.py +0 -0
  550. {docsif-1.0.0 → docsif-1.0.1}/tests/test_sif_complete.py +0 -0
  551. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/__init__.py +0 -0
  552. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/__init__.py +0 -0
  553. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_bench.py +0 -0
  554. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_collection.py +0 -0
  555. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_context.py +0 -0
  556. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_database_lifecycle.py +0 -0
  557. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_formatters.py +0 -0
  558. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_get.py +0 -0
  559. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_index.py +0 -0
  560. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_ls.py +0 -0
  561. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_main.py +0 -0
  562. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_pull.py +0 -0
  563. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_search.py +0 -0
  564. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/cli/test_status.py +0 -0
  565. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/config/test_settings.py +0 -0
  566. {docsif-1.0.0/tests/unit/models → docsif-1.0.1/tests/unit/core}/__init__.py +0 -0
  567. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/core/test_collection_entity.py +0 -0
  568. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/core/test_context.py +0 -0
  569. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/database/__init__.py +0 -0
  570. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/database/test_database.py +0 -0
  571. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/database/test_migrations.py +0 -0
  572. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/database/test_repositories.py +0 -0
  573. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/database/test_schema.py +0 -0
  574. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/db/__init__.py +0 -0
  575. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/db/test_database.py +0 -0
  576. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/db/test_repositories.py +0 -0
  577. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/embedding/test_cache.py +0 -0
  578. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/embedding/test_embedder_impl.py +0 -0
  579. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/embedding/test_factory.py +0 -0
  580. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/embedding/test_manager.py +0 -0
  581. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/embedding/test_openai_embedder.py +0 -0
  582. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/indexing/__init__.py +0 -0
  583. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/indexing/test_chunker.py +0 -0
  584. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/indexing/test_indexer.py +0 -0
  585. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/indexing/test_scanner.py +0 -0
  586. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/indexing/test_watcher.py +0 -0
  587. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/inference/__init__.py +0 -0
  588. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/inference/test_embedder.py +0 -0
  589. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/inference/test_query_expander.py +0 -0
  590. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/inference/test_reranker.py +0 -0
  591. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/mcp/__init__.py +0 -0
  592. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/mcp/test_backend.py +0 -0
  593. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/mcp/test_integration.py +0 -0
  594. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/mcp/test_server.py +0 -0
  595. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/mcp/test_transports_http.py +0 -0
  596. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/mcp/test_transports_stdio.py +0 -0
  597. {docsif-1.0.0/tests/unit/utils → docsif-1.0.1/tests/unit/models}/__init__.py +0 -0
  598. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/models/test_download.py +0 -0
  599. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/__init__.py +0 -0
  600. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_benchmark.py +0 -0
  601. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_bm25.py +0 -0
  602. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_collection_filter.py +0 -0
  603. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_context_attach.py +0 -0
  604. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_hybrid.py +0 -0
  605. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_rerank.py +0 -0
  606. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_rrf.py +0 -0
  607. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_snippets.py +0 -0
  608. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_term_match.py +0 -0
  609. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/search/test_vector.py +0 -0
  610. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/test_collection.py +0 -0
  611. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/test_search.py +0 -0
  612. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/utils/test_logging.py +0 -0
  613. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/utils/test_paths.py +0 -0
  614. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/utils/test_progress.py +0 -0
  615. {docsif-1.0.0 → docsif-1.0.1}/tests/unit/utils/test_text.py +0 -0
  616. {docsif-1.0.0 → docsif-1.0.1}/verify_imports.py +0 -0
@@ -1 +1 @@
1
- {"isolation":"none","harness_flag":null,"phase":null,"plan":null,"written_at":1793973385395}
1
+ {"isolation":"none","harness_flag":null,"phase":null,"plan":null,"written_at":1794012884815}
@@ -0,0 +1,80 @@
1
+ ---
2
+ context: default
3
+ phase: none
4
+ task: 0
5
+ total_tasks: 0
6
+ status: milestone_shipped
7
+ last_updated: 2026-11-06T23:17:56.807Z
8
+ ---
9
+
10
+ # BLOCKING CONSTRAINTS — Read Before Anything Else
11
+
12
+ > These are not suggestions. Each constraint below was discovered through failure.
13
+ > Acknowledge each one explicitly before proceeding.
14
+
15
+ - [ ] CONSTRAINT: generator-owned docs are version-sensitive by construction — any change to generator behavior or the libraries they introspect (Click majors, Python minors, pydantic) re-drifts `docs/cli-reference.md`/`configuration.md`; after touching a generator or bumping an introspected dep, ALWAYS run `make docs-generate` and commit the regenerated output before push, or CI's `git diff --exit-code` gate fails.
16
+
17
+ **Do not proceed until the box is checked.**
18
+
19
+ ## Critical Anti-Patterns
20
+
21
+ | Pattern | Description | Severity | Prevention Mechanism |
22
+ |---------|-------------|----------|---------------------|
23
+ | Floors-only unpinned deps | CI installs latest deps (Click 8.5 vs local 8.3) and behavior diverged, failing the drift gate; a fresh-install test env also surfaced undeclared pytest-asyncio | advisory | Generator output is now version-normalized; before releases, smoke-test a FRESH venv install (`uv pip install docsif[dev]`) — it catches undeclared/exploded deps the canonical env masks |
24
+ | Post-verification edits re-stale fingerprints | Fixing files covered by an already-verified phase (shared surfaces: get.py, Makefile, docs) invalidates that phase's digest, cascading | advisory | Sequence wide fixes BEFORE verifiers run, or expect one extra regeneration round; check `verification.status` per phase after multi-phase fix sessions |
25
+
26
+ <current_state>
27
+ Milestone v1.0 is SHIPPED and RELEASED. All planning artifacts archived under `.planning/milestones/v1.0-*`; `.planning/phases/` and `.planning/quick/` are empty; ROADMAP collapsed to a shipped-milestone summary; tag `v1.0` pushed; PR #1 (dev→main) open with green CI; **docsif 1.0.0 live on PyPI** (verified installable). No active phase work.
28
+ </current_state>
29
+
30
+ <completed_work>
31
+
32
+ - Milestone v1.0 close: verified_closeout, zero overrides (audit 3/3 resolved, not acknowledged)
33
+ - 4 stale phase verifications regenerated (05/06/07/10.1) — 5 review criticals + 4 verification gaps fixed en route (get.py markup display ×2, generator pipes/version-drift, README command, docs CI `--no-cov`, Mermaid sync, phantom fusion, k1)
34
+ - Version 1.0.0 (6 sites), tag v1.0, archives, MILESTONES.md, RETROSPECTIVE.md
35
+ - Pushed dev (207 commits) + tag; PR #1 created; CI Docs Validation failure diagnosed (Click 8.5 drift) and fixed — green
36
+ - PyPI: published as **docsif 1.0.0** (`sif` taken; user chose their own registered name)
37
+ - numpy≥2: canonical suite (numpy 2.3.5) 1015 green; published wheel on numpy 2.5.4 → CLI smoke + 974/974
38
+ - pytest-asyncio added to dev extras (fresh-env 56-failure root cause)
39
+ </completed_work>
40
+
41
+ <remaining_work>
42
+
43
+ No open phase work. Backlog (all ledgered in archived REVIEW-DISPOSITION files):
44
+ - 10-REVIEW WR-01..10, 10.1 IN-10..13, 07 WR-02/IN-02/03, delta WR-02 (pip constraints)/IN-02
45
+ - Version quadruplication sync mechanism; arch-generator CI wiring; Makefile test-fast echo wording; mcp/cli.py 0% shim; `context remove/prune` confirmation guardrails
46
+ - Human: merge PR #1; optionally `rm -rf ~/.claude/skills/docsift-{get,search}` (stale pre-rename dirs)
47
+ </remaining_work>
48
+
49
+ <decisions_made>
50
+
51
+ - Distribution name `docsif` on PyPI (import/console name stays `sif`)
52
+ - verified_closeout after resolving everything (user principle: resolve, don't acknowledge)
53
+ - Generator outputs normalized version-insensitively rather than pinning CI deps
54
+ - pytest-asyncio fix rides the next release (dev extras don't affect runtime users)
55
+ </decisions_made>
56
+
57
+ <blockers>
58
+ - None
59
+ </blockers>
60
+
61
+ ## Required Reading (in order)
62
+
63
+ 1. `.planning/MILESTONES.md` — what v1.0 shipped
64
+ 2. `.planning/RETROSPECTIVE.md` — patterns/lessons (display-integrity triple precedent, gate discipline)
65
+ 3. `.planning/STATE.md` — current position (Awaiting next milestone)
66
+
67
+ ## Infrastructure State
68
+
69
+ - Branch `dev` @ d0682ba pushed; PR #1 open (CI green); tag `v1.0` pushed
70
+ - PyPI: docsif 1.0.0 published (pypi.org/project/docsif/1.0.0/) — twine creds in `~/.pypirc` ([pypi] + [testpypi])
71
+ - CI: Docs Validation green (run 42310044731) — triggers on docs/README/cli/config/scripts/test_docs paths
72
+ - Untracked by intent: `.planning/state.json` (runtime contract state), `.planning/tmp/` (transient)
73
+
74
+ <context>
75
+ Session arc: resume → quality gates → ty debt cleared → docs verified → user directed milestone close with "resolve everything" → 4-phase verification regeneration (with real bug fixes surfaced by each round) → clean closeout → push/PR → CI fix → PyPI release (name collision resolved to docsif) → numpy≥2 verification → dev-extras fix. The release is complete; next session starts fresh at milestone planning.
76
+ </context>
77
+
78
+ <next_action>
79
+ Start with: `/gsd-new-milestone` (or merge PR #1 first if handling the release flow manually).
80
+ </next_action>
@@ -0,0 +1,37 @@
1
+ {
2
+ "version": "1.0",
3
+ "timestamp": "2026-11-06T23:17:56.807Z",
4
+ "phase": null,
5
+ "phase_name": null,
6
+ "phase_dir": null,
7
+ "plan": null,
8
+ "task": null,
9
+ "total_tasks": 0,
10
+ "status": "paused",
11
+ "completed_tasks": [
12
+ {"id": 1, "name": "Milestone v1.0 close — verified_closeout (11/11 phases fresh-verified, 31/31 requirements, zero overrides)", "status": "done", "commit": "b63eca1"},
13
+ {"id": 2, "name": "Four stale-verification regenerations (05/06/07/10.1) incl. 5 review criticals fixed along the way", "status": "done", "commit": "92e0150"},
14
+ {"id": 3, "name": "Version 1.0.0 bump + tag v1.0 + archives (milestones/v1.0-*) + RETROSPECTIVE", "status": "done", "commit": "11b8640"},
15
+ {"id": 4, "name": "Push dev + tag; PR #1 dev→main", "status": "done", "commit": "1115409"},
16
+ {"id": 5, "name": "CI Docs Validation fixed (Click 8.5 vs 8.3 generator divergence normalized) — run 42310044731 green", "status": "done", "commit": "1115409"},
17
+ {"id": 6, "name": "PyPI release: docsif 1.0.0 published (sif name taken; docsif is the project's own registered name)", "status": "done"},
18
+ {"id": 7, "name": "numpy>=2 verification: canonical suite 1015 green on numpy 2.3.5; fresh install of PUBLISHED wheel on numpy 2.5.4 → CLI smoke + 974/974 (torch-only module excluded)", "status": "done", "commit": "d0682ba"},
19
+ {"id": 8, "name": "pytest-asyncio declared in dev extras (fresh-install 56-failure root cause; ships next release)", "status": "done", "commit": "d0682ba"}
20
+ ],
21
+ "remaining_tasks": [],
22
+ "blockers": [],
23
+ "async_jobs": [],
24
+ "human_actions_pending": [
25
+ {"action": "Merge PR #1 (dev → main)", "context": "CI green, v1.0 tagged and published; merge completes the release flow", "blocking": false},
26
+ {"action": "Optionally remove stale pre-rename skill dirs: rm -rf ~/.claude/skills/docsift-get ~/.claude/skills/docsift-search", "context": "P07-T05: they teach the nonexistent docsift CLI; repo-side sif-* symlinks are correct. Agent home-dir deletion was permission-blocked by design", "blocking": false}
27
+ ],
28
+ "decisions": [
29
+ {"decision": "Distribution name = docsif on PyPI", "rationale": "'sif' taken by an unrelated project; docsif is this account's own registered name (0.1.x-0.2.0). Import name and sif console script unchanged", "phase": "release"},
30
+ {"decision": "verified_closeout with zero overrides", "rationale": "User chose 'resolve everything': UAT gap live-verified, ResourceWarnings fixed (17→0 warnings), mypy ledger resolved, then 4 stale phases regenerated to fresh fingerprints", "phase": "close"},
31
+ {"decision": "CLI-reference generator normalized against Click version drift", "rationale": "CI installs unpinned Click (8.5) vs local 8.3: flag defaults (None vs False) and help indentation diverged, failing the drift gate. cleandoc + flag-default canonicalization make output version-insensitive", "phase": "release"},
32
+ {"decision": "pytest-asyncio added to dev extras rather than republishing 1.0.0", "rationale": "dev extras do not affect runtime installs; the gap only breaks fresh contributor envs; ships with the next version", "phase": "release"}
33
+ ],
34
+ "uncommitted_files": ["?? .planning/state.json", "?? .planning/tmp/"],
35
+ "next_action": "/gsd-new-milestone to plan the next version (v1.1 candidates: LLM query expansion backlog item, open review ledgers WR-01..10/IN-10..13, version-sync mechanism, arch-generator CI wiring). Or merge PR #1 first.",
36
+ "context_notes": "Milestone v1.0 fully shipped: 11/11 phases verified-closeout, archived under .planning/milestones/v1.0-*, tag v1.0 pushed, docsif 1.0.0 live on PyPI (verified installable with numpy 2.5 + click 8.5 + latest starlette). Known follow-ups live in the phase REVIEW-DISPOSITION ledgers (now in milestones/v1.0-phases/). KNOWN QUIRKS: STATE.md frontmatter progress fields undercount by tool accounting — body is authoritative, do not hand-fix. Fresh-install dev envs now get pytest-asyncio via extras; torch is only in 'all' extras and tests/unit/inference/test_reranker.py needs it directly (skip with --ignore on minimal envs)."
37
+ }
@@ -3,10 +3,10 @@ gsd_state_version: "1.0"
3
3
  milestone: v1.0
4
4
  status: Awaiting next milestone
5
5
  stopped_at: Phase 10.1 complete — all phases complete
6
- last_updated: "2026-11-06T22:48:12.150Z"
6
+ last_updated: "2026-11-07T03:06:23.417Z"
7
7
  last_activity: 2026-11-07
8
8
  last_activity_desc: Milestone v1.0 completed and archived
9
- state_head: df482bc48c67f06bf5af5cdf2cc30756f719de65
9
+ state_head: c4088cafedd12250e7309ac7eb5768d4e049e138
10
10
  progress:
11
11
  total_phases: 11
12
12
  completed_phases: 11
@@ -31,7 +31,7 @@ current_phase_name: "Address tech debt: path normalization + review findings CR-
31
31
  Phase: Milestone v1.0 complete
32
32
  Plan: —
33
33
  Status: Awaiting next milestone
34
- Last activity: 2026-11-07 — Milestone v1.0 completed and archived
34
+ Last activity: 2026-11-07 - Completed quick task 261107-f5t: Bump version to 1.0.1 (release docsif 1.0.1: typo fixes + parser checksum fix since v1.0)
35
35
 
36
36
  ## Phase History
37
37
 
@@ -183,6 +183,8 @@ Last activity: 2026-11-07 — Milestone v1.0 completed and archived
183
183
 
184
184
  | # | Description | Date | Commit | Directory |
185
185
  |---|-------------|------|--------|-----------|
186
+ | 261107-cdh | Fix README.md install typo: docdocsif -> docsif in extras install command | 2026-11-07 | ef8edc2 | [261107-cdh-fix-readme-md-install-typo-docdocsif-doc](./quick/261107-cdh-fix-readme-md-install-typo-docdocsif-doc/) |
187
+ | 261107-f5t | Bump version to 1.0.1 (release docsif 1.0.1: typo fixes + parser checksum fix since v1.0) | 2026-11-07 | c4088ca | [261107-f5t-bump-version-to-1-0-1-release-docsif-1-0](./quick/261107-f5t-bump-version-to-1-0-1-release-docsif-1-0/) |
186
188
 
187
189
  ### Overrides
188
190
 
@@ -0,0 +1,12 @@
1
+ {
2
+ "contract": "1.0.0",
3
+ "flavor": "core",
4
+ "milestone": "v1.1",
5
+ "phases": [],
6
+ "next": {
7
+ "command": "/gsd-discuss-phase",
8
+ "label": "Discuss the first phase",
9
+ "reason": "Project initialized — plan your first phase"
10
+ },
11
+ "updated_at": "2026-11-07T03:33:49.905Z"
12
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: docsif
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: DocSIF - Local hybrid search engine for personal knowledge bases
5
5
  Project-URL: Homepage, https://github.com/zhangtaolab/sif
6
6
  Project-URL: Documentation, https://sif.readthedocs.io
@@ -38,6 +38,7 @@ Requires-Dist: openai>=2.0.0; extra == 'all'
38
38
  Requires-Dist: sentence-transformers>=2.2.0; extra == 'all'
39
39
  Provides-Extra: dev
40
40
  Requires-Dist: black>=23.0.0; extra == 'dev'
41
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
41
42
  Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
42
43
  Requires-Dist: pytest>=7.0.0; extra == 'dev'
43
44
  Requires-Dist: ruff>=0.1.0; extra == 'dev'
@@ -86,7 +87,7 @@ pip install docsif
86
87
  For full functionality including embeddings:
87
88
 
88
89
  ```bash
89
- pip install "docdocsif[all]"
90
+ pip install "docsif[all]"
90
91
  ```
91
92
 
92
93
  ### Basic Usage
@@ -30,7 +30,7 @@ pip install docsif
30
30
  For full functionality including embeddings:
31
31
 
32
32
  ```bash
33
- pip install "docdocsif[all]"
33
+ pip install "docsif[all]"
34
34
  ```
35
35
 
36
36
  ### Basic Usage
@@ -35,6 +35,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
35
35
  ### Security
36
36
  - N/A
37
37
 
38
+ ## [1.0.1] - 2026-11-07
39
+
40
+ ### Fixed
41
+ - Install-command typo fix: corrected the extras install command package name (docdocsif to docsif) in README.md and docs (quick task 261107-cdh, commit 2429c09)
42
+ - Parser checksum fix: `sif index update` now compares body-hash checksums so unchanged documents are correctly detected and skipped instead of being re-indexed (commit f1f4b30)
43
+
38
44
  ## [0.1.0] - 2024-01-20
39
45
 
40
46
  ### Added
@@ -224,3 +230,4 @@ Thanks to all contributors who have helped shape SIF!
224
230
 
225
231
  [Unreleased]: https://github.com/zhangtaolab/sif/compare/v0.1.0...HEAD
226
232
  [0.1.0]: https://github.com/zhangtaolab/sif/releases/tag/v0.1.0
233
+ [1.0.1]: https://github.com/zhangtaolab/sif/releases/tag/v1.0.1
@@ -72,7 +72,7 @@ pip install docsif
72
72
  For full functionality:
73
73
 
74
74
  ```bash
75
- pip install "docdocsif[all]"
75
+ pip install "docsif[all]"
76
76
  ```
77
77
 
78
78
  ## Quick Start
@@ -20,7 +20,7 @@ pip install docsif
20
20
  For full functionality including embeddings:
21
21
 
22
22
  ```bash
23
- pip install "docdocsif[all]"
23
+ pip install "docsif[all]"
24
24
  ```
25
25
 
26
26
  ### Method 2: Install from Source
@@ -57,7 +57,7 @@ SIF has several optional dependency groups:
57
57
  For vector search functionality:
58
58
 
59
59
  ```bash
60
- pip install "docdocsif[embed]"
60
+ pip install "docsif[embed]"
61
61
  ```
62
62
 
63
63
  This installs:
@@ -71,7 +71,7 @@ With this extra installed, the local embedding backends pick their compute devic
71
71
  For contributing to SIF:
72
72
 
73
73
  ```bash
74
- pip install "docdocsif[dev]"
74
+ pip install "docsif[dev]"
75
75
  ```
76
76
 
77
77
  This installs:
@@ -86,7 +86,7 @@ This installs:
86
86
  To install everything:
87
87
 
88
88
  ```bash
89
- pip install "docdocsif[all]"
89
+ pip install "docsif[all]"
90
90
  ```
91
91
 
92
92
  ## Platform-Specific Instructions
@@ -145,7 +145,7 @@ sif --help
145
145
 
146
146
  Expected output:
147
147
  ```
148
- sif, version 1.0.0
148
+ sif, version 1.0.1
149
149
 
150
150
  Usage: sif [OPTIONS] COMMAND [ARGS]...
151
151
 
@@ -13,7 +13,7 @@ pip install docsif
13
13
  For full functionality including embeddings:
14
14
 
15
15
  ```bash
16
- pip install "docdocsif[all]"
16
+ pip install "docsif[all]"
17
17
  ```
18
18
 
19
19
  Verify installation:
@@ -465,9 +465,9 @@ Optional, depending on which features you plan to use:
465
465
  search, install one of the extras:
466
466
 
467
467
  ```bash
468
- pip install "docdocsif[embed]" # sentence-transformers and modelscope backends
468
+ pip install "docsif[embed]" # sentence-transformers and modelscope backends
469
469
  # or
470
- pip install "docdocsif[all]" # adds GGUF (llama-cpp-python) and OpenAI API support
470
+ pip install "docsif[all]" # adds GGUF (llama-cpp-python) and OpenAI API support
471
471
  ```
472
472
 
473
473
  The first `sif index embed` run downloads the default embedding model
@@ -30,11 +30,7 @@ Pytest is configured in the `[tool.pytest.ini_options]` section of `pyproject.to
30
30
 
31
31
  Because coverage flags are in `addopts`, they apply to every `pytest` invocation — including `make test-fast` (see below). Append `--no-cov` to any command to skip coverage.
32
32
 
33
- **Async tests:** the MCP tests in `tests/unit/mcp/` use `@pytest.mark.asyncio` and require the `pytest-asyncio` plugin. The plugin is not currently listed in the `dev` extras, so if those tests fail with "async def functions are not natively supported", install it explicitly:
34
-
35
- ```bash
36
- pip install pytest-asyncio
37
- ```
33
+ **Async tests:** the MCP tests in `tests/unit/mcp/` use `@pytest.mark.asyncio` and require the `pytest-asyncio` plugin, which is included in the `dev` extras (`pip install -e ".[dev]"` covers it).
38
34
 
39
35
  ## Running tests
40
36
 
@@ -182,8 +182,8 @@ mcp:
182
182
  name: sif-mcp-server
183
183
 
184
184
  # MCP server version
185
- # Default: 1.0.0
186
- version: "1.0.0"
185
+ # Default: 1.0.1
186
+ version: "1.0.1"
187
187
 
188
188
  # Protocol version
189
189
  # Default: 2024-11-05
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "docsif"
7
- version = "1.0.0"
7
+ version = "1.0.1"
8
8
  description = "DocSIF - Local hybrid search engine for personal knowledge bases"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -43,6 +43,7 @@ dependencies = [
43
43
  dev = [
44
44
  "pytest>=7.0.0",
45
45
  "pytest-cov>=4.0.0",
46
+ "pytest-asyncio>=0.23.0",
46
47
  "black>=23.0.0",
47
48
  "ruff>=0.1.0",
48
49
  "ty>=0.0.1",
@@ -1,6 +1,6 @@
1
1
  """SIF - Search / Index / Find - Local document search engine."""
2
2
 
3
- __version__ = "1.0.0"
3
+ __version__ = "1.0.1"
4
4
  __author__ = "SIF Team"
5
5
  __description__ = "Local document search engine (SIF: Search / Index / Find)"
6
6
 
@@ -1,3 +1,3 @@
1
1
  """Version information for SIF."""
2
2
 
3
- __version__ = "1.0.0"
3
+ __version__ = "1.0.1"
@@ -5,7 +5,7 @@ A powerful CLI tool for managing document collections, indexing content,
5
5
  and performing intelligent searches using both keyword and vector-based approaches.
6
6
  """
7
7
 
8
- __version__ = "0.1.0"
8
+ __version__ = "1.0.1"
9
9
  __author__ = "SIF Team"
10
10
 
11
11
  __all__ = ["__version__", "cli"]
@@ -167,6 +167,10 @@ def update_cmd(ctx: click.Context, collection: str | None, force: bool) -> None:
167
167
  existing.title = parsed.title
168
168
  existing.metadata = parsed.metadata
169
169
  existing.mtime = parsed.mtime
170
+ # Persist the fresh checksum, or the next update run
171
+ # compares the new content against the pre-edit hash
172
+ # and rewrites this document again every run.
173
+ existing.checksum = parsed.checksum
170
174
  doc_repo.update(existing)
171
175
  total_updated += 1
172
176
  else:
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Application info
4
4
  APP_NAME = "sif"
5
- APP_VERSION = "1.0.0"
5
+ APP_VERSION = "1.0.1"
6
6
  APP_DESCRIPTION = (
7
7
  "A local CLI search engine for indexing and searching documents (SIF: Search / Index / Find)"
8
8
  )
@@ -63,8 +63,12 @@ class MarkdownParser:
63
63
  match = self.title_pattern.search(body)
64
64
  title = match.group(1).strip() if match else file_path.stem
65
65
 
66
- # Calculate checksum
67
- checksum = hashlib.sha256(content.encode()).hexdigest()
66
+ # Calculate checksum over the body (frontmatter stripped), matching the
67
+ # storage convention: the create path stores sha256 of Document.content
68
+ # (the body, see core.models.Document.__post_init__), so comparing
69
+ # against a whole-file hash never matches and every document is
70
+ # misreported as changed on `index update`.
71
+ checksum = hashlib.sha256(body.encode()).hexdigest()
68
72
 
69
73
  return ParsedDocument(
70
74
  path=str(file_path.resolve()),
@@ -111,7 +111,7 @@ class InitializeResult(BaseModel):
111
111
  protocolVersion: str = "2024-11-05" # noqa: N815
112
112
  capabilities: ServerCapabilities = Field(default_factory=ServerCapabilities)
113
113
  serverInfo: dict[str, str] = Field( # noqa: N815
114
- default_factory=lambda: {"name": "sif-mcp-server", "version": "1.0.0"},
114
+ default_factory=lambda: {"name": "sif-mcp-server", "version": "1.0.1"},
115
115
  )
116
116
 
117
117
 
@@ -8,6 +8,7 @@ historical run (the observed 21-rows-vs-3-chunks, document-times-7 symptom).
8
8
 
9
9
  from __future__ import annotations
10
10
 
11
+ import hashlib
11
12
  import sqlite3
12
13
  from pathlib import Path
13
14
  from unittest.mock import MagicMock, patch
@@ -514,3 +515,91 @@ class TestPerCollectionTransaction:
514
515
  finally:
515
516
  conn.close()
516
517
  assert coll_names == {"a-good"}
518
+
519
+
520
+ class TestUpdateChecksumIdempotency:
521
+ """Zero-change `sif index update` must report 0 updated (t_66218b67).
522
+
523
+ Before the fix the update path compared stored checksums (sha256 of the
524
+ body) against whole-file hashes, so every existing document was rewritten
525
+ every run (chunks/embeddings dropped + FTS rebuild). Persisting the fresh
526
+ checksum on the update branch is equally load-bearing: without it a
527
+ changed document would oscillate as "updated" on every later run.
528
+ """
529
+
530
+ BODY = "# Note\n\n" + ("Stable paragraph text. " * 100)
531
+
532
+ def _seed_note(self, db_path: Path, settings: Settings, notes_dir: Path) -> Path:
533
+ from sif.core.models import Collection, Document
534
+ from sif.database.database import Database
535
+ from sif.database.repositories import CollectionRepository, DocumentRepository
536
+
537
+ notes_dir.mkdir(parents=True, exist_ok=True)
538
+ doc_file = notes_dir / "a.md"
539
+ doc_file.write_text(self.BODY, encoding="utf-8")
540
+ db = Database(db_path)
541
+ with patch("sif.config.settings.get_settings", return_value=settings):
542
+ db.init_schema()
543
+ with db.connection:
544
+ coll_repo = CollectionRepository(db.connection)
545
+ doc_repo = DocumentRepository(db.connection)
546
+ coll = Collection(name="notes", path=str(notes_dir))
547
+ coll_repo.create(coll)
548
+ doc_repo.create(
549
+ Document(
550
+ path=str(doc_file),
551
+ collection_id=coll.id,
552
+ content=self.BODY,
553
+ title="A",
554
+ )
555
+ )
556
+ db.close()
557
+ return doc_file
558
+
559
+ def test_zero_change_rerun_reports_zero_updated(
560
+ self,
561
+ tmp_path: Path,
562
+ monkeypatch,
563
+ ) -> None:
564
+ _delenv_settings_vars(monkeypatch)
565
+ db_path = tmp_path / "update.db"
566
+ settings = _test_settings()
567
+ notes = tmp_path / "notes"
568
+ self._seed_note(db_path, settings, notes)
569
+
570
+ # Cycle 1: index the note, then embed to fill chunks/embeddings.
571
+ assert _invoke_update(db_path, settings, []).exit_code == 0
572
+ manager, _vector_log = _make_manager_mock()
573
+ assert _invoke_embed(db_path, manager, settings, []).exit_code == 0
574
+ emb1, chunks1, emb_ids1, chunk_ids1 = _store_state(db_path)
575
+ assert emb1 == chunks1
576
+ assert emb1 > 0
577
+
578
+ # Cycle 2: files untouched -> the unchanged short-circuit fires:
579
+ # nothing is rewritten and no chunks/embeddings are destroyed.
580
+ result = _invoke_update(db_path, settings, [])
581
+ assert result.exit_code == 0
582
+ assert "Updated: 0" in result.output
583
+ assert _store_state(db_path) == (emb1, chunks1, emb_ids1, chunk_ids1)
584
+
585
+ # Cycle 3: a real edit is still detected...
586
+ doc_file = notes / "a.md"
587
+ doc_file.write_text(self.BODY.replace("Stable", "Edited"), encoding="utf-8")
588
+ result = _invoke_update(db_path, settings, [])
589
+ assert result.exit_code == 0
590
+ assert "Updated: 1" in result.output
591
+
592
+ # ...and the fresh checksum is persisted, so the next run converges
593
+ # instead of rewriting the same document again.
594
+ conn = sqlite3.connect(str(db_path))
595
+ try:
596
+ stored_cs, stored_content = conn.execute(
597
+ "SELECT checksum, content FROM documents"
598
+ ).fetchone()
599
+ finally:
600
+ conn.close()
601
+ assert stored_cs == hashlib.sha256(stored_content.encode()).hexdigest()
602
+ assert "Edited paragraph text" in stored_content
603
+ result = _invoke_update(db_path, settings, [])
604
+ assert result.exit_code == 0
605
+ assert "Updated: 0" in result.output
@@ -27,10 +27,15 @@ class TestDocumentParsers:
27
27
  result = parser.parse(file_path)
28
28
 
29
29
  assert result.path == str(file_path.resolve())
30
- assert result.content == "# 搜索 🔍\n\n你好世界 Café é"
31
30
  assert result.title == "本地知识库"
32
31
  assert result.metadata == {"title": "本地知识库", "author": "测试"}
33
- assert result.checksum == hashlib.sha256(content.encode("utf-8")).hexdigest()
32
+ # Checksum covers the parsed body (frontmatter stripped, trailing
33
+ # whitespace rstripped), matching the storage convention in
34
+ # core.models.Document.__post_init__ — hashing the whole raw file would
35
+ # make every stored checksum disagree with the create path and force a
36
+ # full-library rewrite on every `index update`.
37
+ assert not result.content.startswith("---")
38
+ assert result.checksum == hashlib.sha256(result.content.encode("utf-8")).hexdigest()
34
39
  assert result.mtime == file_path.stat().st_mtime
35
40
 
36
41
  @pytest.mark.parametrize(
@@ -0,0 +1,70 @@
1
+ """Unit tests for MarkdownParser checksum convention (t_66218b67).
2
+
3
+ The parser must hash the frontmatter-stripped body — the same convention the
4
+ storage path uses (core.models.Document hashes Document.content, which is the
5
+ body). Hashing the whole file makes the two conventions incomparable and
6
+ misreports every document as changed on `sif index update`.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ import hashlib
12
+ from pathlib import Path
13
+
14
+ from sif.indexing.parser import MarkdownParser
15
+
16
+
17
+ DOC_WITH_FM = (
18
+ '---\ntitle: "Probe"\nauthor: "T"\ntags: [a, b]\n---\n\n# Probe\n\nBody paragraph text.\n'
19
+ )
20
+ DOC_NO_FM = "# No Frontmatter\n\nPlain body text.\n"
21
+
22
+
23
+ def test_checksum_covers_body_not_frontmatter(tmp_path: Path) -> None:
24
+ """Checksum equals sha256(stored body); frontmatter-only edits keep it."""
25
+ parser = MarkdownParser()
26
+ doc_file = tmp_path / "a.md"
27
+ doc_file.write_text(DOC_WITH_FM, encoding="utf-8")
28
+
29
+ parsed = parser.parse(doc_file)
30
+
31
+ # The convention under test: checksum = sha256 of the content SIF stores
32
+ # (the body), NOT sha256 of the raw file.
33
+ assert parsed.checksum == hashlib.sha256(parsed.content.encode()).hexdigest()
34
+ assert parsed.checksum != hashlib.sha256(DOC_WITH_FM.encode()).hexdigest()
35
+
36
+ # A frontmatter-only edit must not change the checksum (metadata refresh
37
+ # alone never triggers a full document rewrite).
38
+ doc_file.write_text(
39
+ DOC_WITH_FM.replace('author: "T"', 'author: "Someone Else"'), encoding="utf-8"
40
+ )
41
+ reparsed = parser.parse(doc_file)
42
+ assert reparsed.checksum == parsed.checksum
43
+
44
+
45
+ def test_checksum_without_frontmatter_hashes_content(tmp_path: Path) -> None:
46
+ """No frontmatter -> checksum covers exactly what SIF stores (the body)."""
47
+ parser = MarkdownParser()
48
+ doc_file = tmp_path / "b.md"
49
+ doc_file.write_text(DOC_NO_FM, encoding="utf-8")
50
+
51
+ parsed = parser.parse(doc_file)
52
+ # python-frontmatter strips only the trailing newline when no FM exists;
53
+ # the checksum must match the stored body either way.
54
+ assert parsed.content.rstrip("\n") == DOC_NO_FM.rstrip("\n")
55
+ assert parsed.checksum == hashlib.sha256(parsed.content.encode()).hexdigest()
56
+
57
+
58
+ def test_checksum_changes_with_body_edit(tmp_path: Path) -> None:
59
+ """A body edit does change the checksum (change detection stays intact)."""
60
+ parser = MarkdownParser()
61
+ doc_file = tmp_path / "c.md"
62
+ doc_file.write_text(DOC_WITH_FM, encoding="utf-8")
63
+ before = parser.parse(doc_file).checksum
64
+
65
+ doc_file.write_text(
66
+ DOC_WITH_FM.replace("Body paragraph text.", "Edited paragraph text."),
67
+ encoding="utf-8",
68
+ )
69
+ after = parser.parse(doc_file).checksum
70
+ assert before != after
File without changes