Skip to content

Feature contract matrix

This matrix is the canonical requirements document and repo contract for Sourceright. It defines what the technical preview must preserve, what is market-readiness hardening, and what is intentionally excluded for now.

  • references.csl.json is the canonical academic-reference source of truth.
  • references.verification.json records evidence, provenance, confidence, conflicts, and review state.
  • review-queue.jsonl is derived operational work.
  • Provider evidence must not silently overwrite canonical CSL.
  • Legal citations stay separate from academic CSL.
  • Claim/source/provenance features do not assert claim truth.
  • MCP write tools must stay dry-run first and require explicit apply.
  • Default tests must be deterministic; live services are opt-in external tests.
FeatureMoSCoWCurrent statusRepo contractEvidence and tests
Canonical CSL modelMustImplementedAcademic references are stored as clean CSL JSON keyed by stable id.CSL docs, schema and validation tests
Verification sidecarMustImplementedProvider evidence and review state stay outside canonical CSL.Sidecar docs and schema tests
Review queueMustImplementedReview work is reproducible from CSL plus sidecar state.Review queue fixtures and report tests
CSL validationMustImplementedCLI and tests emit deterministic diagnostics.validate-csl --json, schema inventory tests
Provider evidence normalizationMustImplementedProvider matches are recorded with provenance and confidence.Provider fixtures and report tests
In-text citation reconciliationMustImplementedMissing, uncited, duplicate, and ambiguous citations are surfaced without claiming source truth.Reconciliation tests
Export suiteMustImplementedXML, ENW, RIS, BibLaTeX, and YAML exports remain deterministic.Export tests and docs
CLI contractMustImplementedPublic commands keep JSON output stable where advertised.CLI end-to-end tests
MCP read contractMustImplementedTools, resources, and prompts are discoverable and local-stdio oriented.MCP distribution checks
Plugin registryMustImplementedRuntime discovery validates manifests before exposing capabilities.Plugin registry tests
Fixture benchmarkMustImplementedBenchmark claims are fixture-backed regression signals, not public SOTA claims.sourceright bench --json
Publication metadataMustImplementedRelease, crate, OCI MCP, MCP Registry, and Glama metadata stay version-aligned.Release and MCP distribution tests
Security governanceMustImplementedCI uses least privilege, dependency review, CodeQL, cargo audit, Scorecard, pinned actions, and quiet dependency automation.Security workflow and Renovate config
OJS-compatible screeningShouldContractedOJS is the first journal target, implemented through platform-neutral screening outputs.Journal integration docs and fixtures
Zotero-first citation syncShouldContractedSync defaults to preview, records audit logs, and only writes on explicit apply.Citation-sync schema tests
Live core providersShouldIn progressCrossref, DOI, DataCite, OpenAlex, PubMed, and ORCID remain opt-in and sidecar-only.Live-provider configuration docs
DOCX/PDF extraction hardeningShouldIn progressExtraction preserves provenance spans and reports OCR limitations honestly.Hardening fixtures
Citation disambiguationShouldIn progressInstitutional authors, same-author citations, and style variants route ambiguity to review.Disambiguation fixtures
URL/archive integrityShouldIn progressURL, DOI landing-page, redirect, and archive evidence is recorded as evidence, not truth.URL/archive fixtures
Low-noise writebackShouldIn progressSuggestions are thresholded, explained, dry-run first, and auditable.Writeback tests
Legal citation modeCouldImplemented as separate modelLegal citation records never force legal citations into academic CSL.Legal roadmap and model tests
Claim/source provenanceCouldImplemented as bounded graphClaims can be linked to sources, but Sourceright does not score claim truth.Provenance tests
Additional journal platformsCouldPlannedAdapters should call the Rust core or CLI/MCP, not reimplement verification logic.Future platform fixtures
More citation managersCouldPlannedEndNote and other managers should follow preview/apply/audit semantics.Sync contract docs
HTTP MCP hostingCouldDeferredLocal stdio remains the current server contract until a separate transport track exists.MCP docs
Automatic final verificationWon’t for nowExcludedThe product must not claim examiner-grade final verification until tracks 36-40 prove it.Product guidelines
AI authorship detectionWon’t for nowExcludedCitation errors are not treated as proof of AI authorship.Report wording tests
Silent provider overwriteWon’t for nowExcludedProvider data never mutates canonical CSL without review or explicit apply.Sidecar boundary tests
Default live external CIWon’t for nowExcludedOJS, Zotero, registry, and provider live tests require opt-in credentials and sample data.External-test plan

External tests should be added as opt-in smoke suites:

  • OJS fixture and live-test-instance smoke for submission screening.
  • CLI installed-binary smoke for init, validate-csl, report, export, bench, citation-sync, and mcp status.
  • MCP stdio transcript smoke for tool/resource/prompt discovery and read-only resources.
  • Zotero or Better BibTeX preview/apply smoke using a disposable library.
  • Registry smoke for crates.io, docs.rs, GHCR, official MCP Registry, Glama, and any future package-manager channels.