Skip to content

Commit 9f2f4ae

Browse files
authored
docs: carry needs-go-port policy onto dig2-go (#672)
Carries #672. Docs/policy only; no Go port.
1 parent ab5b04a commit 9f2f4ae

2 files changed

Lines changed: 36 additions & 3 deletions

File tree

AGENTS.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,21 @@ non-trivial change. CI runs these on Linux, Windows, and macOS.
5555
- `main` — release branch. It only moves by maintainer-controlled promotion
5656
from `dev` (releases, docs deploys). Do not open feature PRs against `main`.
5757
- `preview` — prerelease train (`x.y.z-preview.*` versions).
58-
- `dev2-go` — temporary maintainer-owned Go rewrite track running in parallel
59-
with the TypeScript `preview` train. It intentionally has no standing pull
60-
request into `dev`; do not merge or rebase it without maintainer direction.
58+
59+
### Transition to `dev2-go`
60+
61+
The project is moving its primary runtime to the Go native port, so `dev2-go`
62+
has to keep receiving everything that lands on `dev`. Pull requests against
63+
`dev` stay welcome and unchanged — the extra work belongs to the maintainer who
64+
merges them.
65+
66+
A merge into `dev` does not finish the task. The merging maintainer also
67+
rebases that work onto `dev2-go`, ports whatever needs a Go counterpart under
68+
`go/`, and merges the port. The item is done only when both lines carry the
69+
change. If a change has no Go counterpart, say so in the merge or tracking
70+
issue; if the port has to wait, open a `needs-go-port` tracking issue against
71+
`dev2-go` naming the source commits before closing out the `dev` merge.
72+
[`MAINTAINERS.md`](./MAINTAINERS.md) holds the authoritative wording.
6173

6274
The Claude Desktop integration formerly carried on the `claudedesktop` branch is
6375
now fully merged into `dev`, and that branch has been retired. Desktop work

MAINTAINERS.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,27 @@ through GitHub repository settings.
2323
distinguish scoped Go port work from anything else aimed at `dev2-go`, so
2424
that boundary is enforced in review: redirect an out-of-scope pull request to
2525
`dev` rather than treating the automation's silence as approval.
26+
- **Transition to `dev2-go` (current phase).** The project is moving its
27+
primary runtime to the Go native port, so `dev2-go` has to keep receiving
28+
everything that lands on `dev`. Contributors still open pull requests against
29+
`dev`, and that stays allowed — the extra work is the maintainer's, not
30+
theirs. A merge into `dev` is therefore not the end of the task. The
31+
maintainer who merges it also rebases that work onto `dev2-go`, ports
32+
whatever needs a Go counterpart under `go/`, and merges the port. The item is
33+
finished only when both lines carry the change.
34+
- Do the rebase and the port in the same session as the merge. A `dev` merge
35+
left unported is the failure mode this rule exists to prevent: `dev2-go`
36+
silently falls behind, and the divergence surfaces later as a conflict
37+
nobody has context for.
38+
- When a change genuinely has no Go counterpart — docs, TypeScript-only
39+
paths the port does not cover yet, GUI-only work — record that decision in
40+
the merge or the tracking issue. An unexplained missing port is
41+
indistinguishable from a forgotten one.
42+
- If the port cannot be completed immediately (a blocking dependency, a
43+
subsystem the port has not reached), open a tracking issue against
44+
`dev2-go` before closing out the `dev` merge, label it `needs-go-port`,
45+
and name the source commits. That label is the durable signal that a
46+
deferred port is intentional, not forgotten.
2647
- A pull request requires approval from at least one maintainer and successful required CI checks
2748
before merge.
2849
- Authors do not approve their own pull requests.

0 commit comments

Comments
 (0)