Skip to content

Latest commit

 

History

History
90 lines (68 loc) · 6.8 KB

File metadata and controls

90 lines (68 loc) · 6.8 KB

DiffScope roadmap

Enhancement backlog derived from open GitHub issues. Use gh CLI for triage and filtering.

gh CLI workflow

# List open issues (default: 30)
gh issue list

# Filter by label
gh issue list --label "priority: high"
gh issue list --label "area: review-pipeline"

# Search (advanced filters)
gh issue list --search "no:assignee sort:created-asc"
gh issue list --search "verification OR RAG"

# View one issue
gh issue view 32

# Add/remove labels (labels must exist: gh label create "name" --color "hex" --description "desc")
gh issue edit 32 --add-label "priority: medium,area: plugins"
gh issue edit 32 --remove-label "help wanted"

# Add to project (requires project scope)
gh issue edit 32 --add-project "Roadmap"

Create labels once: priority: high, priority: medium, priority: low, area: review-pipeline, area: plugins, area: platform.


Priority: High / Critical

# Title Area Notes
27 Embedding-based false positive filtering from developer feedback review Greptile-style: block if similar to 3+ downvoted; pass if 3+ upvoted. Per-team.
23 Verification pass to catch hallucinations review Second LLM pass validates findings vs actual code; drop below score. Partially done (verification in config/pipeline).
22 Embedding-based RAG pipeline with function-level chunking review NL summaries + pgvector; highest leverage for catch rate.
24 Agentic review loop with tool use review Tools: search_code, read_file, search_symbols, git_log, git_blame.
21 Multi-agent architecture: review + fix + test agents platform Fix Agent, Test Agent, Triage Agent; orchestration.
10 Deep codebase graph context in review prompts review Pre-index repo; inject callers/callees/contracts into prompt.

Priority: Medium

# Title Area Notes
32 In-sandbox linter/analyzer execution plugins ToolSandbox + AnalysisTool trait; Clippy, Ruff, Gitleaks, ShellCheck, actionlint.
31 AST-based structural pattern matching (ast-grep) plugins Pre-analyzer plugin; coderabbitai/ast-grep-essentials rules.
30 Adaptive patch compression for large PRs review Full → Compressed → Clipped → MultiCall; token budget.
29 File triage: classify before expensive review review NeedsReview vs Cosmetic/ConfigChange/TestOnly; heuristic + cheap model.
28 Robust LLM output parsing with fallback strategies review In progress: code-block extraction, trailing commas, diff-prefix strip. More fallbacks in parsing/llm_response.rs.
25 Dynamic context: enclosing function/class boundary review Search upward for boundary; reuse symbol_index patterns.

Priority: Low / Tier 2–3

# Title Area Notes
20 Built-in secrets detection scanner plugins Done: secret_scanner.rs with AWS, GitHub, Slack, JWT, PEM, etc.
19 Compliance review command platform diffscope compliance — security, secrets, rules, ticket, licenses, duplication.
18 Authentication layer for web UI (SSO/SAML) platform Basic → OAuth/OIDC → SAML, RBAC.
17 GitLab, Azure DevOps, Bitbucket support platform GitPlatform trait; GitLab first.
15 Auto-generate Mermaid sequence diagrams in PRs review Symbol graph → sequence diagram in PR comment.
14 VS Code / IDE extension platform Staged/unstaged review, inline diagnostics, Quick Fix.
13 Ticket validation (Jira/Linear/GitHub Issues) platform Fetch ticket, validate acceptance criteria.
12 Natural language custom review rules review Prose rules in YAML or .diffscope-rules.
11 PR analytics and review metrics dashboard platform Persist to PG, aggregation, dashboard.
9 Structured PR description auto-generation platform pr describe — walkthrough, labels, breaking, testing notes.

Shipped (recent)

  • v0.5.28 (2026-03-15): MCP tools, fix-loop orchestration, symbol graph enhancements, feedback learning, eval expansion, server API auth, analytics dashboards, self-hosted diagnostics.
  • v0.5.27 (2026-03-14): Version bump; test coverage (parsing, guidance, triage, config); PRs #44, #45, #46.
  • Natural language rules (#12): review_rules_prose: [ "Rule one", "Rule two" ] in config; injected as "Custom rules (natural language)" bullets into review guidance. Tests: test_config_deserialize_review_rules_prose_from_yaml, build_review_guidance_includes_prose_rules.
  • Triage skip deletion-only (#29): triage_skip_deletion_only: true in config; when true, deletion-only diffs get SkipDeletionOnly and skip expensive review. Default false. Tests: test_triage_deletion_only_with_skip_true_returns_skip_deletion_only, config deserialize.
  • Dynamic context (#25): find_enclosing_boundary_line in function_chunker.rs; context.rs expands hunk start to enclosing function/class boundary; asymmetric context (5 before, 1 after).
  • LLM parsing (#28): Repair candidates in repair_json_candidates: diff-style line prefixes (+), single-quoted keys/values → double-quoted, tab→space; raw bracket span fallback when valid JSON not found. Tests: parse_json_with_diff_prefix_artifact, parse_json_with_single_quotes, parse_json_with_tabs.
  • Secrets (#20): Built-in secret scanner in plugins/builtin/secret_scanner.rs.
  • Verification (#23): Verification pass and config (verification.*) in pipeline.

References