feat(#112): photo segmentation pipeline — modular package + tests #114
No reviewers
Labels
No labels
blocked:children
blocked:depends-101
blocked:depends-103
blocked:depends-104
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:preflight
bug
chore
feature-request
in-progress
lint-cleanup
needs-decompose
performance
quality
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/easystitch!114
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "photo-segmentation/t_218724de"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Photo-segmentation pipeline — recovery of #109 dirty-tree work
This PR lands the photo-segmentation pipeline recovered from the 2026-07-29 dirty-tree
incident (#109). Per the triage decision (KEEP — memo on kanban task t_6e79674c), the
implementation was already committed on branch
photo-segmentation/t_218724deat4709f09and is tracked by review issue #112. This PR is the review/merge vehiclefor that branch, executed by the KEEP executor card t_ea8387b4.
A separate recovery issue was not filed: #112 already serves as the review tracker
for exactly this branch, and filing a duplicate would split the review trail. The
"recovered from dirty tree" framing lives in #109; #112 is the live tracker.
What's in the branch (31 files, +3402)
src/segmentation/— modular package implementing all 4 scope items fromdocs/photo-segmentation-design-state.md:weighted palette allocation (
mode_router.py— 5-mode table, stages [1]–[8])mapper.py)outline_extract.py)gradient_detect.py)docs/photo-segmentation-design-state.md— the design spectests/segmentation/(9 files),tests/e2e/,tests/fixtures/— 95 testsVerification (run 2026-07-30 from a clean git archive of
4709f09)pytest tests/segmentation/ tests/e2e/→ 95 passed (71 unit + 24 e2e)ruff check src/segmentation/ tests/segmentation/ tests/e2e/ tests/fixtures/→ cleanpyproject.tomlOut-of-scope leftovers (removed by the KEEP executor per triage memo)
src/raster/photo_segmentation.py,tests/test_photo_segmentation.py,hermes-verify-e2e.py— the earlier single-file cv2 prototype + scratch script,redundant with
src/segmentation/. Deleted from the working tree to unblock thekilo-gsd pre-dispatch gate; byte-for-byte backup kept in the kanban workspace
(
workspaces/t_0ba18761/leftover-backup/).Ref: #112 (review tracker), #109 (root-cause incident), #111 (lint preflight).