Repository navigation
refactor(agents): one toolset source, one nudge runtime, one lifecycle projection - #1439
Merged
TheGreatAxios merged 1 commit intoOct 16, 2026
Conversation
Contributor
|
Triage: Fail @TheGreatAxios, please address the following:
|
TheGreatAxios
changed the base branch from
cl-10664-provider-de-dupe-error-reader-adapter-decorators-s
to
main
October 15, 2026 22:46
…e projection The ten workspace toolset files were literal copies of the canonical tool-sets constants; they import them now. The agents' agent.ts wrappers defined zero-importer factories that the runtime never consumed (definitions are built in assemble-runtime / run.ts through @intx/agent); they are gone along with their re-exports and the stale allowlist rows for those wrappers. ChatDirector and SubAgentDirector share a single director-core nudge module instead of carrying two withEphemeralNudge implementations, stop-policy loses its deprecated input shadow, and lifecycle state checks fold into one isRunEligible projection. The qa-lead outlier gets the same package-shape drift test as the other directors. The live-tool-dispatch shim stays: the vendored agent still snapshots its tool map at construction, so the shim is load-bearing. Deleting those modules drops the dead-export scan from 1366 to 1358 files, so the fail-closed floor follows. Family tool names, approve_worker_call, auth helpers, and the provider de-dupe stay. Step-grant/workspace-policy separation and per-director prompt data are untouched.
TheGreatAxios
force-pushed
the
cl-10669-agentdirector-consolidation-one-definition-one
branch
from
October 16, 2026 04:04
5c07307 to
9760666
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
src/agent/directors/tool-sets.tsnow.agents/<id>/src/agent.tswrapper files: they exported{agent, defineAgent}with zero production importers (definitions are built at runtime inassemble-runtime.ts/run.tsthrough@intx/agent); the wrappers were the third copy of the truth. Twenty-two allowlist rows dropped in step, and the knip test's live assertion is updated to pin thatagentno longer surfaces in the production scan (the worktree test-laundering disclosure block is preserved intact).director-core.tsnudge/ephemeral-turn/composed-prompt runtime instead of two near-identical implementations.incompleteReportNudgeFired) is removed; callers/tests write through the cycle counter (toolLessNarrationCycles).subagent/lifecycle.ts isRunEligible) replaces five inlinepending_init || runningcopies across agent-fleet/session-store (the fifth surfaced in review; folded).live-tool-dispatchshim is kept — the vendored agent still snapshots its tool map at construction, so the deletion gate was not met (evidence in-tree);run-consume-stream.tsdoes not exist at this base.Verification
bun run checkexit 0: 8,970 pass / 0 fail across 583 files; dead-export guard 331 findings / 331 allowlisted / 0 violations (dual-scan, floor 1240).DIRECTOR_REGISTRYfan-in unchanged (registry.ts byte-untouched, no new barrel); nudge/composed-prompt parity diff-verified across both directors; isRunEligible projection matched the five pre-existing conditions modulo their guards; qa-lead drift test asserts package shape + registry identity.Fixes CL-10669