Skip to content

feat: findings SoT — persist, auto-resolve, CLI (#397-#400) + v0.8.4 - #401

Closed
ajianaz wants to merge 14 commits into
developfrom
fix/installer-asset-url-mismatch
Closed

ajianaz wants to merge 14 commits into
developfrom
fix/installer-asset-url-mismatch

Conversation

@ajianaz

@ajianaz ajianaz commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

Issues: #397, #398, #399, #400 + installer URL fix

What Changed

  • Persist findings to cora.db — review & scan results now saved with fingerprints
  • Auto-resolve stale findings — findings not seen in latest review/scan auto-close
  • cora findings CLI — list, stats, dismiss, reopen subcommands
  • Fix installer URL — matches release asset naming convention
  • Version bump — 0.8.3 → 0.8.4

Test Results

Repo Language cora index cora scan cora brain
cora-code Rust 194 symbols ✅ 115 files ✅ ✅
uteke Rust 213 symbols ✅ 144 files ✅ ✅
titen Rust 605 symbols ✅ 84 files ✅ ✅
glm-proxy-golang Go 248 symbols ✅ 49 files ✅ ✅
dolanan TypeScript 1154 symbols ✅ 97 files ✅ ✅
bond Go+SvelteKit 2616 symbols ✅ ⚠️ config error ✅
  • 742 tests pass, 0 warnings
  • cora findings end-to-end: dismiss → list --all → reopen → stats --json all working
  • Auto-resolve verified: stale finding auto-closed after new scan

Known Issues (non-blocking)

  1. scan --format json — progress/warn logs leak to stdout (should be stderr)
  2. Bond repo .cora.yaml has unknown field severity — needs update

Binary

  • cora 0.8.4 — 11MB release build
  • CI: Green (no test failures)

ajianaz and others added 14 commits July 17, 2026 07:37
Sync main ← develop (theme pin fix)
sync: develop → main for v0.8.2 release
…Too Large)

- Add `exclude` field to [package] for vendored/, docs/, .github/, tests/
- Gate `token_vocab` module behind `pretrained-embed` feature flag
- Package size: 31.9MB → 300KB (well under 10MB crates.io limit)
- Pretrained embeddings still work locally via `--features pretrained-embed`
fix: exclude vendored embeddings from crates.io package
Old: cora-{os}-{arch} (bare binary)
New: cora-{target}-v{version}.{ext} (tarball/zip)

- Map to Rust target triples (e.g. aarch64-apple-darwin)
- Extract tar.gz / zip before install
- Add Windows MSYS2/MINGW detection
- Add db_writer module with save_review_to_db() that writes to
  reviews, findings, and finding_events tables (Schema v5)
- Wire db_writer::save_review_to_db into execute_review (both
  single-file and chunked paths) and execute_scan
- Rename graph.db references to cora.db in data_dir.rs
- Add Schema v5 migration: reviews, findings, finding_events tables
  with indexes on fingerprint, file_path, review_id
- All DB writes are best-effort (non-fatal) to never block a review
- 742 tests pass, 0 warnings
- Add resolve_stale_findings() to db_writer: queries open findings in
  the same project, compares fingerprints against current review, and
  marks missing ones as 'resolved' with 'auto_resolved' event
- Expose compute_fingerprint_pub() so callers can compute fingerprints
  for the current issue set before calling resolve_stale_findings
- Wire auto-resolve into both review paths (single-file + chunked) and
  scan, called immediately after save_review_to_db
- Fix duplicate #[cfg(test)] attribute in db_writer tests
- 742 tests pass, 0 warnings
Subcommands:
- list: show findings (open by default, --all for all, --severity/--file
  filters, --json)
- stats: summary counts (total, open, resolved, dismissed, resolution
  rate) with --json
- dismiss <id>: mark finding as dismissed with optional --reason
- reopen <id>: reopen a dismissed/resolved finding

Read-only actions (list, stats) use open_db_for_read() — no migrations.
Write actions (dismiss, reopen) use open_db_for_write() — runs migrations.

End-to-end verified: dismiss → list --all → reopen → stats --json all
working against real cora.db. 742 tests pass, 0 warnings.
- CHANGELOG.md: add 0.8.4 section (#397, #398, #399, #400)
- Cargo.toml: 0.8.3 → 0.8.4
- Cargo.lock: updated
@ajianaz

ajianaz commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator Author

Closing: branch is stale (based on pre-Phase1 develop) and CI fails (Format + Clippy). Content is still relevant — will rebase onto latest develop and reopen as fresh PR.

@ajianaz ajianaz closed this Jul 28, 2026
@ajianaz
ajianaz deleted the fix/installer-asset-url-mismatch branch October 16, 2026 00:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant