Skip to content

epic: sk v1.3 → v2.0 roadmap — durability, hybrid retrieval, MCP, security #613

@magicpro97

Description

@magicpro97

User Story

As the sk maintainer, I want a single tracking epic that sequences the v1.3 / v2.0 work so that contributors can see dependencies and ship the deliverables in the right order.

Context

Four research reports (sk-painpoints, sk-architecture @ f37c9bc, memory-landscape capability matrix of 13 tools, homerokzam/claude-mem-copilot bridge analysis) converge on three themes: (1) durability of multi-agent writes is broken; (2) retrieval lags vector competitors but can be matched in stdlib via hybrid RRF; (3) integration surface (MCP) is missing entirely. Killer differentiators identified: hybrid retrieval, MCP-in-stdlib, confidence-gated auto-PR. Unique strengths to preserve: zero external deps, 7-category typed schema, Confidence Gate, Trend Scout, Board Import, Telemetry contracts.

Inputs

  • Existing v1.2.0 codebase at sk-rust/ (Rust 2021, MSRV 1.75, rusqlite bundled, FTS5 + TF-IDF)
  • 13 child issues listed below

Outputs

v1.3 (durability + observability + docs) — Q1 milestone

v1.4 (retrieval + ergonomics) — Q2 milestone

v2.0 (integration + automation) — Q3 milestone

Definition of Done — Functional

  • Each child issue closed with passing CI on Windows + macOS + Linux
  • v1.3 release notes ship a migration guide for queue/receipt semantics
  • v1.4 release ships a recall@10 benchmark vs v1.3 on a seeded corpus (target ≥ 15% improvement)
  • v2.0 release ships an MCP conformance test against Claude Desktop + mcp-inspector
  • Each release tags magicpro97/copilot-session-knowledge and publishes signed sk-{windows,macos,linux}-{x64,arm64} binaries

Definition of Done — Performance

  • v1.3: 0 queue fallbacks at N=4 concurrent writers (vs current "≥6 mentions across 30 checkpoints")
  • v1.4: p95 query latency < 80 ms with hybrid ranking on 10k-entry DB
  • v2.0: MCP tool-call overhead < 5 ms over native baseline

Definition of Done — Security

  • v1.3 enforces redactor by default on new installs (SK_REDACT=deny)
  • v2.0 MCP server has read-only mode + per-tool allowlist + audit on every call
  • Threat model document published under docs/security/threat-model.md

Constraints

  • Zero external runtime deps per release (no new top-level Cargo deps; feature-gated only)
  • Cross-platform CI matrix
  • Each release is a clean upgrade from the prior version (forward-only migrations)

Out of scope (this epic)

  • External embedding providers as default (covered by native-extract feature, opt-in)
  • Multi-host shared memory beyond existing sync engine
  • Encryption-at-rest (tracked separately; depends on Issue Phase 4: Isolate subagent hooks by repo #9 redactor as precursor)
  • Tentacle / scout / profile / checkpoint native rewrites (Python passthrough stays for v1.3–v2.0)

Related


---

# Final summary table

| # | TITLE | PRIORITY | LABELS |
|---|-------|----------|--------|
| 1 | fix(learn): distinct exit codes + receipt for flushed vs queued learn writes | priority:high | priority:high,quality-gates,safeguards,developer-experience |
| 2 | perf(db): WAL+busy_timeout tuning and writer-broker for multi-agent SQLite contention | priority:high | priority:high,performance,concurrency,safeguards |
| 3 | feat(hooks): auto-flush learn-inbox on sessionEnd and task_complete | priority:high | priority:high,quality-gates,safeguards,developer-experience |
| 4 | feat(observability): sk audit-log + cross-agent learn→briefing latency telemetry | priority:high | priority:high,performance,latency,developer-experience |
| 5 | feat(retrieval): hybrid FTS5 + TF-IDF + Reciprocal Rank Fusion as default query ranking | priority:high | priority:high,feature,retrieval,hybrid-search,performance |
| 6 | feat(mcp): sk mcp stdio server exposing core tools (stdlib only) | priority:high | priority:high,feature,mcp,architecture |
| 7 | feat(automation): confidence-gated auto-PR of learnings to project repo | priority:medium | priority:medium,feature,automation,quality-gates |
| 8 | feat(ingest): sk learn --from-checkpoint / --from-pr batch ingest adapters | priority:medium | priority:medium,feature,developer-experience,ingest |
| 9 | sec(learn): pre-write secret redactor + sk index health --check-secrets | priority:high | priority:high,safeguards,security,quality-gates |
| 10 | refactor(docs): make sk the single entrypoint; deprecate Python paths in SKILL.md | priority:medium | priority:medium,refactor,developer-experience,python,migration |
| 11 | feat(observability): echo browse URL + DB path + queue depth in sk index status | priority:medium | priority:medium,developer-experience,browse-ui |
| 12 | feat(schema): --supersedes flag + provenance edges for reversed decisions | priority:medium | priority:medium,feature,quality-gates |
| 13 | feat(taxonomy): canonical wing/room registry + sk taxonomy validate | priority:medium | priority:medium,feature,quality-gates,developer-experience |
| 14 | epic: sk v1.3 → v2.0 roadmap — durability, hybrid retrieval, MCP, security | priority:high | epic,priority:high,architecture |

---

**Note to orchestrator:** System rules in my prompt prohibit me from writing output to files; the full spec content above is provided inline so the main agent can persist it to `C:\Users\linhnt102\.copilot\session-state\61c4d757-2ab3-438e-8377-6bc7ad54f003\files\sk-issues-spec.md` (e.g., via the main agent's Write tool). New label suggestions used: `concurrency`, `retrieval`, `hybrid-search`, `mcp`, `automation`, `ingest`, `security` — bias was toward existing labels.

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureAuto-created for research issuesepicAuto-created for research issuespriority:highAuto-created for research issues

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions