CL-6499: Port scout's diligence-brief pipeline into workbench as a workflow - #239
Merged
Merged
Conversation
Ports scout's diligence-brief pipeline (workflows/diligence-brief) as a single-step, mail-triggered @intx/workflow definition, following code-review's shape. Scout's own tools cannot be pinned here (CL-5179), so every call is rebound: web research to @corbits/web-search-tools, firm memory to @corbits/memory-tools, and artifact persistence to @corbits/artifacts-hub's workflow-artifacts surface (via a duplicated finalize-tool/artifact-client, same convention every sibling workflow package uses). The brief is trimmed to five prose sections with no per-dimension scoring, since scout's parallel per-section step graph assumes an `action` primitive this repo's execution host has never wired (see src/index.ts's header comment for the full account of what did and did not port). Persisting is gated by human approval.
Adds a WORKFLOW_CATALOG entry (asset name diligence-brief, company/focus trigger fields, automatable: false — gated behind a per-run company name, same as last-30-days-research) so the workflow is deployable and shows up in the web Routines picker, and adds it to the exa connector's pinned-workflows list alongside the other Exa-backed workflows.
Documents what ported cleanly from scout, what got rebound to workbench tool packages and why, and the specific trims (no per-section parallel steps, five sections instead of seven, no dimension scoring, no source-artifact intake) so a reader comparing this to scout's original knows exactly where the gap is.
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
Ports scout's
workflows/diligence-briefpipeline into workbench's ownworkflows/catalog as a real, deployable@intx/workflowdefinition —workflows/diligence-brief. Registered inpackages/workflow-catalog'sWORKFLOW_CATALOG, so it deploys and shows up in the web Routinespicker like every other workflow here; it becomes a routine for free
because workbench workflows always do.
What ported cleanly
invent a founder/round/metric/competitor, say "insufficient evidence"
plainly rather than padding.
scout's own "tool policy" (memory/knowledge-search before web
research).
last-30-days-research/pain-point-collateral/collateral-generation.What got rebound (the real constraint)
Scout's tools compile into scout's own sidecar and cannot be pinned
here (CL-5179). Every tool call is rebound to a workbench-published
package instead:
@corbits/web-search-tools(web_search, Exa)@corbits/memory-tools(memory_search)@corbits/artifacts-hub's workflow-artifactssurface (create + list-recent only — no search-by-field or
read-by-id, the same limit the sibling
@corbits/scout-agentporthit, so this workflow only ever writes one artifact per run)
What was trimmed, and why (be blunt about this vs. the original)
drafts an outline plus one parallel step per section, deterministically
assembled. This repo's execution host has never wired the
actionprimitive that graph assumes (same gap
last-30-days-research's ownheader documents). Folding it into seven serial steps would blow the
timebox and multiply timeout risk, so this port follows
code-review'ssingle-step shape instead: one agent, one turn, everything in one pass.
"Traction & Funding" section; Market & Competition folds into "Product &
Market". A single-turn brief can't sustain three sections' worth of
genuinely distinct evidence without padding.
SCORE_WEIGHTS,dims/dimensionReads) are cut entirely — real product value, anda deliberate scope trim, not an oversight. Restoring it is the natural
next step once the parallel-step machinery lands in this repo.
sourceArtifactRefsbeforesearching; this port has no equivalent trigger field yet.
Full account in
workflows/diligence-brief/README.md's "What wastrimmed" section.
Verified end to end
bun test(package-scoped, every tool call stubbed — no live Exa, nolive inference): 24 tests in the new package (definition shape, JSON
round-trip, and the finalize tool actually persisting a stubbed
artifact and returning
persisted: true, vs. an honestisError: truenaming the failure on a broken persist — never a silent empty brief).
packages/workflow-catalog(43 tests) andpackages/settings-ui'sconnector-pin cross-check (6 tests) both still pass after registering
the new entry.
bun run typecheckon the new package passes clean.What I did NOT run
Per the memory constraint on this task: no
bun run check, norepo-root lint/typecheck, no
check:packages. Only package-scopedbun test/bun run typecheckon the touched packages(
workflows/diligence-brief,packages/workflow-catalog,packages/settings-ui) plus a scopedbun installto link the newworkspace member.
check:tool-package-pinsdoes not exist in this repoyet — I manually verified the pinned versions
(
@corbits/web-search-tools@0.0.3,@corbits/memory-tools@0.0.4)match each package's own
package.json.Test plan
bun testinworkflows/diligence-brief— 24 passbun run typecheckinworkflows/diligence-brief— cleanbun test test/catalog.test.tsinpackages/workflow-catalog— 43 passbun test src/connections-pinned-by.test.tsinpackages/settings-ui— 6 pass(same open gap every sibling workflow's README calls out for CL-5999)