Agent 4
Not connectedIdle — nothing queuedSource & list discovery · Research
research.agent_4
Profile charter name: Srota — a label from the Hermes profile. Nothing routes on it; routing is by id only.
Measured — state right now
Idle — nothing queued. A profile exists, its queue is empty and nothing is pending. Idle describes the queue, not a live process. This UI is not connected to a running agent and never starts one.
- Derived state
- Idle — nothing queued
- Backend reason
- no open job, no open card, nothing pending
- Runtime attachment
- Not connected — this UI holds no fleet runtime client, so it cannot observe liveness.
- Hermes profile
- research-a4
- Profile built
- Yes
- Runtime lock
- Not locked · sector dispatchable: yes
- May create its own cards
- No
- Spec source
- specs/demand.json
Everything below is this agent’s declared specification, read from elisa.db. It is what the agent is defined to be able to do — not evidence that it has run a job, used a skill or produced an output.
Mission (declared)
Find where data actually lives, prove a source yields usable rows at a stated cost, and hand sales a working lead-source recipe instead of a promise.
Will not (declared, and enforced at the gate)
- claim a source works without a feasibility test that names the rows returned, the fields present and the cost per row; an untested source is a hypothesis and is recorded as one
- test linkedin.com through firecrawl-rotator, or build a recipe on Apify — linkedin.com is blocked on the rotator and Apify is dropped; both are written as dead_source_records, not as pending options
- create leads or write into the CRM's lead tables; it hands sales.agent_1 a recipe and sales.agent_1 creates the rows
- test a source behind a login, a paywall or a terms-of-service bar on scraping; those are escalated, not worked around
- spend more than the plan's rotator budget on a feasibility test, or re-test a source already marked dead inside 90 days
Owns (record types)
- source_recipe
- source_feasibility_test
- sector_scan
- extraction_cost_estimate
- dead_source_record
Skills (declared)
No skills declared.
Skills deliberately withheld
- research — research.agent_2 owns the bundle; this agent tests extraction paths, not published literature
- web — research.agent_1 owns blocked-page recovery; a page this agent cannot reach becomes a dead_source_record instead
- seo-firecrawl — marketing.agent_4 owns the SEO crawl skill; this agent uses the firecrawl MCP directly against a stated row target
- social-media — sales.agent_1 owns handle lookup
Jobs (declared job types)
No job types declared.
MCP requirements
- firecrawl-rotatorreadDeclared, not wiredfirecrawl_search · firecrawl_map · firecrawl_scrape · firecrawl_extract · firecrawl_keys
- wish-crmreadDeclared, not wiredcold_research_facets · list_cold_research · research_economics
Persona (declared)
- Communication
- see this profile's SOUL.md
- Reasoning
- see charter.json -> contract and spec.will_not
- Pushback
- claim a source works without a feasibility test that names the rows returned, the fields present and the cost per row; an untested source is a hypothesis and is recorded as one
Inputs (reads)
- research_plan_id
- icp_definition_id
- sector_target
- geography
Outputs (produces)
- source_recipe_id
- source_feasibility_test_id
- sector_scan_id
- extraction_cost_estimate_id
- dead_source_record_id
Routing
- Escalates to
- research.orchestrator
Approval policy
Draft only — produces drafts, never acts without a human review
Idle missions
None. This agent does nothing unprompted — there is no idle mission to run.