Skip to content

feat(cli): add saved source-change reviews with explicit acknowledgment - #38

Merged
zz-plant merged 2 commits into
mainfrom
feat/source-change-review
Oct 13, 2026
Merged

zz-plant merged 2 commits into
mainfrom
feat/source-change-review

Conversation

@zz-plant

Copy link
Copy Markdown
Collaborator

Re-running an analysis does not tell a reviewer which source changes remain unreviewed. This adds refract review with saved watchlists, resumable revision windows, source links, explicit coverage, and acknowledgment of a saved report. Fetching a newer revision never advances the reviewed baseline.

The command saves captured revisions and source-aware event entries, pins each fetch to a source head, and rejects acknowledgment of incomplete, altered, or stale reports. Filters change the displayed view while acknowledgment applies to the complete captured span. A fictional offline sample exercises partial fetch, resume, acknowledgment, and an unchanged rerun.

Analysis and the explorer now retain requested bounds and coverage, avoid diffs across known gaps or unavailable text, and preserve parent/content-availability metadata through ingestion and SQLite. Passage history distinguishes exact, candidate, and absent latest matches; the MCP response uses the same result.

The README and guides lead with source review and inspectable observations. Captured examples are checked in CI. docs/repositories.md defines ownership and proposes moving the docs site, browser viewer, and Python adapter into separate subprojects in this repository, with independent builds, licenses, and deployment/install cutovers. No repository migration or archival is performed here.

Validation

  • bun run ci: build, Biome, typecheck, boundaries, 1,109 passing tests (27 skipped), and six-package consumer pack/install check.
  • bun run check:examples: offline onboarding, saved review reports, and pinned Bitcoin examples match their capture scripts.
  • MediaWiki live contract suite passed separately: 9 tests.
  • Manual Node consumer of the local tarballs completed sample review, saved-report acknowledgment, and a no-change rerun.

Release and scope

This remains an unreleased source-build feature; package versions are unchanged. Review observes article revisions, not talk-page or move-log events. The documentation distinguishes mechanical observations and captured-window coverage from downstream judgments. Public-docs changes should merge after this PR so their canonical guide links resolve.

zz-plant and others added 2 commits October 12, 2026 18:45
README.md conflicted: this branch and main's "docs: declutter README" (#36)
each rewrote it from the same 469-line version. Kept this branch's README,
which documents `refract review`, the offline walkthrough and the captured
Bitcoin example, and carried over what #36 added that it lacked: the Bun
badge, the Python SDK (as a row in "Use it in your application"), the
monorepo architecture tree, and the development commands, using
`bun run test` (vitest) rather than `bun test`. #36's Semaglutide sample
output and its docs link list are not carried over; every link in that list
except the docs/README.md hub already appears in this README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@zz-plant
zz-plant merged commit 14d092a into main Oct 13, 2026
3 of 4 checks passed
@zz-plant
zz-plant deleted the feat/source-change-review branch October 13, 2026 01:28
zz-plant added a commit that referenced this pull request Oct 13, 2026
packages/cli/src/commands/analyze.ts conflicted on runAnalyze's signature:
#38 widened its return type with `coverage`, this branch added the
`{ recordObservation }` option. Kept both.

CHANGELOG.md had two "## Unreleased" headings on main, from #38's section
merging beside the existing one without a conflict. Folded them into one,
entries unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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