jfox-cli 1.1.1__tar.gz → 1.2.0__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 (280) hide show
  1. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.claude-plugin/marketplace.json +2 -2
  2. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/AGENTS.md +15 -0
  3. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/CHANGELOG.md +13 -0
  4. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/CLAUDE.md +2 -1
  5. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/PKG-INFO +1 -1
  6. jfox_cli-1.2.0/docs/superpowers/plans/2026-06-21-gem-synthesis.md +2027 -0
  7. jfox_cli-1.2.0/docs/superpowers/specs/2026-06-21-gem-synthesis-design.md +141 -0
  8. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/__init__.py +1 -1
  9. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/cli.py +5 -0
  10. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/daemon/server.py +49 -0
  11. jfox_cli-1.2.0/jfox/gem_synth/__init__.py +1 -0
  12. jfox_cli-1.2.0/jfox/gem_synth/anchors.py +85 -0
  13. jfox_cli-1.2.0/jfox/gem_synth/cli.py +153 -0
  14. jfox_cli-1.2.0/jfox/gem_synth/grounding.py +51 -0
  15. jfox_cli-1.2.0/jfox/gem_synth/llm.py +238 -0
  16. jfox_cli-1.2.0/jfox/gem_synth/loop.py +90 -0
  17. jfox_cli-1.2.0/jfox/gem_synth/paths.py +12 -0
  18. jfox_cli-1.2.0/jfox/gem_synth/store.py +72 -0
  19. jfox_cli-1.2.0/jfox/gem_synth/synthesizer.py +160 -0
  20. jfox_cli-1.2.0/jfox/gem_synth/transcript.py +115 -0
  21. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/global_config.py +70 -0
  22. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/models.py +69 -2
  23. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/cc-plugin/.claude-plugin/plugin.json +2 -3
  24. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/pyproject.toml +1 -1
  25. jfox_cli-1.2.0/tests/integration/test_gem_synth_flow.py +54 -0
  26. jfox_cli-1.2.0/tests/unit/test_gem_synth_anchors.py +69 -0
  27. jfox_cli-1.2.0/tests/unit/test_gem_synth_cli.py +149 -0
  28. jfox_cli-1.2.0/tests/unit/test_gem_synth_config.py +33 -0
  29. jfox_cli-1.2.0/tests/unit/test_gem_synth_grounding.py +74 -0
  30. jfox_cli-1.2.0/tests/unit/test_gem_synth_llm.py +265 -0
  31. jfox_cli-1.2.0/tests/unit/test_gem_synth_loop.py +75 -0
  32. jfox_cli-1.2.0/tests/unit/test_gem_synth_store.py +31 -0
  33. jfox_cli-1.2.0/tests/unit/test_gem_synth_synthesizer.py +74 -0
  34. jfox_cli-1.2.0/tests/unit/test_gem_synth_transcript.py +127 -0
  35. jfox_cli-1.2.0/tests/unit/test_note_candidate_fields.py +100 -0
  36. jfox_cli-1.2.0/tests/unit/test_note_candidate_filename.py +17 -0
  37. jfox_cli-1.2.0/tests/unit/test_note_type_candidate.py +15 -0
  38. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/uv.lock +1 -1
  39. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.claude/skills/ci/SKILL.md +0 -0
  40. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.claude/skills/release/SKILL.md +0 -0
  41. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.claude/skills/release/release_helper.py +0 -0
  42. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.githooks/pre-push +0 -0
  43. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  44. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  45. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.github/ISSUE_TEMPLATE/docs_improvement.yml +0 -0
  46. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  47. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  48. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.github/workflows/integration-test.yml +0 -0
  49. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.github/workflows/publish.yml +0 -0
  50. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.gitignore +0 -0
  51. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/.python-version +0 -0
  52. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/DEVELOPMENT_PLAN.md +0 -0
  53. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/README.md +0 -0
  54. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/SESSION.md +0 -0
  55. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/SESSION_SUMMARY.md +0 -0
  56. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/claude-code-plugin-guide.md +0 -0
  57. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/installation.md +0 -0
  58. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-11-bulk-import-bm25-fix.md +0 -0
  59. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-11-edit-command.md +0 -0
  60. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-11-unify-format-option.md +0 -0
  61. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-12-ci-coverage-optimization.md +0 -0
  62. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-12-edit-content-file.md +0 -0
  63. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-12-fix-index-rebuild-clear.md +0 -0
  64. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-12-fix-index-verify-id-mismatch.md +0 -0
  65. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-12-fix-jfox-health-skill-kb-param.md +0 -0
  66. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-12-index-kb-param.md +0 -0
  67. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-12-lazy-import-perf.md +0 -0
  68. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-12-skill-redesign.md +0 -0
  69. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-13-add-content-file.md +0 -0
  70. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-13-bulk-import-vectorstore-init.md +0 -0
  71. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-13-ingest-log-command.md +0 -0
  72. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-13-ingest-skill-sync.md +0 -0
  73. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-13-suppress-third-party-logging.md +0 -0
  74. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-13-sync-skills-with-cli.md +0 -0
  75. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-14-sync-docs-daemon-show.md +0 -0
  76. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-15-gpu-embedding.md +0 -0
  77. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-15-make-daemon-deps-required.md +0 -0
  78. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-15-session-summary-confirmation.md +0 -0
  79. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-16-fix-windows-daemon-console-window.md +0 -0
  80. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-18-daemon-timeout-and-index-rebuild.md +0 -0
  81. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-22-release-skill.md +0 -0
  82. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-26-fix-daemon-deprecation-warnings.md +0 -0
  83. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-27-intranet-model-download.md +0 -0
  84. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-28-tag-filtering.md +0 -0
  85. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-04-29-daemon-stop-fix.md +0 -0
  86. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-05-03-jfox-check.md +0 -0
  87. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-05-03-list-notes-skip-summary.md +0 -0
  88. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-05-03-log-level-fix.md +0 -0
  89. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-05-04-list-notes-index.md +0 -0
  90. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-05-06-atomic-write.md +0 -0
  91. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-05-09-session-note-type.md +0 -0
  92. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-05-10-jfox-plugin.md +0 -0
  93. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-05-19-fix-last-used-never.md +0 -0
  94. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-05-20-modelscope-migration.md +0 -0
  95. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-06-02-todo-note-type.md +0 -0
  96. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-06-16-kimi-code-auto-summary.md +0 -0
  97. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-06-17-index-rebuild-backlinks.md +0 -0
  98. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-06-17-using-jfox-skill.md +0 -0
  99. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-06-18-self-update-command.md +0 -0
  100. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/plans/2026-06-21-fragment-capture.md +0 -0
  101. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-03-bugfixes-design.md +0 -0
  102. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-12-skill-redesign-design.md +0 -0
  103. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-13-pr-auto-code-review-design.md +0 -0
  104. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-14-show-command-design.md +0 -0
  105. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-15-gpu-embedding-design.md +0 -0
  106. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-15-session-summary-confirmation-design.md +0 -0
  107. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-21-release-skill-design.md +0 -0
  108. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-26-fix-daemon-deprecation-warnings-design.md +0 -0
  109. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-27-intranet-model-download-design.md +0 -0
  110. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-28-tag-filtering-design.md +0 -0
  111. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-29-daemon-stop-fix-design.md +0 -0
  112. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-04-30-jfox-kb-env-var-design.md +0 -0
  113. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-05-03-jfox-check-design.md +0 -0
  114. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-05-03-list-notes-skip-summary-design.md +0 -0
  115. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-05-03-log-level-fix-design.md +0 -0
  116. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-05-04-list-notes-index-design.md +0 -0
  117. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-05-06-atomic-write-design.md +0 -0
  118. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-05-09-jfox-plugin-design.md +0 -0
  119. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-05-09-session-note-type-design.md +0 -0
  120. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-05-20-modelscope-migration-design.md +0 -0
  121. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-06-02-todo-note-type-design.md +0 -0
  122. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-06-16-kimi-code-auto-summary-design.md +0 -0
  123. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-06-17-index-rebuild-backlinks-design.md +0 -0
  124. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-06-17-using-jfox-skill-design.md +0 -0
  125. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-06-18-archive-soft-delete-design.md +0 -0
  126. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-06-18-self-update-command-design.md +0 -0
  127. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/superpowers/specs/2026-06-21-fragment-capture-design.md +0 -0
  128. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/docs/troubleshooting.md +0 -0
  129. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jessica-jones-static-cable.md +0 -0
  130. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/__main__.py +0 -0
  131. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/auto_summary/__init__.py +0 -0
  132. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/auto_summary/cli.py +0 -0
  133. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/auto_summary/extractor.py +0 -0
  134. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/auto_summary/kimi_source.py +0 -0
  135. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/auto_summary/ledger.py +0 -0
  136. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/auto_summary/loop.py +0 -0
  137. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/auto_summary/runner.py +0 -0
  138. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/auto_summary/scanner.py +0 -0
  139. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/auto_summary/sources.py +0 -0
  140. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/bm25_index.py +0 -0
  141. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/config.py +0 -0
  142. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/daemon/__init__.py +0 -0
  143. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/daemon/__main__.py +0 -0
  144. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/daemon/client.py +0 -0
  145. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/daemon/process.py +0 -0
  146. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/embedding_backend.py +0 -0
  147. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/formatters.py +0 -0
  148. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/fragment/__init__.py +0 -0
  149. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/fragment/cli.py +0 -0
  150. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/fragment/detector.py +0 -0
  151. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/fragment/service.py +0 -0
  152. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/fragment/store.py +0 -0
  153. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/git_extractor.py +0 -0
  154. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/graph.py +0 -0
  155. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/indexer.py +0 -0
  156. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/kb_manager.py +0 -0
  157. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/model_downloader.py +0 -0
  158. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/note.py +0 -0
  159. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/note_index.py +0 -0
  160. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/performance.py +0 -0
  161. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/search_engine.py +0 -0
  162. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/template.py +0 -0
  163. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/template_cli.py +0 -0
  164. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/utils.py +0 -0
  165. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/jfox/vector_store.py +0 -0
  166. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/package.json +0 -0
  167. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/cc-plugin/hooks/fragment-capture.sh +0 -0
  168. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/cc-plugin/hooks/hooks.json +0 -0
  169. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/cc-plugin/skills/ingest/SKILL.md +0 -0
  170. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/cc-plugin/skills/manage/SKILL.md +0 -0
  171. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/cc-plugin/skills/organize/SKILL.md +0 -0
  172. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/cc-plugin/skills/search/SKILL.md +0 -0
  173. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/cc-plugin/skills/session-summary/SKILL.md +0 -0
  174. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/cc-plugin/skills/using-jfox/SKILL.md +0 -0
  175. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/kimi-plugin/README.md +0 -0
  176. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/kimi-plugin/kimi.plugin.json +0 -0
  177. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/kimi-plugin/skills/jfox-ingest/SKILL.md +0 -0
  178. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/kimi-plugin/skills/jfox-manage/SKILL.md +0 -0
  179. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/kimi-plugin/skills/jfox-organize/SKILL.md +0 -0
  180. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/kimi-plugin/skills/jfox-search/SKILL.md +0 -0
  181. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/kimi-plugin/skills/jfox-session-summary/SKILL.md +0 -0
  182. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/packages/kimi-plugin/skills/using-jfox/SKILL.md +0 -0
  183. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/pytest.ini +0 -0
  184. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/run_full_test.ps1 +0 -0
  185. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/scripts/download-model-intranet.sh +0 -0
  186. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/README.md +0 -0
  187. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/kimi-cli/jfox-common/SKILL.md +0 -0
  188. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/kimi-cli/jfox-ingest/SKILL.md +0 -0
  189. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/kimi-cli/jfox-organize/SKILL.md +0 -0
  190. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/kimi-cli/jfox-search/SKILL.md +0 -0
  191. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/kimi-cli/jfox-session-summary/SKILL.md +0 -0
  192. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/pi/jfox-ci/SKILL.md +0 -0
  193. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/pi/jfox-common/SKILL.md +0 -0
  194. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/pi/jfox-ingest/SKILL.md +0 -0
  195. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/pi/jfox-organize/SKILL.md +0 -0
  196. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/pi/jfox-release/SKILL.md +0 -0
  197. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/pi/jfox-search/SKILL.md +0 -0
  198. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/skills-recommend/pi/jfox-session-summary/SKILL.md +0 -0
  199. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/COVERAGE_PLAN.md +0 -0
  200. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/MIGRATION.md +0 -0
  201. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/TESTS.md +0 -0
  202. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/conftest.py +0 -0
  203. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/integration/__init__.py +0 -0
  204. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/integration/test_auto_summary_kimi.py +0 -0
  205. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/integration/test_backlinks.py +0 -0
  206. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/integration/test_fragment_capture_flow.py +0 -0
  207. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/integration/test_index_rebuild_backlinks.py +0 -0
  208. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/integration/test_model_download.py +0 -0
  209. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/integration/test_tag_filter_cli.py +0 -0
  210. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/performance/__init__.py +0 -0
  211. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/performance/test_performance.py +0 -0
  212. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_advanced_features.py +0 -0
  213. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_cli_format.py +0 -0
  214. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_config_set_unit.py +0 -0
  215. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_config_unit.py +0 -0
  216. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_core_workflow.py +0 -0
  217. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_embedding_device.py +0 -0
  218. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_hybrid_search.py +0 -0
  219. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_integration.py +0 -0
  220. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_kb_current.py +0 -0
  221. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/test_suggest_links.py +0 -0
  222. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/__init__.py +0 -0
  223. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_archive.py +0 -0
  224. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_atomic_write.py +0 -0
  225. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_auto_summary_config_sources.py +0 -0
  226. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_auto_summary_defaults.py +0 -0
  227. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_auto_summary_extractor.py +0 -0
  228. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_auto_summary_ledger.py +0 -0
  229. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_auto_summary_runner.py +0 -0
  230. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_auto_summary_scanner.py +0 -0
  231. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_auto_summary_status.py +0 -0
  232. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_bm25_batch.py +0 -0
  233. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_check.py +0 -0
  234. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_content_file.py +0 -0
  235. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_daemon_cli.py +0 -0
  236. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_daemon_process.py +0 -0
  237. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_edit.py +0 -0
  238. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_embedding_local_load.py +0 -0
  239. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_format_unify.py +0 -0
  240. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_formatters.py +0 -0
  241. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_fragment_cli.py +0 -0
  242. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_fragment_config.py +0 -0
  243. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_fragment_detector.py +0 -0
  244. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_fragment_service.py +0 -0
  245. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_fragment_store.py +0 -0
  246. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_git_extractor.py +0 -0
  247. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_global_config.py +0 -0
  248. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_index_kb_param.py +0 -0
  249. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_indexer_clear_before_rebuild.py +0 -0
  250. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_indexer_verify.py +0 -0
  251. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_kb_manager.py +0 -0
  252. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_kimi_extractor.py +0 -0
  253. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_kimi_scanner.py +0 -0
  254. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_lazy_import.py +0 -0
  255. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_ledger_migration.py +0 -0
  256. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_list_notes_skip.py +0 -0
  257. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_logging_config.py +0 -0
  258. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_model_downloader.py +0 -0
  259. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_note_index.py +0 -0
  260. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_rebuild_backlinks_impl.py +0 -0
  261. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_release_helper.py +0 -0
  262. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_runner_multi_source.py +0 -0
  263. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_scanner_list.py +0 -0
  264. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_session_file_source.py +0 -0
  265. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_session_note.py +0 -0
  266. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_session_source.py +0 -0
  267. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_show.py +0 -0
  268. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_system_prompt_sections.py +0 -0
  269. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_tag_filter.py +0 -0
  270. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_template.py +0 -0
  271. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_template_cli.py +0 -0
  272. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_update.py +0 -0
  273. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_use_kb_env_var.py +0 -0
  274. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_using_jfox_skill.py +0 -0
  275. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/unit/test_vector_store_clear.py +0 -0
  276. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/utils/__init__.py +0 -0
  277. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/utils/assertions.py +0 -0
  278. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/utils/jfox_cli.py +0 -0
  279. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/utils/note_generator.py +0 -0
  280. {jfox_cli-1.1.1 → jfox_cli-1.2.0}/tests/utils/temp_kb.py +0 -0
@@ -7,14 +7,14 @@
7
7
  },
8
8
  "metadata": {
9
9
  "description": "JFox Zettelkasten 知识管理工具的 Claude Code 集成",
10
- "version": "0.3.0"
10
+ "version": "0.4.0"
11
11
  },
12
12
  "plugins": [
13
13
  {
14
14
  "name": "jfox",
15
15
  "source": "./packages/cc-plugin",
16
16
  "description": "JFox 知识管理 CLI 的 Claude Code 集成——搜索、写入工作流(导入/整理/会话总结)与知识库管理",
17
- "version": "0.3.0",
17
+ "version": "0.4.0",
18
18
  "author": { "name": "zhuxixi" },
19
19
  "keywords": ["zettelkasten", "knowledge-management"],
20
20
  "category": "workflow"
@@ -47,6 +47,7 @@ jfox/
47
47
  │ ├── embedding_backend.py # 嵌入模型后端(支持 daemon 代理)
48
48
  │ ├── daemon/ # Embedding 模型 HTTP 守护进程
49
49
  │ ├── fragment/ # 碎片采集(Hook → daemon API → SQLite)
50
+ │ ├── gem_synth/ # L3 宝石合成(碎裂→破损 candidate 笔记,daemon 循环)
50
51
  │ ├── vector_store.py # ChromaDB 向量存储
51
52
  │ ├── bm25_index.py # BM25 关键词索引
52
53
  │ ├── search_engine.py # 混合搜索引擎(RRF 融合)
@@ -163,6 +164,7 @@ uv run jfox --version
163
164
  | `indexer.py` | 文件监控(watchdog)+ 增量索引 |
164
165
  | `daemon/` | Embedding 模型 HTTP 守护进程(server/client/process) |
165
166
  | `fragment/` | 碎片采集:detector 分类 + store SQLite + service 编排 |
167
+ | `gem_synth/` | L3 宝石合成:daemon 循环 + transcript 解析 + grounding 检索 + LLM 合成 |
166
168
 
167
169
  ### 笔记类型
168
170
 
@@ -172,6 +174,19 @@ class NoteType(Enum):
172
174
  LITERATURE = "literature" # 文献笔记 - 读书笔记
173
175
  PERMANENT = "permanent" # 永久笔记 - 整理后的知识
174
176
  SESSION = "session" # AI Agent 会话记录
177
+ CANDIDATE = "candidate" # AI 合成的候选知识宝石(破损级,待 L5 审阅)
178
+ ```
179
+
180
+ 知识宝石等级(candidate / permanent 笔记的 `gem_level` frontmatter 字段):
181
+
182
+ ```python
183
+ class GemLevel(str, Enum):
184
+ """知识宝石等级:chipped→flawed→normal→flawless→perfect。L3 合成产出 flawed。"""
185
+ CHIPPED = "chipped" # 碎裂 — raw 碎片(fragments.db,非笔记)
186
+ FLAWED = "flawed" # 破损 — L3 合成的 candidate
187
+ NORMAL = "normal" # 完整 — L4/L5 成熟后
188
+ FLAWLESS = "flawless" # 完美
189
+ PERFECT = "perfect" # 无暇 — 晋升 permanent 的候选终态
175
190
  ```
176
191
 
177
192
  各类型文件名格式:
@@ -2,6 +2,19 @@
2
2
 
3
3
  All notable changes to jfox-cli will be documented in this file.
4
4
 
5
+ ## [1.2.0] - 2026-06-24
6
+
7
+ ### Features
8
+ - L3 宝石合成(碎裂→破损 candidate 笔记,#249 Layer 3) (#274)
9
+
10
+ ### Fixes
11
+ - **cc-plugin**: remove redundant hooks field from plugin.json (#280)
12
+
13
+ ### Changes
14
+ - fix stale cc-plugin versioning note (3 places, current 0.4.0) (#281)
15
+
16
+ [1.2.0]: https://github.com/zhuxixi/jfox/compare/v1.1.1...v1.2.0
17
+
5
18
  ## [1.1.1] - 2026-06-21
6
19
 
7
20
  ### Features
@@ -72,6 +72,7 @@ Notes are Markdown files with YAML frontmatter stored under `~/.zettelkasten/<kb
72
72
  | `embedding_backend.py` | Sentence-transformers embedding backend(支持 daemon 代理) |
73
73
  | `daemon/` | Embedding 模型 HTTP 守护进程 (`server.py`/`client.py`/`process.py`),`jfox daemon start/stop/status` |
74
74
  | `fragment/` | 碎片采集:detector 分类 + store SQLite(WAL) + service 编排 |
75
+ | `gem_synth/` | L3 宝石合成:daemon 循环围绕锚点用 transcript + 永久笔记基准合成 candidate 笔记 |
75
76
  | `vector_store.py` | ChromaDB vector store for semantic search |
76
77
  | `graph.py` | NetworkX knowledge graph from links/backlinks |
77
78
  | `template.py` / `template_cli.py` | Jinja2 template system for structured note creation |
@@ -141,7 +142,7 @@ JFox ships as a Claude Code plugin. Two-tier structure:
141
142
  - `packages/cc-plugin/.claude-plugin/plugin.json` — plugin source metadata
142
143
  - `packages/cc-plugin/skills/` — 5 skills: `search`, `ingest`, `manage`, `organize`, `session-summary`
143
144
 
144
- **Plugin versioning**: bump version in both `plugin.json` AND `marketplace.json` together. Current: 0.2.0.
145
+ **Plugin versioning**: bump version in **three** places together — `packages/cc-plugin/.claude-plugin/plugin.json` (`version`) and both version fields in `.claude-plugin/marketplace.json` (`metadata.version` + `plugins[0].version`). 漏改任一处都会导致 marketplace 与 plugin 版本不一致。Current: 0.4.0.
145
146
  **Skill rename history**: `kb` → `manage` (v0.2.0) — "manage" is the canonical KB lifecycle + CRUD skill.
146
147
 
147
148
  ## Branch Rules
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jfox-cli
3
- Version: 1.1.1
3
+ Version: 1.2.0
4
4
  Summary: JFox - Zettelkasten 知识管理 CLI 工具
5
5
  Project-URL: Homepage, https://github.com/zhuxixi/jfox
6
6
  Project-URL: Repository, https://github.com/zhuxixi/jfox