Skip to content

feat: add the lineage commands and studio logs - #700

Merged
cristianrcv merged 5 commits into
masterfrom
feat/NOTASK-tw-api-1.200
Oct 7, 2026
Merged

cristianrcv merged 5 commits into
masterfrom
feat/NOTASK-tw-api-1.200

Conversation

@cristianrcv

@cristianrcv cristianrcv commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds two features, on top of master (SDK 1.233.0):

  • tw lineage: resolve, view (with --summary), search, upstream and downstream (API 1.200). resolve --run-name and the Pipeline row in view come from API 1.211/1.230.
  • tw studios logs: pages through a studio's session log with --next (API 1.200).

Changes

  • feat(lineage): add lineage command (aca89db)
  • feat(studios): add logs (bdcac70)
  • feat(lineage): resolve runs by session ID and run name, and show the pipeline (d468e1e)
  • docs: document the lineage commands and studio logs (fe299b5)
  • build(native): register reflection metadata for the lineage and studio logs commands (40ab2ae)

Notes for review

Verification

  • ./gradlew test: 889 tests, 0 failures.
  • CI runs the full suite against the native binary on Linux, macOS and Windows.

🤖 Generated with Claude Code

@cristianrcv
cristianrcv added this pull request to stack #704 October 5, 2026 16:12
@cristianrcv
cristianrcv requested review from a team, educalleja, t0randr and vpatel85 October 5, 2026 16:18
@cristianrcv
cristianrcv removed this pull request from stack #704 October 5, 2026 16:20
@cristianrcv
cristianrcv added this pull request to stack #705 October 5, 2026 16:20

@georgi-seqera georgi-seqera left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and verified lineage and studio logs commands and they are working fine and looking good 👍

@cristianrcv
cristianrcv removed this pull request from stack #705 October 7, 2026 13:26
@cristianrcv
cristianrcv force-pushed the feat/NOTASK-tw-api-1.190 branch from a1a7bf9 to 613eeda Compare October 7, 2026 15:01
cristianrcv and others added 5 commits October 7, 2026 17:34
Platform API 1.200.0 added read-only lineage endpoints (resolve,
search, record, summary, upstream, downstream) that tw did not expose.

tw lineage resolve turns a run (session ID) or a file path into its
LID; view shows a record, or its index summary with --summary; search
runs the cross-workspace query DSL with token paging; upstream and
downstream walk one data-flow hop, optionally filtered by record type.
LIDs are double-encoded in the path, as the web UI does, because the
API decodes them twice to survive proxy path normalization.

API 1.200 resolves a run by session ID alone. The run name parameter,
the pipeline search qualifiers and the record's pipeline name came in
later API versions, so they are not offered here.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Platform API 1.200.0 added the studio session log endpoint, but tw
had no way to read it. tw studios logs prints the process log of the
latest session of a studio, one page at a time: --next takes the
cursor printed at the end of the previous page and --max-length caps
the characters returned.

SDK 1.200.0 types LogPage.entries as Object (the spec declares an
Iterator) while Platform sends a JSON array, so the log entries are
read as a List, as tw runs view log does. The test compares against
the platform line separator, since println writes CRLF on Windows.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…pipeline

API 1.211.0 made GET /lineage/resolve take runName with sessionId: a
resumed run shares the session ID of its parent, so the session ID alone
does not identify one run. 'lineage resolve --session-id' now requires
--run-name and sends both; the SDK bump passed null until now.

API 1.230.0 added the pipeline to lineage records (DisplayData
pipelineName/pipelineId) and the pipeline/pipelineId search qualifiers.
'lineage view' shows a Pipeline row and 'lineage search --query'
documents the new qualifiers.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A Lineage section with examples, and 'logs' added to the studios entry in 'Other additions'.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…o logs commands

Entries for the lineage and 'studios logs' commands and responses, taken from a full test run under the GraalVM tracing agent. Response classes register allDeclaredFields, since Jackson serializes every field for -o json.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@cristianrcv
cristianrcv force-pushed the feat/NOTASK-tw-api-1.200 branch from 645c985 to 40ab2ae Compare October 7, 2026 15:37
@cristianrcv
cristianrcv changed the base branch from feat/NOTASK-tw-api-1.190 to master October 7, 2026 15:37
@cristianrcv cristianrcv changed the title feat: support Platform API 1.200 features (lineage, studio logs, Intelligent Compute limits) feat: add the lineage commands and studio logs Oct 7, 2026
@cristianrcv
cristianrcv merged commit 67a7ebf into master Oct 7, 2026
7 checks passed
@cristianrcv
cristianrcv deleted the feat/NOTASK-tw-api-1.200 branch October 8, 2026 09:09
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.

2 participants