From bd2af43d010f2dc186b4c0fa89d55f5690622a5d Mon Sep 17 00:00:00 2001 From: Sawyer Cutler Date: Fri, 9 Oct 2026 08:23:39 -0700 Subject: [PATCH] refactor(agent): delete unused fleet barrel and restore allowlist --- scripts/dead-export-allowlist.txt | 32 ++++-- src/agent/fleet.test.ts | 39 ------- src/agent/fleet.ts | 170 ------------------------------ 3 files changed, 24 insertions(+), 217 deletions(-) delete mode 100644 src/agent/fleet.test.ts delete mode 100644 src/agent/fleet.ts diff --git a/scripts/dead-export-allowlist.txt b/scripts/dead-export-allowlist.txt index 2367c0410..b80199d76 100644 --- a/scripts/dead-export-allowlist.txt +++ b/scripts/dead-export-allowlist.txt @@ -39,12 +39,19 @@ packages/opencode-go/src/models.ts: satisfies packages/opencode-go/src/models.ts: readonly # Agent-package public API (CL-9800 extraction wave): each @corbits/code-agent-* -# workspace package's public surface (agent/defineAgent + the config card) is -# consumed by the app registry/barrel once the fleet merges; on a per-extract -# branch they have no in-repo consumer yet. Public API by design — owned by the -# agent-template lane; remove with the code if the package is deleted. +# workspace package's six-name entry-point surface (agent, defineAgent, director, +# tools, systemPrompt, config) is the package's public contract. The closed +# director fan-in (src/agent/directors/registry.ts) consumes `director`; the +# remaining names are public API by design (custom-agent authoring surface), and +# were previously laundered through the deleted src/agent/fleet.ts tests-only +# barrel. Honest public API — owned by the agent-template lane; remove with the +# code if the package is deleted. +agents/dispatch/src/index.ts: agent +agents/dispatch/src/index.ts: defineAgent agents/dispatch/src/config.ts: satisfies agents/dispatch/src/config.ts: boolean +agents/warden/src/index.ts: agent +agents/warden/src/index.ts: defineAgent agents/warden/src/config.ts: satisfies agents/warden/src/config.ts: boolean agents/designer/src/index.ts: agent @@ -103,13 +110,22 @@ packages/prompt-variance/src/index.ts: PromptVarianceFamily packages/prompt-variance/src/index.ts: PromptVarianceRow # Agent-package public API (CL-9800 extraction wave): each @corbits/code-agent-* -# workspace package's public surface (agent/defineAgent + the config card) is -# consumed by the app registry/barrel once the fleet merges; on a per-extract -# branch they have no in-repo consumer yet. Public API by design — owned by the -# agent-template lane; remove with the code if the package is deleted. +# workspace package's six-name entry-point surface (agent, defineAgent, director, +# tools, systemPrompt, config) is the package's public contract. The closed +# director fan-in (src/agent/directors/registry.ts) consumes `director`; the +# remaining names are public API by design (custom-agent authoring surface), and +# were previously laundered through the deleted src/agent/fleet.ts tests-only +# barrel. Honest public API — owned by the agent-template lane; remove with the +# code if the package is deleted. +agents/artist/src/index.ts: agent +agents/artist/src/index.ts: defineAgent agents/artist/src/config.ts: satisfies agents/artist/src/config.ts: boolean +agents/shakespeare/src/index.ts: agent +agents/shakespeare/src/index.ts: defineAgent agents/shakespeare/src/config.ts: satisfies agents/shakespeare/src/config.ts: boolean +agents/prober/src/index.ts: agent +agents/prober/src/index.ts: defineAgent agents/prober/src/config.ts: satisfies agents/prober/src/config.ts: boolean diff --git a/src/agent/fleet.test.ts b/src/agent/fleet.test.ts deleted file mode 100644 index 0b2068cda..000000000 --- a/src/agent/fleet.test.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { describe, expect, test } from "bun:test"; - -import { FLEET } from "./fleet.js"; -import { DIRECTOR_IDS, type DirectorId } from "./directors/types.js"; - -describe("fleet barrel", () => { - test("FLEET covers all 10 extract ids in the closed director set", () => { - const closed = new Set(DIRECTOR_IDS); - expect(Object.keys(FLEET).length).toBe(10); - for (const id of Object.keys(FLEET) as readonly DirectorId[]) { - expect(closed).toContain(id); - } - }); - - test("every FLEET entry structurally satisfies the director contract", () => { - for (const id of Object.keys(FLEET) as readonly (keyof typeof FLEET)[]) { - const entry = FLEET[id]; - expect(entry.id).toBe(id); - } - }); - - test("barrel owns no in-tree director package data", () => { - // Backed only by the workspace packages (never in-tree ./directors/* re-exports - // — the merge-order stale re-export hazard), via the tsconfig paths aliases to - // agents//src/index.ts on this standalone branch. - expect(Object.keys(FLEET)).toEqual([ - "artist", - "coder", - "designer", - "dispatch", - "explorer", - "planner", - "prober", - "reviewer", - "shakespeare", - "warden", - ]); - }); -}); diff --git a/src/agent/fleet.ts b/src/agent/fleet.ts deleted file mode 100644 index 7d6740607..000000000 --- a/src/agent/fleet.ts +++ /dev/null @@ -1,170 +0,0 @@ -/** - * Fleet barrel (CL-9808, PR #1352): one import site for the closed director fleet. - * - * Re-exports the six-name surface per @corbits/code-agent- workspace package, - * plus a FLEET registry keyed by id over each package's director. Re-export only — - * never in-tree ./directors/* (the merge-order stale re-export hazard). - * - * All 10 @corbits/code-agent- packages have merged; `tsconfig` `paths` - * aliases resolve each name to the real agents//src/index.ts package entry. - */ - -// Workspace packages — six-name surface each. -import { - agent as artistAgent, - config as artistConfig, - defineAgent as defineArtistAgent, - director as artistDirector, - systemPrompt as artistSystemPrompt, - tools as artistTools, -} from "@corbits/code-agent-artist"; -import { - agent as coderAgent, - config as coderConfig, - defineAgent as defineCoderAgent, - director as coderDirector, - systemPrompt as coderSystemPrompt, - tools as coderTools, -} from "@corbits/code-agent-coder"; -import { - agent as designerAgent, - config as designerConfig, - defineAgent as defineDesignerAgent, - director as designerDirector, - systemPrompt as designerSystemPrompt, - tools as designerTools, -} from "@corbits/code-agent-designer"; -import { - agent as dispatchAgent, - config as dispatchConfig, - defineAgent as defineDispatchAgent, - director as dispatchDirector, - systemPrompt as dispatchSystemPrompt, - tools as dispatchTools, -} from "@corbits/code-agent-dispatch"; -import { - agent as explorerAgent, - config as explorerConfig, - defineAgent as defineExplorerAgent, - director as explorerDirector, - systemPrompt as explorerSystemPrompt, - tools as explorerTools, -} from "@corbits/code-agent-explorer"; -import { - agent as plannerAgent, - config as plannerConfig, - defineAgent as definePlannerAgent, - director as plannerDirector, - systemPrompt as plannerSystemPrompt, - tools as plannerTools, -} from "@corbits/code-agent-planner"; -import { - agent as proberAgent, - config as proberConfig, - defineAgent as defineProberAgent, - director as proberDirector, - systemPrompt as proberSystemPrompt, - tools as proberTools, -} from "@corbits/code-agent-prober"; -import { - agent as reviewerAgent, - config as reviewerConfig, - defineAgent as defineReviewerAgent, - director as reviewerDirector, - systemPrompt as reviewerSystemPrompt, - tools as reviewerTools, -} from "@corbits/code-agent-reviewer"; -import { - agent as shakespeareAgent, - config as shakespeareConfig, - defineAgent as defineShakespeareAgent, - director as shakespeareDirector, - systemPrompt as shakespeareSystemPrompt, - tools as shakespeareTools, -} from "@corbits/code-agent-shakespeare"; -import { - agent as wardenAgent, - config as wardenConfig, - defineAgent as defineWardenAgent, - director as wardenDirector, - systemPrompt as wardenSystemPrompt, - tools as wardenTools, -} from "@corbits/code-agent-warden"; - -// Fleet registry — keyed by id, one director per workspace package. -export const FLEET = { - artist: artistDirector, - coder: coderDirector, - designer: designerDirector, - dispatch: dispatchDirector, - explorer: explorerDirector, - planner: plannerDirector, - prober: proberDirector, - reviewer: reviewerDirector, - shakespeare: shakespeareDirector, - warden: wardenDirector, -} as const; - -// Re-exports — six-name surface per package. -export { - artistAgent, - artistConfig, - artistDirector, - artistSystemPrompt, - artistTools, - coderAgent, - coderConfig, - coderDirector, - coderSystemPrompt, - coderTools, - defineArtistAgent, - defineCoderAgent, - defineDesignerAgent, - defineDispatchAgent, - defineExplorerAgent, - definePlannerAgent, - defineProberAgent, - defineReviewerAgent, - defineShakespeareAgent, - defineWardenAgent, - designerAgent, - designerConfig, - designerDirector, - designerSystemPrompt, - designerTools, - dispatchAgent, - dispatchConfig, - dispatchDirector, - dispatchSystemPrompt, - dispatchTools, - explorerAgent, - explorerConfig, - explorerDirector, - explorerSystemPrompt, - explorerTools, - plannerAgent, - plannerConfig, - plannerDirector, - plannerSystemPrompt, - plannerTools, - proberAgent, - proberConfig, - proberDirector, - proberSystemPrompt, - proberTools, - reviewerAgent, - reviewerConfig, - reviewerDirector, - reviewerSystemPrompt, - reviewerTools, - shakespeareAgent, - shakespeareConfig, - shakespeareDirector, - shakespeareSystemPrompt, - shakespeareTools, - wardenAgent, - wardenConfig, - wardenDirector, - wardenSystemPrompt, - wardenTools, -};