Skip to content

test(tangle-cli): guard tangle-deploy pipeline-compile compat surface#2

Open
Silin144 wants to merge 1 commit into
feat/pipeline-compilefrom
feat/tangle-deploy-compat-surface
Open

test(tangle-cli): guard tangle-deploy pipeline-compile compat surface#2
Silin144 wants to merge 1 commit into
feat/pipeline-compilefrom
feat/tangle-deploy-compat-surface

Conversation

@Silin144

@Silin144 Silin144 commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Summary

OSS-side of the tangle-deploy → OSS compile migration (Phase 3). Extends the existing tangle-deploy import-compat guard (tests/test_tangle_deploy_compat_imports.py) so it locks the surface the internal tangle-deploy pipeline compile from-python command will consume from tangle_cli once it delegates here.

Stacked on #1 (which adds the compile command / PipelineCompiler), which is stacked on TangleML#20 (the python_pipeline DSL).

What's guarded

  • tangle_cli.python_pipeline.* submodules — the exact symbols discovery's tangle_deploy/pipeline_compiler.py imports (cfg, compiler_context, emit, errors, pipeline, ref, registered, subpipeline, trace, types).
  • tangle_cli.schema_validationSchemaValidationError, validate_dehydrated_pipeline.
  • tangle_cli.pipeline_compilercompile_pipeline, CompileResult, and the PipelineCompiler(TangleCliHandler) executor the command delegates to.
  • The ZONE_ROOT_MARKERS seam — asserts OSS ships it empty and that it is a mutable list, so a downstream distribution (tangle-deploy) can append its own zone-root marker. Mirrors the existing mutable-CI-vars provider-override contract in the same file.

Why this is the migration seam

Discovery's compile driver hardcodes the oasis zone-root marker; the OSS port replaces that with an empty, injectable ZONE_ROOT_MARKERS list. This test pins the contract that makes the internal command a thin, seam-augmenting delegate rather than a fork.

Testing

  • uv run pytest tests/test_tangle_deploy_compat_imports.py — 4 passed
  • uv run pytest733 passed, 0 regressions
  • uv lock --check clean, git diff --check clean

Stacking note

⚠️ Do not merge. Stacked on #1TangleML#20; targeted at feat/pipeline-compile so the diff is this test only. Retarget to TangleML/tangle-cli:master once the base PRs merge.

🤖 Generated with Claude Code

Extend the tangle-deploy import-compat guard to cover the compile driver
migrated into OSS: the python_pipeline DSL submodules, schema_validation,
and pipeline_compiler (compile_pipeline, CompileResult, and the
PipelineCompiler(TangleCliHandler) executor). These are the exact
tangle_cli.* symbols the internal `tangle-deploy pipeline compile
from-python` command will import once it delegates here.

Also guard the ZONE_ROOT_MARKERS seam: OSS ships it empty and it must be
a mutable list so a downstream distribution (tangle-deploy) can append
its own zone-root marker, mirroring the existing mutable-CI-vars
provider-override contract.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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