refactor: remove dormant Git workspace write path - #4174
Conversation
Remove the disconnected Git executable workspace service, write owner, execution admission bridge, and their private tests and CI entries. Keep attached execution on the Runtime filesystem worker and preserve the schema 9 workspace event reader, migration, projections, and rebuild authority for historical databases. The released v0.1.10 and v0.1.11 compositions constructed the owner but had no production caller for baseline open, artifact creation, or managed profile creation, so no artifact-only decoder remains. Generated-by: Codex
876dda2 to
b2b202e
Compare
ARE404
left a comment
There was a problem hiding this comment.
Approving refactor: remove dormant Git workspace write path at head b2b202ef.
I reviewed the 38 changed files and verified the removal of the dormant Git workspace write path is reachable-clean:
- The deleted modules (
git-workspace-service.ts,dugite-native-environment.ts,managed-workspace-owner.ts,managed-workspace-worker-bridge-internal.ts,managed-workspace-execution-authority-internal.ts,managed-baseline-receipt-authority-internal.ts) and the corresponding tests have no surviving references in retained code, CI workflows, or scripts at this head (grep across packages/scripts/apps/github). - The retained read-side surfaces (
workspace-execution-composition.ts,workspace-version-authority-internal.ts) were trimmed consistently with the removed write semantics, so nothing retained calls a deleted symbol. - Remaining
dugitementions are license-dir paths inverify-packaged-app.mjs(packaged-app license verification), not imports of the deleted module. test(23m04s),package(23m08s), and the addon/validate builds are green on this exact head; no unresolved review threads.
No P0–P2; nothing warrants an inline P3. The deletion is consistent and the read path stays intact.
简体中文
批准 refactor: remove dormant Git workspace write path,head b2b202ef。
审查 38 个改动文件,确认删除休眠的 Git workspace 写路径是可达性干净的:被删模块(git-workspace-service.ts/dugite-native-environment.ts/managed-workspace-owner.ts/managed-workspace-worker-bridge-internal.ts/managed-workspace-execution-authority-internal.ts/managed-baseline-receipt-authority-internal.ts)及对应测试在保留的代码/CI/脚本里均无残留引用(packages/scripts/apps/github 全仓 grep)。保留的读侧(workspace-execution-composition.ts/workspace-version-authority-internal.ts)已同步裁剪掉写语义,没有保留代码调用被删符号。剩余的 dugite 提及是 verify-packaged-app.mjs 里的许可证目录路径(打包应用许可证校验),不是对删除模块的 import。test(23m04s)/package(23m08s)/addon/validate 构建均在 exact head 绿,无未解决线程。无 P0–P2,也无值得行内的 P3;删除自洽、读路径完好。
zhiiw
left a comment
There was a problem hiding this comment.
Reviewed at exact head b2b202ef (verified unchanged at review time; all checks completed/success on this head, including test 23m and package 23m).
Dormant-path removal, verified rather than assumed:
- Zero remaining references: whole-tree search at this head finds no code reference to
ManagedWorkspaceOwner,openManagedWorkspaceBaseline,createManagedWorkspaceFromSource,createManagedWorkspaceExecutionProfile,git-workspace-service,managed-workspace-owner,dugite-native,managed_worktree_v1, or the removed internal modules. The single surviving textual mention is an architecture doc sentence stating this path must not be restored. - The deleted authority seam leaves no dangling caller:
assertWorkspaceBaselineAuthorityStoreRootInternal(the pathname/inode assertion) has zero references anywhere;registerWorkspaceBaselineAuthorityWritercall sites are updated consistently, and the seam's own comment now states honestly that no production baseline writer is composed while the schema-9 reader/migration/rebuild remain supported. - Runtime Host composition keeps the live path intact: the
attached_checkout_v1profile is unchanged; the removedmanaged_worktree_v1branch was unreachable without a composedmanagedOwner. The read-only operation types are re-derived locally fromFilesystemWorkerClient(Extracton read/glob/grep) instead of importing the deleted storage module — same shape, no new abstraction. - Clean build confirms the removal: after deleting
packages/storage/distand rebuilding, the removed modules and their tests are not emitted.
Executed on a real Windows machine at this head: storage public-entrypoint / workspace-authority / recovery-authority suites 67/68 (the one failure is a pre-existing environment case — the test shells out to tar, and Windows bsdtar misparses the C: path as a remote host; the test file is untouched by this PR), SQLite recovery-concurrency 12/12, runtime-crash 10/10, managed-dependency crash 5/5, and the new workspace-execution-composition 3/3. One honest limitation: execution-composition.test.js hangs on this specific machine (it hangs before reporting, in a long-running production-composition fixture); the hosted test job runs that exact suite green on this head, and the PR's edit to that file only removes assertions about the deleted composition branch.
Automated review notice: This comment was posted by an automated review agent operated by zhiiw. It is not an independent human review and does not replace one.
简体中文
休眠路径删除,全部核实而非假设:全树搜索确认被删模块/符号零残留(唯一存活的是架构文档里「不得恢复」的告诫句);被删的 pathname/inode 断言无残留调用方,baseline writer 注册的调用点一致更新,注释如实写明当前无生产 writer;Runtime Host 侧 attached_checkout_v1 活路径不动,managed_worktree_v1 分支本来就没有 composed owner 不可达;干净重建确认被删模块不再产出。本机真 Windows:storage 各套件 67/68(唯一失败是 tar 把 C: 盘符当远程主机的既有环境坑,该测试文件 PR 未触碰)、并发 12/12、崩溃 10/10+5/5、新组合套件 3/3。如实声明:execution-composition.test.js 在本机挂起(环境性,hosted test job 在同一 head 全绿跑过该套件)。
Summary
managed_worktree_v1Runtime Host branchgit-worktree-child-executor, Gitoxide foundation/data plane, SSH/Remote Host behavior, and bundled-Git upgrade verificationThe diff adds 144 lines and deletes 8,631 lines, for a net reduction of 8,487 lines.
UI/UX impact
None. This PR changes no renderer, styling, visual asset, product copy, or interaction flow, so screenshots are not applicable. It removes a production-unreachable internal executable/write path; attached-checkout read execution keeps its existing behavior.
Historical compatibility
The
v0.1.10andv0.1.11Runtime Host compositions could constructManagedWorkspaceOwner, but production code in both tags had no caller foropenManagedWorkspaceBaseline,createManagedWorkspaceFromSource, orcreateManagedWorkspaceExecutionProfile. Those producer calls existed only in tests. The released path therefore could not create a receipt/worktree artifact for a user, so this PR does not retain an unconsumed artifact-only decoder.Existing schema 9 databases remain readable: migration, canonical workspace RuntimeEvents, durable rootId binding, projections, head reader, and explicit projection rebuild are retained. A synthetic schema 9 database with baseline facts and root binding was upgraded with this head, then read and rebuilt successfully.
Breaking change
The dormant
@maka/storage/managed-workspace-ownerpackage subpath is removed. Runtime Host, Desktop, CLI, and repository scripts have no production consumer of it. Restoring managed workspace execution requires a new Gitoxide production composition rather than restoring the retired Git CLI-shaped API.Open PR integration
Checked against the current heads after rebasing this PR onto
mainat104d5fc4c3197ab04968947bd1b17bebd3b40b88:da66f6c7540901412b993e2cbbea1a2f20376345: its Storage/runtime mutation authority remains independent and must be retained. Merge-tree now reports two expected integration conflicts: the Phase 3–4 roadmap andworkspace-version-authority-internal.ts. Resolution should keep feat(runtime): establish managed mutation lifecycle authority #3741's successor/mutation types and writers while keeping this PR's removal of the callerless legacy pathname/inode assertion and old owner wording.26b4c4a31777c6b37b82362ac82b354cc627a311: Gitoxide source and data-plane files have no source conflict. Merge-tree reports the intentional modify/delete conflict on the retired baseline-open document and a generated Windows inventory conflict. Resolution should keep the document deletion, retain feat(runtime-host): add Gitoxide candidate and accepted-tree read data plane #3857's Gitoxide policy/data-plane changes, and regenerate the inventory.aa342d561304c7604ae7cb36751e86686901d863and feat(storage): define quiescent session snapshot boundary #2968 headae821f53ec6e8ead2db1bfee387c94b4a405a5c0do not consume the retired executable/write path.Verification
@maka/storageand@maka/runtime-hosttypecheck: passedgit diff --check: passedThe repository-wide suite was not run.
Review
Six independent internal adversarial lanes reviewed history compatibility, Storage authority, Runtime Host composition, Gitoxide/open-PR integration, CI/release residue, and deletion completeness. Two focused re-reviews then checked the final cleanup delta. No P0-P3 finding remains. These are non-human reviews; a human contributor still owns the submission and merge decision.
AI use
Select exactly one:
Tool(s) and scope: Codex performed the live consumer/history audit, implementation, focused validation, merge-tree review, and internal non-human adversarial reviews. A human contributor must review the final diff and owns the submission and merge decision.
Checklist
Does this PR entail a change in behavior?