Repository navigation
feat: step through a branch's commits read-only - #126
Merged
Merged
Conversation
Collectors capture the newest 100 merge-base..HEAD commits with per-commit diffs in the same observation (schema 14, additive). Commits get REST and MCP read routes; the web app adds a Commits lens with a stepper, commit banner, Alt+[ / Alt+], ?commit= URLs and patch-id resume. Commit views are read-only.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
diffsource,collector,fetcher): branch observations now carry the newest 100merge-base..HEADcommits, oldest first, with metadata,git patch-id --stableand a first-parent diff per non-merge commit (root commits diff against the empty tree). Merges are listed without a diff. Commit patches are budgeted after scope patches, then scope contents, then commit contents. The GitHub fetcher prefetches the commit blobs so offline collection can read them.commits+commitsTotal, validated to a branch comparison ending at HEAD with lowercase unique OIDs andmode/kindcommitsnapshots. Commit OIDs extend reuse identity only when present, so existing replays are unchanged. The server must be installed before collectors that send commits.observation_commits+observation_commit_ranges; commit diffs reusediffswith modecommit. Catalog counts and scope summaries exclude them; delete, expiry, prune and reuse cover them.commitis not aDiffMode, so comments and review marks cannot target it.httpapi,reviewservice,mcpapi): addsContext.commits {count, omitted},GET /contexts/{id}/commitsand/commits/{oid}/diff|files/{fileId}/patch|contents, plusDiffViewModeforRepositoryDiff.mode. MCP gainslist_commitsand an optionalcommitonget_diff/get_file_patch(not combinable withscope). All read-only.ui/comboboxlist, Alt+[ / Alt+]), a commit banner with a plain-text message disclosure, and?commit=<oid>URLs. Commit views are read-only: file headers show "Open in Branch changes", with no marks, comments or line selection. Merge and missing commits stay selected and explain why. The stream remembers the commit and, after View latest, resumes it by SHA, then patch-id, else the oldest commit with a notice.docs/system.md,docs/architecture.md,DESIGN.md, plus the docs-site usage/API/MCP pages.Validation:
mise run check:pushpasses.