Skip to content

Phase 1: foundation, bug-fix upstream, source router (deepXIV + biomed)#1

Merged
StartripAI merged 21 commits into
mainfrom
unify/v0.1.0
May 1, 2026
Merged

Phase 1: foundation, bug-fix upstream, source router (deepXIV + biomed)#1
StartripAI merged 21 commits into
mainfrom
unify/v0.1.0

Conversation

@StartripAI
Copy link
Copy Markdown
Owner

Summary

Phase 1 of the OpenRevise unification per docs/plans/2026-05-01-openrevise-unification-design.md:

1A — Foundation restructure:

  • Scaffolded pyproject.toml (Apache-2.0, name=openrevise, optional extras for preprint/biomed/mcp)
  • Moved scripts/src/openrevise/{artifacts,gates,sources,revise,pipeline}/ with corrected imports and parents[3] repo-root resolution
  • Added leak-guard regression test + pytest CI workflow with concurrency, timeout, fail-fast=false, pip cache, and permissions: contents: read
  • Confirmed Apache-2.0 LICENSE; README content already neutral

1B — Bug-fix upstream from private revise:

  • housekeeping --dry-run no longer mutates the run-index (two upsert_run_record sites guarded; regression tests for both COLD_ARCHIVED and EXPIRED_NONKEY_PURGED branches)
  • revise_docx reports a friendly stderr error instead of raw KeyError when the input DOCX is missing word/document.xml or word/footnotes.xml
  • ITT/mITT label-binding gate ported with regression test for SOP §Q15 swap detection; wired into both pipelines (run_revise_pipeline.py and _v2.py); --author default flipped Codex→OpenRevise across all pipeline scripts; meta.notes field added to patch-spec template (neutral text)

1C — Source router + preprint stack:

  • Skeleton SourceRouter with source_type dispatch and BackendNotRegistered exception
  • PreprintRouter with priority-ordered engines and graceful fallback (DeepXiv-SDK primary → native arXiv via feedparser fallback → soft-degrade to empty)
  • Real pubmed.py, europepmc.py, pmc.py clients using NCBI E-utilities and Europe PMC REST (replaces metadata-only registry tags)
  • default_router() factory wires preprint + biomed (with literature source_type alias for legacy registry compat); config/source_registry.yaml extended with arxiv/medrxiv/biorxiv source_ids

Test plan

  • pytest -q green locally (17 tests including 5 new TDD regression tests)
  • CI green on Python 3.11 / 3.12 matrix
  • pip install -e ".[dev]" succeeds in fresh venv
  • Leak-guard test catches a synthetic offender (PANOVA fixture positive control verified during Task 5 cycle)
  • Confirm CI workflows trigger correctly on this PR (test)

Out of scope (separate plan)

  • MCP server, CLI entry points, Claude Code skill bundle (Phase 2 / design steps 4–5)
  • LabelBindingProfile registry refactor — check_label_value_consistency.py retains opioid-anchored regex (with leak-guard allow-list TODO marker pointing at design step 7)
  • Private revise downstream refactor (Phase 2 / step 6)
  • v0.1.0 PyPI release (Phase 2)

🤖 Generated with Claude Code

StartripAI added 21 commits May 1, 2026 13:40
@StartripAI StartripAI merged commit 2cecaa8 into main May 1, 2026
1 of 3 checks passed
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