From 5256655c4d29d577ce8411c979cc6f72ddbcbd17 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Wed, 5 Aug 2026 14:16:55 -0400 Subject: [PATCH] refactor(core): remove obsolete project commit bridge (#40701) --- packages/core/src/project.ts | 16 +--------------- .../test/effect/layer-node/node-build.test.ts | 1 - packages/core/test/location.test.ts | 1 - packages/core/test/session-compact.test.ts | 1 - packages/core/test/session-create.test.ts | 1 - packages/core/test/session-instructions.test.ts | 1 - packages/core/test/session-log.test.ts | 1 - packages/core/test/session-remove.test.ts | 1 - 8 files changed, 1 insertion(+), 22 deletions(-) diff --git a/packages/core/src/project.ts b/packages/core/src/project.ts index f63ccb2569d..cccbb5b5af7 100644 --- a/packages/core/src/project.ts +++ b/packages/core/src/project.ts @@ -59,16 +59,6 @@ export interface Interface { readonly list: () => Effect.Effect> readonly directories: (input: DirectoriesInput) => Effect.Effect readonly resolve: (input: AbsolutePath) => Effect.Effect - /** - * Temporary bridge method for writing the resolved project ID to the repo-local cache. - * - * This exists while the old opencode project service and this core project - * service work together: core resolves the ID, while the old service still owns - * database migration and persistence. The old service should call this after it - * finishes migrating from `resolve().previous` to `resolve().id`; once project - * persistence moves into core, this separate bridge method can go away. - */ - readonly commit: (input: { store: AbsolutePath; id: ID }) => Effect.Effect } export class Service extends Context.Service()("@opencode/Project") {} @@ -268,11 +258,7 @@ const layer = Layer.effect( return yield* persist({ id: ID.global, directory, canonical: directory, vcs: undefined }) }) - const commit = Effect.fn("Project.commit")(function* (input: { store: AbsolutePath; id: ID }) { - yield* fs.writeFileString(path.join(input.store, "opencode"), input.id).pipe(Effect.ignore) - }) - - return Service.of({ list, directories, resolve, commit }) + return Service.of({ list, directories, resolve }) }), ) diff --git a/packages/core/test/effect/layer-node/node-build.test.ts b/packages/core/test/effect/layer-node/node-build.test.ts index 0c7cc489f40..4ce180ba4ae 100644 --- a/packages/core/test/effect/layer-node/node-build.test.ts +++ b/packages/core/test/effect/layer-node/node-build.test.ts @@ -80,7 +80,6 @@ describe("node build", () => { list: () => Effect.succeed([]), directories: () => Effect.succeed([]), resolve: (directory) => Effect.succeed({ id: Project.ID.global, directory, canonical: directory }), - commit: () => Effect.void, }) }), ) diff --git a/packages/core/test/location.test.ts b/packages/core/test/location.test.ts index a37234feca1..eaec7897c2d 100644 --- a/packages/core/test/location.test.ts +++ b/packages/core/test/location.test.ts @@ -21,7 +21,6 @@ const projectLayer = Layer.succeed( canonical: AbsolutePath.make("/main/repo"), vcs: { type: "git", store: AbsolutePath.make("/repo/.git") }, }), - commit: () => Effect.void, }), ) const it = testEffect(AppNodeBuilder.build(Location.boundNode(ref), [[Project.node, projectLayer]])) diff --git a/packages/core/test/session-compact.test.ts b/packages/core/test/session-compact.test.ts index a1e3ca203f1..e21e28c0e39 100644 --- a/packages/core/test/session-compact.test.ts +++ b/packages/core/test/session-compact.test.ts @@ -36,7 +36,6 @@ const projects = Layer.succeed( list: () => Effect.succeed([]), resolve: (directory) => Effect.succeed({ id: Project.ID.global, directory, canonical: directory }), directories: () => Effect.succeed([]), - commit: () => Effect.void, }), ) let requests: LLMRequest[] = [] diff --git a/packages/core/test/session-create.test.ts b/packages/core/test/session-create.test.ts index 06023e2009f..c3d9f2be1f2 100644 --- a/packages/core/test/session-create.test.ts +++ b/packages/core/test/session-create.test.ts @@ -34,7 +34,6 @@ const projects = Layer.succeed( list: () => Effect.succeed([]), resolve: (directory) => Effect.succeed({ id: Project.ID.global, directory, canonical: directory }), directories: () => Effect.succeed([]), - commit: () => Effect.void, }), ) const it = testEffect( diff --git a/packages/core/test/session-instructions.test.ts b/packages/core/test/session-instructions.test.ts index fd4e00249c0..a738499a609 100644 --- a/packages/core/test/session-instructions.test.ts +++ b/packages/core/test/session-instructions.test.ts @@ -56,7 +56,6 @@ const projects = Layer.succeed( list: () => Effect.succeed([]), resolve: (directory) => Effect.succeed({ id: Project.ID.global, directory, canonical: directory }), directories: () => Effect.succeed([]), - commit: () => Effect.void, }), ) const permission = Layer.succeed( diff --git a/packages/core/test/session-log.test.ts b/packages/core/test/session-log.test.ts index c4428f85482..4cfea987de2 100644 --- a/packages/core/test/session-log.test.ts +++ b/packages/core/test/session-log.test.ts @@ -23,7 +23,6 @@ const projects = Layer.succeed( list: () => Effect.succeed([]), resolve: (directory) => Effect.succeed({ id: Project.ID.global, directory, canonical: directory }), directories: () => Effect.succeed([]), - commit: () => Effect.void, }), ) const it = testEffect( diff --git a/packages/core/test/session-remove.test.ts b/packages/core/test/session-remove.test.ts index cf3ce126cc6..ec7c532bc7b 100644 --- a/packages/core/test/session-remove.test.ts +++ b/packages/core/test/session-remove.test.ts @@ -19,7 +19,6 @@ const projects = Layer.succeed( list: () => Effect.succeed([]), resolve: (directory) => Effect.succeed({ id: Project.ID.global, directory, canonical: directory }), directories: () => Effect.succeed([]), - commit: () => Effect.void, }), ) const it = testEffect(