Skip to content

Commit 68e98d0

Browse files
committed
devlog: merge-readiness judgment for bucket2-fixes (content green, 3 conditions to merge)
1 parent ec7190b commit 68e98d0

1 file changed

Lines changed: 105 additions & 0 deletions

File tree

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# 009_0 — Merge-readiness judgment: codex/bucket2-fixes-260723 → dev/preview/main
2+
3+
Date: 2026-07-23. Question: may this branch be merged toward main/preview?
4+
Answer shape: content verdict + process verdict + required conditions. No PR
5+
opened, no merge executed (user instruction).
6+
7+
## Evidence
8+
9+
### Branch topology (verified 2026-07-23, after push)
10+
11+
- `codex/bucket2-fixes-260723` = 11 commits on top of `origin/dev` (54e0bbf8):
12+
2 devlog + 8 code/docs (f464f966, ea39977d, a4bd1d85, c771aaa5, f4f90e94,
13+
95b8717c, 44082437, 70d1251e, + final devlog record). Pushed to origin.
14+
- `origin/dev` is 26 commits ahead of `origin/main` (9e68ed67) and 28 ahead of
15+
`origin/preview` (6d6bef8b = v2.7.33 tag commit). preview is an ancestor of dev.
16+
- Commit author name: bitkyc08-arch, which GitHub maps to the repository-owner
17+
account @lidge-jun.
18+
19+
### Local gate state (all fresh runs on the final HEAD)
20+
21+
- `bun run test`: 3542 pass / 0 fail (290 files), re-run after every WP.
22+
- `bun run typecheck`: exit 0. `bun run lint:gui`: clean. `bun run build:gui`: ok.
23+
- `bun run privacy:scan`: passed. docs-site build: 121 pages.
24+
- Regression coverage added per fix: 6 (#289) + 6 (#292) + 7 (#287) + 9 (#295)
25+
+ 11 (#300) named cases.
26+
27+
### Policy surface (MAINTAINERS.md / AGENTS.md / workflows)
28+
29+
- Normal PRs target `dev`; a PR requires ≥1 maintainer approval + required CI.
30+
**Authors do not approve their own pull requests** — commits here are authored
31+
by the owner, so approval must come from the other maintainer (@Ingwannu).
32+
- `ci.yml` triggers: PR → {main, dev} and push → {main, preview, dev}.
33+
`service-lifecycle.yml` triggers: PR → {main, dev}. Therefore **no CI has run
34+
on this branch yet** — CI starts when a PR to dev opens, and again on the dev
35+
push after merge.
36+
- Security boundary: WP3 (#292) adds DNS-resolved destination-policy enforcement
37+
on model discovery — a direct change to the SSRF boundary (hardening
38+
direction). Per MAINTAINERS.md this requires **explicit security review**;
39+
it is merge condition #1, not an optional focus area. The other four fixes do
40+
not touch auth/credentials/OAuth/workflows/release automation/dependencies.
41+
- Branch policy: `main` moves only by maintainer promotion from `dev`;
42+
`preview` is the prerelease train. `scripts/release.ts` enforces: preview
43+
branch → version must contain `-preview.`; main → no prerelease suffix.
44+
- Release train gates (memory skill opencodex-release-train): push dev → wait
45+
for BOTH `ci.yml` and `service-lifecycle.yml` green on the exact release SHA
46+
→ dev→preview, publish preview → preview→main, publish stable → verify
47+
`npm view @bitkyc08/opencodex dist-tags --json`.
48+
49+
## Verdict
50+
51+
**Content: LOCAL GATES GREEN — ready to open the PR.** All five fixes are
52+
complete, locally gate-green, regression-covered, and documented across
53+
locales. This supports "ready to open the PR", not an unqualified merge GO.
54+
55+
**Merge state: NOT READY until three external conditions complete** (audit
56+
round 1, reviewer Peirce, all accepted):
57+
58+
1. **Explicit security review (mandatory, not optional).** WP3 adds DNS-resolved
59+
destination-policy enforcement on model discovery (src/codex/catalog.ts),
60+
directly changing the SSRF boundary in a hardening direction. MAINTAINERS.md
61+
requires explicit security review for security-boundary changes; practically
62+
this must come from @Ingwannu (the author — GitHub account @lidge-jun
63+
cannot self-approve).
64+
2. **PR CI green — `ci.yml` only.** Workflow triggers verified: ci.yml runs on
65+
PRs to dev/main and pushes to main/preview/dev; `gh run list --branch
66+
codex/bucket2-fixes-260723` is empty (no CI on feature-branch pushes).
67+
**`service-lifecycle.yml` will NOT run on this PR**: its path filters
68+
(src/service.ts, src/cli*.ts, src/lib/bun-runtime.ts, package.json, bun.lock,
69+
the workflow itself) match nothing in this diff. Do not wait for it here;
70+
the both-workflows gate applies at the release-train SHA when paths match.
71+
3. **GUI regression-test coverage decision.** Root CI runs only
72+
`bun test --isolate tests` (ci.yml:72); `gui/tests/claude-code-autoconnect.test.tsx`
73+
(WP4's 5 SSR cases) is NOT executed by CI — the auto-connect regression pin is
74+
currently local-only. Options: (a) wire it into CI — a workflow change, which
75+
is itself a security-boundary edit requiring its own review, so NOT done
76+
silently here; (b) relocate the cases into a CI-executed suite; (c) accept and
77+
document the gap. Default recommendation: (b) or (a) as a follow-up PR; the
78+
gap does not block merging this branch if the reviewer accepts it.
79+
80+
**Promotion remains a maintainer decision.** After dev merge, dev→preview
81+
(version `2.7.x-preview.*`) then preview→main (`2.7.x`) follows the release
82+
train with both CI workflows green on the exact release SHA (when their path
83+
filters match), then npm dist-tag verification. dev already carries 26
84+
unreleased commits, so the next train ships more than these five fixes.
85+
86+
**NOT allowed:** direct merge of this branch into `preview` or `main` — that
87+
bypasses the dev-integration policy and skips required CI.
88+
89+
## Recommended next action
90+
91+
Open the PR to `dev` (user decision — withheld per instruction), watch ci.yml
92+
on the PR, obtain @Ingwannu's approval explicitly covering the SSRF-boundary
93+
change, decide the GUI-test coverage question, then let the maintainer run the
94+
preview/main train when ready. `git merge-tree` confirms the branch merges
95+
cleanly into origin/dev today (exit 0). Note: `dev` branch protection is
96+
policy-only (no GitHub branch protection rules), so approval/CI discipline is
97+
social, not enforced.
98+
99+
## Watch items
100+
101+
- Local `dev` branch in the main checkout is +12/-0 vs origin/dev (unpushed
102+
work including the a89504fc server fix and earlier devlog units) unrelated to
103+
this branch; keep it out of this merge decision, but account for it before
104+
any dev push.
105+
- #290 remains open (needs-info); it is not a merge blocker.

0 commit comments

Comments
 (0)