-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Rename spine to timeline, add virtual command visualization for Docker #71
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
Conversation
Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: #70
…on for Docker This commit implements issue #70 with the following changes: 1. Renamed "spine" concept to "timeline" throughout the codebase: - SPINE constant renamed to TIMELINE_MARKER (with deprecated alias) - create_spine_line renamed to create_timeline_line (with deprecated alias) - create_empty_spine_line renamed to create_empty_timeline_line (with deprecated alias) - Updated documentation in output_blocks.rs, REQUIREMENTS.md, ARCHITECTURE.md 2. Added virtual command visualization for Docker isolation: - When Docker needs to pull an image, it's shown as a separate virtual command - `$ docker pull <image>` is displayed before the actual user command - Pull output is streamed with result marker (✓ or ✗) - Virtual commands only appear when the image needs to be pulled 3. New functions for virtual command support: - docker_image_exists() - Check if a Docker image exists locally - docker_pull_image() - Pull image with streaming output - create_virtual_command_block() - Format virtual command line - create_virtual_command_result() - Format result marker for virtual commands - create_timeline_separator() - Separator between virtual and user commands 4. StartBlockOptions now has defer_command field: - When true, command line is omitted from start block - Used for Docker isolation to show virtual commands first 5. Version bumped to 0.20.0 Example output when pulling an image: ``` │ session ... │ start ... │ │ isolation docker │ $ docker pull alpine:latest ... pull output ... ✓ │ $ echo hi hi ✓ ``` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
This reverts commit 63467fb.
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
|
🤖 AI Work Session Started Starting automated work session at 2026-01-08T15:11:14.220Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait working session to finish, and provide your feedback. |
- Added Rust changelog fragment (rust/changelog.d/70.md) documenting the spine → timeline rename and virtual command features - Added JavaScript changeset (js/.changeset/issue-70-timeline-virtual-commands.md) for version management - Fixed Clippy deprecation warnings by adding #[allow(deprecated)] to re-exports of deprecated items - Renamed test function test_create_spine_line → test_create_timeline_line to use new API All changes ensure CI checks pass while maintaining backward compatibility with deprecated API names. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Removed bold markdown syntax and adjusted formatting to comply with Prettier's style requirements. This should resolve the JavaScript CI/CD formatting check failure. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
|
Or changeset CI/CD checks in both languages should prohibit changes in package.json version or cargo.toml version, to make sure we reduce conflicts posibility, and explicitly demand no manual changes to package/crate versions in both js.yml and rust.yml So with current changes CI/CD must fail, not pass in Pull Requests. So we will never repeat the same problem again in the future. |
|
🤖 AI Work Session Started Starting automated work session at 2026-01-08T15:32:26.072Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait working session to finish, and provide your feedback. |
- Add "Check for Manual Version Changes" job to js.yml that fails if package.json version is modified (skips automated release PRs) - Add "Check for Manual Version Changes" job to rust.yml that fails if Cargo.toml version is modified - Revert manual version changes that were introduced in previous commits - js/package.json: 0.20.0 → 0.19.1 - rust/Cargo.toml: 0.20.0 → 0.14.0 This ensures versions are only changed by the CI/CD pipeline through changesets (JS) or changelog fragments (Rust), preventing merge conflicts and maintaining consistent release workflows. Addresses feedback from PR #71 comments. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Changes ImplementedBased on the feedback to add CI checks that prohibit manual version changes: CI/CD Protection AddedJavaScript CI (
Rust CI (
Version RevertsReverted the manual version changes that were previously committed:
Verification
This ensures that versions are only changed through the automated CI/CD pipeline (changesets for JS, changelog fragments for Rust), preventing merge conflicts from conflicting version bumps in PRs. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
Summary
This PR implements the requirements from issue #70:
Renamed "spine" to "timeline": The internal terminology for the
│prefixed output format has been renamed from "status spine" to "timeline" format throughout the codebase. Old names are deprecated but still available for backwards compatibility.Virtual command visualization for Docker: When running commands in Docker isolation that require pulling an image, the pull step is now shown as a separate virtual command in the timeline output:
$ docker pull <image>appears before the user commandNew API additions:
TIMELINE_MARKERconstant (replaces deprecatedSPINE)create_timeline_line()(replaces deprecatedcreate_spine_line())create_empty_timeline_line()(replaces deprecatedcreate_empty_spine_line())create_virtual_command_block()- for formatting virtual commandscreate_virtual_command_result()- for result markersdocker_image_exists()- check if image is available locallydocker_pull_image()- pull with streaming outputStartBlockOptions.defer_command- defer command display for multi-step executionCI/CD version protection: Added checks to prevent manual version changes in PRs:
js.yml): Fails ifpackage.jsonversion is modifiedrust.yml): Fails ifCargo.tomlversion is modifiedExample Output
When the Docker image needs to be pulled:
When the image is already available locally, the
docker pullvirtual command is skipped.Test plan
defer_commandoption addedTIMELINE_MARKERBreaking changes
None - all renamed items have deprecated aliases that still work.
Fixes #70
🤖 Generated with Claude Code