conexus 2.3.3__tar.gz → 2.3.4__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.4}/.claude-plugin/marketplace.json +1 -1
- {conexus-2.3.3 → conexus-2.3.4}/CHANGELOG.md +13 -4
- {conexus-2.3.3 → conexus-2.3.4}/PKG-INFO +4 -3
- {conexus-2.3.3 → conexus-2.3.4}/docs/historical/plans/2026-02-23-rdr-workflow-skills-design.md +40 -40
- {conexus-2.3.3 → conexus-2.3.4}/docs/historical/plans/2026-02-23-rdr-workflow-skills-impl-plan.md +49 -49
- {conexus-2.3.3 → conexus-2.3.4}/docs/memory-and-tasks.md +2 -2
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-08-rdr-025-language-agnostic-agents-impl-plan.md +14 -14
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/002-t2-status-synchronization.md +4 -4
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/012-pdfplumber-extraction-tier.md +2 -2
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/023-agent-tool-permissions-audit.md +1 -1
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-001-rdr-process-validation.md +6 -6
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-002-t2-status-synchronization.md +71 -71
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-024-rdr-process-guardrails.md +4 -4
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-025-language-agnostic-agents.md +5 -5
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-033-pdf-agent-nx-index-alignment.md +3 -3
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-036-post-accept-planning-workflow.md +21 -21
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr-nexus-integration.md +7 -7
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr-overview.md +7 -7
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr-templates.md +2 -2
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr-workflow.md +24 -24
- {conexus-2.3.3 → conexus-2.3.4}/nx/CHANGELOG.md +12 -6
- {conexus-2.3.3 → conexus-2.3.4}/nx/README.md +1 -1
- {conexus-2.3.3 → conexus-2.3.4}/pyproject.toml +4 -3
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/db/t3.py +2 -3
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/doc_indexer.py +7 -1
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/indexer.py +7 -1
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/retry.py +1 -1
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/scoring.py +7 -1
- {conexus-2.3.3 → conexus-2.3.4}/uv.lock +11 -897
- {conexus-2.3.3 → conexus-2.3.4}/.beads/.gitignore +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/config.yaml +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/hooks/post-checkout +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/hooks/post-merge +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/hooks/pre-commit +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/hooks/pre-push +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/hooks/prepare-commit-msg +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/interactions.jsonl +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/issues.jsonl +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.beads/metadata.json +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.claude/skills/release.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.devcontainer/Dockerfile +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.devcontainer/devcontainer.json +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.dockerignore +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.env.example +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.gitattributes +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.github/workflows/ci.yml +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.github/workflows/release.yml +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.gitignore +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/.markdownlint.json +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/AGENTS.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/CLAUDE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/Formula/nx.rb +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/LICENSE +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/architecture.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/cli-reference.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/configuration.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/contributing.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/getting-started.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/historical/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/historical/architecture.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/historical/plans/2026-02-24-nx-plugin-v0.4.0.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/historical/plans/2026-02-24-smart-repo-indexing-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/historical/plans/2026-02-24-smart-repo-indexing-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/historical/spec.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-02-28-rdr-004-four-store-cloud-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-02-28-rdr-004-four-store-cloud-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-01-dry-run-pdf-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-01-dry-run-pdf-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-01-pdfplumber-tier-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-01-rc10-1.0.0-readiness-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-01-rc10-critique-findings.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-02-classifier-skip-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-03-chunk-byte-cap-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-03-chunk-byte-cap-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-03-force-reindex-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-03-rdr017-phase2-cli-monitor-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-03-rdr017-phase2-cli-monitor-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-03-rdr018-git-hooks-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-04-doc-ux-polish-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-04-rdr-doc-polish-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-07-rdr-023-agent-tool-permissions-design.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-07-rdr-023-agent-tool-permissions-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-09-rdr-027-search-ux-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-09-rdr-028-language-registry-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-09-rdr-029-pipeline-versioning-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-09-rdr-030-reliability-hardening-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-11-rdr-034-mcp-server-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/plans/2026-03-21-rdr039-phase2-hooks-impl-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/001-rdr-process-validation.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/010-t1-http-server.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/011-pdf-ingest-test-coverage.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/014-knowledge-base-retrieval-quality.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/015-indexing-pipeline-rethink.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/016-ast-chunk-line-range-bug.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/017-indexing-progress-reporting.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/018-replace-serve-with-git-hooks.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/024-rdr-process-guardrails.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/028-language-registry-unification.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/029-pipeline-versioning.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/post-mortem/cce-query-model-mismatch.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-004-four-store-architecture.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-005-chromadb-cloud-quota-enforcement.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-006-chunk-size-configuration.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-007-claude-adoption-session-context-and-search-guidance.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-008-nx-workflow-integration.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-009-remove-agentic-and-answer-flags.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-010-t1-scratch-persistent-bounded-store.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-011-pdf-ingest-test-coverage.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-012-pdfplumber-extraction-tier.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-013-remove-nx-pm-layer.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-014-knowledge-base-retrieval-quality.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-015-indexing-pipeline-rethink.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-016-ast-chunk-line-range-bug.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-017-indexing-progress-reporting.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-018-replace-serve-with-git-hooks.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-019-chromadb-transient-retry.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-020-voyage-chromadb-read-timeout.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-021-docling-pdf-extraction.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-022-memory-delete-command.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-023-agent-tool-permissions-audit.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-026-hybrid-search-fusion.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-027-search-results-ux.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-028-code-search-recall.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-029-pipeline-versioning.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-030-reliability-hardening.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-031-collection-portability.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-032-indexer-decomposition.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-034-mcp-server-agent-storage.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-035-plugin-agent-mcp-tool-access.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-037-t3-database-consolidation.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-038-local-t3-backend.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/rdr/rdr-039-claude-code-framework-alignment.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/repo-indexing.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/docs/storage-tiers.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/.mcp.json +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/_shared/CONTEXT_PROTOCOL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/_shared/ERROR_HANDLING.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/_shared/MAINTENANCE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/_shared/README.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/_shared/RELAY_TEMPLATE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/architect-planner.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/code-review-expert.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/codebase-deep-analyzer.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/debugger.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/deep-analyst.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/deep-research-synthesizer.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/developer.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/knowledge-tidier.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/orchestrator.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/pdf-chromadb-processor.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/plan-auditor.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/plan-enricher.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/strategic-planner.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/substantive-critic.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/agents/test-validator.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/analyze-code.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/architecture.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/create-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/debug.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/deep-analysis.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/enrich-plan.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/implement.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/knowledge-tidy.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/nx-preflight.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/pdf-process.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/plan-audit.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/rdr-accept.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/rdr-close.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/rdr-create.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/rdr-gate.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/rdr-list.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/rdr-research.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/rdr-show.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/research.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/review-code.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/substantive-critique.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/commands/test-validate.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/hooks/hooks.json +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/hooks/scripts/post_compact_hook.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/hooks/scripts/rdr_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/hooks/scripts/session_start_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/hooks/scripts/stop_failure_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/hooks/scripts/subagent-start.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/hooks/scripts/t2_prefix_scan.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/registry.yaml +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/resources/rdr/README-TEMPLATE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/resources/rdr/TEMPLATE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/resources/rdr/post-mortem/TEMPLATE.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/architecture/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/brainstorming-gate/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/cli-controller/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/code-review/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/codebase-analysis/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/debugging/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/deep-analysis/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/development/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/enrich-plan/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/knowledge-tidying/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/nexus/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/nexus/reference.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/orchestration/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/pdf-processing/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/plan-validation/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/rdr-accept/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/rdr-close/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/rdr-create/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/rdr-gate/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/rdr-list/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/rdr-research/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/rdr-show/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/research-synthesis/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/serena-code-nav/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/strategic-planning/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/substantive-critique/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/test-validation/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/using-nx-skills/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/nx/skills/writing-nx-skills/SKILL.md +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/classifier.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/cli.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/code_indexer.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/_helpers.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/_provision.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/collection.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/config_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/doctor.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/hooks.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/index.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/memory.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/scratch.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/search_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/commands/store.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/config.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/corpus.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/db/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/db/chroma_quotas.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/db/local_ef.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/db/t1.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/db/t2.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/errors.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/exporter.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/formatters.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/frecency.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/hooks.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/index_context.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/indexer_utils.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/languages.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/mcp_server.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/md_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/pdf_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/pdf_extractor.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/prose_indexer.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/registry.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/ripgrep_cache.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/search_engine.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/session.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/ttl.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/src/nexus/types.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/__snapshots__/test_search_snapshot.ambr +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/conftest.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/e2e/auth-login.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/e2e/lib.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/e2e/run.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/e2e/sandbox.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/e2e/scenarios/00_debug_load.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/e2e/scenarios/01_smoke.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/e2e/scenarios/02_sequential_thinking.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/e2e/scenarios/03_skills.sh +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/hooks/__init__.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/hooks/test_post_compact_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/hooks/test_stop_failure_hook.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_ast_languages.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_chroma_quotas.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_chroma_retry.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_chunker_ast_languages.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_classifier.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_collection_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_config.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_config_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_corpus.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_doc_indexer.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_doc_indexer_hash_sync.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_doc_indexer_pagination.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_doctor_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_doctor_integrity.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_e2e.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_exporter.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_formatters.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_frecency.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_git_hooks.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_hooks.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_hybrid_boost.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_index_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_index_lock.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_index_rdr_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_index_reminder.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_indexer.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_indexer_chunk_flow.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_indexer_e2e.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_indexer_modules.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_integration.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_languages.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_local_mode.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_mcp_concurrency.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_mcp_integration.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_mcp_server.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_mcp_session.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_md_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_md_chunker_semantic_integrity.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_md_preservation.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_memory.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_minified_chunking.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_p0_regressions.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_pdf_chunker.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_pdf_chunker_integration.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_pdf_e2e.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_pdf_extractor.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_pdf_extractor_integration.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_pdf_extractor_normalization.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_pdf_normalization.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_pdf_subsystem.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_pipeline_version.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_plugin.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_plugin_install.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_plugin_structure.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_ppid_chain_hypothesis.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_provision.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_registry.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_ripgrep_cache.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_schema.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_scoring.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_scratch.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_scratch_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_search_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_search_engine.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_search_modules.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_search_snapshot.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_session.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_session_propagation_hypotheses.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_silent_error_logging.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_store_cmd.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_t1.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_t2.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_t2_prefix_scan.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_t3.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_t3_quota_enforcement.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_ttl.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_tuning_config.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_types_and_errors.py +0 -0
- {conexus-2.3.3 → conexus-2.3.4}/tests/test_voyage_retry.py +0 -0
|
@@ -6,13 +6,22 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.3.4] - 2026-03-23
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- **Python 3.14 compatibility** — `voyageai` uses Pydantic v1 compat layer which
|
|
13
|
+
is broken on Python ≥ 3.14. Moved `voyageai` from required to optional dependency
|
|
14
|
+
(`pip install conexus[cloud]`). Capped `requires-python` to `<3.14` so uv/pip
|
|
15
|
+
auto-select Python 3.13. All `import voyageai` sites guarded with clear error
|
|
16
|
+
messages pointing to `conexus[cloud]`.
|
|
17
|
+
- **Unprefixed skill references in docs** — all `/rdr-create`, `/rdr-close`, etc.
|
|
18
|
+
corrected to `/nx:rdr-create`, `/nx:rdr-close` across 11 documentation files.
|
|
19
|
+
|
|
9
20
|
## [2.3.3] - 2026-03-23
|
|
10
21
|
|
|
11
22
|
### 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.
|
|
23
|
+
- **Python 3.14 compatibility** (partial) — guarded `import voyageai` in `t3.py`
|
|
24
|
+
but missed `retry.py` and other import sites. Superseded by 2.3.4.
|
|
16
25
|
|
|
17
26
|
## [2.3.2] - 2026-03-22
|
|
18
27
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: conexus
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.4
|
|
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
|
{conexus-2.3.3 → conexus-2.3.4}/docs/historical/plans/2026-02-23-rdr-workflow-skills-design.md
RENAMED
|
@@ -17,7 +17,7 @@ Nexus provides the data infrastructure (T2 memory, T3 semantic search, agent orc
|
|
|
17
17
|
### Separation of Concerns
|
|
18
18
|
|
|
19
19
|
- **`nx`** = data infrastructure (store, search, index, memory)
|
|
20
|
-
- **`/rdr-*`** = workflow orchestration as Claude Code slash command skills (live in the `nx/` plugin)
|
|
20
|
+
- **`/nx:rdr-*`** = workflow orchestration as Claude Code slash command skills (live in the `nx/` plugin)
|
|
21
21
|
- **`bd`** = execution tracking (beads for implementation work)
|
|
22
22
|
|
|
23
23
|
RDR skills invoke `nx` under the hood for persistence but present a workflow-oriented interface to the user. This keeps `nx` focused on data and avoids coupling planning methodology into the CLI.
|
|
@@ -58,19 +58,19 @@ Active RDRs live in the filesystem (for collaboration) with structured metadata
|
|
|
58
58
|
|
|
59
59
|
**Why `docs__rdr__` not `knowledge__rdr__`:** The `docs__` namespace routes to `voyage-context-3` (Contextualized Contextual Embedding) which embeds each chunk with awareness of surrounding chunks — critical for RDRs where individual sections derive meaning from the broader document context. The `knowledge__` namespace uses the same model but `docs__` is semantically correct: RDRs are structured documents, not atomic knowledge entries.
|
|
60
60
|
|
|
61
|
-
**T2 TTL policy:** All RDR records use `--ttl permanent`. RDRs can span months from creation to close. The default 30-day TTL would silently expire active RDR metadata, causing `/rdr-gate` to report zero assumptions and `/rdr-list` to omit active RDRs.
|
|
61
|
+
**T2 TTL policy:** All RDR records use `--ttl permanent`. RDRs can span months from creation to close. The default 30-day TTL would silently expire active RDR metadata, causing `/nx:rdr-gate` to report zero assumptions and `/nx:rdr-list` to omit active RDRs.
|
|
62
62
|
|
|
63
63
|
**T3 title uniqueness:** T3 document IDs are derived from `sha256(collection:title)`. The T3 title must include the project prefix (e.g., `NX-003 Semantic Search Pipeline`) to guarantee uniqueness across projects that share a `docs__rdr__` collection prefix.
|
|
64
64
|
|
|
65
65
|
### Lifecycle
|
|
66
66
|
|
|
67
67
|
```
|
|
68
|
-
/rdr-create ──author──> /rdr-research ──refine──> /rdr-gate ──pass──> /rdr-close
|
|
68
|
+
/nx:rdr-create ──author──> /nx:rdr-research ──refine──> /nx:rdr-gate ──pass──> /nx:rdr-close
|
|
69
69
|
^ |
|
|
70
70
|
└────fail, iterate────────┘
|
|
71
71
|
|
|
72
|
-
/rdr-show (inspect one)
|
|
73
|
-
/rdr-list (inspect all)
|
|
72
|
+
/nx:rdr-show (inspect one)
|
|
73
|
+
/nx:rdr-list (inspect all)
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
Status transitions: `Draft → Final → Implemented | Reverted | Abandoned | Superseded`
|
|
@@ -104,9 +104,9 @@ Future enhancement: after `check_and_reindex()`, inspect `git diff --name-only`
|
|
|
104
104
|
|
|
105
105
|
## Skill Specifications
|
|
106
106
|
|
|
107
|
-
### `/rdr-create`
|
|
107
|
+
### `/nx:rdr-create`
|
|
108
108
|
|
|
109
|
-
**Trigger:** User says "create an RDR", "new RDR", or `/rdr-create`
|
|
109
|
+
**Trigger:** User says "create an RDR", "new RDR", or `/nx:rdr-create`
|
|
110
110
|
|
|
111
111
|
**Agent:** None — mechanical scaffolding.
|
|
112
112
|
|
|
@@ -131,9 +131,9 @@ Future enhancement: after `check_and_reindex()`, inspect `git diff --name-only`
|
|
|
131
131
|
|
|
132
132
|
---
|
|
133
133
|
|
|
134
|
-
### `/rdr-research`
|
|
134
|
+
### `/nx:rdr-research`
|
|
135
135
|
|
|
136
|
-
**Trigger:** User says "add research finding", "update RDR research", or `/rdr-research`
|
|
136
|
+
**Trigger:** User says "add research finding", "update RDR research", or `/nx:rdr-research`
|
|
137
137
|
|
|
138
138
|
**Agent:** `deep-research-synthesizer` for gathering evidence. `codebase-deep-analyzer` for code-specific questions.
|
|
139
139
|
|
|
@@ -165,9 +165,9 @@ Future enhancement: after `check_and_reindex()`, inspect `git diff --name-only`
|
|
|
165
165
|
|
|
166
166
|
---
|
|
167
167
|
|
|
168
|
-
### `/rdr-gate`
|
|
168
|
+
### `/nx:rdr-gate`
|
|
169
169
|
|
|
170
|
-
**Trigger:** User says "gate this RDR", "finalization check", or `/rdr-gate`
|
|
170
|
+
**Trigger:** User says "gate this RDR", "finalization check", or `/nx:rdr-gate`
|
|
171
171
|
|
|
172
172
|
**Agent:** `substantive-critic` for Layer 3 AI critique.
|
|
173
173
|
|
|
@@ -209,9 +209,9 @@ Future enhancement: after `check_and_reindex()`, inspect `git diff --name-only`
|
|
|
209
209
|
|
|
210
210
|
---
|
|
211
211
|
|
|
212
|
-
### `/rdr-close`
|
|
212
|
+
### `/nx:rdr-close`
|
|
213
213
|
|
|
214
|
-
**Trigger:** User says "close this RDR", "RDR done", or `/rdr-close`
|
|
214
|
+
**Trigger:** User says "close this RDR", "RDR done", or `/nx:rdr-close`
|
|
215
215
|
|
|
216
216
|
**Agents:**
|
|
217
217
|
- `knowledge-tidier` (Haiku) — archives post-mortem to T3 (post-mortem only; bead creation done directly by skill)
|
|
@@ -239,7 +239,7 @@ Future enhancement: after `check_and_reindex()`, inspect `git diff --name-only`
|
|
|
239
239
|
- T2 tracks an `archived: false` flag that can be retried independently
|
|
240
240
|
- Each step emits clear status so a failure is diagnosable
|
|
241
241
|
- The skill reports which steps completed and which failed
|
|
242
|
-
- Failed steps can be retried by re-running `/rdr-close` (idempotent: checks T2 state before repeating completed steps)
|
|
242
|
+
- Failed steps can be retried by re-running `/nx:rdr-close` (idempotent: checks T2 state before repeating completed steps)
|
|
243
243
|
|
|
244
244
|
**If Reverted or Abandoned:**
|
|
245
245
|
1. Prompt for reason (free text)
|
|
@@ -261,9 +261,9 @@ Future enhancement: after `check_and_reindex()`, inspect `git diff --name-only`
|
|
|
261
261
|
|
|
262
262
|
---
|
|
263
263
|
|
|
264
|
-
### `/rdr-show`
|
|
264
|
+
### `/nx:rdr-show`
|
|
265
265
|
|
|
266
|
-
**Trigger:** User says "show RDR", or `/rdr-show`
|
|
266
|
+
**Trigger:** User says "show RDR", or `/nx:rdr-show`
|
|
267
267
|
|
|
268
268
|
**Agent:** None — read-only display.
|
|
269
269
|
|
|
@@ -279,9 +279,9 @@ Future enhancement: after `check_and_reindex()`, inspect `git diff --name-only`
|
|
|
279
279
|
|
|
280
280
|
---
|
|
281
281
|
|
|
282
|
-
### `/rdr-list`
|
|
282
|
+
### `/nx:rdr-list`
|
|
283
283
|
|
|
284
|
-
**Trigger:** User says "list RDRs", or `/rdr-list`
|
|
284
|
+
**Trigger:** User says "list RDRs", or `/nx:rdr-list`
|
|
285
285
|
|
|
286
286
|
**Agent:** None — read-only query.
|
|
287
287
|
|
|
@@ -297,16 +297,16 @@ Future enhancement: after `check_and_reindex()`, inspect `git diff --name-only`
|
|
|
297
297
|
|
|
298
298
|
| Skill | Agent | Role |
|
|
299
299
|
|-------|-------|------|
|
|
300
|
-
| `/rdr-create` | — | Mechanical scaffolding |
|
|
301
|
-
| `/rdr-research add` | `deep-research-synthesizer` | Fan out across web, codebase, T3, DEVONthink to gather and classify evidence |
|
|
302
|
-
| `/rdr-research add` (code) | `codebase-deep-analyzer` | Deep code exploration for code-specific research questions |
|
|
303
|
-
| `/rdr-gate` (Layer 3) | `substantive-critic` | Structural flaws, contradictions, unvalidated assumptions, proportionality |
|
|
304
|
-
| `/rdr-gate` (prior art) | `nx search --corpus docs__rdr` | Prefix fan-out across all repos' RDR collections |
|
|
305
|
-
| `/rdr-close` (decompose) | — (direct) | Parse Implementation Plan into beads via `bd create` + `bd dep add` |
|
|
306
|
-
| `/rdr-close` (archive) | `knowledge-tidier` | Archive post-mortem to `knowledge__rdr_postmortem__{repo}` |
|
|
307
|
-
| `/rdr-close` (divergence) | `substantive-critic` | Classify divergence patterns if post-mortem created |
|
|
308
|
-
| `/rdr-show` | — | Read-only display |
|
|
309
|
-
| `/rdr-list` | — | Read-only query |
|
|
300
|
+
| `/nx:rdr-create` | — | Mechanical scaffolding |
|
|
301
|
+
| `/nx:rdr-research add` | `deep-research-synthesizer` | Fan out across web, codebase, T3, DEVONthink to gather and classify evidence |
|
|
302
|
+
| `/nx:rdr-research add` (code) | `codebase-deep-analyzer` | Deep code exploration for code-specific research questions |
|
|
303
|
+
| `/nx:rdr-gate` (Layer 3) | `substantive-critic` | Structural flaws, contradictions, unvalidated assumptions, proportionality |
|
|
304
|
+
| `/nx:rdr-gate` (prior art) | `nx search --corpus docs__rdr` | Prefix fan-out across all repos' RDR collections |
|
|
305
|
+
| `/nx:rdr-close` (decompose) | — (direct) | Parse Implementation Plan into beads via `bd create` + `bd dep add` |
|
|
306
|
+
| `/nx:rdr-close` (archive) | `knowledge-tidier` | Archive post-mortem to `knowledge__rdr_postmortem__{repo}` |
|
|
307
|
+
| `/nx:rdr-close` (divergence) | `substantive-critic` | Classify divergence patterns if post-mortem created |
|
|
308
|
+
| `/nx:rdr-show` | — | Read-only display |
|
|
309
|
+
| `/nx:rdr-list` | — | Read-only query |
|
|
310
310
|
|
|
311
311
|
**Agent selection rationale:** The original design used `strategic-planner` (Opus) for bead decomposition. Rev 2 delegated to `knowledge-tidier` (Haiku). Rev 3 moved bead creation back into the skill itself — the Implementation Plan section has a defined structure (Phase N / Step N headings), the skill already has `Bash` access, and splitting bead creation from archival simplifies failure handling. `knowledge-tidier` is now only used for post-mortem archival to T3 (its core strength: knowledge organization).
|
|
312
312
|
|
|
@@ -326,7 +326,7 @@ docs/
|
|
|
326
326
|
└── ...
|
|
327
327
|
```
|
|
328
328
|
|
|
329
|
-
**Bootstrapping:** `/rdr-create` handles first-use initialization: creates `docs/rdr/` and `docs/rdr/post-mortem/` directories, copies templates, initializes the README index. No separate bootstrap command needed.
|
|
329
|
+
**Bootstrapping:** `/nx:rdr-create` handles first-use initialization: creates `docs/rdr/` and `docs/rdr/post-mortem/` directories, copies templates, initializes the README index. No separate bootstrap command needed.
|
|
330
330
|
|
|
331
331
|
**README index merge conflicts:** The auto-generated `docs/rdr/README.md` will conflict in multi-contributor workflows. This is acceptable — the file is trivially regenerable from T2 state and filesystem contents. Consider adding a `.gitattributes` entry marking it as auto-generated.
|
|
332
332
|
|
|
@@ -412,7 +412,7 @@ ttl_days: 0 # permanent
|
|
|
412
412
|
**Cross-project search:** `resolve_corpus()` treats arguments containing `__` as exact collection names, not prefixes. Therefore `--corpus docs__rdr` does **not** fan out. The skills use collection enumeration for cross-project search:
|
|
413
413
|
|
|
414
414
|
```bash
|
|
415
|
-
# In /rdr-gate Layer 3:
|
|
415
|
+
# In /nx:rdr-gate Layer 3:
|
|
416
416
|
collections=$(nx collection list | grep '^docs__rdr__')
|
|
417
417
|
for col in $collections; do
|
|
418
418
|
nx search "query" --corpus "$col" --n 5
|
|
@@ -421,7 +421,7 @@ done
|
|
|
421
421
|
|
|
422
422
|
**Repo name length constraint:** ChromaDB enforces 63-character collection names. `docs__rdr__` is 11 characters, leaving 52 for the repo name. Repo names exceeding 52 characters are truncated, with the full name stored in document metadata.
|
|
423
423
|
|
|
424
|
-
**Cold-start behavior:** On first use (no `docs__rdr__*` collections exist), `/rdr-gate` Layer 3 gracefully reports "No prior RDRs indexed. Cross-project prior-art search will improve as RDRs are indexed and closed." T3 search handles non-existent collections via `_ChromaNotFoundError` → `continue`.
|
|
424
|
+
**Cold-start behavior:** On first use (no `docs__rdr__*` collections exist), `/nx:rdr-gate` Layer 3 gracefully reports "No prior RDRs indexed. Cross-project prior-art search will improve as RDRs are indexed and closed." T3 search handles non-existent collections via `_ChromaNotFoundError` → `continue`.
|
|
425
425
|
|
|
426
426
|
## Integration Points
|
|
427
427
|
|
|
@@ -429,17 +429,17 @@ done
|
|
|
429
429
|
nx index rdr ──────────────────────> docs__rdr__{repo} (T3, semantic index)
|
|
430
430
|
SemanticMarkdownChunker + voyage-context-3
|
|
431
431
|
|
|
432
|
-
/rdr-create ─────────────────────> docs/rdr/NNN.md (filesystem)
|
|
432
|
+
/nx:rdr-create ─────────────────────> docs/rdr/NNN.md (filesystem)
|
|
433
433
|
nx memory put - ... --ttl permanent (T2)
|
|
434
434
|
|
|
435
|
-
/rdr-research ──agent──> findings > docs/rdr/NNN.md (append to Research Findings)
|
|
435
|
+
/nx:rdr-research ──agent──> findings > docs/rdr/NNN.md (append to Research Findings)
|
|
436
436
|
nx memory put - ... --ttl permanent (T2, structured)
|
|
437
437
|
|
|
438
|
-
/rdr-gate ──────agent──> critique > nx search --corpus docs__rdr (T3, prior art)
|
|
438
|
+
/nx:rdr-gate ──────agent──> critique > nx search --corpus docs__rdr (T3, prior art)
|
|
439
439
|
substantive-critic nx memory put - ... (T2, status=Final)
|
|
440
440
|
nx index rdr (T3, re-index updated content)
|
|
441
441
|
|
|
442
|
-
/rdr-close ─────direct──> beads ──> bd create (epic + children)
|
|
442
|
+
/nx:rdr-close ─────direct──> beads ──> bd create (epic + children)
|
|
443
443
|
bd dep add (wiring)
|
|
444
444
|
docs/rdr/post-mortem/NNN.md (if diverged)
|
|
445
445
|
─────direct──> state ──> nx memory put - ... (T2, status=closed)
|
|
@@ -456,22 +456,22 @@ For repos with existing RDRs (e.g., arcaneum with 19 RDRs) that predate this sys
|
|
|
456
456
|
# Index existing RDRs for semantic search:
|
|
457
457
|
nx index rdr /path/to/repo
|
|
458
458
|
|
|
459
|
-
# Optionally seed T2 metadata for /rdr-list and /rdr-show:
|
|
460
|
-
# A one-time /rdr-import skill could scan docs/rdr/*.md,
|
|
459
|
+
# Optionally seed T2 metadata for /nx:rdr-list and /nx:rdr-show:
|
|
460
|
+
# A one-time /nx:rdr-import skill could scan docs/rdr/*.md,
|
|
461
461
|
# parse frontmatter, and create T2 records. Not in initial scope
|
|
462
462
|
# but a natural follow-up.
|
|
463
463
|
```
|
|
464
464
|
|
|
465
|
-
The `nx index rdr` command works immediately on any repo with `docs/rdr/*.md` — no migration needed for semantic search. T2 metadata is only needed for the structured query features (`/rdr-list --has-assumptions`, etc.) and can be populated incrementally.
|
|
465
|
+
The `nx index rdr` command works immediately on any repo with `docs/rdr/*.md` — no migration needed for semantic search. T2 metadata is only needed for the structured query features (`/nx:rdr-list --has-assumptions`, etc.) and can be populated incrementally.
|
|
466
466
|
|
|
467
467
|
## What This Does NOT Cover
|
|
468
468
|
|
|
469
469
|
- **RDR content authoring** — The skills manage lifecycle, not prose. The author writes the RDR.
|
|
470
|
-
- **Automated research execution** — `/rdr-research add` records findings; the agent helps gather them but the human classifies.
|
|
470
|
+
- **Automated research execution** — `/nx:rdr-research add` records findings; the agent helps gather them but the human classifies.
|
|
471
471
|
- **PR integration** — RDR files are version-controlled and naturally participate in PRs, but there's no GitHub-specific automation.
|
|
472
472
|
- **Cross-repo RDR dependencies** — T3 archive enables cross-project search, but there's no formal dependency graph between RDRs in different repos.
|
|
473
473
|
- **Server auto-reindex of RDRs** — Deferred to v2. Currently requires manual `nx index rdr` after changes.
|
|
474
|
-
- **Filesystem-T2 sync** — If a user edits an RDR's markdown metadata directly (e.g., changes status), T2 is not automatically updated. The skills are the intended interface; direct edits may cause T2/filesystem drift. A future `/rdr-sync` command could reconcile.
|
|
474
|
+
- **Filesystem-T2 sync** — If a user edits an RDR's markdown metadata directly (e.g., changes status), T2 is not automatically updated. The skills are the intended interface; direct edits may cause T2/filesystem drift. A future `/nx:rdr-sync` command could reconcile.
|
|
475
475
|
|
|
476
476
|
## Revision History
|
|
477
477
|
|
{conexus-2.3.3 → conexus-2.3.4}/docs/historical/plans/2026-02-23-rdr-workflow-skills-impl-plan.md
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
|
|
4
4
|
|
|
5
|
-
**Goal:** Implement the RDR workflow automation system: `nx index rdr` CLI command, SessionStart hook, and 6 Claude Code slash command skills (`/rdr-create`, `/rdr-list`, `/rdr-show`, `/rdr-research`, `/rdr-gate`, `/rdr-close`).
|
|
5
|
+
**Goal:** Implement the RDR workflow automation system: `nx index rdr` CLI command, SessionStart hook, and 6 Claude Code slash command skills (`/nx:rdr-create`, `/nx:rdr-list`, `/nx:rdr-show`, `/nx:rdr-research`, `/nx:rdr-gate`, `/nx:rdr-close`).
|
|
6
6
|
|
|
7
7
|
**Architecture:** Python CLI command + hook script for infrastructure; markdown skill files for workflow orchestration. Skills invoke `nx` CLI and `bd` for state management. Storage: filesystem (docs/rdr/*.md) + T2 (structured metadata) + T3 (semantic index via `docs__rdr__{repo}`).
|
|
8
8
|
|
|
@@ -331,9 +331,9 @@ git commit -m "feat: bundle RDR and post-mortem templates as plugin resources"
|
|
|
331
331
|
|
|
332
332
|
---
|
|
333
333
|
|
|
334
|
-
## Phase 4: Skills — Read-Only First (`/rdr-list`, `/rdr-show`)
|
|
334
|
+
## Phase 4: Skills — Read-Only First (`/nx:rdr-list`, `/nx:rdr-show`)
|
|
335
335
|
|
|
336
|
-
### Task 5: Create `/rdr-list` skill
|
|
336
|
+
### Task 5: Create `/nx:rdr-list` skill
|
|
337
337
|
|
|
338
338
|
**Files:**
|
|
339
339
|
- Create: `nx/skills/rdr-list/SKILL.md`
|
|
@@ -345,7 +345,7 @@ git commit -m "feat: bundle RDR and post-mortem templates as plugin resources"
|
|
|
345
345
|
name: rdr-list
|
|
346
346
|
description: >
|
|
347
347
|
List all RDRs in the current project with status, type, and priority.
|
|
348
|
-
Triggers: user says "list RDRs", "show all RDRs", or /rdr-list
|
|
348
|
+
Triggers: user says "list RDRs", "show all RDRs", or /nx:rdr-list
|
|
349
349
|
allowed-tools: Read, Glob, Grep, Bash
|
|
350
350
|
---
|
|
351
351
|
|
|
@@ -354,7 +354,7 @@ allowed-tools: Read, Glob, Grep, Bash
|
|
|
354
354
|
## When This Skill Activates
|
|
355
355
|
|
|
356
356
|
- User says "list RDRs", "show RDRs", "what RDRs exist"
|
|
357
|
-
- User invokes `/rdr-list`
|
|
357
|
+
- User invokes `/nx:rdr-list`
|
|
358
358
|
- User asks about the state of planning documents
|
|
359
359
|
|
|
360
360
|
## Behavior
|
|
@@ -394,12 +394,12 @@ If the user specifies filters, apply them:
|
|
|
394
394
|
```bash
|
|
395
395
|
cd /Users/hal.hildebrand/git/nexus
|
|
396
396
|
git add nx/skills/rdr-list/SKILL.md
|
|
397
|
-
git commit -m "feat: add /rdr-list skill for listing RDRs with status"
|
|
397
|
+
git commit -m "feat: add /nx:rdr-list skill for listing RDRs with status"
|
|
398
398
|
```
|
|
399
399
|
|
|
400
400
|
---
|
|
401
401
|
|
|
402
|
-
### Task 6: Create `/rdr-show` skill
|
|
402
|
+
### Task 6: Create `/nx:rdr-show` skill
|
|
403
403
|
|
|
404
404
|
**Files:**
|
|
405
405
|
- Create: `nx/skills/rdr-show/SKILL.md`
|
|
@@ -411,7 +411,7 @@ git commit -m "feat: add /rdr-list skill for listing RDRs with status"
|
|
|
411
411
|
name: rdr-show
|
|
412
412
|
description: >
|
|
413
413
|
Display detailed RDR information including content, status, research findings,
|
|
414
|
-
and linked beads. Triggers: user says "show RDR", "RDR details", or /rdr-show
|
|
414
|
+
and linked beads. Triggers: user says "show RDR", "RDR details", or /nx:rdr-show
|
|
415
415
|
allowed-tools: Read, Glob, Grep, Bash
|
|
416
416
|
---
|
|
417
417
|
|
|
@@ -420,7 +420,7 @@ allowed-tools: Read, Glob, Grep, Bash
|
|
|
420
420
|
## When This Skill Activates
|
|
421
421
|
|
|
422
422
|
- User says "show RDR 003", "RDR details", "what's in RDR 5"
|
|
423
|
-
- User invokes `/rdr-show`
|
|
423
|
+
- User invokes `/nx:rdr-show`
|
|
424
424
|
- User asks about a specific RDR's content or status
|
|
425
425
|
|
|
426
426
|
## Behavior
|
|
@@ -456,7 +456,7 @@ allowed-tools: Read, Glob, Grep, Bash
|
|
|
456
456
|
(not closed yet)
|
|
457
457
|
```
|
|
458
458
|
|
|
459
|
-
6. If the RDR ID is not found, list available RDRs (delegate to `/rdr-list` behavior).
|
|
459
|
+
6. If the RDR ID is not found, list available RDRs (delegate to `/nx:rdr-list` behavior).
|
|
460
460
|
|
|
461
461
|
## Notes
|
|
462
462
|
|
|
@@ -470,14 +470,14 @@ allowed-tools: Read, Glob, Grep, Bash
|
|
|
470
470
|
```bash
|
|
471
471
|
cd /Users/hal.hildebrand/git/nexus
|
|
472
472
|
git add nx/skills/rdr-show/SKILL.md
|
|
473
|
-
git commit -m "feat: add /rdr-show skill for detailed RDR inspection"
|
|
473
|
+
git commit -m "feat: add /nx:rdr-show skill for detailed RDR inspection"
|
|
474
474
|
```
|
|
475
475
|
|
|
476
476
|
---
|
|
477
477
|
|
|
478
|
-
## Phase 5: Skills — Lifecycle (`/rdr-create`, `/rdr-research`)
|
|
478
|
+
## Phase 5: Skills — Lifecycle (`/nx:rdr-create`, `/nx:rdr-research`)
|
|
479
479
|
|
|
480
|
-
### Task 7: Create `/rdr-create` skill
|
|
480
|
+
### Task 7: Create `/nx:rdr-create` skill
|
|
481
481
|
|
|
482
482
|
**Files:**
|
|
483
483
|
- Create: `nx/skills/rdr-create/SKILL.md`
|
|
@@ -489,7 +489,7 @@ git commit -m "feat: add /rdr-show skill for detailed RDR inspection"
|
|
|
489
489
|
name: rdr-create
|
|
490
490
|
description: >
|
|
491
491
|
Scaffold a new RDR from template, assign sequential ID, register in T2, add to index.
|
|
492
|
-
Triggers: user says "create an RDR", "new RDR", or /rdr-create
|
|
492
|
+
Triggers: user says "create an RDR", "new RDR", or /nx:rdr-create
|
|
493
493
|
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
494
494
|
---
|
|
495
495
|
|
|
@@ -498,7 +498,7 @@ allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
|
498
498
|
## When This Skill Activates
|
|
499
499
|
|
|
500
500
|
- User says "create an RDR", "new RDR", "start an RDR"
|
|
501
|
-
- User invokes `/rdr-create`
|
|
501
|
+
- User invokes `/nx:rdr-create`
|
|
502
502
|
- User wants to document a technical decision before implementation
|
|
503
503
|
|
|
504
504
|
## Inputs
|
|
@@ -583,13 +583,13 @@ Created RDR PREFIX-NNN: "Title"
|
|
|
583
583
|
File: docs/rdr/NNN-kebab-title.md
|
|
584
584
|
Status: Draft
|
|
585
585
|
|
|
586
|
-
Next: Fill in Problem Statement and Context, then use /rdr-research to add findings.
|
|
586
|
+
Next: Fill in Problem Statement and Context, then use /nx:rdr-research to add findings.
|
|
587
587
|
```
|
|
588
588
|
|
|
589
589
|
## Does NOT
|
|
590
590
|
|
|
591
|
-
- Create beads (that happens at `/rdr-close`)
|
|
592
|
-
- Run validation (that happens at `/rdr-gate`)
|
|
591
|
+
- Create beads (that happens at `/nx:rdr-close`)
|
|
592
|
+
- Run validation (that happens at `/nx:rdr-gate`)
|
|
593
593
|
- Commit (user decides when to commit)
|
|
594
594
|
- Run `nx index rdr` (user can do this manually or it happens at gate/close)
|
|
595
595
|
```
|
|
@@ -599,12 +599,12 @@ Next: Fill in Problem Statement and Context, then use /rdr-research to add findi
|
|
|
599
599
|
```bash
|
|
600
600
|
cd /Users/hal.hildebrand/git/nexus
|
|
601
601
|
git add nx/skills/rdr-create/SKILL.md
|
|
602
|
-
git commit -m "feat: add /rdr-create skill for scaffolding new RDRs"
|
|
602
|
+
git commit -m "feat: add /nx:rdr-create skill for scaffolding new RDRs"
|
|
603
603
|
```
|
|
604
604
|
|
|
605
605
|
---
|
|
606
606
|
|
|
607
|
-
### Task 8: Create `/rdr-research` skill
|
|
607
|
+
### Task 8: Create `/nx:rdr-research` skill
|
|
608
608
|
|
|
609
609
|
**Files:**
|
|
610
610
|
- Create: `nx/skills/rdr-research/SKILL.md`
|
|
@@ -616,7 +616,7 @@ git commit -m "feat: add /rdr-create skill for scaffolding new RDRs"
|
|
|
616
616
|
name: rdr-research
|
|
617
617
|
description: >
|
|
618
618
|
Add, track, and verify structured research findings for an RDR.
|
|
619
|
-
Triggers: user says "add research finding", "RDR research", or /rdr-research
|
|
619
|
+
Triggers: user says "add research finding", "RDR research", or /nx:rdr-research
|
|
620
620
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, Bash
|
|
621
621
|
---
|
|
622
622
|
|
|
@@ -627,12 +627,12 @@ Optionally delegates to **deep-research-synthesizer** (sonnet) for evidence gath
|
|
|
627
627
|
## When This Skill Activates
|
|
628
628
|
|
|
629
629
|
- User says "add research finding", "update RDR research", "verify assumption"
|
|
630
|
-
- User invokes `/rdr-research`
|
|
630
|
+
- User invokes `/nx:rdr-research`
|
|
631
631
|
- User wants to record or classify a discovery during RDR planning
|
|
632
632
|
|
|
633
633
|
## Subcommands
|
|
634
634
|
|
|
635
|
-
### `/rdr-research add <id>`
|
|
635
|
+
### `/nx:rdr-research add <id>`
|
|
636
636
|
|
|
637
637
|
**Inputs** (prompt the user):
|
|
638
638
|
1. **Finding text**: What was discovered
|
|
@@ -667,7 +667,7 @@ Optionally delegates to **deep-research-synthesizer** (sonnet) for evidence gath
|
|
|
667
667
|
*Source: source description*
|
|
668
668
|
```
|
|
669
669
|
|
|
670
|
-
### `/rdr-research status <id>`
|
|
670
|
+
### `/nx:rdr-research status <id>`
|
|
671
671
|
|
|
672
672
|
1. List T2 entries: `nx memory list --project {repo}_rdr`
|
|
673
673
|
2. Filter titles matching `NNN-research-*`
|
|
@@ -681,7 +681,7 @@ Optionally delegates to **deep-research-synthesizer** (sonnet) for evidence gath
|
|
|
681
681
|
- [seq 6] "Latency under 100ms" (docs only)
|
|
682
682
|
```
|
|
683
683
|
|
|
684
|
-
### `/rdr-research verify <id> <finding-seq>`
|
|
684
|
+
### `/nx:rdr-research verify <id> <finding-seq>`
|
|
685
685
|
|
|
686
686
|
1. Read T2 record: `nx memory get --project {repo}_rdr --title NNN-research-{seq}`
|
|
687
687
|
2. Prompt for new classification (verified or documented) and updated verification method
|
|
@@ -707,14 +707,14 @@ When the user asks to *investigate* something (not just record a finding):
|
|
|
707
707
|
```bash
|
|
708
708
|
cd /Users/hal.hildebrand/git/nexus
|
|
709
709
|
git add nx/skills/rdr-research/SKILL.md
|
|
710
|
-
git commit -m "feat: add /rdr-research skill for structured research tracking"
|
|
710
|
+
git commit -m "feat: add /nx:rdr-research skill for structured research tracking"
|
|
711
711
|
```
|
|
712
712
|
|
|
713
713
|
---
|
|
714
714
|
|
|
715
|
-
## Phase 6: Skills — Gate and Close (`/rdr-gate`, `/rdr-close`)
|
|
715
|
+
## Phase 6: Skills — Gate and Close (`/nx:rdr-gate`, `/nx:rdr-close`)
|
|
716
716
|
|
|
717
|
-
### Task 9: Create `/rdr-gate` skill
|
|
717
|
+
### Task 9: Create `/nx:rdr-gate` skill
|
|
718
718
|
|
|
719
719
|
**Files:**
|
|
720
720
|
- Create: `nx/skills/rdr-gate/SKILL.md`
|
|
@@ -726,7 +726,7 @@ git commit -m "feat: add /rdr-research skill for structured research tracking"
|
|
|
726
726
|
name: rdr-gate
|
|
727
727
|
description: >
|
|
728
728
|
Run the RDR finalization gate: structural validation, assumption audit, and AI critique.
|
|
729
|
-
Triggers: user says "gate this RDR", "finalization check", or /rdr-gate
|
|
729
|
+
Triggers: user says "gate this RDR", "finalization check", or /nx:rdr-gate
|
|
730
730
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, Bash
|
|
731
731
|
---
|
|
732
732
|
|
|
@@ -737,7 +737,7 @@ Delegates Layer 3 to the **substantive-critic** agent (sonnet). See [registry.ya
|
|
|
737
737
|
## When This Skill Activates
|
|
738
738
|
|
|
739
739
|
- User says "gate this RDR", "finalization check", "is this RDR ready?"
|
|
740
|
-
- User invokes `/rdr-gate`
|
|
740
|
+
- User invokes `/nx:rdr-gate`
|
|
741
741
|
- User wants to validate an RDR before locking it as Final
|
|
742
742
|
|
|
743
743
|
## Input
|
|
@@ -857,12 +857,12 @@ Display the critique with specific sections to address. Status remains Draft.
|
|
|
857
857
|
```bash
|
|
858
858
|
cd /Users/hal.hildebrand/git/nexus
|
|
859
859
|
git add nx/skills/rdr-gate/SKILL.md
|
|
860
|
-
git commit -m "feat: add /rdr-gate skill with 3-layer validation"
|
|
860
|
+
git commit -m "feat: add /nx:rdr-gate skill with 3-layer validation"
|
|
861
861
|
```
|
|
862
862
|
|
|
863
863
|
---
|
|
864
864
|
|
|
865
|
-
### Task 10: Create `/rdr-close` skill
|
|
865
|
+
### Task 10: Create `/nx:rdr-close` skill
|
|
866
866
|
|
|
867
867
|
**Files:**
|
|
868
868
|
- Create: `nx/skills/rdr-close/SKILL.md`
|
|
@@ -874,7 +874,7 @@ git commit -m "feat: add /rdr-gate skill with 3-layer validation"
|
|
|
874
874
|
name: rdr-close
|
|
875
875
|
description: >
|
|
876
876
|
Close an RDR: capture divergence, create post-mortem, decompose into beads, archive to T3.
|
|
877
|
-
Triggers: user says "close this RDR", "RDR done", or /rdr-close
|
|
877
|
+
Triggers: user says "close this RDR", "RDR done", or /nx:rdr-close
|
|
878
878
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, Bash
|
|
879
879
|
---
|
|
880
880
|
|
|
@@ -885,7 +885,7 @@ Delegates decomposition and archival to the **knowledge-tidier** agent (haiku).
|
|
|
885
885
|
## When This Skill Activates
|
|
886
886
|
|
|
887
887
|
- User says "close this RDR", "RDR done", "finish RDR"
|
|
888
|
-
- User invokes `/rdr-close`
|
|
888
|
+
- User invokes `/nx:rdr-close`
|
|
889
889
|
- Implementation is complete and the RDR should be finalized
|
|
890
890
|
|
|
891
891
|
## Inputs
|
|
@@ -968,7 +968,7 @@ Display the bead tree for user confirmation before proceeding.
|
|
|
968
968
|
close_reason: "Implemented", epic_bead: "{bead_id}", archived: true)
|
|
969
969
|
EOF
|
|
970
970
|
```
|
|
971
|
-
If T3 archive fails, set `archived: false` — retryable by re-running `/rdr-close`
|
|
971
|
+
If T3 archive fails, set `archived: false` — retryable by re-running `/nx:rdr-close`
|
|
972
972
|
|
|
973
973
|
2. Update status in RDR markdown metadata
|
|
974
974
|
3. Regenerate `docs/rdr/README.md` index
|
|
@@ -1015,7 +1015,7 @@ nx store put docs/rdr/post-mortem/NNN-*.md --collection docs__rdr__{repo} \
|
|
|
1015
1015
|
The close operation performs multiple state mutations. If any step fails:
|
|
1016
1016
|
- Each step emits clear status (e.g., "T2 updated ✓", "Beads created ✓", "T3 archive ✗ FAILED")
|
|
1017
1017
|
- T2 `archived` flag tracks whether T3 archival succeeded
|
|
1018
|
-
- Re-running `/rdr-close` is idempotent: checks T2 state and skips completed steps
|
|
1018
|
+
- Re-running `/nx:rdr-close` is idempotent: checks T2 state and skips completed steps
|
|
1019
1019
|
- If bead creation partially fails, report which beads were created and which failed
|
|
1020
1020
|
|
|
1021
1021
|
## Does NOT
|
|
@@ -1030,7 +1030,7 @@ The close operation performs multiple state mutations. If any step fails:
|
|
|
1030
1030
|
```bash
|
|
1031
1031
|
cd /Users/hal.hildebrand/git/nexus
|
|
1032
1032
|
git add nx/skills/rdr-close/SKILL.md
|
|
1033
|
-
git commit -m "feat: add /rdr-close skill with post-mortem, bead decomposition, T3 archive"
|
|
1033
|
+
git commit -m "feat: add /nx:rdr-close skill with post-mortem, bead decomposition, T3 archive"
|
|
1034
1034
|
```
|
|
1035
1035
|
|
|
1036
1036
|
---
|
|
@@ -1053,7 +1053,7 @@ No new agents are needed — the RDR skills dispatch to existing agents (substan
|
|
|
1053
1053
|
|
|
1054
1054
|
rdr_skills:
|
|
1055
1055
|
rdr-create:
|
|
1056
|
-
slash_command: /rdr-create
|
|
1056
|
+
slash_command: /nx:rdr-create
|
|
1057
1057
|
description: "Scaffold new RDR from template, assign ID, register in T2"
|
|
1058
1058
|
triggers:
|
|
1059
1059
|
- "create an RDR"
|
|
@@ -1061,7 +1061,7 @@ rdr_skills:
|
|
|
1061
1061
|
- "start planning document"
|
|
1062
1062
|
|
|
1063
1063
|
rdr-research:
|
|
1064
|
-
slash_command: /rdr-research
|
|
1064
|
+
slash_command: /nx:rdr-research
|
|
1065
1065
|
description: "Add, track, and verify structured research findings"
|
|
1066
1066
|
triggers:
|
|
1067
1067
|
- "add research finding"
|
|
@@ -1070,7 +1070,7 @@ rdr_skills:
|
|
|
1070
1070
|
dispatches_to: [deep-research-synthesizer, codebase-deep-analyzer]
|
|
1071
1071
|
|
|
1072
1072
|
rdr-gate:
|
|
1073
|
-
slash_command: /rdr-gate
|
|
1073
|
+
slash_command: /nx:rdr-gate
|
|
1074
1074
|
description: "Run finalization gate: structural + assumption + AI critique"
|
|
1075
1075
|
triggers:
|
|
1076
1076
|
- "gate this RDR"
|
|
@@ -1079,7 +1079,7 @@ rdr_skills:
|
|
|
1079
1079
|
dispatches_to: [substantive-critic]
|
|
1080
1080
|
|
|
1081
1081
|
rdr-close:
|
|
1082
|
-
slash_command: /rdr-close
|
|
1082
|
+
slash_command: /nx:rdr-close
|
|
1083
1083
|
description: "Close RDR with post-mortem, bead decomposition, T3 archive"
|
|
1084
1084
|
triggers:
|
|
1085
1085
|
- "close this RDR"
|
|
@@ -1088,14 +1088,14 @@ rdr_skills:
|
|
|
1088
1088
|
dispatches_to: [knowledge-tidier]
|
|
1089
1089
|
|
|
1090
1090
|
rdr-list:
|
|
1091
|
-
slash_command: /rdr-list
|
|
1091
|
+
slash_command: /nx:rdr-list
|
|
1092
1092
|
description: "List all RDRs with status, type, priority"
|
|
1093
1093
|
triggers:
|
|
1094
1094
|
- "list RDRs"
|
|
1095
1095
|
- "show all RDRs"
|
|
1096
1096
|
|
|
1097
1097
|
rdr-show:
|
|
1098
|
-
slash_command: /rdr-show
|
|
1098
|
+
slash_command: /nx:rdr-show
|
|
1099
1099
|
description: "Display detailed RDR information"
|
|
1100
1100
|
triggers:
|
|
1101
1101
|
- "show RDR"
|
|
@@ -1208,10 +1208,10 @@ If any fixes were needed during smoke testing, commit them.
|
|
|
1208
1208
|
1. `feat: add nx index rdr command for RDR document indexing`
|
|
1209
1209
|
2. `feat: add SessionStart hook for RDR auto-detection`
|
|
1210
1210
|
3. `feat: bundle RDR and post-mortem templates as plugin resources`
|
|
1211
|
-
4. `feat: add /rdr-list skill for listing RDRs with status`
|
|
1212
|
-
5. `feat: add /rdr-show skill for detailed RDR inspection`
|
|
1213
|
-
6. `feat: add /rdr-create skill for scaffolding new RDRs`
|
|
1214
|
-
7. `feat: add /rdr-research skill for structured research tracking`
|
|
1215
|
-
8. `feat: add /rdr-gate skill with 3-layer validation`
|
|
1216
|
-
9. `feat: add /rdr-close skill with post-mortem, bead decomposition, T3 archive`
|
|
1211
|
+
4. `feat: add /nx:rdr-list skill for listing RDRs with status`
|
|
1212
|
+
5. `feat: add /nx:rdr-show skill for detailed RDR inspection`
|
|
1213
|
+
6. `feat: add /nx:rdr-create skill for scaffolding new RDRs`
|
|
1214
|
+
7. `feat: add /nx:rdr-research skill for structured research tracking`
|
|
1215
|
+
8. `feat: add /nx:rdr-gate skill with 3-layer validation`
|
|
1216
|
+
9. `feat: add /nx:rdr-close skill with post-mortem, bead decomposition, T3 archive`
|
|
1217
1217
|
10. `feat: register RDR skills in registry, add RDR awareness to analyzer`
|
|
@@ -40,7 +40,7 @@ The plugin wires beads into the session lifecycle:
|
|
|
40
40
|
- **SessionStart** also shows ready beads (unblocked work) via `bd ready`
|
|
41
41
|
- **SubagentStart** injects the active bead so spawned agents know what
|
|
42
42
|
task they're continuing
|
|
43
|
-
- **RDR close** (`/rdr-close`) decomposes a decision into beads — one epic
|
|
43
|
+
- **RDR close** (`/nx:rdr-close`) decomposes a decision into beads — one epic
|
|
44
44
|
for the overall effort, plus task beads for each implementation step
|
|
45
45
|
- **Branch naming** ties git branches to beads: `feature/<bead-id>-<description>`
|
|
46
46
|
|
|
@@ -55,7 +55,7 @@ the other.
|
|
|
55
55
|
|
|
56
56
|
When you use both, the connections are automated:
|
|
57
57
|
|
|
58
|
-
- `/rdr-close` creates beads (epic + task beads) for implementation tracking.
|
|
58
|
+
- `/nx:rdr-close` creates beads (epic + task beads) for implementation tracking.
|
|
59
59
|
The `epic_bead` field in each RDR's T2 metadata provides a machine-readable
|
|
60
60
|
link from decision to work items.
|
|
61
61
|
- RDR decisions surface as prior art during planning via `nx search "topic"` against the knowledge corpus.
|