fix(cli): display full session IDs in session list output #10971

Merged
hurui200320 merged 1 commits from bugfix/m3-session-list-truncated-id into master 2026-05-05 10:56:19 +00:00

1 Commits

Author SHA1 Message Date
hurui200320 c4c9ca2e4e fix(cli): display full session IDs in session list output
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m2s
CI / lint (pull_request) Successful in 1m0s
CI / quality (pull_request) Successful in 1m22s
CI / typecheck (pull_request) Successful in 1m29s
CI / security (pull_request) Successful in 1m37s
CI / helm (pull_request) Successful in 25s
CI / build (pull_request) Successful in 29s
CI / push-validation (pull_request) Successful in 20s
CI / integration_tests (pull_request) Successful in 3m57s
CI / unit_tests (pull_request) Successful in 6m36s
CI / e2e_tests (pull_request) Successful in 3m29s
CI / docker (pull_request) Successful in 1m27s
CI / coverage (pull_request) Successful in 11m1s
CI / status-check (pull_request) Successful in 3s
Remove the [:8] truncation from session IDs in the Rich table row,
Most Recent summary, and Oldest summary fields of list_sessions()
and _session_list_dict().  Session IDs are 26-character ULIDs and
must be usable directly for copy-paste into session tell, session
show, and other session commands.  The structured output (JSON/YAML)
already used full IDs in the sessions[*].id field, but the summary
panel leaked the truncation into those formats as well.

Added Behave scenarios:
- Rich table displays full 26-character ULIDs (scoped to table region)
- Summary panel shows full ULIDs for unnamed sessions (scoped to panel)
- Summary panel shows session names for named sessions
- Full ULID from list output works with session tell (round-trip,
  uses parsed ULID, not hardcoded constant)

Review Cycle 2 fixes:
- docs/specification.md: Updated YAML output example to full ULIDs
- docs/showcase/*.md: Updated all example output blocks to full ULIDs
- docs/reference/session_cli.md: Replaced placeholder with full ULID
- features/session_cli.feature: Consecutive When steps -> And
- features/steps/session_cli_steps.py: Summary panel asserts both IDs,
  8-char negative guard in table output, ULID capture scoped to table
  region with fixture verification, named-session absence check for
  second session
- CHANGELOG.md: Added [Unreleased] entry for the behavioral change

ISSUES CLOSED: #10970
2026-05-05 08:34:02 +00:00