Repository navigation
Conversation
…ration
Shared types built by more than one app (FND-3846). Each creator reproduces
every app's existing qualifiedName, so no app changes identity:
- TagAttachment.creator(qn_style=...): tag_object (databricks),
tag_attachments_object (dbt), object_tag (bridge). Passthrough type, so the
creator is hand-added to tag_attachment.py; overlay kept for when passthrough
types are generated.
- S3Prefix.creator: {bucket_qn}/{prefix}/ with trailing slash (s3, bridge);
sets bucket relationship, parent prefix qualified name and hierarchy.
- FlowControlOperation.creator: {conn}/{scope}/{source_id} (fabric notebook,
sagemaker) or {parent_qn}/jobs/{source_id} with flow_controlled_by (fabric
Spark job).
Parity tests cover every app template. A strict xfail records that the
generated S3Prefix _QUALIFIED_NAME_PATTERN rejects the trailing slash until
qualifiedNameFormula is added in atlanhq/models.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wc98jPXjP7pdqJoAh3vtfY
Resolve s3_prefix.py / flow_control_operation.py by taking main's regenerated class files and re-injecting the creator overlays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wc98jPXjP7pdqJoAh3vtfY
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✨ Description
Adds
creator()to three shared types that more than one app builds. Each creator reproduces every app's existing qualifiedName, so no app changes identity.Linear: FND-3846. The issue comments hold the template-reconciliation and required-attribute tables.
qn_style="tag_object"(default){tag_qn}/{object_qn}qn_style="tag_attachments_object"{tag_qn}/attachments/{object_qn}qn_style="object_tag"{object_qn}/{tag_name}{bucket_qn}/{prefix}/(trailing slash)scope{conn}/{scope}/{source_id}parent_qualified_name{parent_qn}/jobs/{source_id}+flow_controlled_byNotes:
pyatlan_v9/model/assets/_overlays/, spliced into the generated class files the same way the generator does it (FND-3843 decision).passthrough = truein models, so its class is hand-managed. The creator is added directly totag_attachment.py. The overlay copy only takes effect once passthrough types are generated.s3_bucketrelationship,s3_parent_prefix_qualified_nameands3_prefix_hierarchy, matching atlan-s3-app. Thes3_parent_prefixrelationship is left to the caller.S3Prefix._QUALIFIED_NAME_PATTERNrejects the trailing slash. A strict xfail records this untilqualifiedNameFormulais added to S3Prefix in atlanhq/models (follow-up PR).🧩 Type of change
✅ How has this been tested?
tests_v9/unit/model/{s3_prefix,flow_control_operation,tag_attachment}_test.py: one parity test per app template, plus tests for invalid and blank inputs. Synthetic values only.uv run pytest tests_v9/unit: 7715 passed, 5 skipped, 1 xfailed (the known gap above).📋 Checklist
🤖 Generated with Claude Code
https://claude.ai/code/session_01Wc98jPXjP7pdqJoAh3vtfY