Finalize forge-cli v1 ledger + cli-output-contract conformance attestation#400
Merged
Conversation
…elease - Mark Task 8.3 completed: `nils-cli-bump-version-tag-release --version 0.11.0` ran end to end on 2026-05-20 — workspace bumped to 0.11.0 (`0e84c98`), tags `v0.11.0` + `nils-cli-v0.11.0` pushed, both `release.yml` runs green, local brew upgraded 0.10.2 -> 0.11.0. - Attest cli-output-contract-unification conformance: forge-cli was designed against the shared envelope from Sprint 1 — strict `cli-output-contract-lint.sh` passes clean, 0 inline exit literals in `main.rs`, 0 `--json` bool flags, 42 schema-literal assertions pin `cli.forge-cli.<op>.v1` across 13 integration files. No remediation needed on this PR.
CoverageTotal line coverage: 85.43% (75417/88276 lines hit). |
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.
Summary
Docs-only PR that finalizes the forge-cli v1 execution ledger now that Sprint 8 has merged
(PR #399 ->
3d08224) and Task 8.3 has shipped end to end (workspace bumped to0.11.0,tags
v0.11.0/nils-cli-v0.11.0pushed, bothrelease.ymlruns green, local Homebrewformula upgraded). Also folds in a conformance attestation against the parallel
cli-output-contract-unificationplan — forge-cli was designed against the shared envelopefrom Sprint 1, so no remediation is required.
Changes
docs/plans/forge-cli/forge-cli-execution-state.mdStatustocomplete (Sprints 0-8 + Task 8.3 release flow delivered; cli-output-contract-v1 conformance verified).Branch/committo record PR Forge-cli v1 Sprint 8: wrapper + completion sync + README crosslink #399 merge3d08224, release commit0e84c98,and tags
v0.11.0/nils-cli-v0.11.0.(
#395 -> 718b7dd,#397 -> 15fcc73,#398 -> 3474555,#399 -> 3d08224).completedwith the release-flow evidence (0e84c98+ both tags).d371b82)and the strict
cli-output-contract-lint.shPASS.follow-up) + Task 8.3 release flow + the cli-output-contract conformance attestation.
PR
a53f89b(translation of the default-continue authorization line) was already on thislocal branch when it was cut and is carried along unchanged.
Test-First Evidence
touched in this PR.
Validationrowbash scripts/ci/nils-cli-checks-entrypoint.sh - pending - end-of-Sprint-8 workspace gatewas the literal "evidence is missing" placeholder that this PR replaces with theSprint 8 CI rerun's PASS line.
bash scripts/ci/markdownlint-audit.sh --strict-> PASS (rumdl fmtre-aligned thewidened Task Ledger table).
bash scripts/ci/docs-hygiene-audit.sh --strict-> PASS (warnings=0).bash scripts/ci/cli-output-contract-lint.sh --strict-> PASS (clean, no allowlistadditions required for forge-cli - it was conformant from Sprint 1).
cli-output-contract conformance check (audit performed against merged forge-cli)
schema_versionvianils_common::cli_contract::schema_version_for(no inline literals)crates/forge-cli/src/ops/*.rs; 42cli.forge-cli.<op>.v1assertions across 13 test filesEnvelope<T>crates/forge-cli/src/envelope.rswrapsnils_common::cli_contract::Envelopeexit::*constants only - no inlineprocess::exit(1|2)exit::*call sites incrates/forge-cli/src/; 0 inline numeric exits inmain.rs--format text|json(no--jsonbool)--jsonlong-flag declarations;crates/forge-cli/src/cli.rsuses sharedOutputFormatemit_parse_errorfor parse / unknown-subcommandcrates/forge-cli/src/cli.rs:706tests/integration/exit_codes.rs(6) +exit_codes_full.rs(12) - 18 tests cover every documented(exit, kind)paircli-output-contract-lint.sh --strictNo code changes required.
Testing
bash scripts/ci/markdownlint-audit.sh --strict- passbash scripts/ci/docs-hygiene-audit.sh --strict- passbash scripts/ci/cli-output-contract-lint.sh --strict- passnpx --yes rumdl@0.1.62 fmt- applied (table alignment after widening the ledger table)Full workspace test run not exercised on this PR because no source files are touched;
CI will run the entire required-checks pipeline anyway.
Risk / Notes
cli-output-contractattestation is recorded inline in the ledger rather than as aseparate spec doc - the existing
docs/specs/cli-output-contract-v1.mdalready governsthe contract, and forge-cli is a consumer, not a re-publisher.
durable end-to-end and tracking issue Track plan: forge-cli v1 — provider-neutral forge operations #391 can be closed via the
dispatch-plan-deliveryclose gate (out of scope for this PR).