{"id":"a517a69a-9f9c-4129-8a06-bca9ff89ad4d","entityType":"agent","slug":"crewai-advait33ai-equity-research-crew","name":"Equity-Research-Crew","canonicalUrl":"https://www.xpersona.co/agent/crewai-advait33ai-equity-research-crew","canonicalPath":"/agent/crewai-advait33ai-equity-research-crew","generatedAt":"2026-10-10T08:45:50.983Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T17:02:01.757Z","emptyReason":null},"description":"A multi-agent equity research system. Give it a ticker and it produces an investment memo in which every figure has been checked against data computed in code rather than generated by a language model. Built with CrewAI and open-weight models served through Groq Equity Research Crew A multi-agent equity research system. Give it a ticker and it produces an investment memo in which every figure has been checked against data computed in code rather than generated by a language model. Built with CrewAI and open-weight models served through Groq. **Status: foundation complete, crew in progress.** The data layer, metrics engine, and numeric verification are built and tested (35 te","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://github.com/advait33AI/Equity-Research-Crew","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/advait33AI/Equity-Research-Crew","kind":"source"}],"safetyScore":66,"overallRank":19.4,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"A multi-agent equity research system. Give it a ticker and it produces an investment memo in which every figure has been checked against data computed in code r"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:02:01.757Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-10-09T17:02:01.757Z","emptyReason":"No source adoption metrics were available."},"stars":0,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:02:01.744Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T17:02:01.757Z","lastCrawledAt":"2026-10-09T17:02:01.744Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T17:02:01.744Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_REPOS","generatedAt":"2026-10-10T08:45:50.983Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-advait33ai-equity-research-crew/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"high","updatedAt":"2026-10-09T17:02:01.757Z","emptyReason":null},"readme":"# Equity Research Crew\n\nA multi-agent equity research system. Give it a ticker and it produces an\ninvestment memo in which every figure has been checked against data computed in\ncode rather than generated by a language model.\n\nBuilt with CrewAI and open-weight models served through Groq.\n\n**Status: foundation complete, crew in progress.** The data layer, metrics\nengine, and numeric verification are built and tested (35 tests). The agent crew\nand interface are next.\n\n---\n\n## The problem this addresses\n\nA language model handed financial data will mostly quote it correctly. Not\nalways. Three failure modes recur, and all three produce text that reads\nperfectly:\n\n**Fabrication.** A figure that appears nowhere in the source data.\n\n**Drift.** A real figure altered in transit, usually by mis-rounding or\ntransposition, so 12.4 percent becomes 14.2 percent.\n\n**Derivation.** The model computes something new from two supplied figures,\nwhich is where arithmetic errors enter.\n\nNone of these can be caught by reading the output. In equity research, a memo\ncontaining a confident wrong number is worse than no memo.\n\n## The approach\n\nTwo rules, both enforced mechanically rather than by prompting.\n\n**All arithmetic happens in Python.** `core/metrics.py` computes every ratio,\ngrowth rate, and multiple, and emits a fact sheet where each figure carries its\nvalue, unit, period, and the calculation that produced it. The model interprets\nfigures; it never derives them.\n\n**Every figure in the output is verified.** `core/fidelity.py` extracts each\nnumber from the generated memo and matches it against the fact sheet. Anything\nunmatched is reported back with the correct value named, and the section is\nrewritten.\n\n### Verification is context-aware\n\nChecking only whether a number exists somewhere in the data is too weak. A\nfabricated revenue growth figure can coincide with an unrelated margin and pass.\n\nSo where a sentence names a specific metric, the number must match *that*\nmetric. \"Revenue growth was 14.8 percent\" fails even though 14.8 is the real net\nmargin, because the sentence says revenue growth and revenue growth is 8.1.\n\nWhere no metric is named, the number need only match some computed figure.\n\n### What is deliberately not flagged\n\nCalendar years, small counts in prose (\"three key risks\"), and regulatory form\nreferences (10-K, 10-Q) contain digits but are not measurements. An alert that\nfires on ordinary prose is one that gets ignored, so these are recognised and\nexcluded.\n\nSensible rounding passes: 52.5 against a computed 52.49 is the same number.\nProse that carries the sign in words also passes: \"margin fell 1.1 points\"\nmatches a computed value of -1.1.\n\n## Measured separation\n\nOn a memo written from the fact sheet versus one with figures altered:\n\n| Text | Numbers checked | Fidelity |\n|---|---|---|\n| Faithful to the data | 9 | 100% |\n| Figures drifted | 6 | 0% |\n\n## Data providers\n\nData reaches the system through a provider interface with two implementations:\n\n**LiveProvider** fetches from yfinance, with optional SEC EDGAR filing metadata.\n\n**FixtureProvider** reads bundled JSON snapshots.\n\nThe split exists for testability. Market data changes daily, so a test asserting\nthat revenue growth is 8.1 percent would pass on Monday and fail on Tuesday.\nFixtures make results reproducible, let the suite run without network access,\nand let anyone who clones the repository see the system work before configuring\nanything. Every fixture records the date it was captured.\n\nTwo fixture companies are bundled, chosen to exercise different code paths:\n\n| Ticker | Profile | Exercises |\n|---|---|---|\n| NOVA | Profitable, growth slowing, net cash | Standard ratio and valuation paths |\n| HELO | Loss-making, fast-growing | Negative earnings, omitted metrics |\n\nThe loss-making case matters. Growth from a negative base is meaningless, so\nthat metric is omitted rather than computed and shown wrong.\n\n## Project layout\n\n```\ncore/\n  models.py     Company data model, provider interface, fixtures\n  metrics.py    Deterministic financial metrics, emits the fact sheet\n  fidelity.py   Numeric verification (no model involved)\ndata/fixtures/  Bundled company snapshots\ntests/          35 tests\n```\n\n## Running it\n\n```bash\npip install -r requirements.txt\npython -m pytest tests/ -v\n```\n\n## Design notes\n\n**Missing inputs omit metrics rather than guessing.** A missing ratio is\nvisibly absent; a zero silently reads as a real and very bad result.\n\n**Capital expenditure signs are normalised.** Most sources report capex as\nnegative. Subtracting a negative would inflate free cash flow, which is a\nsilent, plausible, and entirely wrong result.\n\n**Fact sheets show formatted and raw values.** The formatted value is what the\nmemo should quote; the raw value is included so the model is never tempted to\nreconstruct a figure by parsing an abbreviation.\n\n## Next\n\n- CrewAI agents: fundamentals analyst, bull analyst, bear analyst, editor\n- The bear analyst attacks the bull case; the editor must address the strongest\n  objection\n- Correction loop driven by the fidelity report\n- Evaluation harness with an ablation measuring what verification changes\n- Streamlit interface and memo export\n","readmeExcerpt":"Equity Research Crew A multi-agent equity research system. Give it a ticker and it produces an investment memo in which every figure has been checked against data computed in code rather than generated by a language model. Built with CrewAI and open-weight models served through Groq. **Status: foundation complete, crew in progress.** The data layer, metrics engine, and numeric verification are built and tested (35 te","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"core/\n  models.py     Company data model, provider interface, fixtures\n  metrics.py    Deterministic financial metrics, emits the fact sheet\n  fidelity.py   Numeric verification (no model involved)\ndata/fixtures/  Bundled company snapshots\ntests/          35 tests"},{"language":"bash","snippet":"pip install -r requirements.txt\npython -m pytest tests/ -v"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"A multi-agent equity research system. Give it a ticker and it produces an investment memo in which every figure has been checked against data computed in code rather than generated by a language model. Built with CrewAI and open-weight models served through Groq Equity Research Crew A multi-agent equity research system. Give it a ticker and it produces an investment memo in which every figure has been checked against data computed in code rather than generated by a language model. Built with CrewAI and open-weight models served through Groq. **Status: foundation complete, crew in progress.** The data layer, metrics engine, and numeric verification are built and tested (35 te","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":421,"uniquenessScore":60,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T17:02:01.757Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T17:02:01.757Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:45:50.983Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_repos","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}