Skip to content

Releases: sadeghanisi/SLR

SLR Assistant v3.5.2

Choose a tag to compare

@sadeghanisi sadeghanisi released this 12 Jul 22:24
Immutable release. Only release title and notes can be modified.
aac5f0b

SLR Assistant v3.5.2

This release consolidates the v3.5.x Workspace UX/navigation redesign, persistent
workspace references and PDF metadata, the Human Review Queue, AI suggestions as
non-final, human decisions as final, workspace dedup persistence, and
workspace-scoped exports/cache/audit. It is the first release to ship Workspace
Exports, PRISMA-ready reporting data, and Methods Disclosure via the workspace
database.

Added

  • Workspace Mode UX/navigation redesign. Clear start screen separating
    + New Workspace, Open Existing Workspace, Recent Workspaces, and
    Continue Without Workspace. Workspace Mode and Legacy Mode are labeled
    explicitly in the WebApp header.
  • Guided workspace creation. A researcher can create a workspace using only
    a review title; no manual absolute path entry is required. The workspace lands
    under a safe default location (~/SLR Assistant Workspaces) with
    collision-safe folder names. Manual path entry remains available as an
    advanced option.
  • Recent workspace cards. Recent workspaces reopen from a card list via
    workspace_id without exposing absolute filesystem paths through the API.
  • Persistent workspace references, source provenance, and PDF metadata.
    Imports, parsed records, record-to-source links, and PDF metadata persist in
    workspace.sqlite3 and reload correctly on reopen, not just as counts.
  • Workspace-type review metadata. Optional review_title, review_type,
    review_question, and reviewer_name are stored on the workspace for
    display only; they do not alter screening, deduplication, or count
    definitions.
  • Human Review Queue foundation. Persistent review_items and decisions
    workflow using the existing SQLite workspace database.
  • Workspace review endpoints:
    • GET /api/workspace/review/queue
    • POST /api/workspace/review/decision
    • POST /api/workspace/review/accept-ai
    • POST /api/workspace/review/override
    • GET /api/workspace/review/summary
  • Compact WebApp review queue card with status filter, AI suggestion, human
    final decision, rationale field, exclusion reason dropdown, and Include /
    Exclude / Maybe / Accept AI actions.
  • AI suggestions are treated as non-final. AI include/exclude/maybe output
    is stored as actor_type = ai and never counts as a final eligibility
    decision. A human Include / Exclude / Maybe decision is required for final
    status.
  • Human decisions as final. Human Include / Exclude / Maybe decisions
    override AI suggestions and become the final eligibility decision in
    workspace summaries and exports.
  • Workspace dedup persistence. DOI and fuzzy-title deduplication marks
    records inactive while retaining them for audit; active unique and duplicate
    counts persist across reopen.
  • First-class record_origin. Records carry record_origin of
    imported_reference, pdf_only, or manual, so exports and PRISMA-ready
    counts distinguish database/reference imports from PDFs added without
    reference metadata. PDF-only records are usable in the review queue and
    counted separately from imported reference records.
  • Workspace-scoped exports/cache/audit. Processing runs write output,
    cache, and audit artifacts under workspace exports/, cache/, and
    audit/ as workspace-relative paths.
  • Workspace Exports. Workspace reporting data generated from the local
    workspace database:
    • New Workspace export endpoints:
      • GET /api/workspace/exports/summary
      • POST /api/workspace/exports/generate
      • GET /api/workspace/exports/list
      • GET /api/workspace/exports/download/<export_id>/<filename>
    • Workspace export files under workspace/exports/<export_id>/:
      • workspace_screening_decisions.csv
      • workspace_screening_decisions.xlsx
      • workspace_review_items.csv
      • workspace_ai_suggestions.csv
      • workspace_human_decisions.csv
      • workspace_full_text_exclusions.csv
      • prisma_ready_counts.json
      • prisma_ready_counts.csv
      • methods_disclosure.md
      • export_manifest.json
  • PRISMA-ready reporting data. PRISMA-ready counts derived from workspace
    SQLite data, including active unique imported references, duplicate records
    hidden from active screening, PDF-only records, manual records, AI-only
    unfinalized suggestions, human final decisions by stage, failed items, and
    full-text exclusions by reason. Counts marked not_available are not
    fabricated.
  • Methods Disclosure. Conservative methods_disclosure.md draft explaining
    local-first mode, AI suggestions, human-final decisions, deduplication,
    record origins, AI provider/model metadata where available, full-text
    exclusion handling, and limitations. It does not claim PRISMA compliance.
  • Reference-list search and pagination. The in-workspace reference list is
    bounded and scrollable, with Showing X of Y records copy, search across
    title/authors/year/journal/doi/record_id, and page/per_page pagination
    metadata.
  • Workspace progress panel showing local database counts for imported
    reference records, PDF-only records, manual records, sources, PDFs, review
    items, AI suggestions, human decisions, and pending/final statuses.
  • Review queue filter context showing current stage/status/origin filters,
    visible item count, total review item count, imported-reference count, and
    PDF-only count. The WebApp explains when a queue view is a filtered subset of
    a much larger imported reference set.
  • Compact Workspace Exports panel in the WebApp Results stage.
  • Default local reviewer and default exclusion reasons.
  • Workspace audit events for AI suggestions, human decision actions, PDF
    uploads/deletes, and reference imports/deduplication.
  • Tests for AI suggestions, human decisions, full-text exclusion reasons,
    accept/override behavior, queue persistence, restart/reopen behavior,
    workspace summary/filter metadata, origin counts, reference-list pagination,
    recent-workspace privacy, and privacy scrubbing.
  • Co-author citation metadata, including ORCID, affiliation, and public profile
    references in project documentation.

Changed

  • Review status transitions are centralized in workspace_store.py.
  • Workspace exports use human final decisions as final eligibility decisions.
    AI-only suggestions are explicitly labeled as not final
    (final_decision_source = ai_suggestion_not_final).
  • Duplicate and inactive records are retained in audit/export rows but
    excluded from active screening counts.
  • Full-text human exclude decisions require an exclusion reason.
  • Workspace summaries now include review item and decision counts.
  • Export manifests and APIs return workspace-relative paths only.

Security

  • Decision and audit metadata continue to scrub API keys, raw secrets, full
    prompts, raw provider request bodies, and full paper text. AI metadata
    persisted in workspace decisions is limited to sanitized fields such as
    provider, model, prompt hash, text hash, cache key, confidence, and
    rationale.
  • Workspace export metadata avoids absolute workspace paths in API responses.
  • Export downloads validate that the requested file remains inside the
    selected workspace export folder.
  • Workspace paths reject traversal and unsafe roots (filesystem root, drive
    root, home directory), and registered PDFs confined to workspace pdfs/.

Known Limitations

  • Workspace review queue is a single-reviewer foundation only. There is no
    dual reviewer workflow
    and no kappa calculation.
  • There is no conflict UI or adjudication workflow for disagreeing
    reviewers.
  • There is no extraction workflow persistence or extraction review in the
    workspace database yet; structured extraction remains run-based.
  • There is no OCR step for scanned PDFs.
  • There is no risk-of-bias or quality appraisal tooling.
  • There is no SaaS, login, or multi-user behavior; the Web App remains
    local-first on the researcher's own computer.
  • There is no automatic PRISMA compliance. PRISMA-ready counts are derived
    from workspace data and must be checked against the protocol, search logs,
    and final human decisions before reporting.
  • Full-text report availability remains not_available unless tracked
    separately; full-text reports are not yet represented as a distinct
    availability count in the workspace schema.
  • Legacy run-based exports remain unchanged; use Workspace Exports for
    workspace-decision-aware reporting data.

SLR Assistant v3.4.0-rc.1

Choose a tag to compare

@sadeghanisi sadeghanisi released this 05 Jul 17:19
Immutable release. Only release title and notes can be modified.

SLR Assistant v3.4.0-rc.1 Release Notes

What Changed

  • Added provider profiles, including OpenAI-compatible provider profiles.
  • Added provider privacy labels so users can distinguish local, direct cloud, router, and custom endpoint behavior.
  • Hardened local-first privacy behavior and API key handling.
  • Added configuration-aware JSON cache keys and a JSONL audit ledger.
  • Added provider-level rate limiting.
  • Fixed WebApp PDF screening counters, results, and report visibility.
  • Fixed recursive PDF discovery and same-basename PDF handling in subfolders.
  • Added a reproducible synthetic mocked benchmark suite and benchmark report.
  • Updated release metadata and documentation for conservative AI-assisted, PRISMA-aligned wording.

Why It Matters

This release candidate focuses on reproducibility, privacy, and operational clarity. It improves how runs are cached and audited, makes provider behavior easier to reason about, and fixes PDF workflow issues that could obscure results in the local WebApp.

Upgrade Notes

  • API keys are not saved to plaintext settings files. Re-enter keys when needed or use supported environment/credential mechanisms.
  • Runtime cache loading is JSON-only. Legacy pickle cache files are not loaded automatically.
  • Review cache and audit outputs before using generated results in research outputs.
  • The WebApp remains local-only and should stay bound to 127.0.0.1.

Known Limitations

  • SLR Assistant is not a full collaborative review management platform.
  • There is no Project/Workspace model yet.
  • Dual-reviewer workflows and conflict adjudication are not implemented yet.
  • PRISMA support is partial and does not guarantee PRISMA compliance.
  • There is no formal real-world LLM validation benchmark yet.
  • Page-level quote tracing is not implemented yet.

Validation

  • python -m py_compile llm_interface.py slr_gui.py housing_enhanced.py WebApp/app.py benchmarks/run_benchmarks.py -> passed.
  • python -m pytest -q -> 82 passed.
  • python benchmarks/run_benchmarks.py --quick -> passed in 33.324 seconds.
  • Tests and benchmarks used mocked/fake providers only and made no external LLM API calls.

Benchmark Scope

The benchmark suite uses deterministic synthetic data and fake provider responses. It is suitable for smoke/performance documentation of engineering behavior, but it does not measure real-world LLM accuracy, latency, cost, token usage, or provider availability.

v3.4.0-beta.1

Choose a tag to compare

@sadeghanisi sadeghanisi released this 05 Jul 11:19
Immutable release. Only release title and notes can be modified.

Highlights

  • Updated README, Complete User Guide, WebApp, GUI, and GitHub Pages version references to 3.4.0-beta.1.
  • Softened positioning to AI-assisted systematic/scoping review workflows with required human verification.
  • Documented local-first privacy behavior, API-key handling, provider privacy labels, JSON-only runtime cache loading, configuration-aware cache keys, and audit JSONL output.
  • Documented the WebApp PDF counters/results/report visibility fix.
  • Removed emoji-range characters from README documentation.

Validation

  • python -m py_compile llm_interface.py slr_gui.py housing_enhanced.py WebApp/app.py
  • python -m pytest -q -> 63 passed

v3.4.0-beta.2

v3.4.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@sadeghanisi sadeghanisi released this 05 Jul 15:09
Immutable release. Only release title and notes can be modified.

Changes

  • Added opt-in recursive PDF discovery with clear relative filenames for PDFs in subfolders.
  • Added a centralized version source in version.py and a scripts/sync_version.py propagation/check script.
  • Updated runtime modules, WebApp templates, docs, and GitHub Pages metadata to v3.4.0-beta.2.
  • Added tests for PDF subfolder behavior and version synchronization.

Validation

  • python -m py_compile version.py scripts/sync_version.py llm_interface.py ingestion.py slr_gui.py housing_enhanced.py WebApp/app.py
  • python -m pytest -q (71 passed)