refactor: independent sessions for page-split + URL-based pipeline navigation

Page-split now creates independent sessions (no parent_session_id),
parent marked as status='split' and hidden from list. Navigation uses
useSearchParams for URL-based step tracking (browser back/forward works).
page.tsx reduced from 684 to 443 lines via usePipelineNavigation hook.

Box sub-sessions (column detection) remain unchanged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-24 17:05:33 +01:00
parent f34340de9c
commit f931091b57
9 changed files with 368 additions and 391 deletions

View File

@@ -191,12 +191,12 @@ async def get_session_info(session_id: str):
if session.get("ground_truth"):
result["ground_truth"] = session["ground_truth"]
# Sub-session info
# Box sub-session info (zone_type='box' from column detection — NOT page-split)
if session.get("parent_session_id"):
result["parent_session_id"] = session["parent_session_id"]
result["box_index"] = session.get("box_index")
else:
# Check for sub-sessions
# Check for box sub-sessions (column detection creates these)
subs = await get_sub_sessions(session_id)
if subs:
result["sub_sessions"] = [