Skip to content

Commit a6ed680

Browse files
aledbfclaude
andcommitted
docs: retire migration/evolution docs; keep the living parity contracts
The project stands on its own now, so the migration-narrative docs no longer earn their place: - Delete GO-REWRITE-STATUS.md and RELEASE-CHECKLIST.md (the "how the port is going" / "declare parity" storytelling). Their durable substance already lives in DIVERGENCES.md, README, and release.yml; releasing is now just "cut a tag". - Move the two LOAD-BEARING contracts out of docs/migration/ into docs/parity/ (parity-matrix.yaml, cli-flags-inventory.yaml) — they are ongoing validation data the tests read, not migration history. Update the two test paths and the README/DIVERGENCES/go-only-features links; the docs/migration/ folder is gone. Verified: build + parity contract lane + TestFlagInventoryParity green (both YAMLs load from their new path), no dangling references. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent ce93678 commit a6ed680

9 files changed

Lines changed: 12 additions & 176 deletions

README.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,9 @@ matrix of ~200 cases runs the *same* command through both CLIs and asserts the
112112
outputs match (exit code, normalized stdout/stderr, and container/registry state).
113113
Deliberate divergences (like the Go-only features above) are recorded, not hidden.
114114

115-
If you're evaluating a switch, the parity methodology and current status live in
116-
[`docs/migration/`](docs/migration/).
115+
If you're evaluating a switch, the deliberate divergences are documented in
116+
[`docs/DIVERGENCES.md`](docs/DIVERGENCES.md) and the full case matrix in
117+
[`docs/parity/parity-matrix.yaml`](docs/parity/parity-matrix.yaml).
117118

118119
## Contributing / building
119120

@@ -134,9 +135,11 @@ task parity:contract # hermetic contract lane (no Docker)
134135
task parity:runtime # full matrix; creates real containers/images via Docker
135136
```
136137

137-
- **[`docs/migration/GO-REWRITE-STATUS.md`](docs/migration/GO-REWRITE-STATUS.md)** — parity status.
138138
- **[`docs/DIVERGENCES.md`](docs/DIVERGENCES.md)** — deliberate divergences, decisions & accepted limitations.
139-
- **[`docs/migration/parity-matrix.yaml`](docs/migration/parity-matrix.yaml)** — the case matrix.
139+
- **[`docs/parity/parity-matrix.yaml`](docs/parity/parity-matrix.yaml)** — the case matrix.
140+
141+
Releases are cut by tagging (`YYYYMMDD.NN`); `release.yml` then builds the static
142+
binaries, SBOMs and the signed multi-arch image.
140143

141144
```
142145
cmd/, internal/ the Go CLI implementation

docs/DIVERGENCES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Divergences, decisions & accepted limitations
22

33
This CLI is validated for behavioral parity with the reference TypeScript
4-
`@devcontainers/cli` (pinned at **v0.88.0**, see [`migration/`](migration/)). Where it
4+
`@devcontainers/cli` (pinned at **v0.88.0**, see [`parity/`](parity/)). Where it
55
deliberately differs, the difference is recorded here — this is the durable record of
66
*intentional* departures from the oracle, not a backlog. User-facing additions are
77
documented in [`go-only-features.md`](go-only-features.md).

docs/go-only-features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
These commands and flags are **exclusive to this Go CLI** — they are not part of the
44
official `@devcontainers/cli`. Everything else mirrors the upstream behavior (see the
5-
[parity docs](migration/)); the items here are deliberate additions or documented
5+
[parity docs](parity/)); the items here are deliberate additions or documented
66
divergences, each covered by tests.
77

88
- [`devcontainer check`](#devcontainer-check) — host preflight

docs/migration/GO-REWRITE-STATUS.md

Lines changed: 0 additions & 102 deletions
This file was deleted.

docs/migration/RELEASE-CHECKLIST.md

Lines changed: 0 additions & 65 deletions
This file was deleted.

internal/cli/flag_inventory_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
"gopkg.in/yaml.v3"
1414
)
1515

16-
// TestFlagInventoryParity validates docs/migration/cli-flags-inventory.yaml against
16+
// TestFlagInventoryParity validates docs/parity/cli-flags-inventory.yaml against
1717
// the live Cobra command tree so the inventory cannot silently drift from the code.
1818
//
1919
// The Cobra tree is the source of truth: the test walks NewRootCommand().Commands()
@@ -81,7 +81,7 @@ func TestFlagInventoryParity(t *testing.T) {
8181

8282
// --- load the YAML mirror ------------------------------------------------
8383
repoRoot := findRepoRoot(t)
84-
yamlPath := filepath.Join(repoRoot, "docs", "migration", "cli-flags-inventory.yaml")
84+
yamlPath := filepath.Join(repoRoot, "docs", "parity", "cli-flags-inventory.yaml")
8585
data, err := os.ReadFile(yamlPath)
8686
if err != nil {
8787
t.Fatalf("read inventory: %v", err)

internal/cli/parity_matrix_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ func writeParityReport(path string, snapshot map[parityOutcome][]string) error {
190190

191191
func TestParityMatrix(t *testing.T) {
192192
repoRoot := findRepoRoot(t)
193-
matrixPath := filepath.Join(repoRoot, "docs", "migration", "parity-matrix.yaml")
193+
matrixPath := filepath.Join(repoRoot, "docs", "parity", "parity-matrix.yaml")
194194

195195
data, err := os.ReadFile(matrixPath)
196196
if err != nil {

0 commit comments

Comments
 (0)