Skip to content

feat(cli): show per-step execution timelines - #157

Draft
Ehsan-hash wants to merge 1 commit into
jamjet-labs:mainfrom
Ehsan-hash:feature/cli-execution-timeline
Draft

Ehsan-hash wants to merge 1 commit into
jamjet-labs:mainfrom
Ehsan-hash:feature/cli-execution-timeline

Conversation

@Ehsan-hash

Copy link
Copy Markdown

Summary

jamjet run currently ends its followed text output with the execution status. It now also shows recorded step results and durations, making slow or failed steps visible without opening the event JSON.

Related

Closes #8.

Changes

  • New feature
  • Documentation
  • Tests

The timeline displays completed, failed, cancelled and skipped node events in recorded order, including repeated node IDs. Known durations receive proportional bars. Missing timings remain unknown, and the total is labelled recorded step time because parallel steps need not equal elapsed time. JSON, streaming and --no-follow retain their existing behavior. Unavailable event history does not hide the final execution status.

Testing

  • Full Python SDK suite: 1603 passed, 9 skipped, 1 xpassed; six snapshots passed.
  • Focused timeline and JSON checks: 20 passed. New regression cases fail against the original source.
  • Ruff check and format check passed for the Python SDK; CI-scoped mypy jamjet/cloud passed.
  • An actual CLI run against the checksum-verified python-sdk-v0.12.0 runtime completed three isolated condition nodes and displayed their persisted durations, including zero, with the correct total. The original CLI omitted the timeline. This checks released-runtime compatibility; the current Rust source was not built locally.

The two existing CLI-file mypy errors also reproduce on the baseline. Rust tooling and just are unavailable locally, so their full recipes are not claimed. This PR stays draft until CI passes, following the contribution guide's review gate.

Checklist

  • Tests pass (just test; Python SDK checks above passed)
  • Lints pass (just lint; Python SDK checks above passed)
  • Relevant docs updated
  • CHANGELOG.md updated (CONTRIBUTING assigns this to the release PR)
  • RFC considered (no API, schema, dependency or architecture change)
  • AI assistance disclosed

Disclosure: This contribution was developed with AI assistance (OpenAI Codex), with automated tests, an isolated runtime check and independent code review.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
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.

Add execution timeline ASCII chart to jamjet run CLI output

1 participant