Repository navigation
docs: record the divergences kept from the reference CLI - #65
Merged
Merged
Conversation
docs/DIVERGENCES.md now records, each with what TS does, what this CLI does, why, and the test that pins it, the upstream bugs still present in the reference that this CLI fixes: GPU detection through nvidia-container-cli (#319), `build [path]` (#8), a Dockerfile's own .dockerignore (#969), a stage's devcontainer.metadata label (#1225), compose `build --label` (#930), generate-docs on a single item (#876), host variables in Feature ENV lines (#308), the secretservice credential helper, the 15s credential-helper timeout, --remove-existing-container before initializeCommand (#844) and the updateUID chown of a missing home (#109). It also records the differences that can't be avoided: Mermaid node ids, the "Run:" log pairs for engine operations done through the SDK, and a digest that fails validation being refused. Two tests pin behavior no test held: generate-docs skipping metadata that is not valid JSONC, and a credential helper that hangs timing out. A relative auth realm fails in both CLIs, so its test name no longer calls it a hardening-only divergence. Co-Authored-By: Claude Opus 5.5 <[email protected]>
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.
AGENTS.md asks for every intentional divergence from the official CLI to be documented, with a test and a reason. These were only in code comments (most removed in #59) or nowhere. We compared them against v0.90.0 and decided to keep them.
Upstream bugs this CLI fixes (still present in v0.90.0), under "Deliberate divergences", each with TS behavior, Go behavior, reason and pinning test:
nvidia-container-cli(#319)build [path]uses the positional path (chore(deps): bump the actions group across 1 directory with 2 updates #8).dockerignoreapplies to the generated build (#969)LABEL devcontainer.metadatais kept (#1225)build --labelon Docker Compose (#930)generate-docson a single item folder (#876)ENVlines (#308)secretserviceas the Linux credential helper--remove-existing-containerbeforeinitializeCommand(#844)chownof a missing home (#109)Unavoidable differences, under "Accepted limitations" / "Self-containment stance":
Run:log pairs for operations done through the Engine SDKref.jsongolden notes now point at the entry)New tests (behavior no test pinned)
TestGenerateDocs_SkipsMetadataThatIsNotValidJSONC.TestCredentialHelperThatHangsTimesOut: uses the real 15s timeout, so it adds about 15s to theocipackage.Wording fix: a relative auth realm fails in both CLIs, in both modes; only the text differs. The test is renamed to
TestHardeningRefusesARelativeRealmAsUnparsableand no longer calls it a divergence.Not in this PR: the drift we're aligning to TS instead (Feature shorthand mapping, ENV/option order, raw
${localEnv}in the metadata label, the single combined Dockerfile build), each in its own PR.Validation:
task lintand the affectedoci/clitests pass.🤖 Generated with Claude Code