Skip to content

feat: add Command Timeline Phase 1 checkpoint - #26

Open
HelloThisWorld wants to merge 2 commits into
mainfrom
feature/command-timeline-v1.3.0
Open

feat: add Command Timeline Phase 1 checkpoint#26
HelloThisWorld wants to merge 2 commits into
mainfrom
feature/command-timeline-v1.3.0

Conversation

@HelloThisWorld

Copy link
Copy Markdown
Owner

Summary

Add Command Timeline Phase 1 as the v1.2.1 engineering checkpoint. This introduces a pane-owned, bounded in-memory command index backed by native shell-integration marks, plus lifecycle/result tracking and stable native mark identity across reflow and pruning.

Phase 1 intentionally exposes only C++ model seams; timeline UI, navigation, and public release packaging remain out of scope for this pull request.

Related issues

None.

Detailed changes

  • Add the Command Timeline model, stable pane-scoped IDs, bounded command text, capability classification, trusted exit-code results, cache invalidation, and pane view state.
  • Connect OSC 133 shell-integration lifecycle updates to the pane-owned index without output heuristics or terminal-output storage.
  • Preserve transient native mark identity through reflow, circular eviction, scrollback clearing, and pane close.
  • Add focused model and native OSC integration tests covering repeated identical commands, incomplete/out-of-order lifecycle events, result mapping, bootstrap behavior, invalidation, reflow, and cleanup.
  • Advance engineering checkpoint metadata to v1.2.1 while keeping public v1.2.0 release links and release state unchanged.
  • Guard v1.2.1-v1.2.4 checkpoint tags so they run validation only and cannot enter full packaging/publishing jobs.

Compatibility and migration: no persisted schema changes are introduced. Timeline data is pane-local and in-memory, and existing workspace fallback behavior remains compatible.

Validation performed

All checks ran on Windows x64 Debug with the repository's Microsoft Terminal toolchain:

  • msbuild.exe src\cascadia\UnitTests_Control\Control.UnitTests.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:WindowsTerminalBranding=WinTerm "/p:SolutionDir=<repo>\\" /verbosity:minimal /m:1 — passed (only existing APPX4001 warnings).
  • .\bin\x64\Debug\UnitTests_Control\TE.exe .\bin\x64\Debug\UnitTests_Control\Control.Unit.Tests.dll "/select:@Name='ControlUnitTests::CommandTimelineTests::*'" /logOutput:Low — 12/12 passed.
  • .\scripts\winterm\test.ps1 -Suite Smoke -Configuration Debug -Platform x64 — passed.
  • .\scripts\winterm\test-release-workflow.ps1 — passed.
  • .\scripts\winterm\verify-version.ps1 -RequireTag — passed.
  • PowerShell parser checks for modified scripts, JSON/XML parsing, PyYAML workflow parsing, and CRLF-aware git diff --check — passed.
  • The v1.2.1 tag-triggered checkpoint workflow completed successfully; full validation/build/release jobs were skipped by the checkpoint guard as designed.

Checklist

  • The change is focused and does not include unrelated formatting.
  • Tests were added or updated where appropriate.
  • All tests claimed above actually ran and passed.
  • User-facing behavior and limitations are documented in this repository.
  • Version or schema changes include compatibility and migration notes.
  • Package identity, winterm.exe, and Microsoft Terminal coexistence remain isolated.
  • No command text, terminal output, clipboard content, credentials, or private paths are logged.
  • New source and script files contain the appropriate MIT license header.
  • I did not include generated build output, secrets, certificates, or local absolute paths.

@HelloThisWorld
HelloThisWorld marked this pull request as ready for review August 1, 2026 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant