jfox-cli 1.16.3__tar.gz → 1.17.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.
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude-plugin/marketplace.json +2 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/CHANGELOG.md +19 -10
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/CLAUDE.md +6 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/PKG-INFO +4 -4
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/README.md +3 -3
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/cli-descriptions.yaml +7 -1
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/cli-reference.md +55 -1
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/json-schemas.md +11 -2
- jfox_cli-1.17.0/docs/superpowers/plans/2026-10-13-moc-add-member-newline.md +475 -0
- jfox_cli-1.17.0/docs/superpowers/plans/2026-10-15-wiki-link-hash-title.md +920 -0
- jfox_cli-1.17.0/docs/superpowers/plans/2026-10-16-session-to-permanent-confidence-gate.md +273 -0
- jfox_cli-1.17.0/docs/superpowers/plans/2026-10-19-session-agent-metadata.md +1495 -0
- jfox_cli-1.17.0/docs/superpowers/plans/2026-10-21-s2-dedup-calibration.md +1911 -0
- jfox_cli-1.17.0/docs/superpowers/specs/2026-10-13-moc-add-member-newline-design.md +154 -0
- jfox_cli-1.17.0/docs/superpowers/specs/2026-10-15-wiki-link-hash-title-design.md +376 -0
- jfox_cli-1.17.0/docs/superpowers/specs/2026-10-16-session-to-permanent-confidence-gate-design.md +131 -0
- jfox_cli-1.17.0/docs/superpowers/specs/2026-10-19-session-agent-metadata-design.md +246 -0
- jfox_cli-1.17.0/docs/superpowers/specs/2026-10-21-s2-dedup-calibration-design.md +303 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/__init__.py +1 -1
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/extractor.py +7 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/kimi_source.py +11 -0
- jfox_cli-1.17.0/jfox/auto_summary/pi_extractor.py +165 -0
- jfox_cli-1.17.0/jfox/auto_summary/pi_source.py +113 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/runner.py +12 -3
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/scanner.py +4 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/sources.py +32 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/cli.py +96 -16
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/global_config.py +17 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/graph.py +22 -18
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/moc/cluster.py +3 -20
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/moc/draft.py +17 -3
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/models.py +26 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/note.py +31 -15
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/note_index.py +26 -17
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/redirect.py +12 -7
- jfox_cli-1.17.0/jfox/similarity.py +593 -0
- jfox_cli-1.17.0/jfox/similarity_cli.py +168 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/utils.py +16 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/.claude-plugin/plugin.json +1 -1
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/skills/manage/SKILL.md +16 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/skills/session-summary/SKILL.md +6 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/skills/session-to-permanent/SKILL.md +43 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/kimi.plugin.json +1 -1
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-manage/SKILL.md +16 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-session-summary/SKILL.md +6 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-session-to-permanent/SKILL.md +43 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/pyproject.toml +1 -1
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/kimi-cli/jfox-common/SKILL.md +13 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/kimi-cli/jfox-session-summary/SKILL.md +6 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-common/SKILL.md +16 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-session-summary/SKILL.md +10 -2
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-session-to-permanent/SKILL.md +43 -2
- jfox_cli-1.17.0/tests/integration/test_auto_summary_pi.py +88 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_moc_member_commands.py +43 -0
- jfox_cli-1.17.0/tests/integration/test_similarity_cli.py +153 -0
- jfox_cli-1.17.0/tests/integration/test_wiki_link_hash_title.py +102 -0
- jfox_cli-1.17.0/tests/performance/test_similarity_perf.py +20 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_json_schema_contract.py +3 -0
- jfox_cli-1.17.0/tests/unit/test_add_agent_fields.py +78 -0
- jfox_cli-1.17.0/tests/unit/test_auto_summary_config_sources.py +85 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_auto_summary_runner.py +60 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_kimi_scanner.py +1 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_moc_draft.py +130 -3
- jfox_cli-1.17.0/tests/unit/test_note_agent_fields.py +58 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_index.py +43 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_promote.py +24 -0
- jfox_cli-1.17.0/tests/unit/test_pi_extractor.py +172 -0
- jfox_cli-1.17.0/tests/unit/test_pi_source.py +95 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_redirect.py +13 -0
- jfox_cli-1.17.0/tests/unit/test_session_dedup_skill_docs.py +47 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_session_source.py +8 -2
- jfox_cli-1.17.0/tests/unit/test_session_summary_skill_docs.py +49 -0
- jfox_cli-1.17.0/tests/unit/test_similarity.py +577 -0
- jfox_cli-1.17.0/tests/unit/test_wiki_link_target.py +136 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/uv.lock +1 -1
- jfox_cli-1.16.3/tests/unit/test_auto_summary_config_sources.py +0 -32
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude/skills/ci/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude/skills/release/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude/skills/release/release_helper.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude/skills/release-all/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude/skills/release-all/release_all_helper.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude/skills/release-cc-plugin/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude/skills/release-cc-plugin/release_cc_plugin_helper.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude/skills/release-kimi-plugin/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.claude/skills/release-kimi-plugin/release_kimi_plugin_helper.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.githooks/pre-push +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.github/ISSUE_TEMPLATE/docs_improvement.yml +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.github/workflows/integration-test.yml +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.github/workflows/publish.yml +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.gitignore +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.markdownlint-cli2.jsonc +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.pi-lens.json +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/.python-version +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/AGENTS.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/DEVELOPMENT_PLAN.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/SESSION.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/SESSION_SUMMARY.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/claude-code-plugin-guide.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/installation.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/nightly-test.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/plugin-inventory.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-11-bulk-import-bm25-fix.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-11-edit-command.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-11-unify-format-option.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-12-ci-coverage-optimization.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-12-edit-content-file.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-12-fix-index-rebuild-clear.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-12-fix-index-verify-id-mismatch.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-12-fix-jfox-health-skill-kb-param.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-12-index-kb-param.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-12-lazy-import-perf.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-12-skill-redesign.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-13-add-content-file.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-13-bulk-import-vectorstore-init.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-13-ingest-log-command.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-13-ingest-skill-sync.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-13-suppress-third-party-logging.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-13-sync-skills-with-cli.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-14-sync-docs-daemon-show.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-15-gpu-embedding.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-15-make-daemon-deps-required.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-15-session-summary-confirmation.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-16-fix-windows-daemon-console-window.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-18-daemon-timeout-and-index-rebuild.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-22-release-skill.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-26-fix-daemon-deprecation-warnings.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-27-intranet-model-download.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-28-tag-filtering.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-04-29-daemon-stop-fix.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-05-03-jfox-check.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-05-03-list-notes-skip-summary.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-05-03-log-level-fix.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-05-04-list-notes-index.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-05-06-atomic-write.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-05-09-session-note-type.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-05-10-jfox-plugin.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-05-19-fix-last-used-never.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-05-20-modelscope-migration.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-06-02-todo-note-type.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-06-16-kimi-code-auto-summary.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-06-17-index-rebuild-backlinks.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-06-17-using-jfox-skill.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-06-18-self-update-command.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-06-21-fragment-capture.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-06-21-gem-synthesis.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-06-25-gem-synth-throttle-ledger.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-08-auto-summary-schedule-window.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-08-candidate-promote.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-12-gem-synth-dedup.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-12-release-cc-plugin-skill.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-12-session-summary-streamline.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-12-show-json.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-17-fix-candidate-dual-h1.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-18-dedup-lifecycle-decouple.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-19-promote-skill-three-modes.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-25-bookshelf.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-25-gem-synth-dedup-incremental-merge.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-26-kb-backup-restore.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-26-promote-skill-clear-reports-rewrite.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-27-release-all.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-28-bookshelf-flat-bundle.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-07-28-nightly-fulltest.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-07-session-to-permanent-cc-kimi.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-11-permanent-note-template.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-12-noteindex-frontmatter-limit-drop.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-15-delete-backlinks-cleanup.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-16-bm25-concurrent-write-race.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-21-index-verify-legacy-filenames.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-21-moc-density-diagnose.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-22-bm25-type-debt-cleanup.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-22-issue-392-cr-leftovers.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-22-jfox-moc-skill.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-22-markdownlint-adoption.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-22-moc-create-update.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-25-moc-create-update-json-shorthand.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-27-issue-436-organize-archive.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-28-cpu-default-model-bge-small-zh.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-29-english-readme-baseline.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-29-issue-383-add-permanent-dedup.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-29-louvain-moc-clustering.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-30-gem-synth-prompt-judgment.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-30-test-config-isolation.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-08-31-deterministic-cli-reference.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-01-ci-docs-drift-gate.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-02-plugin-inventory-enum-checks.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-03-jfox-moc-batch-quality-chapter.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-03-moc-member-management.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-04-chromadb-dim-migration-ndarray.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-05-moc-diagnose-archived-orphan.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-07-bm25-fresh-kb-logging.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-07-pi-prompt-capture.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-09-from-dict-non-dict-guard.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-09-nightly-test-failures.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-10-skill-sync-399-overview-jfox-judge.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-14-json-schema-unify.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-14-lightweight-install.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-14-wiki-link-self-link.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-23-h1-strip-normalization.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-24-adjacent-backticks-swallow-wiki-links.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-24-issue-549-twin-files.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-09-29-issue-561-backlinks-snapshot-overwrite.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-10-09-index-status-persist.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/plans/2026-10-09-nightly-embed-env.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-03-bugfixes-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-12-skill-redesign-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-13-pr-auto-code-review-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-14-show-command-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-15-gpu-embedding-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-15-session-summary-confirmation-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-21-release-skill-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-26-fix-daemon-deprecation-warnings-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-27-intranet-model-download-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-28-tag-filtering-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-29-daemon-stop-fix-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-04-30-jfox-kb-env-var-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-05-03-jfox-check-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-05-03-list-notes-skip-summary-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-05-03-log-level-fix-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-05-04-list-notes-index-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-05-06-atomic-write-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-05-09-jfox-plugin-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-05-09-session-note-type-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-05-20-modelscope-migration-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-06-02-todo-note-type-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-06-16-kimi-code-auto-summary-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-06-17-index-rebuild-backlinks-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-06-17-using-jfox-skill-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-06-18-archive-soft-delete-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-06-18-self-update-command-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-06-21-fragment-capture-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-06-21-gem-synthesis-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-06-25-gem-synth-throttle-ledger-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-08-candidate-promote-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-12-gem-synth-dedup-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-12-release-cc-plugin-skill-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-12-session-summary-streamline-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-12-show-json-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-18-dedup-lifecycle-decouple-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-19-promote-skill-three-modes-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-25-bookshelf-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-25-gem-synth-dedup-incremental-merge-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-26-kb-backup-restore-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-26-promote-skill-clear-reports-rewrite-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-27-release-all-orchestration-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-28-bookshelf-flat-bundle-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-07-28-nightly-fulltest-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-07-session-to-permanent-cc-kimi-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-11-permanent-note-template-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-12-noteindex-frontmatter-limit-drop-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-15-delete-backlinks-cleanup-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-16-bm25-concurrent-write-race-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-20-bm25-clear-orphan-followup-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-21-index-verify-legacy-filenames-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-21-moc-density-diagnose-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-22-bm25-type-debt-cleanup-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-22-issue-392-cr-leftovers-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-22-jfox-moc-skill-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-22-markdownlint-adoption-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-22-moc-create-update-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-25-moc-create-update-json-shorthand-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-27-issue-436-organize-archive-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-27-redirect-and-delete-guard.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-28-cpu-default-model-bge-small-zh-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-29-english-readme-baseline-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-29-issue-383-add-permanent-dedup-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-29-louvain-moc-clustering-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-30-gem-synth-prompt-judgment-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-30-test-config-isolation-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-08-31-deterministic-cli-reference-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-01-ci-docs-drift-gate-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-02-plugin-inventory-enum-checks-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-03-jfox-moc-batch-quality-chapter-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-03-moc-member-management-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-04-chromadb-dim-migration-ndarray-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-05-moc-diagnose-archived-orphan-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-07-bm25-fresh-kb-logging-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-07-pi-prompt-capture-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-09-from-dict-non-dict-guard-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-09-nightly-test-failures-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-10-lightweight-install-embed-extra-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-10-skill-sync-399-overview-jfox-judge-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-14-json-schema-unify-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-14-wiki-link-self-link-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-23-h1-strip-normalization-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-24-adjacent-backticks-swallow-wiki-links-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-24-issue-549-twin-files-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-09-29-issue-561-backlinks-snapshot-overwrite-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-10-09-index-status-persist-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/superpowers/specs/2026-10-09-nightly-embed-env-design.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/docs/troubleshooting.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jessica-jones-static-cable.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/__main__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/add_dedup.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/ledger.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/loop.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/auto_summary/schedule.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/backup/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/backup/cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/backup/loop.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/backup/manager.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/backup/schedule.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/bm25_index.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/bookshelf/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/bookshelf/cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/bookshelf/meta.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/bookshelf/store.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/candidates/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/candidates/cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/candidates/service.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/config.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/daemon/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/daemon/__main__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/daemon/client.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/daemon/process.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/daemon/server.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/dedup.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/dedup_lifecycle.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/embedding_backend.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/embedding_migration.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/formatters.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/fragment/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/fragment/cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/fragment/internal_sources.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/fragment/service.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/fragment/store.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/git_extractor.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/index_state.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/indexer.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/kb_manager.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/moc/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/moc/cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/moc/generate.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/model_downloader.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/performance.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/actions.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/grounding.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/judge.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/lifecycle.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/runner.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/service.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/store.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/prompts/transcript.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/search_engine.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/template.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/template_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/jfox/vector_store.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/package.json +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/hooks/fragment-capture.sh +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/hooks/hooks.json +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/skills/bookshelf/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/skills/ingest/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/skills/organize/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/skills/promote/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/skills/search/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/cc-plugin/skills/using-jfox/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/README.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-admin/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-auto-summary/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-ingest/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-organize/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-promote/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-search/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/jfox-template/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/kimi-plugin/skills/using-jfox/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/pi-plugin/README.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/pi-plugin/extensions/jfox-prompt-capture.ts +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/packages/pi-plugin/test/run-tests.ts +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/pytest.ini +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/run_full_test.ps1 +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/scripts/LOUVAIN_VERIFY.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/scripts/download-model-intranet.sh +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/scripts/enum_coverage.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/scripts/generate_docs.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/scripts/louvain_verify.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/scripts/nightly_test.sh +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/scripts/nightly_test_helpers.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/scripts/plugin_inventory.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/scripts/verify_lightweight_install.sh +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/README.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/kimi-cli/jfox-ingest/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/kimi-cli/jfox-organize/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/kimi-cli/jfox-search/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-bookshelf/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-ci/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-ingest/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-judge/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-moc/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-organize/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-overview/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-promote/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-release/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-release-all/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-release-cc-plugin/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-release-kimi-plugin/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/skills-recommend/pi/jfox-search/SKILL.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/COVERAGE_PLAN.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/MIGRATION.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/TESTS.md +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/conftest.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/fixtures/bulk_import_notes.json +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_auto_summary_kimi.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_backlinks.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_candidate_promote_flow.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_cli_reference_generation.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_edit_roundtrip.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_fragment_capture_flow.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_index_rebuild_backlinks.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_index_status_persist.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_links_edit_add.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_model_download.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_no_embed_degradation.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_plugin_inventory.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_stale_name_single_file.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/integration/test_tag_filter_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/performance/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/performance/test_performance.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_add_dedup_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_advanced_features.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_cli_format.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_config_set_unit.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_config_unit.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_core_workflow.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_embedding_device.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_hybrid_search.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_integration.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_kb_current.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/test_suggest_links.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/bookshelf/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/bookshelf/conftest.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/bookshelf/test_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/bookshelf/test_meta.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/bookshelf/test_store.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/conftest.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_add_backfill_links.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_add_dedup.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_apply_backlinks.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_archive.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_atomic_write.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_auto_summary_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_auto_summary_defaults.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_auto_summary_extractor.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_auto_summary_ledger.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_auto_summary_loop.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_auto_summary_scanner.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_auto_summary_schedule.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_auto_summary_status.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_backup.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_bm25_batch.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_bm25_concurrency.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_bm25_fresh_kb_logging.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_candidates_migrated_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_check.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_conftest_mock.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_content_file.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_daemon_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_daemon_process.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_dedup_lifecycle.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_default_model_switch.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_delete_backlink_cleanup.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_delete_guard.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_edit.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_embed_availability.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_embedding_backend_daemon_only.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_embedding_local_load.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_embedding_migration.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_enum_coverage.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_format_unify.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_formatters.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_fragment_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_fragment_config.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_fragment_hook.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_fragment_internal_sources.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_fragment_service.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_fragment_store.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_generate_docs.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_git_extractor.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_global_config.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_index_kb_param.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_index_state.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_index_status_payload.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_indexer_clear_before_rebuild.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_indexer_verify.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_json_mode.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_json_schema_contract_doc.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_kb_manager.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_kimi_extractor.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_kimi_plugin_skills.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_lazy_import.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_ledger_migration.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_list_notes_skip.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_logging_config.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_moc_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_moc_cluster.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_moc_create_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_moc_generate.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_moc_integration.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_moc_member_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_moc_skill_docs.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_moc_update_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_model_downloader.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_nightly_script_env.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_nightly_test_helpers.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_add_config.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_candidate_fields.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_candidate_filename.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_generator.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_lifecycle_hooks.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_path_rules.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_type_candidate.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_note_type_structure.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_plugin_inventory.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_actions.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_backfill.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_candidate.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_capture.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_grounding.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_judge.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_retirement.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_runner.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_store.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_prompt_transcript.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_pyproject_embed_extra.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_rebuild_backlinks_impl.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_release_all_helper.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_release_cc_plugin_helper.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_release_helper.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_release_helper_verify.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_release_kimi_plugin_helper.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_runner_multi_source.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_scanner_list.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_search_engine_embed_warning.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_session_file_source.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_session_note.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_show.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_system_prompt_sections.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_tag_filter.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_template.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_template_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_update.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_use_kb_env_var.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_using_jfox_skill.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_vector_store_clear.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_vector_store_dimension_warning.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_vector_store_embed_guard.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_vector_store_embeddings.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/unit/test_wiki_link_resolution.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/utils/__init__.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/utils/assertions.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/utils/jfox_cli.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.0}/tests/utils/note_generator.py +0 -0
- {jfox_cli-1.16.3 → jfox_cli-1.17.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.
|
|
10
|
+
"version": "0.8.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.
|
|
17
|
+
"version": "0.8.0",
|
|
18
18
|
"author": { "name": "zhuxixi" },
|
|
19
19
|
"keywords": ["zettelkasten", "knowledge-management"],
|
|
20
20
|
"category": "workflow"
|
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to jfox-cli will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.17.0] - 2026-10-27
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- **session**: session 笔记记录 agent 类型与 session 文件路径,pi 接入 auto-summary(#578) (#582)
|
|
10
|
+
- **similarity**: S2 dedup calibration with percentile verdicts (#586) (#587)
|
|
11
|
+
- **skill**: session-to-permanent 高置信度分级闸门(#575) (#581)
|
|
12
|
+
|
|
13
|
+
### Fixes
|
|
14
|
+
|
|
15
|
+
- **links**: 标题含 # 的 wiki-link 截断与静默错链修复 (#458) (#574)
|
|
16
|
+
- **moc**: add-member 末尾分组换行丢失/成员行粘连 (#547) (#571)
|
|
17
|
+
|
|
18
|
+
### Changes
|
|
19
|
+
|
|
20
|
+
- **claude.md**: batch refresh — fold in 5 pending auto/claude-md PRs (#570)
|
|
21
|
+
|
|
22
|
+
[1.17.0]: https://github.com/zhuxixi/jfox/compare/v1.16.3...v1.17.0
|
|
23
|
+
|
|
5
24
|
## [1.16.3] - 2026-10-10
|
|
6
25
|
|
|
7
26
|
### Fixes
|
|
@@ -32,16 +51,6 @@ All notable changes to jfox-cli will be documented in this file.
|
|
|
32
51
|
|
|
33
52
|
[1.16.1]: https://github.com/zhuxixi/jfox/compare/v1.16.0...v1.16.1
|
|
34
53
|
|
|
35
|
-
## [Unreleased]
|
|
36
|
-
|
|
37
|
-
### Fixes
|
|
38
|
-
|
|
39
|
-
- **note**: 加载的笔记钉住真实磁盘路径——文件名与当前字段分家时,补 backlink / rebuild --backlinks / MOC 成员回填不再写出同 ID 双文件,`show`/`delete` 也能正确读写该笔记;`update_note` 改为显式规范化写并在成功后重钉路径 (#549)
|
|
40
|
-
|
|
41
|
-
- **note_index**: 剥离改单遍合并正则——反引号包 HTML 注释不再吞后续 wiki link (#548) (#550)
|
|
42
|
-
|
|
43
|
-
- **index**: `index rebuild --backlinks` 写回改为「重读→分歧检测→原子写」:检测到并发修改或文件缺失的笔记本轮跳过(计入新 JSON 字段 `backlinks_skipped`,下轮重建自愈),并发 `edit` 的正文不再被旧快照静默覆盖 (#561)
|
|
44
|
-
|
|
45
54
|
## [1.16.0] - 2026-09-23
|
|
46
55
|
|
|
47
56
|
### Features
|
|
@@ -69,6 +69,7 @@ Notes are Markdown files with YAML frontmatter stored under `~/.zettelkasten/<kb
|
|
|
69
69
|
| `model_downloader.py` | Embedding 模型下载与缓存管理 |
|
|
70
70
|
| `note_index.py` | 笔记索引管理(文件名↔ID 映射) |
|
|
71
71
|
| `indexer.py` | File monitoring (watchdog) + incremental indexing |
|
|
72
|
+
| `index_state.py` | 索引状态持久层(#539):`.zk/index_state.json` 原子写;`index rebuild`/`rebuild-bm25` 成功后落盘,`index status` 的 `last_rebuild`/`bm25_indexed` 事实来源(watcher 内存计数器已删,status 只报持久化真实状态) |
|
|
72
73
|
| `note.py` | Markdown file CRUD with YAML frontmatter |
|
|
73
74
|
| `models.py` | `Note` data model with frontmatter serialization |
|
|
74
75
|
| `add_dedup.py` | `jfox add` permanent 落库前双通道防重(#383):标题通道(非 archived 同标题、大小写不敏感、不限类型)+ 正文余弦 ≥0.95 通道(复用顶层 `jfox/dedup.py`,`daemon_only=True` 绝不回退本地模型加载、仅 daemon 在跑时启用);闸门自身故障一律放行,非路障 |
|
|
@@ -82,7 +83,7 @@ Notes are Markdown files with YAML frontmatter stored under `~/.zettelkasten/<kb
|
|
|
82
83
|
| `prompts/` | Prompt 记录与按需判断(#399,已合 parts 2-6):记录层全量保存 CC UserPromptSubmit 到 `user_prompts`(与 fragment 共用 fragments.db,`JFOX_FRAGMENTS_DB` 可覆盖;cc-plugin hook 先原子写 spool `~/.zettelkasten/prompt-spool/` 再尽力 POST daemon `/api/prompt`,失败留 spool 待 drain 导入);判断层 `judge.py` session 批量编排(claim 租约 → `transcript.py` 三模式上下文 → `runner.py` 外部 runner → `grounding.py` strict grounding → 存 candidate 带 `source_prompts` 溯源),成功只写 pending 留人工 disposition;`actions.py`+`cli.py` 人工处置面 `jfox prompts list/show/status/drain/backfill/judge/promote/unresolved/resolve-unresolved/ignore/retry/config`(#508),`lifecycle.py` 订阅 candidate 直接 promote/reject 时同步 judgment;runner 安全边界:argv + shell=False、prompt 只走 stdin、reserved flags 不被 `extra_args` 覆盖;配置在 `~/.zk_config.json` 的 `prompt_capture` 与 `prompt_judge` 两节 |
|
|
83
84
|
| `candidates/` | 候选宝石过审 CLI(#497 从 gem_synth 原样解耦迁移):`jfox candidates list/show/promote/reject`,命令名/参数/输出不变;gem_synth 自动合成与合成进度命令已整体退役(#498,daemon 只剩 auto-summary/backup loop) |
|
|
84
85
|
| `dedup.py` / `dedup_lifecycle.py` | 顶层 dedup 表(原 `gem_synth/dedup.py`,#498 迁移):正文余弦查重 SQLite,`jfox add` 防重共查;`dedup_lifecycle.py` 订阅 note delete/archive/promote/reject 同步 dedup 行(删除/归档清行、promote 改类型——残留 embedding 会让 add 误拦重新添加已删内容,#383 语义) |
|
|
85
|
-
| `auto_summary/` | 自动总结子系统:daemon 内扫描
|
|
86
|
+
| `auto_summary/` | 自动总结子系统:daemon 内扫描 Claude Code(`~/.claude/projects/`)、Kimi Code(`~/.kimi-code/sessions/`)与 pi(官方目录 + agent-board 目录)已结束的 session,经 `claude -p` 生成摘要写入 `session` 笔记;CLI `jfox auto-summary run/scan/status/enable/disable`,ledger 去重 + schedule time window |
|
|
86
87
|
| `backup/` | KB 滚动备份/恢复:`manager.py` BackupManager(tar.gz+sha256 清单+滚动轮转+可逆 restore)+ daemon `loop.py` 定时备份(镜像 auto-summary,quiesce 标志让兄弟写类 loop 跳过写 tick)+ `jfox backup run/enable/disable/status/list/verify/restore`;默认关,opt-in |
|
|
87
88
|
| `moc/` | MOC 结构层:`cluster.py` 密度诊断(永久笔记向量余弦相似度多阈值聚类——阈值化加权图 Louvain 社区发现(边权=相似度,`seed=42` 确定性,#463 起替代传递连通分量),默认阈值 0.65→0.75、diagnose 网格 0.70–0.80,#410/#463;链接/语义孤儿检测——向量行三态分类 ghost(磁盘缺失)/archived(已归档,不计孤儿)/live(#499/#510),N×N 稠密矩阵上限 5000)+ `draft.py`/`generate.py` create/update(从诊断簇生成并维护 structure 笔记,落盘带 backlinks 回填与成员磁盘存在性校验,#413);CLI `jfox moc diagnose/create/update/add-member/remove-member`(add/remove-member 单成员精确增删并维护正文/links/backlinks 一致 + session-time MOC ownership,#484/#505);重依赖经 `__init__.py` 的 `__getattr__` 按需加载 |
|
|
88
89
|
| `vector_store.py` | ChromaDB vector store for semantic search;批量读 `get_all_embeddings()` 走复制前后清单校验一致的只读快照副本而非活库(Chroma 只读集合也会写 SQLite),失败抛 `VectorStoreReadError`(#407) |
|
|
@@ -157,7 +158,7 @@ Four jobs in `.github/workflows/integration-test.yml`:
|
|
|
157
158
|
|
|
158
159
|
**Release** workflow in `.github/workflows/publish.yml`: publishes to PyPI on GitHub release publication.
|
|
159
160
|
|
|
160
|
-
**Local nightly full-test**(#263/#361,非 GitHub Action):`scripts/nightly_test.sh` 是本机 crontab 定时任务(crontab 行装本机、不进仓库),每周二 09:00 跑 CI `test-fast` 跳过的全量 pytest(performance/bulk/slow/embedding)——成功静默,失败按签名去重复用带 `nightly-test-failure` label 的 issue。前置:今日 #338 备份须成功(读 `~/.jfox-backup/state.json` 的 `last_ok`,否则 `SKIP: 今日备份未确认` 退出)。纯逻辑在 `scripts/nightly_test_helpers.py`(单测 `tests/unit/test_nightly_test_helpers.py`);`--dry-run` 用人造失败走 issue 流程、不跑真实 pytest
|
|
161
|
+
**Local nightly full-test**(#263/#361,非 GitHub Action):`scripts/nightly_test.sh` 是本机 crontab 定时任务(crontab 行装本机、不进仓库),每周二 09:00 跑 CI `test-fast` 跳过的全量 pytest(performance/bulk/slow/embedding)——成功静默,失败按签名去重复用带 `nightly-test-failure` label 的 issue。前置:今日 #338 备份须成功(读 `~/.jfox-backup/state.json` 的 `last_ok`,否则 `SKIP: 今日备份未确认` 退出)。纯逻辑在 `scripts/nightly_test_helpers.py`(单测 `tests/unit/test_nightly_test_helpers.py`);`--dry-run` 用人造失败走 issue 流程、不跑真实 pytest;`--ref <git-ref>` 调试模式测指定 ref(跳过备份检查、失败不提 issue,#565)。worktree 内 `uv sync --frozen --extra dev --extra embed` 且跑前 `check-embed-env` fail-fast——#519 拆出 `[embed]` 后漏装 extra 则 embedding 测试全降级,缺组件 exit 4 = 环境失败、不提 issue(#559)。
|
|
161
162
|
|
|
162
163
|
## Release Tooling
|
|
163
164
|
|
|
@@ -207,7 +208,10 @@ JFox ships as a Claude Code plugin. Two-tier structure:
|
|
|
207
208
|
- `rich` Console 输出机器解析的 JSON 时须 `soft_wrap=True`:默认按 80 列硬折行,会把长字符串(如 Windows 绝对路径)在 JSON 字符串内部断行,`json.loads` 报 Invalid control character(Ubuntu 路径短不触发,只在 Windows CI 挂,#336)。参考 `bookshelf/cli.py` `_emit_json`
|
|
208
209
|
- JSON 模式(`cli.py` `_json_mode_requested` 兼容 `--json`/`-f json`/`-fjson`/`--format=json`,重复 flag 取后者)下 CLI 入口统一 `logging.disable(CRITICAL)` + `TQDM_DISABLE=1`,保证 `--json 2>&1 | jq` 合流后仍是纯 JSON(#383 根因 A:INFO/tqdm 噪声曾令调用方解析失败、误判后重跑产生重复笔记);命令内告警并入 JSON 字段(如 add 的 `vector_dimension_warning`)而非 stderr print——stderr 在 2>&1 管道同样污染解析流
|
|
209
210
|
- `delete_note`/`promote_note` 增量同步各 target 的 backlinks(#388 起对称):写盘前按真实磁盘路径 re-read-and-merge——重读 fresh 再合并写回,文件名发散不产生同 id 双文件、与常驻 daemon 并发写不丢更新(#392/#422);单 target 写盘失败仅 warning 不中断,悬空/不对称残留用 `jfox index rebuild --backlinks` 全量重算兜底
|
|
211
|
+
- 笔记双写路径契约(#549):`from_markdown` 加载时钉住真实磁盘路径——加载笔记的 `note.filepath` 即真实路径(legacy 发散名不误算),按当前字段现算的规则路径用 `expected_filepath`;`save_note` 就地写(写回 pin 路径、不随字段改名),`update_note` 规范化写(目标 `expected_filepath`,路径变化删旧文件并重钉 pin,发散名笔记被触碰即自愈为规则名)——改 title/type 必须走 `update_note`,写盘目标误用 `note.filepath` 会让改名判据恒假、edit --title 不再移动文件
|
|
212
|
+
- backlinks 批量写回统一走 `note.apply_backlinks()` 窄写原语(#561/#562):定位(快照钉住路径优先)→ 重读 fresh → 与快照序列化比对,发现并发分歧即本轮跳过(返回 `"skipped"` 属正常竞态非故障,下轮 rebuild 自愈)→ 零写入守卫 → 原子写;`index rebuild --backlinks` 不得用 `save_note` 从陈旧快照整条覆盖(曾静默吞并发 edit 的正文),调用方也别原地改快照的 `links`/`backlinks`(分歧检测以快照为比对基准);rebuild JSON 统计含 `backlinks_skipped`
|
|
210
213
|
- `HybridSearchEngine` 构造时仅对自取的 BM25 单例做一次 stale 检查并 reload(磁盘被其他进程写过则刷新快照);显式传入的 `bm25_index` 实例归调用方所有、不隐式 reload——长驻进程须自行周期重建引擎或调 `check_stale_and_reload`(#391)
|
|
211
214
|
- `jfox index verify` 以 frontmatter 真实 `id` 对账向量库,文件名格式无关——legacy `14位时间戳-6位微秒-slug` 文件名不再误报 orphan;frontmatter 缺 id/解析失败的文件计入 `unreadable_files` 不参与对账,同 id 多文件报 `duplicate_ids`(#407/#408)
|
|
212
215
|
- CPU 默认 embedding 模型已从 `all-MiniLM-L6-v2`(384 维)切到 `BAAI/bge-small-zh-v1.5`(512 维,#442):旧 KB 向量库维度不匹配时 search/add 显式告警不静默失败(`vector_store.last_dimension_warning`),按提示 `jfox index rebuild` 重建该 KB;CI 模型缓存 key 也随模型名(#453)
|
|
213
216
|
- 语义组件缺失降级(#519):无本地 sentence-transformers 且无 daemon 时,写路径降级继续——`save_note`/`update_note` typed catch `EmbedDependencyMissingError`(文件+BM25 照写、跳过向量索引),`update_note` 改走 `add_or_update_note` 守卫原语(服务不可用不删既有行),`index rebuild` 降级 BM25-only 不重置向量库,add/edit JSON 出 `semantic_index_warning`;读路径显式拒绝——search/query/suggest-links 的 semantic/hybrid 模式 exit 1 + 安装提示;`jfox status` JSON 含 `embedding` 探测节(local_package/daemon_running/service_available)
|
|
217
|
+
- Wiki-link 排除区剥离(`note_index.py` `_strip_wiki_link_exclusions`,`resolve_wiki_links()` 链路第一步)必须保持单遍合并正则 `_EXCLUSION_RE`(alternation 顺序即优先级:fenced > HTML 注释 > inline code),勿拆回多次顺序 `re.sub`——顺序剔除会让已删区域拼出新结构再被后续 pass 跨界吞掉(#548:反引号包 HTML 注释,注释先删留空反引号对,inline 分支吞相邻 wiki link,#550 修复);回归测试 `tests/unit/test_wiki_link_resolution.py`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: jfox-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.17.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
|
|
@@ -84,7 +84,7 @@ JFox is designed to keep its core knowledge-management workflow local rather tha
|
|
|
84
84
|
- **Knowledge refinement** — Record user prompts verbatim, classify them on demand with a configurable judge, and promote candidates into permanent notes.
|
|
85
85
|
- **Local bookshelf assets** — Keep PDFs, extracted bundles, and book metadata together without mixing them into the note index.
|
|
86
86
|
- **Multiple knowledge bases** — Separate work, personal, research, or project knowledge while keeping the same CLI.
|
|
87
|
-
- **Operational safeguards** — Use an embedding daemon, rolling backups, archive/unarchive, and optional
|
|
87
|
+
- **Operational safeguards** — Use an embedding daemon, rolling backups, archive/unarchive, and optional coding-agent session auto-summary when you need them.
|
|
88
88
|
|
|
89
89
|
## Quick Start
|
|
90
90
|
|
|
@@ -201,7 +201,7 @@ Judge execution is explicit: it runs only when you invoke `jfox prompts judge`.
|
|
|
201
201
|
|
|
202
202
|
Use `jfox archive` and `jfox unarchive` when a note should leave or return to the active workflow without being permanently deleted. Use multiple knowledge bases to keep unrelated contexts separate.
|
|
203
203
|
|
|
204
|
-
The backup system can create, verify, and restore rolling snapshots of your knowledge-base data. Use `jfox backup restore SNAPSHOT` to restore a knowledge-base state from a snapshot. The embedding daemon keeps the local model available between commands, while optional auto-summary can turn finished Claude Code sessions into `session` notes.
|
|
204
|
+
The backup system can create, verify, and restore rolling snapshots of your knowledge-base data. Use `jfox backup restore SNAPSHOT` to restore a knowledge-base state from a snapshot. The embedding daemon keeps the local model available between commands, while optional auto-summary can turn finished Claude Code / Kimi Code / pi sessions into `session` notes.
|
|
205
205
|
|
|
206
206
|
These operational features are opt-in or explicit actions. Review [Privacy](#privacy) before enabling auto-summary, and review [Installation and Development](#installation-and-development) for troubleshooting and model-download details.
|
|
207
207
|
|
|
@@ -388,7 +388,7 @@ JFox is local-first, but not every optional integration is offline:
|
|
|
388
388
|
|
|
389
389
|
- Notes, indexes, and core note, search, and graph operations run locally by default.
|
|
390
390
|
- The embedding model may need to be downloaded the first time it is used. After that, it can be reused from the local cache.
|
|
391
|
-
- The optional auto-summary feature invokes `claude -p` to summarize finished Claude Code
|
|
391
|
+
- The optional auto-summary feature invokes `claude -p` to summarize finished coding-agent sessions (Claude Code, Kimi Code, pi).
|
|
392
392
|
- Auto-summary sends the selected session text to Anthropic through the Claude Code CLI. Enable it only when that data flow is acceptable to you.
|
|
393
393
|
|
|
394
394
|
You control which optional services to enable. Services that support knowledge-base selection expose their own target-knowledge-base settings.
|
|
@@ -42,7 +42,7 @@ JFox is designed to keep its core knowledge-management workflow local rather tha
|
|
|
42
42
|
- **Knowledge refinement** — Record user prompts verbatim, classify them on demand with a configurable judge, and promote candidates into permanent notes.
|
|
43
43
|
- **Local bookshelf assets** — Keep PDFs, extracted bundles, and book metadata together without mixing them into the note index.
|
|
44
44
|
- **Multiple knowledge bases** — Separate work, personal, research, or project knowledge while keeping the same CLI.
|
|
45
|
-
- **Operational safeguards** — Use an embedding daemon, rolling backups, archive/unarchive, and optional
|
|
45
|
+
- **Operational safeguards** — Use an embedding daemon, rolling backups, archive/unarchive, and optional coding-agent session auto-summary when you need them.
|
|
46
46
|
|
|
47
47
|
## Quick Start
|
|
48
48
|
|
|
@@ -159,7 +159,7 @@ Judge execution is explicit: it runs only when you invoke `jfox prompts judge`.
|
|
|
159
159
|
|
|
160
160
|
Use `jfox archive` and `jfox unarchive` when a note should leave or return to the active workflow without being permanently deleted. Use multiple knowledge bases to keep unrelated contexts separate.
|
|
161
161
|
|
|
162
|
-
The backup system can create, verify, and restore rolling snapshots of your knowledge-base data. Use `jfox backup restore SNAPSHOT` to restore a knowledge-base state from a snapshot. The embedding daemon keeps the local model available between commands, while optional auto-summary can turn finished Claude Code sessions into `session` notes.
|
|
162
|
+
The backup system can create, verify, and restore rolling snapshots of your knowledge-base data. Use `jfox backup restore SNAPSHOT` to restore a knowledge-base state from a snapshot. The embedding daemon keeps the local model available between commands, while optional auto-summary can turn finished Claude Code / Kimi Code / pi sessions into `session` notes.
|
|
163
163
|
|
|
164
164
|
These operational features are opt-in or explicit actions. Review [Privacy](#privacy) before enabling auto-summary, and review [Installation and Development](#installation-and-development) for troubleshooting and model-download details.
|
|
165
165
|
|
|
@@ -346,7 +346,7 @@ JFox is local-first, but not every optional integration is offline:
|
|
|
346
346
|
|
|
347
347
|
- Notes, indexes, and core note, search, and graph operations run locally by default.
|
|
348
348
|
- The embedding model may need to be downloaded the first time it is used. After that, it can be reused from the local cache.
|
|
349
|
-
- The optional auto-summary feature invokes `claude -p` to summarize finished Claude Code
|
|
349
|
+
- The optional auto-summary feature invokes `claude -p` to summarize finished coding-agent sessions (Claude Code, Kimi Code, pi).
|
|
350
350
|
- Auto-summary sends the selected session text to Anthropic through the Claude Code CLI. Enable it only when that data flow is acceptable to you.
|
|
351
351
|
|
|
352
352
|
You control which optional services to enable. Services that support knowledge-base selection expose their own target-knowledge-base settings.
|
|
@@ -6,7 +6,7 @@ commands:
|
|
|
6
6
|
"jfox archive":
|
|
7
7
|
description: "Archive a note without permanently deleting its file."
|
|
8
8
|
"jfox auto-summary":
|
|
9
|
-
description: "Manage automatic summaries of completed Claude Code
|
|
9
|
+
description: "Manage automatic summaries of completed coding-agent sessions (Claude Code, Kimi Code, pi)."
|
|
10
10
|
"jfox auto-summary disable":
|
|
11
11
|
description: "Disable the auto-summary background loop without clearing its ledger."
|
|
12
12
|
"jfox auto-summary enable":
|
|
@@ -145,6 +145,12 @@ commands:
|
|
|
145
145
|
description: "Search notes by keyword, semantic meaning, or both."
|
|
146
146
|
"jfox show":
|
|
147
147
|
description: "Show the complete Markdown content of a note."
|
|
148
|
+
"jfox similarity":
|
|
149
|
+
description: "Inspect similarity baselines and judge candidate notes against the library."
|
|
150
|
+
"jfox similarity check":
|
|
151
|
+
description: "Compare a candidate note against the library and report a percentile verdict."
|
|
152
|
+
"jfox similarity stats":
|
|
153
|
+
description: "Show the nearest-neighbor similarity distribution for permanent notes."
|
|
148
154
|
"jfox status":
|
|
149
155
|
description: "Show knowledge-base and index status."
|
|
150
156
|
"jfox suggest-links":
|
|
@@ -47,6 +47,9 @@ jfox add [OPTIONS] [CONTENT]
|
|
|
47
47
|
| `template` | `--template, -T` | TEXT | no | — | — | no | no |
|
|
48
48
|
| `content_file` | `--content-file` | TEXT | no | — | — | no | no |
|
|
49
49
|
| `topic` | `--topic` | TEXT | no | — | — | no | no |
|
|
50
|
+
| `agent` | `--agent` | TEXT | no | — | — | no | no |
|
|
51
|
+
| `session_path` | `--session-path` | TEXT | no | — | — | no | no |
|
|
52
|
+
| `agent_model` | `--agent-model` | TEXT | no | — | — | no | no |
|
|
50
53
|
| `force` | `--force` | BOOL | no | `false` | — | no | yes |
|
|
51
54
|
| `kb` | `--kb, -k` | TEXT | no | — | — | no | no |
|
|
52
55
|
| `output_format` | `--format, -f` | TEXT | no | `table` | — | no | no |
|
|
@@ -71,7 +74,7 @@ jfox archive [OPTIONS] NOTE_ID
|
|
|
71
74
|
|
|
72
75
|
## `jfox auto-summary`
|
|
73
76
|
|
|
74
|
-
Manage automatic summaries of completed Claude Code
|
|
77
|
+
Manage automatic summaries of completed coding-agent sessions (Claude Code, Kimi Code, pi).
|
|
75
78
|
|
|
76
79
|
**Usage**:
|
|
77
80
|
|
|
@@ -1226,6 +1229,57 @@ jfox show [OPTIONS] NOTE_REF
|
|
|
1226
1229
|
| `json_output` | `--json` | BOOL | no | `false` | — | no | yes |
|
|
1227
1230
|
| `kb` | `--kb, -k` | TEXT | no | — | — | no | no |
|
|
1228
1231
|
|
|
1232
|
+
## `jfox similarity`
|
|
1233
|
+
|
|
1234
|
+
Inspect similarity baselines and judge candidate notes against the library.
|
|
1235
|
+
|
|
1236
|
+
**Usage**:
|
|
1237
|
+
|
|
1238
|
+
```text
|
|
1239
|
+
jfox similarity COMMAND [ARGS]...
|
|
1240
|
+
```
|
|
1241
|
+
|
|
1242
|
+
## `jfox similarity check`
|
|
1243
|
+
|
|
1244
|
+
Compare a candidate note against the library and report a percentile verdict.
|
|
1245
|
+
|
|
1246
|
+
**Usage**:
|
|
1247
|
+
|
|
1248
|
+
```text
|
|
1249
|
+
jfox similarity check [OPTIONS]
|
|
1250
|
+
```
|
|
1251
|
+
|
|
1252
|
+
| Parameter | Syntax | Type | Required | Default | Choices | Multiple | Flag |
|
|
1253
|
+
|---|---|---|---|---|---|---|---|
|
|
1254
|
+
| `content_file` | `--content-file` | PATH | no | — | — | no | no |
|
|
1255
|
+
| `content` | `--content` | TEXT | no | — | — | no | no |
|
|
1256
|
+
| `title` | `--title` | TEXT | no | — | — | no | no |
|
|
1257
|
+
| `exclude_id` | `--exclude-id` | TEXT | no | — | — | no | no |
|
|
1258
|
+
| `top` | `--top` | INTEGER | no | `3` | — | no | no |
|
|
1259
|
+
| `pass_below` | `--pass-below` | INTEGER | no | `50` | — | no | no |
|
|
1260
|
+
| `gray_below` | `--gray-below` | INTEGER | no | `90` | — | no | no |
|
|
1261
|
+
| `kb` | `--kb, -k` | TEXT | no | — | — | no | no |
|
|
1262
|
+
| `refresh` | `--refresh` | BOOL | no | `false` | — | no | yes |
|
|
1263
|
+
| `output_format` | `--format, -f` | TEXT | no | `table` | — | no | no |
|
|
1264
|
+
| `json_output` | `--json` | BOOL | no | `false` | — | no | yes |
|
|
1265
|
+
|
|
1266
|
+
## `jfox similarity stats`
|
|
1267
|
+
|
|
1268
|
+
Show the nearest-neighbor similarity distribution for permanent notes.
|
|
1269
|
+
|
|
1270
|
+
**Usage**:
|
|
1271
|
+
|
|
1272
|
+
```text
|
|
1273
|
+
jfox similarity stats [OPTIONS]
|
|
1274
|
+
```
|
|
1275
|
+
|
|
1276
|
+
| Parameter | Syntax | Type | Required | Default | Choices | Multiple | Flag |
|
|
1277
|
+
|---|---|---|---|---|---|---|---|
|
|
1278
|
+
| `kb` | `--kb, -k` | TEXT | no | — | — | no | no |
|
|
1279
|
+
| `refresh` | `--refresh` | BOOL | no | `false` | — | no | yes |
|
|
1280
|
+
| `output_format` | `--format, -f` | TEXT | no | `table` | — | no | no |
|
|
1281
|
+
| `json_output` | `--json` | BOOL | no | `false` | — | no | yes |
|
|
1282
|
+
|
|
1229
1283
|
## `jfox status`
|
|
1230
1284
|
|
|
1231
1285
|
Show knowledge-base and index status.
|
|
@@ -40,11 +40,11 @@ else:
|
|
|
40
40
|
| 命令 | 成功顶层字段 | 实体位置 | 失败形状 |
|
|
41
41
|
|------|--------------|----------|----------|
|
|
42
42
|
| `init` | `success, message, name` | 平铺 | `{success, error}` |
|
|
43
|
-
| `add` | `success, id, title, note{id,title,type,filepath,links}` + 可选 `warnings, backfill_failures, rollback_failures, backfill_note_save_failed, vector_dimension_warning, semantic_index_warning`(#519 无语义组件时降级提示) | 嵌套 `note`;顶层冗余 `id`/`title` | 重复:`{success, skipped:"duplicate", duplicate{matched_id,matched_title,matched_by,score}}`;其余 `{success, error}` |
|
|
43
|
+
| `add` | `success, id, title, note{id,title,type,filepath,links}` + 可选 `agent,session_file,agent_model`(#578)+ 可选 `warnings, backfill_failures, rollback_failures, backfill_note_save_failed, vector_dimension_warning, semantic_index_warning`(#519 无语义组件时降级提示) | 嵌套 `note`;顶层冗余 `id`/`title` | 重复:`{success, skipped:"duplicate", duplicate{matched_id,matched_title,matched_by,score}}`;其余 `{success, error}` |
|
|
44
44
|
| `search` | `success, query, mode, include_archived, total, results[]` + 可选 `warnings[]`(#519 降级时) | 列表 `results` | `{success, error}`;`--mode semantic` 且无语义服务时拒绝:`{success, code:"embed_dependency_missing", error}`(#519) |
|
|
45
45
|
| `status` | `success, knowledge_base{path,exists}, stats, backend{type,model,dimension}, embedding{local_package,daemon_running,service_available}`(#519 可用性块) | 嵌套三段 | `{success, error}` |
|
|
46
46
|
| `list` | `success, total, notes[]`(项含 `outgoing,incoming`) | 列表 `notes` | `{success, error}` |
|
|
47
|
-
| `show` | `success` + `id,title,type,created,updated,tags,links,backlinks,topic,filepath,content,content_body` + 可选 `source,archived`、candidate 字段(`gem_level` 等)、溯源字段(`source_fragments` 等) | 顶层平铺 | `{success, error}` |
|
|
47
|
+
| `show` | `success` + `id,title,type,created,updated,tags,links,backlinks,topic,filepath,content,content_body` + 可选 `source,archived,agent,session_file,agent_model`、candidate 字段(`gem_level` 等)、溯源字段(`source_fragments` 等) | 顶层平铺 | `{success, error}` |
|
|
48
48
|
| `refs` | 默认:`success, notes[]`;`--search`:`success, query, matches[]`;`--note`:`success, note{id,title,type}, forward_links[], backward_links[]`(悬空项带 `dangling:true`) | 分支各异 | `{success, error}` |
|
|
49
49
|
| `delete` | `success, deleted, title` | 平铺 | 入链守卫:`{success, error, references{frontmatter[],body[],total}}`;其余 `{success, error}` |
|
|
50
50
|
| `archive` / `unarchive` | `success, archived`/`unarchived`, `title` | 平铺 | `{success, error}` |
|
|
@@ -140,6 +140,15 @@ else:
|
|
|
140
140
|
|
|
141
141
|
`moc` 全部命令(`diagnose / create / update / add-member / remove-member`)本就带 `success`,本轮未改动:成功均为 `success` + 各自业务字段(`diagnose` 含 `coverage{...}, threshold_sweep[], orphans{...}`;`create` 含 `cluster{...}, draft{...}, created`;`update` 含 `updates[], applied`;`add-member/remove-member` 平铺操作结果),失败为 `{success, error}`。
|
|
142
142
|
|
|
143
|
+
### similarity
|
|
144
|
+
|
|
145
|
+
| 命令 | 成功顶层字段 | 实体位置 | 失败形状 |
|
|
146
|
+
|------|--------------|----------|----------|
|
|
147
|
+
| `similarity stats --json` | `success, kb, model, dimension, note_count, sampled, baseline{...}\|null, policy{pass_below,gray_below}, cached, computed_at, unavailable_reason` | 平铺 + `baseline` 嵌套 | `{success, error}` + 退出码 1 |
|
|
148
|
+
| `similarity check --json` | `success, kb, candidate{title,chars}, top1{...}\|null, matches[], baseline{...}, policy{pass_below,gray_below}, verdict, unavailable_reason, warnings[]` | 平铺 + `top1`/`matches` | 输入错误 `{success, error}` + 退出码 1 |
|
|
149
|
+
|
|
150
|
+
`similarity stats` 的 `baseline` 在空库(permanent < 30 或无向量库)时为 `null`,`unavailable_reason` 给出原因;命令本身仍 `success:true`。`similarity check` 的 `verdict` 取值 `new` / `gray` / `covered` / `unavailable`;`unavailable` 表示信号缺失(空库、daemon 不可用、维度不匹配等),命令本身仍 `success:true` 且退出码 0,调用方按 fail-closed 降人工。`baseline` 字段含 `p50,p75,p90,p95,p99,note_count,sampled`;`top1`/`matches` 项含 `id,title,score,percentile`。
|
|
151
|
+
|
|
143
152
|
## 特殊语义说明
|
|
144
153
|
|
|
145
154
|
以下行为是**有意设计**,调用方按此理解:
|