Prospectus Agent 0.3.0
Per-business tuning, send/follow-up tracking from the CLI, and an internal tidy-up.
Per-profile settings
- Profiles can now carry a
settings:block that overrides the shared.env
tunables for that business only (precedence: profile settings →.env→ default).
So one business can run a different cadence than another — e.g. Reaction Studio at
target_company_count: 5while Open Numerics stays at 10. Any.envtunable is
overridable (case-insensitive keys):max_per_sector,fit_score_threshold,
max_discovery_calls,max_company_size, model/effort settings, etc. The API key
stays env-only.
New CLI verbs
prospectus-agent --sent— records that you've sent the drafts: marks every
draftedcompany assent, using each one's draft date as the contact date, so the
follow-up clock starts correctly (including for drafts sent days ago). Pure database,
no API calls; idempotent.prospectus-agent --followup— standalone follow-up sweep: lists every company
past the no-reply threshold, drafts a follow-up for each, and writes them to the
outbox — without running discovery.prospectus-status mark/ the DB layer can now set an explicit historical contact
date, not just "today".
- Stronger, value-framed closing call-to-action. The ask is now purposeful
("…to see where we could help / create value for your team") instead of limp
phrasings like "to see whether there's a fit".
Internals
- De-duplicated the codebase: a single strict-tool builder (
llm.function_tool), a
shared token-usage report (llm.usage_summary), and shared entrypoint setup
(runner.open_session) used by the daily run, refine, and follow-up commands.