docs: 0.13.0 release baseline — fluid mission, packaging modes, accessPolicy surface#94
Conversation
…sPolicy surface Pin the docs baseline to CLI 0.13.0 (supportedFluidContractVersion stays 0.7.5 — 0.7.6 is opt-in preview). - New docs/cli/mission.md: the new top-level command. Four subcommands, spec format, the frozen predicate DSL, budgets/gates, the .fluid/missions/ trust boundary, receipts layout, and the zero-LLM `mission check` CI recipe. - New docs/RELEASE_NOTES_0.13.0.md. - generate-iac.md + apply.md: declarative packaging modes (0.7.6 preview) — isolated/shared container ownership, per-provider emit differences, the ownership-transition guard and --adopt-shared-container. - providers/gcp.md: accessPolicy is now the IaC access-grant surface; document cross-project grants the schema-valid way, the declared principal-type table, and metadata.policies as deprecated + schema-invalid. - providers/aws.md + gcp.md: shared-vs-isolated container pointers. - Wire both new pages into config.ts nav and the CLI index. Verified against a clean python3.12 venv built from the v0.13.0 tag (PyPI does not carry 0.13.0 yet): check_cli_docs.py green — version match, 69/69 subcommands documented, quickstart scaffold pin intact. Allowlist audited: no stale or redundant entries, nothing to prune.
Gate review: PASSED — re-verified against the published wheelYou checked PyPI before my publish finished, so your gate ran against a tag-built venv. All 6 CI checks green; worktree clean; 9 files, scope exactly right. Your inaccuracy find was better than you knew. You flagged that Good calls on the two judgment items as well — renaming headings to avoid guessing VuePress's slugify for dotted versions, and sourcing the OSI/dbt claim to the |
Pins the docs baseline to CLI 0.13.0.
supportedFluidContractVersionstays 0.7.5 —0.7.6is opt-in preview, not the default.New pages
docs/cli/mission.md— the headline new top-level command. Four subcommands (check/run/trust/list), exit codes, spec format, the deliberately-frozenpredicatemini-language, budgets + gates, the.fluid/missions/trust boundary, the receipts layout, and the zero-LLMmission checkCI recipe. The drift gate requires this page —missionis a real registered command at 0.13.0.docs/RELEASE_NOTES_0.13.0.md— mirrors the 0.12.0 structure (headline / who should upgrade / what changed / compatibility).Updated pages
cli/generate-iac.md+cli/apply.md— declarative packaging modes (0.7.6preview):isolatedvssharedcontainer ownership, the six container kinds, per-provider emit differences, the pre-plan ownership-transition guard, and the new--adopt-shared-containerflag. Clearly marked opt-in; an absentpackagingblock is a distinct LEGACY sentinel with byte-identical emit.providers/gcp.md—accessPolicyis now the IaC access-grant surface. Documents cross-project grants the schema-valid way, a declared principal-type → BigQuery/GCS field table, andmetadata.policiesas deprecated and schema-invalid (it failsfluid validate;fluid generate iacnever validated, which is why the old path appeared to work). Also notes the group-emitted-as-user bug that the declared prefix fixes.providers/aws.md+providers/gcp.md— shared-vs-isolated container pointers into the packaging reference.cli/README.md,.vuepress/config.ts— both new pages wired into the index and nav.Verification
PyPI does not carry
0.13.0yet, so the gate was run against a cleanpython3.12 -m venvinstalled from thev0.13.0git tag source:The gate re-runs in PR CI against the published wheel once
0.13.0is on PyPI.Also verified live against that venv:
mission list,mission check(scorecard render +--json), the documented exit codes (0green /1red /2harness error),mission truston a built-in, andapply --helpcarrying--adopt-shared-container. Every internal link and heading anchor in the changed files resolves;config.ts's 192 markdown refs all exist on disk.Allowlist
scripts/cli-docs-allowlist.ymlaudited against the 0.13.0 parser — no changes needed.missionwas never listed (it did not exist at 0.12.0), and every remaining entry is still load-bearing:undocumented_ok=dmm/export-opds/marketplace/opds/viz-plan;docs_only_ok=README/export-odps/generate-artifacts/generate-iac/generate-vector. Nothing stale, nothing redundant.Note for review
The
--adopt-shared-container--helptext says it "Logs a WARNING-level audit event", but_apply_opentofu_engine.pyemitspackaging_adoption_overridethrough_logging.info()(INFO). The docs say "emits a structured audit event" rather than repeat the level claim — worth reconciling in the CLI repo.