Repository navigation
docs: 0.24.0 — contractVersion, and the lineage a DMM publish strips - #170
Merged
Merged
Conversation
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.
1 task done
fas89
marked this pull request as ready for review
October 27, 2026 09:46
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.
This branch was successfully 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.
Companion to forge-cli #756.
consumes[].contractVersiongets its summary row inpreview-fields.mdand its full row incontract-0.7.6-preview.md, beside thecontractIdsibling it complements. Both say what was wrongbefore — an ODPS
inputPorts[].versionwas the1.0.0default whenever the contract stated only arange, asserting a pin the contract never made — and both state the honest limit:
fluid validatedoes 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 onedocument, 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.jsonmoves to0.24.0.Merge order
The drift gate runs
fluidat the pinned version, so this cannot go green untildata-product-forge==0.24.0is on PyPI. Merge forge-cli #756, tagv0.24.0, letrelease.ymlpublish, then merge this.