commit 9faa7ae48dcc8622888ef3a0b1807a11e7cb67ce
parent 69c35426538d5d2820c63e917a01cf898e2fb692
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Fri, 25 Sep 2026 01:02:19 -0400
plans: release 6 Phase 4 slice 1 — record corrected after review
How the editor build loads the SDK (lib-storage bundled, client-s3 external
through .next/node_modules), Dockerfile.build's extra install, the
review-fix gates and the commit table.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/plans/release-6.md b/plans/release-6.md
@@ -60,14 +60,19 @@ had to come down from the editor with it.
|---|---|
| `9cb35c37` | `git mv` to `common/publish/build.ts`. `sites/lib/buildAction.ts` and `deployAction.ts` import `yt-dlp-transcript-common/publish/build`. **No re-export is left at the old path**: no spec, script or tool imports it (`git grep buildDeployCore` finds only docs and plans). `@aws-sdk/client-s3` and `@aws-sdk/lib-storage` (`^3.1080.0`) move from `editor/package.json` to common's `dependencies`. As in the follow-ups slice, a plain `pnpm install` re-resolved unrelated peer suffixes (`supports-color`), so the lockfile change was applied by hand (the two importer entries move from `editor:` to `common:`, 12 lines) and verified with `pnpm install --frozen-lockfile`. `common/package.json` also gains `"./publish/*": "./publish/*.ts"` in `exports` (the editor resolves common through `exports`, so the new directory needs its own pattern) and `publish` in the `test` glob. `architecture.test.ts` learns the layer: `publish/` may not import `views/` or `components/`, and `lib/` and `components/` may not import `publish/`. No back-edge was found and `ALLOWED` did not grow. New `publish/build.test.ts` (3) pins `resolveOutDir`, `dockerSiteOutDir` and `dockerSiteStagingDir`. `DEPLOY_CLOUDFLARE.md`'s pointer for `ARCHIVE_CACHE_CONTROL` (it still named the pre-IA `editor/app/deploy/` path) names the new home |
| `2a31a863` | merge `main` `4d97049f` (release 6 follow-ups). Clean: that slice's `exports` lines sit between `./components/*` and `./lib/*`, and this one sits after `./views/*`. Then `pnpm install --frozen-lockfile` to create the new umtool → common link (`--offline` failed for want of cached metadata for `@next/env`; the online frozen install changed nothing on disk in git) |
-| *(this commit)* | this record, the `[Unreleased]` bullet, `plans/FACTS.md`'s `PREVIEW_SHARES_ARCHIVES_NOTICE` path |
+| `c8af2165` | this record, the `[Unreleased]` bullet, `plans/FACTS.md`'s `PREVIEW_SHARES_ARCHIVES_NOTICE` path |
+| `f2507e89` | (review fix) `architecture.test.ts`: the `jobs` and `controller` rows forbid `publish/` too, since dispatch sits below publish, and the failure message says so. Nothing imports that way, so it stays green |
+| *(this commit)* | (review fix) this record: how the editor build loads the SDK, `Dockerfile.build`'s extra install, the commit table |
-**Gates** on the merged tree (`2a31a863`, worktree root). tsc
+**Gates** on the merged tree (`2a31a863`, worktree root). After the review fix: tsc clean,
+common **1754/1754**, editor unit **72/72**. No e2e was rerun, since the fix changes no behaviour. tsc
(`pnpm -r --no-bail --workspace-concurrency=1 exec tsc --noEmit`) clean, and clean before
`9cb35c37` too. common **1754/1754**: 1750 + 1 (follow-ups) + 3 (`publish/build.test.ts`); it was
1753 before the merge. Editor unit **72/72**. test:scripts **159 pass + 1 skip** (the follow-ups
-count). mcp **219/219**. `pnpm --filter editor exec next build` ok (compiled in 18.6 s), and it
-bundles `@aws-sdk/*` from `common/node_modules` now that editor no longer depends on it.
+count). mcp **219/219**. `pnpm --filter editor exec next build` ok (compiled in 18.6 s). With
+editor no longer depending on the SDK, `@aws-sdk/lib-storage` is bundled, and `@aws-sdk/client-s3`
+stays external: it loads through the symlink Next creates at
+`editor/.next/node_modules/@aws-sdk/client-s3-<hash>`, which points into `common/node_modules`.
`pnpm --filter export exec next build` ok (7.8 s). The worktree's `export/public/archives` link
was dangling (the primary has no `archives/` at the moment), so it was removed before the builds.
EDITOR e2e `build deploy-page site-publish-preview sites-crud cut-release channel-build-toggle`
@@ -95,6 +100,9 @@ item 1 also lists is still to do, and most of it needs item 2's CLI first:
the editor resolves common through `exports`. It was made anyway and is its own line. `git
merge-tree` against `one-core/r6-followups` was clean before that slice landed, and the real
merge was clean too.
+- **`Dockerfile.build`'s export image now installs the AWS SDK too**, because it installs
+ common's dependencies. That adds weight to the image and breaks nothing; the export never
+ imports `publish/`.
- `plans/STATE.md` still says Phase 4 is next and that `buildDeployCore.ts` imports nothing from
the editor (`:73`, `:1485`). Status is the parent's to write, so those lines were not edited.
- **Commit trailers** name `Claude Opus 5.5 (1M context)`, as in release 5.