Skip to content

CL-6499: Port scout's diligence-brief pipeline into workbench as a workflow - #239

Merged
TheGreatAxios merged 5 commits into
mainfrom
cl-6499-diligence-workflow
Aug 21, 2026
Merged

TheGreatAxios merged 5 commits into
mainfrom
cl-6499-diligence-workflow

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

Ports scout's workflows/diligence-brief pipeline into workbench's own
workflows/ catalog as a real, deployable @intx/workflow definition —
workflows/diligence-brief. Registered in packages/workflow-catalog's
WORKFLOW_CATALOG, so it deploys and shows up in the web Routines
picker like every other workflow here; it becomes a routine for free
because workbench workflows always do.

What ported cleanly

  • The evidence discipline: ground every claim in a tool result, never
    invent a founder/round/metric/competitor, say "insufficient evidence"
    plainly rather than padding.
  • The research order: firm memory first, then the live web — mirrors
    scout's own "tool policy" (memory/knowledge-search before web
    research).
  • The finalize-then-approve delivery shape, identical to
    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:

  • web research → @corbits/web-search-tools (web_search, Exa)
  • firm memory → @corbits/memory-tools (memory_search)
  • artifact persistence → @corbits/artifacts-hub's workflow-artifacts
    surface (create + list-recent only — no search-by-field or
    read-by-id, the same limit the sibling @corbits/scout-agent port
    hit, so this workflow only ever writes one artifact per run)

What was trimmed, and why (be blunt about this vs. the original)

  • Single step, not scout's parallel per-section step graph. Scout
    drafts an outline plus one parallel step per section, deterministically
    assembled. This repo's execution host has never wired the action
    primitive that graph assumes (same gap last-30-days-research's own
    header documents). Folding it into seven serial steps would blow the
    timebox and multiply timeout risk, so this port follows code-review's
    single-step shape instead: one agent, one turn, everything in one pass.
  • Five sections, not seven — Revenue/Capital/Growth collapse into one
    "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.
  • No scoring. Scout's seven weighted dimensions (SCORE_WEIGHTS,
    dims/dimensionReads) are cut entirely — real product value, and
    a deliberate scope trim, not an oversight. Restoring it is the natural
    next step once the parallel-step machinery lands in this repo.
  • No source-artifact intake — scout opens sourceArtifactRefs before
    searching; this port has no equivalent trigger field yet.

Full account in workflows/diligence-brief/README.md's "What was
trimmed" section.

Verified end to end

bun test (package-scoped, every tool call stubbed — no live Exa, no
live 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 honest isError: true
naming the failure on a broken persist — never a silent empty brief).
packages/workflow-catalog (43 tests) and packages/settings-ui's
connector-pin cross-check (6 tests) both still pass after registering
the new entry. bun run typecheck on the new package passes clean.

What I did NOT run

Per the memory constraint on this task: no bun run check, no
repo-root lint/typecheck, no check:packages. Only package-scoped
bun test/bun run typecheck on the touched packages
(workflows/diligence-brief, packages/workflow-catalog,
packages/settings-ui) plus a scoped bun install to link the new
workspace member. check:tool-package-pins does not exist in this repo
yet — 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 test in workflows/diligence-brief — 24 pass
  • bun run typecheck in workflows/diligence-brief — clean
  • bun test test/catalog.test.ts in packages/workflow-catalog — 43 pass
  • bun test src/connections-pinned-by.test.ts in packages/settings-ui — 6 pass
  • Deploy-time verification that the tool-package pins actually resolve
    (same open gap every sibling workflow's README calls out for CL-5999)

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.
@TheGreatAxios
TheGreatAxios merged commit a5ce635 into main Aug 21, 2026
5 checks passed
@TheGreatAxios
TheGreatAxios deleted the cl-6499-diligence-workflow branch August 25, 2026 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant