Skip to content

Fix remote pipeline import and inspect affordances - #2956

Open
camielvs wants to merge 3 commits into
masterfrom
cvs/remote-pipeline-inspect-import-copy
Open

camielvs wants to merge 3 commits into
masterfrom
cvs/remote-pipeline-inspect-import-copy

Conversation

@camielvs

@camielvs camielvs commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • simplify the import dialog copy and drop the duplicate-name promise, which only held for browser-saved imports
  • surface Inspect Pipeline for runs annotated with a backend pipeline id (tangleml.com/user-pipeline/pipeline-id)
  • route inspect actions to remote pipeline editor paths when a run came from a backend-only pipeline

Scope

The backend stamps that annotation only on runs started through its saved-pipeline route (schedules, triggers, scripts). Runs started with the editor's Run button go through the generic POST /api/pipeline_runs/ route and don't carry it yet, so they get no remote Inspect link. The web app can't send the key itself: it's server-owned provenance, and runs inherit access control from the pipeline it names. Follow-up: have the backend stamp provenance on generic submissions after checking the caller's access to the pipeline, then send the pipeline id on submit.

Tests

  • pnpm vitest run src/components/PipelineRun/components/InspectPipelineButton.test.tsx src/utils/remotePipelineRunAnnotations.test.ts src/components/PipelineRun/RunToolbar.test.tsx
  • pnpm run typecheck
  • pnpm run lint
  • pnpm prettier --check on the changed files

🤖 Generated with Claude Code

@camielvs
camielvs requested a review from a team as a code owner October 27, 2026 20:37
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

🎩 Preview

A preview build has been created at: cvs/remote-pipeline-inspect-import-copy/ff52cac

@camielvs
camielvs force-pushed the cvs/remote-pipeline-inspect-import-copy branch from 11b2a05 to 007cc6f Compare October 27, 2026 22:28

@camielvs camielvs left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

🤖 This is an AI-generated code review comment.

This PR surfaces 'Inspect Pipeline' for runs annotated with a backend pipeline id (system/pipeline.id, with a legacy fallback) and routes those inspect actions to the remote editor path, plus a copy clarification in the import dialog. The annotation helper is clean and well-tested, but the change reworks the shared useInspectPipeline hook so its argument now means a full path instead of a pipeline name — and only one of its two callers was updated: RunMenu (live in the v2 run view via RunViewMenuBar) still passes a name, so its 'Inspect Pipeline' now navigates to an invalid/wrong route with no type error and no test to catch it. The remaining notes are a duplicated inspect-path derivation across RunToolbar and useRunViewActions, and a now-dead pipelineName prop at two call sites. I could not run vitest/typecheck/lint (no Node toolchain here) so findings are from static reading, and I could not confirm the exact system/pipeline.id string against the producing backend (oasis-backend was not available), though the legacy key already appears in existing tangle-ui tests and the system/ prefix matches the file's existing convention.

@camielvs
camielvs force-pushed the cvs/remote-pipeline-inspect-import-copy branch 4 times, most recently from 672bd49 to 97b997b Compare October 29, 2026 21:22

@Mbeaulne Mbeaulne left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 This is an AI-generated code review comment.

AI-assisted review, posted by Mbeaulne. Comments only, not an approval.

1 finding on this PR: 1 medium. The comment says in plain English what breaks and why, then how to test it, with the technical breakdown collapsed.

One thing that doesn't belong on one line:

  • How this was checked: by reading the web app and the backend source (oasis-backend main at 0cc14b8 and the upstream backend). It was not run against a live server, so step 3 of the test is the quickest way to confirm it.

@camielvs
camielvs force-pushed the cvs/remote-pipeline-inspect-import-copy branch 6 times, most recently from fe95ee8 to fccec1b Compare October 30, 2026 18:06
@camielvs
camielvs requested a review from Mbeaulne October 30, 2026 21:56
@camielvs
camielvs force-pushed the cvs/remote-pipeline-inspect-import-copy branch from d322ef2 to 4b6f947 Compare October 30, 2026 21:56
camielvs and others added 3 commits October 30, 2026 17:07
system/pipeline.id is a saved-pipeline search filter, not a run
annotation; runs only ever carry tangleml.com/user-pipeline/pipeline-id.
Also trims the import dialog copy back to what users need to know.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@camielvs
camielvs force-pushed the cvs/remote-pipeline-inspect-import-copy branch from 4b6f947 to ff52cac Compare October 31, 2026 00:07

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.

2 participants