-
Notifications
You must be signed in to change notification settings - Fork 0
spec(075): Add branching from history point specification #215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
Define the user-facing requirements for creating alternative analysis paths by branching from any point in a plot's Log history (SRD P5). https://claude.ai/code/session_01MvTioWVxqxubx6dVEK1wvH
Phase 0 research, data model, API contracts, quickstart guide, and media content for the branching feature (SRD P5, E02 Phase 5). Key decisions: - Branches as independent STAC Items (not source assets) - Deep-copy + provenance trim (no tool replay for current segment) - Pre-snapshot branching limited to snapshot boundaries initially - Two-way links via system record BranchRecord/BranchOrigin https://claude.ai/code/session_01MvTioWVxqxubx6dVEK1wvH
51 tasks across 6 phases: setup, foundation (pure helpers), US1 (branch from current segment - MVP), US2 (navigation API), US3 (snapshot-boundary branching), and polish with evidence. https://claude.ai/code/session_01MvTioWVxqxubx6dVEK1wvH
- Add BranchOrigin, BranchResult, BranchServiceDeps types (T001-T004) - Create branchService.ts with factory pattern (T005) - Implement pure helpers: findEntryInFeatures, trimProvenanceToEntry, createBranchRecord, createBranchOrigin, createBranchProvEntry (T006-T010) - Implement branchFrom() for current-segment branches (T020-T022) - Implement locateBranchPoint() with snapshot chain walk (T021, T040) - Implement getBranches() and getBranchOrigin() navigation (T033-T034) - Handle snapshot-boundary branches and REPLAY_NOT_AVAILABLE (T041-T042) - 33 unit tests covering all user stories (T011-T019, T028-T032, T036-T039, T043) - Extend LinkML schema with BranchOrigin class (T025) - Add branched-system-record.json golden fixture (T024) - Update existing fixtures with branchOrigin: null field https://claude.ai/code/session_01MvTioWVxqxubx6dVEK1wvH
- sample-branch-geojson.json: example branch plot with BranchOrigin - branch-creation-flow.md: step-by-step branch creation walkthrough - shipped-post.md: blog post celebrating feature completion - linkedin-shipped.md: LinkedIn summary for shipped feature - tasks.md: mark all 50 tasks (T001-T050) as completed https://claude.ai/code/session_01MvTioWVxqxubx6dVEK1wvH
- logService.test: branchFrom stub now references BranchService, not "not implemented" - snapshotHelpers.test: createSystemRecord now includes branchOrigin: null https://claude.ai/code/session_01MvTioWVxqxubx6dVEK1wvH
IanMayo
pushed a commit
that referenced
this pull request
Feb 11, 2026
Cross-referenced 20 merged PRs from the last 72 hours with backlog items. Verified completion via task checklists and evidence artifacts. Newly completed (all tasks done, evidence present, PRs merged): - #70 PROV schema foundation (PR #205/#206) - #71 Log Recording service (PR #207) - #72 Log Panel (PR #211) - #73 Undo/redo split (PR #210) - #74 Snapshots (PR #209) - #75 Branching (PR #215) - #77 Fix VS Code extension bugs (PR #217) - #77 STAC File Tree Component (PR #217) Also: reordered active items by status priority (implementing > specified > approved > proposed), then by total score descending. Removed 7 duplicate completed entries at bottom of table. https://claude.ai/code/session_013y5hsr6RyeCaAFbegJG2W9
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.
Summary
Add comprehensive specification and design documentation for feature 075-branching, which enables analysts to create independent plot branches from any point in the analysis log history. This includes the feature specification, data model, research findings, implementation plan, and TypeScript contract definitions.
Key Changes
BranchOrigin,BranchRecord,FileProvEntry, andSystemRecordPropertieswith state transition examplesBranchOrigintype, extending LinkML schema, implementing branch service, and wiring into existing Log ServiceBranchService,BranchServiceDeps, and pure helper functions (TrimProvenanceToEntry,CreateBranchRecord,CreateBranchOrigin, etc.)BranchOrigin,BranchFromOptions,BranchResult,BranchPointLocation, and error codesNotable Implementation Details
BranchRecord(source side) andBranchOrigin(branch side) in system recordsbranch-{8-char-uuid-suffix}for uniqueness and filesystem safetySpecification Status
All mandatory sections completed with no [NEEDS CLARIFICATION] markers. Constitution check passes all 11 articles. Ready for implementation planning.
https://claude.ai/code/session_01MvTioWVxqxubx6dVEK1wvH