conexus 2.3.3__tar.gz → 2.3.5__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.
- {conexus-2.3.3 → conexus-2.3.5}/.claude-plugin/marketplace.json +1 -1
- {conexus-2.3.3 → conexus-2.3.5}/CHANGELOG.md +33 -4
- {conexus-2.3.3 → conexus-2.3.5}/PKG-INFO +17 -11
- {conexus-2.3.3 → conexus-2.3.5}/README.md +13 -8
- {conexus-2.3.3 → conexus-2.3.5}/docs/cli-reference.md +6 -5
- {conexus-2.3.3 → conexus-2.3.5}/docs/configuration.md +26 -21
- {conexus-2.3.3 → conexus-2.3.5}/docs/contributing.md +3 -3
- conexus-2.3.5/docs/getting-started.md +174 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/historical/plans/2026-02-23-rdr-workflow-skills-design.md +40 -40
- {conexus-2.3.3 → conexus-2.3.5}/docs/historical/plans/2026-02-23-rdr-workflow-skills-impl-plan.md +49 -49
- {conexus-2.3.3 → conexus-2.3.5}/docs/memory-and-tasks.md +3 -3
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-08-rdr-025-language-agnostic-agents-impl-plan.md +14 -14
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/002-t2-status-synchronization.md +4 -4
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/012-pdfplumber-extraction-tier.md +2 -2
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/023-agent-tool-permissions-audit.md +1 -1
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-001-rdr-process-validation.md +6 -6
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-002-t2-status-synchronization.md +71 -71
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-007-claude-adoption-session-context-and-search-guidance.md +2 -2
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-024-rdr-process-guardrails.md +4 -4
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-025-language-agnostic-agents.md +5 -5
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-033-pdf-agent-nx-index-alignment.md +3 -3
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-036-post-accept-planning-workflow.md +21 -21
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr-nexus-integration.md +7 -7
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr-overview.md +8 -8
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr-templates.md +2 -2
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr-workflow.md +24 -24
- {conexus-2.3.3 → conexus-2.3.5}/docs/repo-indexing.md +6 -10
- {conexus-2.3.3 → conexus-2.3.5}/docs/storage-tiers.md +10 -8
- {conexus-2.3.3 → conexus-2.3.5}/nx/CHANGELOG.md +19 -6
- {conexus-2.3.3 → conexus-2.3.5}/nx/README.md +2 -2
- {conexus-2.3.3 → conexus-2.3.5}/pyproject.toml +4 -3
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/config.py +1 -1
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/db/t3.py +2 -3
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/doc_indexer.py +7 -1
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/indexer.py +7 -1
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/retry.py +1 -1
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/scoring.py +7 -1
- {conexus-2.3.3 → conexus-2.3.5}/uv.lock +11 -897
- conexus-2.3.3/docs/getting-started.md +0 -143
- {conexus-2.3.3 → conexus-2.3.5}/.beads/.gitignore +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/config.yaml +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/hooks/post-checkout +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/hooks/post-merge +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/hooks/pre-commit +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/hooks/pre-push +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/hooks/prepare-commit-msg +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/interactions.jsonl +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/issues.jsonl +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.beads/metadata.json +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.claude/skills/release.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.devcontainer/Dockerfile +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.devcontainer/devcontainer.json +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.dockerignore +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.env.example +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.gitattributes +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.github/workflows/ci.yml +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.github/workflows/release.yml +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.gitignore +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/.markdownlint.json +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/AGENTS.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/CLAUDE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/Formula/nx.rb +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/LICENSE +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/architecture.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/historical/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/historical/architecture.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/historical/plans/2026-02-24-nx-plugin-v0.4.0.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/historical/plans/2026-02-24-smart-repo-indexing-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/historical/plans/2026-02-24-smart-repo-indexing-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/historical/spec.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-02-28-rdr-004-four-store-cloud-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-02-28-rdr-004-four-store-cloud-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-01-dry-run-pdf-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-01-dry-run-pdf-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-01-pdfplumber-tier-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-01-rc10-1.0.0-readiness-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-01-rc10-critique-findings.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-02-classifier-skip-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-03-chunk-byte-cap-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-03-chunk-byte-cap-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-03-force-reindex-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-03-rdr017-phase2-cli-monitor-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-03-rdr017-phase2-cli-monitor-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-03-rdr018-git-hooks-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-04-doc-ux-polish-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-04-rdr-doc-polish-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-07-rdr-023-agent-tool-permissions-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-07-rdr-023-agent-tool-permissions-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-09-rdr-027-search-ux-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-09-rdr-028-language-registry-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-09-rdr-029-pipeline-versioning-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-09-rdr-030-reliability-hardening-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-11-rdr-034-mcp-server-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/plans/2026-03-21-rdr039-phase2-hooks-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/001-rdr-process-validation.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/010-t1-http-server.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/011-pdf-ingest-test-coverage.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/014-knowledge-base-retrieval-quality.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/015-indexing-pipeline-rethink.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/016-ast-chunk-line-range-bug.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/017-indexing-progress-reporting.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/018-replace-serve-with-git-hooks.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/024-rdr-process-guardrails.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/028-language-registry-unification.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/029-pipeline-versioning.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/post-mortem/cce-query-model-mismatch.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-004-four-store-architecture.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-005-chromadb-cloud-quota-enforcement.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-006-chunk-size-configuration.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-008-nx-workflow-integration.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-009-remove-agentic-and-answer-flags.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-010-t1-scratch-persistent-bounded-store.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-011-pdf-ingest-test-coverage.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-012-pdfplumber-extraction-tier.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-013-remove-nx-pm-layer.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-014-knowledge-base-retrieval-quality.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-015-indexing-pipeline-rethink.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-016-ast-chunk-line-range-bug.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-017-indexing-progress-reporting.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-018-replace-serve-with-git-hooks.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-019-chromadb-transient-retry.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-020-voyage-chromadb-read-timeout.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-021-docling-pdf-extraction.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-022-memory-delete-command.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-023-agent-tool-permissions-audit.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-026-hybrid-search-fusion.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-027-search-results-ux.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-028-code-search-recall.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-029-pipeline-versioning.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-030-reliability-hardening.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-031-collection-portability.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-032-indexer-decomposition.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-034-mcp-server-agent-storage.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-035-plugin-agent-mcp-tool-access.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-037-t3-database-consolidation.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-038-local-t3-backend.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/docs/rdr/rdr-039-claude-code-framework-alignment.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/.mcp.json +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/_shared/CONTEXT_PROTOCOL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/_shared/ERROR_HANDLING.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/_shared/MAINTENANCE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/_shared/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/_shared/RELAY_TEMPLATE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/architect-planner.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/code-review-expert.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/codebase-deep-analyzer.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/debugger.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/deep-analyst.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/deep-research-synthesizer.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/developer.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/knowledge-tidier.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/orchestrator.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/pdf-chromadb-processor.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/plan-auditor.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/plan-enricher.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/strategic-planner.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/substantive-critic.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/agents/test-validator.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/analyze-code.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/architecture.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/create-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/debug.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/deep-analysis.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/enrich-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/implement.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/knowledge-tidy.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/nx-preflight.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/pdf-process.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/plan-audit.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/rdr-accept.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/rdr-close.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/rdr-create.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/rdr-gate.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/rdr-list.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/rdr-research.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/rdr-show.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/research.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/review-code.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/substantive-critique.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/commands/test-validate.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/hooks/hooks.json +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/hooks/scripts/post_compact_hook.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/hooks/scripts/rdr_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/hooks/scripts/session_start_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/hooks/scripts/stop_failure_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/hooks/scripts/subagent-start.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/hooks/scripts/t2_prefix_scan.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/registry.yaml +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/resources/rdr/README-TEMPLATE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/resources/rdr/TEMPLATE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/resources/rdr/post-mortem/TEMPLATE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/architecture/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/brainstorming-gate/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/cli-controller/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/code-review/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/codebase-analysis/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/debugging/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/deep-analysis/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/development/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/enrich-plan/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/knowledge-tidying/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/nexus/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/nexus/reference.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/orchestration/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/pdf-processing/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/plan-validation/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/rdr-accept/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/rdr-close/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/rdr-create/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/rdr-gate/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/rdr-list/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/rdr-research/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/rdr-show/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/research-synthesis/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/serena-code-nav/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/strategic-planning/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/substantive-critique/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/test-validation/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/using-nx-skills/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/nx/skills/writing-nx-skills/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/classifier.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/cli.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/code_indexer.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/_helpers.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/_provision.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/collection.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/config_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/doctor.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/hooks.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/index.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/memory.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/scratch.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/search_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/commands/store.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/corpus.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/db/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/db/chroma_quotas.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/db/local_ef.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/db/t1.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/db/t2.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/errors.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/exporter.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/formatters.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/frecency.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/hooks.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/index_context.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/indexer_utils.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/languages.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/mcp_server.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/md_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/pdf_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/pdf_extractor.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/prose_indexer.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/registry.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/ripgrep_cache.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/search_engine.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/session.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/ttl.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/src/nexus/types.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/__snapshots__/test_search_snapshot.ambr +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/conftest.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/e2e/auth-login.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/e2e/lib.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/e2e/run.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/e2e/sandbox.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/e2e/scenarios/00_debug_load.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/e2e/scenarios/01_smoke.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/e2e/scenarios/02_sequential_thinking.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/e2e/scenarios/03_skills.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/hooks/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/hooks/test_post_compact_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/hooks/test_stop_failure_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_ast_languages.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_chroma_quotas.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_chroma_retry.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_chunker_ast_languages.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_classifier.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_collection_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_config.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_config_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_corpus.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_doc_indexer.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_doc_indexer_hash_sync.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_doc_indexer_pagination.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_doctor_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_doctor_integrity.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_e2e.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_exporter.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_formatters.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_frecency.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_git_hooks.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_hooks.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_hybrid_boost.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_index_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_index_lock.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_index_rdr_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_index_reminder.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_indexer.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_indexer_chunk_flow.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_indexer_e2e.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_indexer_modules.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_integration.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_languages.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_local_mode.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_mcp_concurrency.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_mcp_integration.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_mcp_server.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_mcp_session.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_md_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_md_chunker_semantic_integrity.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_md_preservation.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_memory.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_minified_chunking.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_p0_regressions.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_pdf_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_pdf_chunker_integration.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_pdf_e2e.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_pdf_extractor.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_pdf_extractor_integration.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_pdf_extractor_normalization.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_pdf_normalization.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_pdf_subsystem.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_pipeline_version.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_plugin.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_plugin_install.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_plugin_structure.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_ppid_chain_hypothesis.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_provision.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_registry.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_ripgrep_cache.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_schema.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_scoring.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_scratch.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_scratch_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_search_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_search_engine.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_search_modules.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_search_snapshot.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_session.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_session_propagation_hypotheses.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_silent_error_logging.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_store_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_t1.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_t2.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_t2_prefix_scan.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_t3.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_t3_quota_enforcement.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_ttl.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_tuning_config.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_types_and_errors.py +0 -0
- {conexus-2.3.3 → conexus-2.3.5}/tests/test_voyage_retry.py +0 -0
|
@@ -6,13 +6,42 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.3.5] - 2026-03-23
|
|
10
|
+
|
|
11
|
+
### Docs
|
|
12
|
+
- **Streamlined getting-started guide** — linear flow from prerequisites through
|
|
13
|
+
install, verify, use, plugin, cloud. Added `nx doctor` verify step, Python 3.14
|
|
14
|
+
workaround, `uv tool update` instructions, and `conexus[cloud]`/`conexus[local]`
|
|
15
|
+
extras documentation.
|
|
16
|
+
- **Three-pass substantive critique** — fixed query model docs (CCE collections use
|
|
17
|
+
voyage-context-3 for both index and query), removed "T3 cloud" mislabeling from
|
|
18
|
+
CLI reference, corrected tuning YAML structure (nested subsections, not flat keys),
|
|
19
|
+
fixed local-mode auto-detection docs (either key absent, not both), added missing
|
|
20
|
+
`--on-locked` flag and `NX_VOYAGEAI_READ_TIMEOUT_SECONDS` env var, corrected
|
|
21
|
+
minified code detection description, and replaced all `pip install` with `uv` syntax.
|
|
22
|
+
- **Unprefixed skill references** — corrected `/rdr-create` → `/nx:rdr-create` etc.
|
|
23
|
+
across all documentation and RDR files.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- **`is_local_mode()` docstring** — corrected to match implementation (either key
|
|
27
|
+
absent triggers local mode, not both).
|
|
28
|
+
|
|
29
|
+
## [2.3.4] - 2026-03-23
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
- **Python 3.14 compatibility** — `voyageai` uses Pydantic v1 compat layer which
|
|
33
|
+
is broken on Python ≥ 3.14. Moved `voyageai` from required to optional dependency
|
|
34
|
+
(`pip install conexus[cloud]`). Capped `requires-python` to `<3.14` so uv/pip
|
|
35
|
+
auto-select Python 3.13. All `import voyageai` sites guarded with clear error
|
|
36
|
+
messages pointing to `conexus[cloud]`.
|
|
37
|
+
- **Unprefixed skill references in docs** — all `/rdr-create`, `/rdr-close`, etc.
|
|
38
|
+
corrected to `/nx:rdr-create`, `/nx:rdr-close` across 11 documentation files.
|
|
39
|
+
|
|
9
40
|
## [2.3.3] - 2026-03-23
|
|
10
41
|
|
|
11
42
|
### Fixed
|
|
12
|
-
- **Python 3.14 compatibility** — `import voyageai`
|
|
13
|
-
|
|
14
|
-
Import is now guarded with `try/except`; cloud mode raises a clear error, local
|
|
15
|
-
mode works without voyageai.
|
|
43
|
+
- **Python 3.14 compatibility** (partial) — guarded `import voyageai` in `t3.py`
|
|
44
|
+
but missed `retry.py` and other import sites. Superseded by 2.3.4.
|
|
16
45
|
|
|
17
46
|
## [2.3.2] - 2026-03-22
|
|
18
47
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: conexus
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.5
|
|
4
4
|
Summary: Self-hosted semantic search and knowledge management for LLM-driven development
|
|
5
5
|
Project-URL: Homepage, https://github.com/Hellblazer/nexus
|
|
6
6
|
Project-URL: Repository, https://github.com/Hellblazer/nexus
|
|
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
20
20
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
21
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
22
|
-
Requires-Python:
|
|
22
|
+
Requires-Python: <3.14,>=3.12
|
|
23
23
|
Requires-Dist: chromadb>=0.6
|
|
24
24
|
Requires-Dist: click>=8.1
|
|
25
25
|
Requires-Dist: docling>=2.76.0
|
|
@@ -33,7 +33,8 @@ Requires-Dist: pyyaml>=6.0
|
|
|
33
33
|
Requires-Dist: structlog>=24.0
|
|
34
34
|
Requires-Dist: tqdm>=4.65
|
|
35
35
|
Requires-Dist: tree-sitter-language-pack==0.7.1
|
|
36
|
-
|
|
36
|
+
Provides-Extra: cloud
|
|
37
|
+
Requires-Dist: voyageai>=0.2; extra == 'cloud'
|
|
37
38
|
Provides-Extra: local
|
|
38
39
|
Requires-Dist: fastembed>=0.7.0; extra == 'local'
|
|
39
40
|
Description-Content-Type: text/markdown
|
|
@@ -71,22 +72,27 @@ nx store put --collection knowledge__myapp "API rate limit is 10k/min per the ve
|
|
|
71
72
|
|
|
72
73
|
## Quick Start
|
|
73
74
|
|
|
75
|
+
Requires Python 3.12–3.13 and [uv](https://docs.astral.sh/uv/).
|
|
76
|
+
|
|
74
77
|
```bash
|
|
75
78
|
uv tool install conexus # install the nx CLI
|
|
76
|
-
nx
|
|
79
|
+
nx doctor # verify installation
|
|
80
|
+
nx index repo . # index your repo (no API keys needed)
|
|
77
81
|
nx search "what does X do" # semantic search, fully local
|
|
78
82
|
```
|
|
79
83
|
|
|
80
|
-
|
|
84
|
+
Update: `uv tool update conexus`
|
|
85
|
+
|
|
86
|
+
Works immediately with local ONNX embeddings — no accounts, no API keys. For higher-quality cloud embeddings (Voyage AI), see the [cloud setup instructions](https://github.com/Hellblazer/nexus/blob/main/docs/getting-started.md#cloud-mode-optional).
|
|
81
87
|
|
|
82
|
-
For Claude Code,
|
|
88
|
+
For Claude Code, install the plugin:
|
|
83
89
|
|
|
84
90
|
```bash
|
|
85
91
|
/plugin marketplace add Hellblazer/nexus
|
|
86
92
|
/plugin install nx@nexus-plugins
|
|
87
93
|
```
|
|
88
94
|
|
|
89
|
-
|
|
95
|
+
See [Getting Started](https://github.com/Hellblazer/nexus/blob/main/docs/getting-started.md) for the full walkthrough.
|
|
90
96
|
|
|
91
97
|
## Three tiers, one lifecycle
|
|
92
98
|
|
|
@@ -110,7 +116,7 @@ nx index pdf paper.pdf --collection knowledge__ml # reference papers
|
|
|
110
116
|
nx store put --collection knowledge__ops "Redis maxmemory-policy: allkeys-lru for cache, noeviction for queues"
|
|
111
117
|
```
|
|
112
118
|
|
|
113
|
-
Repository indexing (`nx index repo`) is the most automated path. It classifies git-tracked files, chunks code into logical pieces via tree-sitter AST parsing across 31 languages, and embeds each chunk
|
|
119
|
+
Repository indexing (`nx index repo`) is the most automated path. It classifies git-tracked files, chunks code into logical pieces via tree-sitter AST parsing across 31 languages, and embeds each chunk using local ONNX models by default, or Voyage AI models in cloud mode. Recently-touched files rank higher via git frecency scoring.
|
|
114
120
|
|
|
115
121
|
See [Repo Indexing](https://github.com/Hellblazer/nexus/blob/main/docs/repo-indexing.md) for details and `.nexus.yml` configuration.
|
|
116
122
|
|
|
@@ -171,12 +177,12 @@ Full details: [CLI Reference](https://github.com/Hellblazer/nexus/blob/main/docs
|
|
|
171
177
|
2. [Workflow](https://github.com/Hellblazer/nexus/blob/main/docs/rdr-workflow.md) — Create → Research → Gate → Accept → Close
|
|
172
178
|
3. [Nexus Integration](https://github.com/Hellblazer/nexus/blob/main/docs/rdr-nexus-integration.md) — How storage tiers and agents amplify RDRs
|
|
173
179
|
4. [Templates](https://github.com/Hellblazer/nexus/blob/main/docs/rdr-templates.md) — Minimal and full examples, post-mortem template
|
|
174
|
-
5. [Project RDR Index](https://github.com/Hellblazer/nexus/blob/main/docs/rdr/README.md) — All
|
|
180
|
+
5. [Project RDR Index](https://github.com/Hellblazer/nexus/blob/main/docs/rdr/README.md) — All project RDRs with status
|
|
175
181
|
|
|
176
182
|
## Prerequisites
|
|
177
183
|
|
|
178
|
-
- Python 3.12
|
|
179
|
-
- For
|
|
184
|
+
- Python 3.12–3.13, [`uv`](https://docs.astral.sh/uv/), `git`
|
|
185
|
+
- For cloud embeddings (optional): `uv tool install conexus --with "conexus[cloud]" --force` + [ChromaDB Cloud](https://www.trychroma.com/) + [Voyage AI](https://www.voyageai.com/) accounts (free tiers available)
|
|
180
186
|
- For hybrid search: [`ripgrep`](https://github.com/BurntSushi/ripgrep)
|
|
181
187
|
|
|
182
188
|
## License
|
|
@@ -31,22 +31,27 @@ nx store put --collection knowledge__myapp "API rate limit is 10k/min per the ve
|
|
|
31
31
|
|
|
32
32
|
## Quick Start
|
|
33
33
|
|
|
34
|
+
Requires Python 3.12–3.13 and [uv](https://docs.astral.sh/uv/).
|
|
35
|
+
|
|
34
36
|
```bash
|
|
35
37
|
uv tool install conexus # install the nx CLI
|
|
36
|
-
nx
|
|
38
|
+
nx doctor # verify installation
|
|
39
|
+
nx index repo . # index your repo (no API keys needed)
|
|
37
40
|
nx search "what does X do" # semantic search, fully local
|
|
38
41
|
```
|
|
39
42
|
|
|
40
|
-
|
|
43
|
+
Update: `uv tool update conexus`
|
|
44
|
+
|
|
45
|
+
Works immediately with local ONNX embeddings — no accounts, no API keys. For higher-quality cloud embeddings (Voyage AI), see the [cloud setup instructions](https://github.com/Hellblazer/nexus/blob/main/docs/getting-started.md#cloud-mode-optional).
|
|
41
46
|
|
|
42
|
-
For Claude Code,
|
|
47
|
+
For Claude Code, install the plugin:
|
|
43
48
|
|
|
44
49
|
```bash
|
|
45
50
|
/plugin marketplace add Hellblazer/nexus
|
|
46
51
|
/plugin install nx@nexus-plugins
|
|
47
52
|
```
|
|
48
53
|
|
|
49
|
-
|
|
54
|
+
See [Getting Started](https://github.com/Hellblazer/nexus/blob/main/docs/getting-started.md) for the full walkthrough.
|
|
50
55
|
|
|
51
56
|
## Three tiers, one lifecycle
|
|
52
57
|
|
|
@@ -70,7 +75,7 @@ nx index pdf paper.pdf --collection knowledge__ml # reference papers
|
|
|
70
75
|
nx store put --collection knowledge__ops "Redis maxmemory-policy: allkeys-lru for cache, noeviction for queues"
|
|
71
76
|
```
|
|
72
77
|
|
|
73
|
-
Repository indexing (`nx index repo`) is the most automated path. It classifies git-tracked files, chunks code into logical pieces via tree-sitter AST parsing across 31 languages, and embeds each chunk
|
|
78
|
+
Repository indexing (`nx index repo`) is the most automated path. It classifies git-tracked files, chunks code into logical pieces via tree-sitter AST parsing across 31 languages, and embeds each chunk using local ONNX models by default, or Voyage AI models in cloud mode. Recently-touched files rank higher via git frecency scoring.
|
|
74
79
|
|
|
75
80
|
See [Repo Indexing](https://github.com/Hellblazer/nexus/blob/main/docs/repo-indexing.md) for details and `.nexus.yml` configuration.
|
|
76
81
|
|
|
@@ -131,12 +136,12 @@ Full details: [CLI Reference](https://github.com/Hellblazer/nexus/blob/main/docs
|
|
|
131
136
|
2. [Workflow](https://github.com/Hellblazer/nexus/blob/main/docs/rdr-workflow.md) — Create → Research → Gate → Accept → Close
|
|
132
137
|
3. [Nexus Integration](https://github.com/Hellblazer/nexus/blob/main/docs/rdr-nexus-integration.md) — How storage tiers and agents amplify RDRs
|
|
133
138
|
4. [Templates](https://github.com/Hellblazer/nexus/blob/main/docs/rdr-templates.md) — Minimal and full examples, post-mortem template
|
|
134
|
-
5. [Project RDR Index](https://github.com/Hellblazer/nexus/blob/main/docs/rdr/README.md) — All
|
|
139
|
+
5. [Project RDR Index](https://github.com/Hellblazer/nexus/blob/main/docs/rdr/README.md) — All project RDRs with status
|
|
135
140
|
|
|
136
141
|
## Prerequisites
|
|
137
142
|
|
|
138
|
-
- Python 3.12
|
|
139
|
-
- For
|
|
143
|
+
- Python 3.12–3.13, [`uv`](https://docs.astral.sh/uv/), `git`
|
|
144
|
+
- For cloud embeddings (optional): `uv tool install conexus --with "conexus[cloud]" --force` + [ChromaDB Cloud](https://www.trychroma.com/) + [Voyage AI](https://www.voyageai.com/) accounts (free tiers available)
|
|
140
145
|
- For hybrid search: [`ripgrep`](https://github.com/BurntSushi/ripgrep)
|
|
141
146
|
|
|
142
147
|
## License
|
|
@@ -17,7 +17,7 @@ nx search "authentication middleware" --corpus code --hybrid --n 20
|
|
|
17
17
|
| `QUERY` (positional) | Search query text |
|
|
18
18
|
| `PATH` (positional, optional) | Scope search to files under that directory |
|
|
19
19
|
| `--corpus NAME` | Collection prefix or full name (repeatable; default: `knowledge`, `code`, `docs`) |
|
|
20
|
-
| `--hybrid` |
|
|
20
|
+
| `--hybrid` | Augment semantic results with frecency-weighted ranking and ripgrep keyword matches (0.7*vector + 0.3*frecency). Requires ripgrep |
|
|
21
21
|
| `--no-rerank` | Disable cross-corpus reranking (use round-robin instead) |
|
|
22
22
|
| `--where KEY=VALUE` | Metadata filter (repeatable; multiple flags are ANDed) |
|
|
23
23
|
| `--max-file-chunks N` | Exclude chunks from files larger than N chunks (code corpora only; ANDs with `--where`) |
|
|
@@ -38,7 +38,7 @@ nx search "authentication middleware" --corpus code --hybrid --n 20
|
|
|
38
38
|
|
|
39
39
|
## nx index
|
|
40
40
|
|
|
41
|
-
Index content into T3
|
|
41
|
+
Index content into T3 collections.
|
|
42
42
|
|
|
43
43
|
```
|
|
44
44
|
nx index repo ./my-project
|
|
@@ -64,6 +64,7 @@ nx index repo ./my-project
|
|
|
64
64
|
|------|-------------|
|
|
65
65
|
| `--frecency-only` | Update frecency scores only; skip re-embedding (faster, for re-ranking refresh). Mutually exclusive with `--force` |
|
|
66
66
|
| `--force-stale` | Re-index only if collection pipeline version is outdated (smart force — skips current collections) |
|
|
67
|
+
| `--on-locked {skip,wait}` | Behavior when another process holds the repo lock: `skip` exits immediately, `wait` blocks (default: `wait`) |
|
|
67
68
|
|
|
68
69
|
**`pdf` and `md` flags:**
|
|
69
70
|
|
|
@@ -82,7 +83,7 @@ nx index repo ./my-project
|
|
|
82
83
|
|
|
83
84
|
## nx store
|
|
84
85
|
|
|
85
|
-
Manage T3
|
|
86
|
+
Manage T3 knowledge entries.
|
|
86
87
|
|
|
87
88
|
```
|
|
88
89
|
echo "# Cache Strategy" | nx store put - --collection knowledge --title "decision-cache" --tags "decision,arch"
|
|
@@ -220,7 +221,7 @@ nx scratch put "hypothesis: cache invalidation is stale"
|
|
|
220
221
|
|
|
221
222
|
## nx collection
|
|
222
223
|
|
|
223
|
-
Manage T3 cloud
|
|
224
|
+
Manage T3 collections (local or cloud).
|
|
224
225
|
|
|
225
226
|
```
|
|
226
227
|
nx collection list
|
|
@@ -228,7 +229,7 @@ nx collection list
|
|
|
228
229
|
|
|
229
230
|
| Subcommand | Description |
|
|
230
231
|
|------------|-------------|
|
|
231
|
-
| `list` | All
|
|
232
|
+
| `list` | All T3 collections with document counts |
|
|
232
233
|
| `info NAME` | Details for one collection |
|
|
233
234
|
| `verify NAME` | Existence check + document count |
|
|
234
235
|
| `delete NAME` | Delete collection (irreversible) |
|
|
@@ -13,7 +13,7 @@ Each level is deep-merged, with higher-priority values winning.
|
|
|
13
13
|
|
|
14
14
|
## Local Mode
|
|
15
15
|
|
|
16
|
-
Nexus auto-detects local mode when cloud credentials are absent. No configuration needed — just `
|
|
16
|
+
Nexus auto-detects local mode when cloud credentials are absent. No configuration needed — just `uv tool install conexus && nx index repo .`.
|
|
17
17
|
|
|
18
18
|
| Env var | Default | Description |
|
|
19
19
|
|---|---|---|
|
|
@@ -21,9 +21,9 @@ Nexus auto-detects local mode when cloud credentials are absent. No configuratio
|
|
|
21
21
|
| `NX_LOCAL_CHROMA_PATH` | `~/.local/share/nexus/chroma` | Override local ChromaDB storage path |
|
|
22
22
|
| `NX_LOCAL_EMBED_MODEL` | (auto) | Force a specific local embedding model name |
|
|
23
23
|
|
|
24
|
-
**Auto-detection**: When
|
|
24
|
+
**Auto-detection**: When either `CHROMA_API_KEY` or `VOYAGE_API_KEY` is absent, local mode activates — both are required for cloud mode. Set `NX_LOCAL=1` to force local mode even with cloud credentials.
|
|
25
25
|
|
|
26
|
-
**Embedding tiers**: Tier 0 (bundled MiniLM-L6-v2, 384d) is always available. Install `
|
|
26
|
+
**Embedding tiers**: Tier 0 (bundled MiniLM-L6-v2, 384d) is always available. Install with `uv tool install conexus --with "conexus[local]" --force` for tier 1 (bge-base-en-v1.5, 768d, better quality).
|
|
27
27
|
|
|
28
28
|
**Storage path**: Defaults to `$XDG_DATA_HOME/nexus/chroma` or `~/.local/share/nexus/chroma`. Override with `NX_LOCAL_CHROMA_PATH`.
|
|
29
29
|
|
|
@@ -54,8 +54,9 @@ Set via `nx config init` (wizard) or `nx config set KEY VALUE`. Stored in `~/.co
|
|
|
54
54
|
|---|---|---|---|
|
|
55
55
|
| `embeddings.rerankerModel` | `NX_EMBEDDINGS_RERANKER_MODEL` | `rerank-2.5` | Voyage reranker for multi-corpus merge |
|
|
56
56
|
| `client.host` | `NX_CLIENT_HOST` | `localhost` | Override ChromaDB host URL |
|
|
57
|
+
| `voyageai.read_timeout_seconds` | `NX_VOYAGEAI_READ_TIMEOUT_SECONDS` | `120` | Request timeout (seconds) for Voyage AI API calls. Increase for large PDF indexing |
|
|
57
58
|
|
|
58
|
-
Embedding models are selected automatically based on collection type (see [Storage Tiers](storage-tiers.md)): `voyage-code-3` for code, `voyage-context-3` for docs/knowledge at index time, `voyage-4` for
|
|
59
|
+
Embedding models are selected automatically based on collection type (see [Storage Tiers](storage-tiers.md)): `voyage-code-3` for code, `voyage-context-3` (CCE) for docs/rdr/knowledge at both index and query time, `voyage-4` for code queries only.
|
|
59
60
|
|
|
60
61
|
## Per-Repo Overrides (.nexus.yml)
|
|
61
62
|
|
|
@@ -77,26 +78,30 @@ The `[tuning]` section in `~/.config/nexus/config.yml` controls search scoring,
|
|
|
77
78
|
|
|
78
79
|
```yaml
|
|
79
80
|
tuning:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
scoring:
|
|
82
|
+
vector_weight: 0.7 # weight for vector similarity in hybrid scoring
|
|
83
|
+
frecency_weight: 0.3 # weight for git frecency in hybrid scoring
|
|
84
|
+
file_size_threshold: 30 # chunks — files larger than this are down-ranked
|
|
85
|
+
frecency:
|
|
86
|
+
decay_rate: 0.01 # frecency decay rate (higher = faster decay)
|
|
87
|
+
chunking:
|
|
88
|
+
code_chunk_lines: 150 # target lines per code chunk (fallback splitter)
|
|
89
|
+
pdf_chunk_chars: 1500 # target chars per PDF chunk
|
|
90
|
+
timeouts:
|
|
91
|
+
git_log: 30 # seconds — timeout for git log subprocess
|
|
92
|
+
ripgrep: 10 # seconds — timeout for ripgrep subprocess in hybrid search
|
|
88
93
|
```
|
|
89
94
|
|
|
90
|
-
|
|
|
95
|
+
| YAML path | Default | Description |
|
|
91
96
|
|-----|---------|-------------|
|
|
92
|
-
| `vector_weight` | `0.7` | Vector similarity weight in hybrid scoring formula |
|
|
93
|
-
| `frecency_weight` | `0.3` | Git frecency weight in hybrid scoring formula |
|
|
94
|
-
| `file_size_threshold` | `30` | Chunk count above which code files are down-ranked |
|
|
95
|
-
| `decay_rate` | `0.01` | Exponential decay rate for frecency scoring |
|
|
96
|
-
| `code_chunk_lines` | `150` | Target lines per code chunk (line-based fallback) |
|
|
97
|
-
| `pdf_chunk_chars` | `1500` | Target characters per PDF chunk |
|
|
98
|
-
| `
|
|
99
|
-
| `
|
|
97
|
+
| `tuning.scoring.vector_weight` | `0.7` | Vector similarity weight in hybrid scoring formula |
|
|
98
|
+
| `tuning.scoring.frecency_weight` | `0.3` | Git frecency weight in hybrid scoring formula |
|
|
99
|
+
| `tuning.scoring.file_size_threshold` | `30` | Chunk count above which code files are down-ranked |
|
|
100
|
+
| `tuning.frecency.decay_rate` | `0.01` | Exponential decay rate for frecency scoring |
|
|
101
|
+
| `tuning.chunking.code_chunk_lines` | `150` | Target lines per code chunk (line-based fallback) |
|
|
102
|
+
| `tuning.chunking.pdf_chunk_chars` | `1500` | Target characters per PDF chunk |
|
|
103
|
+
| `tuning.timeouts.git_log` | `30` | Timeout (seconds) for `git log` subprocess |
|
|
104
|
+
| `tuning.timeouts.ripgrep` | `10` | Timeout (seconds) for `rg` subprocess in hybrid search |
|
|
100
105
|
|
|
101
106
|
These values are exposed as a `TuningConfig` dataclass in `nexus.config`. The search command, indexer, and scoring modules all read from this config — changes take effect on the next invocation without restarting anything.
|
|
102
107
|
|
|
@@ -31,7 +31,7 @@ uv run pytest -m integration
|
|
|
31
31
|
|
|
32
32
|
## Code Conventions
|
|
33
33
|
|
|
34
|
-
- **Python 3.12
|
|
34
|
+
- **Python 3.12–3.13**: use `match/case`, `tomllib`, `typing.Protocol`, walrus operator
|
|
35
35
|
- **Type hints everywhere**: all public functions, methods, module-level variables
|
|
36
36
|
- **No ORM**: raw `sqlite3` for T2
|
|
37
37
|
- **Logging**: `structlog` — never `print()` in library code
|
|
@@ -76,7 +76,7 @@ Do not bump these without testing the full chunking pipeline.
|
|
|
76
76
|
## Git Workflow
|
|
77
77
|
|
|
78
78
|
- Branch naming: `feature/<bead-id>-<short-description>`
|
|
79
|
-
- Never push directly to `main` — all changes via PR
|
|
79
|
+
- Never push directly to `main` — all changes via PR (exception: version-bump release commits, see Release Process below)
|
|
80
80
|
- Use `bd` (beads) for task tracking
|
|
81
81
|
|
|
82
82
|
The `main` branch requires CI to pass before merging. Configure branch protection at
|
|
@@ -176,7 +176,7 @@ Every step below is **required**. Missing any one of them has caused problems in
|
|
|
176
176
|
```bash
|
|
177
177
|
gh run watch # watch CI until green
|
|
178
178
|
gh release view vX.Y.Z
|
|
179
|
-
pip
|
|
179
|
+
uv pip compile --no-deps conexus==X.Y.Z # confirm version resolves on PyPI
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
11. **Yank pre-release versions** (if applicable)
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Getting Started with Nexus
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
|
|
5
|
+
- **Python 3.12 or 3.13** (3.14 is not yet supported — [upstream dependency issue](https://github.com/pydantic/pydantic/issues))
|
|
6
|
+
- **[uv](https://docs.astral.sh/uv/)** — Python package manager
|
|
7
|
+
- **git**
|
|
8
|
+
|
|
9
|
+
Check your Python version:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
python3 --version
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
If you're on 3.14+, install 3.13 with `uv python install 3.13` — uv will use it automatically.
|
|
16
|
+
|
|
17
|
+
## Install
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
uv tool install conexus
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Verify:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
nx --version
|
|
27
|
+
nx doctor
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`nx doctor` checks dependencies, credentials, and connectivity. Everything should show `✓` except cloud credentials (which are optional).
|
|
31
|
+
|
|
32
|
+
## Update
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
uv tool update conexus
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Use it (no API keys needed)
|
|
39
|
+
|
|
40
|
+
Everything below works immediately — no accounts, no network.
|
|
41
|
+
|
|
42
|
+
### Index and search a repo
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
cd your-project
|
|
46
|
+
nx index repo . # index with local ONNX embeddings
|
|
47
|
+
nx search "retry logic" # semantic search, fully local
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Scratch — ephemeral inter-agent context (T1)
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
nx scratch put "working hypothesis: the cache TTL is too short"
|
|
54
|
+
nx scratch list
|
|
55
|
+
nx scratch search "cache"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Memory — persistent project notes (T2)
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
nx memory put "auth uses JWT with 24h expiry" -p myproject -t auth-notes
|
|
62
|
+
nx memory search "JWT" -p myproject
|
|
63
|
+
nx memory get -p myproject -t auth-notes
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Claude Code plugin (optional)
|
|
67
|
+
|
|
68
|
+
The `nx` plugin gives Claude Code agents access to all three storage tiers, 15 specialized agents, and 28 development workflow skills.
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
/plugin marketplace add Hellblazer/nexus
|
|
72
|
+
/plugin install nx@nexus-plugins
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
After installing, run `/nx:nx-preflight` to verify all plugin dependencies (nx CLI, beads, superpowers plugin) are present.
|
|
76
|
+
|
|
77
|
+
See [plugin documentation](https://github.com/Hellblazer/nexus/blob/main/nx/README.md) for the full agent/skill reference. For local development from a repo checkout:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
claude --plugin-dir ./nx
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Cloud mode (optional)
|
|
84
|
+
|
|
85
|
+
Local mode uses bundled ONNX embeddings (384d MiniLM). Cloud mode upgrades to Voyage AI (1024d), cross-chunk context (CCE), and reranking.
|
|
86
|
+
|
|
87
|
+
### 1. Install the cloud extra
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
uv tool install conexus --with "conexus[cloud]" --force
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
The same command works for both first install and updates.
|
|
94
|
+
|
|
95
|
+
### 2. Create accounts
|
|
96
|
+
|
|
97
|
+
| Service | Purpose | Free tier |
|
|
98
|
+
|---------|---------|-----------|
|
|
99
|
+
| [ChromaDB Cloud](https://trychroma.com) | Vector storage | Generous for individual use |
|
|
100
|
+
| [Voyage AI](https://voyageai.com) | Embeddings | 200M tokens/month |
|
|
101
|
+
|
|
102
|
+
Both free tiers cover typical usage at no cost.
|
|
103
|
+
|
|
104
|
+
### 3. Configure credentials
|
|
105
|
+
|
|
106
|
+
Interactive wizard:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
nx config init
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Or set individually:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
nx config set chroma_api_key sk-...
|
|
116
|
+
nx config set chroma_database nexus
|
|
117
|
+
nx config set voyage_api_key pa-...
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 4. Verify
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
nx doctor
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
All items should show `✓`. Fix anything marked `✗` before proceeding.
|
|
127
|
+
|
|
128
|
+
### 5. Index and search
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
nx index repo .
|
|
132
|
+
nx search "how does authentication work"
|
|
133
|
+
nx search "retry logic" --corpus code
|
|
134
|
+
nx search "API changelog" --corpus docs
|
|
135
|
+
nx search "database pool" --hybrid # semantic + keyword matching
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Common flags: `-n 20` (result count), `--json`, `--files` (paths only), `-c` (show matched text). `--hybrid` requires [ripgrep](https://github.com/BurntSushi/ripgrep).
|
|
139
|
+
|
|
140
|
+
### Upgrade local embedding quality (optional)
|
|
141
|
+
|
|
142
|
+
For better local-only embeddings (768d bge-base) without cloud:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
uv tool install conexus --with "conexus[local]" --force
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
To force local mode even when cloud credentials exist: `NX_LOCAL=1`.
|
|
149
|
+
|
|
150
|
+
## Troubleshooting
|
|
151
|
+
|
|
152
|
+
**`nx` command not found** — Make sure `~/.local/bin` is on your PATH. Run `uv tool install conexus` again and check the output for the install location.
|
|
153
|
+
|
|
154
|
+
**Crash on startup (Python 3.14)** — Nexus requires Python 3.12–3.13. If `python3 --version` shows 3.14, install 3.13: `uv python install 3.13`, then reinstall: `uv tool install conexus --force`.
|
|
155
|
+
|
|
156
|
+
**`nx doctor` reports credentials not set** — Expected for local mode. Only needed if you want cloud embeddings — run `nx config init`.
|
|
157
|
+
|
|
158
|
+
**Provisioning failed during `nx config init`** — If your ChromaDB plan restricts automatic database creation, create the database manually in the [dashboard](https://trychroma.com) using your `chroma_database` value as the name.
|
|
159
|
+
|
|
160
|
+
**`nx index repo .` fails with "credentials not set"** — In cloud mode, indexing requires T3 credentials. Run `nx config init` first, or use local mode (no credentials needed).
|
|
161
|
+
|
|
162
|
+
**`import voyageai` error when using cloud features** — Install the cloud extra: `uv tool install conexus --with "conexus[cloud]" --force`
|
|
163
|
+
|
|
164
|
+
**First index is slow or hits a rate limit** — Large repos may take a few minutes. Add `--monitor` for per-file progress. Re-running is safe — unchanged files are skipped.
|
|
165
|
+
|
|
166
|
+
**`nx search` returns no results** — Run `nx doctor` to verify connectivity. If indexing was interrupted, re-run `nx index repo .` to resume.
|
|
167
|
+
|
|
168
|
+
## Next steps
|
|
169
|
+
|
|
170
|
+
- [CLI Reference](https://github.com/Hellblazer/nexus/blob/main/docs/cli-reference.md) — every command, every flag
|
|
171
|
+
- [Storage Tiers](https://github.com/Hellblazer/nexus/blob/main/docs/storage-tiers.md) — T1, T2, T3 architecture
|
|
172
|
+
- [Repo Indexing](https://github.com/Hellblazer/nexus/blob/main/docs/repo-indexing.md) — file classification, chunking, frecency
|
|
173
|
+
- [Configuration](https://github.com/Hellblazer/nexus/blob/main/docs/configuration.md) — config keys, environment variables, tuning
|
|
174
|
+
- [RDR Overview](https://github.com/Hellblazer/nexus/blob/main/docs/rdr-overview.md) — decision tracking with Research-Design-Review
|