Skip to content

docs: 0.24.0 — contractVersion, and the lineage a DMM publish strips - #170

Merged
fas89 merged 3 commits into
mainfrom
docs/odps-lineage-and-quality-sql
Oct 27, 2026
Merged

fas89 merged 3 commits into
mainfrom
docs/odps-lineage-and-quality-sql

Conversation

@fas89

@fas89 fas89 commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

Companion to forge-cli #756.

consumes[].contractVersion gets its summary row in preview-fields.md and its full row in
contract-0.7.6-preview.md, beside the contractId sibling it complements. Both say what was wrong
before — an ODPS inputPorts[].version was the 1.0.0 default whenever the contract stated only a
range, asserting a pin the contract never made — and both state the honest limit: fluid validate
does not check the value falls inside versionConstraint.

The Data Mesh Manager lineage section gains the consequence of deriving
outputPorts[].inputContracts. That key now states the same dependency a second time in one
document, so a stripped product-consume input port's lineage entry is removed with it; otherwise the
upstream stays named in a payload with no port to resolve it, which is the duplicate-graph-node
problem the existing strip exists to avoid. Lineage an imported document states for itself is kept,
because Access agreements are built from consumes[] and would not record it.

cli-version.json moves to 0.24.0.

Merge order

The drift gate runs fluid at the pinned version, so this cannot go green until
data-product-forge==0.24.0 is on PyPI. Merge forge-cli #756, tag v0.24.0, let release.yml
publish, then merge this.

Companion to forge-cli #756, which fixes two export defects and adds one
preview field.

`consumes[].contractVersion` gets its summary row and its full row beside the
`contractId` sibling it complements: the exact upstream version this product was
built against, inside `versionConstraint`. The summary row says what was wrong
before — an ODPS input port's `version` was the `1.0.0` default whenever the
contract stated only a range, asserting a pin the contract never made — and both
rows say that `fluid validate` does not check the value falls inside the range.

The Data Mesh Manager page's lineage section gains the consequence of deriving
`outputPorts[].inputContracts`: the same dependency is now stated twice in one
document, so a stripped input port's lineage entry goes with it, while lineage an
imported document states for itself is kept because Access agreements are built
from `consumes[]` and would not record it.

`cli-version.json` moves to 0.24.0. The drift gate needs that version installed
from PyPI, so this cannot go green until the forge-cli tag has published —
merge it after the release, not before.
fas89 added 2 commits October 27, 2026 10:48
Bumping `cli-version.json` alone left fourteen pages still naming 0.23.0, which
the drift gate flags one batch at a time: four install specs in the SDK pages,
the `fluid --version` banner on the version page, three more install specs under
docs/cli, the FAQ's pin-an-exact-version advice, the overlay recipe's CI step,
and four baseline bullets (docs/cli, docs/providers, docs/vision, README).

`scripts/check_cli_docs.py` now exits 0 and adds the claim it could not make
before: every version claim in docs/ agrees with the pin. The five remaining
`0.23.0` mentions are historical by the gate's own rules and are left alone.
The two reference pages are generated by `scripts/gen_contract_reference.py`,
which CI re-runs with `--check`. Hand-writing the `consumes[].contractVersion`
row was therefore wrong: the generator expands `$defs.semver` into the literal
pattern, carries its own row count, and stamps the package version it read the
schema from.

Running the generator against the published 0.24.0 replaces that row with the
authoritative one, moves both "Generated from ... package" lines off 0.23.0, and
takes the preview delta's count from 93 rows to 94. `--check` now reports both
pages match, and the generator is idempotent on a second run.
@fas89
fas89 merged commit 2a29b43 into main Oct 27, 2026
9 checks passed
@fas89
fas89 deleted the docs/odps-lineage-and-quality-sql branch October 27, 2026 09:55

This branch was successfully deployed

1 active deployment
github-pages — 4941eac4 Deployed Oct 27, 2026 by fas89 via deploy #225
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