{"id":"065b0d76-edcf-449d-a9a8-a6214185e835","entityType":"agent","slug":"crewai-priyanshi0275-codebase-archaeologist","name":"codebase-archaeologist","canonicalUrl":"https://www.xpersona.co/agent/crewai-priyanshi0275-codebase-archaeologist","canonicalPath":"/agent/crewai-priyanshi0275-codebase-archaeologist","generatedAt":"2026-10-09T18:08:34.336Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T12:48:05.481Z","emptyReason":null},"description":"Multi-agent CrewAI system using ChromaDB-based RAG to analyze legacy code, commit history, and diffs, with a fine-tuned LoRA adapter for change-risk assessment, deployed as a FastAPI + Docker app. Legacy Codebase Archaeologist **A multi-agent system that investigates why legacy code exists and how risky it is to change — grounded in a repo's own commit history, not generic guessing.** --- The idea Every codebase has functions nobody wants to touch because nobody remembers why they're there. This project points three AI agents at a repo's git log and asks them to actually dig it up — with receipts. Ask somethin","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/Priyanshi0275/codebase-archaeologist","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/Priyanshi0275/codebase-archaeologist","kind":"source"}],"safetyScore":66,"overallRank":29.4,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Multi-agent CrewAI system using ChromaDB-based RAG to analyze legacy code, commit history, and diffs, with a fine-tuned LoRA adapter for change-risk assessment,"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:48:05.481Z","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-09T12:48:05.481Z","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-09T12:48:05.475Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T12:48:05.481Z","lastCrawledAt":"2026-10-09T12:48:05.475Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T12:48:05.475Z","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-priyanshi0275-codebase-archaeologist/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-priyanshi0275-codebase-archaeologist/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-priyanshi0275-codebase-archaeologist/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-priyanshi0275-codebase-archaeologist/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-priyanshi0275-codebase-archaeologist/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-priyanshi0275-codebase-archaeologist/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-09T18:08:34.335Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-priyanshi0275-codebase-archaeologist/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-priyanshi0275-codebase-archaeologist/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-priyanshi0275-codebase-archaeologist/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-priyanshi0275-codebase-archaeologist/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-09T12:48:05.481Z","emptyReason":null},"readme":"# Legacy Codebase Archaeologist\n\n**A multi-agent system that investigates why legacy code exists and how risky it is to change — grounded in a repo's own commit history, not generic guessing.**\n\n---\n\n## The idea\n\nEvery codebase has functions nobody wants to touch because nobody remembers why they're there. This project points three AI agents at a repo's `git log` and asks them to actually dig it up — with receipts.\n\nAsk something like *\"Why does the retry logic in payment.py exist?\"* and get back:\n\n- **Historian** — explains why the code likely exists, citing specific commit SHAs as evidence\n- **Dependency Risk Analyst** — flags what tends to break alongside it, rates the risk of changing it (low / medium / high)\n- **Refactor Advisor** — proposes one concrete, low-risk next step\n\nEach agent retrieves real evidence from a vector store before answering — no agent is allowed to just make something up.\n\n## How it works\n\n```\nGitHub repo URL\n      │\n      ▼\nGitPython clones it, walks commit history\n      │\n      ▼\nCommit messages + diffs → chunked (LangChain) → embedded → stored in ChromaDB\n      │\n      ▼\nQuestion comes in ──► CrewAI runs 3 agents in sequence, each searching\n                       Chroma for evidence before answering (Groq LLM)\n      │\n      ▼\nHistorian → Dependency Analyst → Refactor Advisor\n   (each agent's output feeds the next as context)\n```\n\n## Tech stack\n\n| Layer | Tool | Notes |\n|---|---|---|\n| Agent orchestration | [CrewAI](https://github.com/crewAIInc/crewAI) | pinned `<1.0.0` — newer versions have an unresolved bug sending unsupported params to non-native LLM providers |\n| LLM | [Groq](https://groq.com) (`llama-3.3-70b-versatile`) | free tier, fast inference |\n| Vector store | [ChromaDB](https://www.trychroma.com/) | local, embedded, no hosted DB needed |\n| Embeddings | Chroma's built-in ONNX MiniLM | deliberately avoids sentence-transformers/torch to keep memory low on a free host |\n| Chunking | LangChain text splitters | |\n| Git parsing | [GitPython](https://gitpython.readthedocs.io/) | reads `.git` directly, no GitHub API rate limits |\n| Backend | FastAPI + Docker | |\n| Hosting | Render (free tier) | |\n| Frontend | Streamlit | optional, or just use `/docs` |\n\n## Try it\n\nOpen the [live Swagger docs](https://codebase-archaeologist-wnhf.onrender.com/docs):\n\n**1. Ingest a repo**\n```json\nPOST /ingest\n{\n  \"repo_path_or_url\": \"https://github.com/<owner>/<repo>\",\n  \"max_commits\": 150\n}\n```\n\n**2. Ask about it**\n```json\nPOST /query\n{\n  \"question\": \"Why does this feature exist?\"\n}\n```\n\n## Run it locally\n\n```bash\ngit clone https://github.com/priyanshi0275/codebase-archaeologist.git\ncd codebase-archaeologist\npython -m venv venv && source venv/bin/activate   # Windows: venv\\Scripts\\activate\npip install -r requirements.txt\ncp .env.example .env   # add your free Groq API key: https://console.groq.com/keys\nuvicorn app.main:app --reload\n```\n\nOptional Streamlit UI:\n```bash\nstreamlit run frontend/streamlit_app.py\n```\n\n## LoRA fine-tuning (separate artifact)\n\nI also trained a [LoRA adapter](https://huggingface.co/priyanshi0275/codebase-archaeologist-lora) (`Qwen2.5-0.5B-Instruct` base) on commit messages pooled across six of my repos, so it learns a general, terse, engineer-style tone rather than one team's specific voice. Trained in Google Colab (free GPU), published to the Hugging Face Hub.\n\nThis is intentionally **not** wired into the live API — actually serving it live needs more RAM than Render's free tier provides. It's a standalone artifact demonstrating the fine-tuning pipeline: `lora/train_lora.py` (single or multi-repo), `lora/style_rewriter.py` (local inference). See `requirements-train.txt`.\n\n## Known limitations\n\n- Diff context is truncated per commit to keep the index small and fast on a free host — very large repos lose some detail.\n- \"Dependency risk\" is inferred from commit-history patterns, not real static/AST analysis — a natural v2 extension.\n- Free-tier hosting cold-starts after ~15 min idle.\n- LoRA styling exists as a trained, published artifact but isn't called by the live API (see above).\n\n## Project structure\n\n```\ncodebase-archaeologist/\n├── app/\n│   ├── main.py           # FastAPI routes\n│   ├── agents.py         # CrewAI agents + tasks\n│   ├── ingest.py         # git history → chunks → Chroma\n│   ├── vectorstore.py    # Chroma client wrapper\n│   ├── style_service.py  # optional live LoRA hook (off by default)\n│   └── config.py\n├── lora/\n│   ├── train_lora.py     # Colab training script\n│   └── style_rewriter.py # local LoRA inference\n├── frontend/\n│   └── streamlit_app.py\n├── Dockerfile\n├── requirements.txt\n└── requirements-train.txt\n```\n\n---\n\nBuilt by [Priyanshi Mishra](https://github.com/priyanshi0275)\n","readmeExcerpt":"Legacy Codebase Archaeologist **A multi-agent system that investigates why legacy code exists and how risky it is to change — grounded in a repo's own commit history, not generic guessing.** --- The idea Every codebase has functions nobody wants to touch because nobody remembers why they're there. This project points three AI agents at a repo's git log and asks them to actually dig it up — with receipts. Ask somethin","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"GitHub repo URL\n      │\n      ▼\nGitPython clones it, walks commit history\n      │\n      ▼\nCommit messages + diffs → chunked (LangChain) → embedded → stored in ChromaDB\n      │\n      ▼\nQuestion comes in ──► CrewAI runs 3 agents in sequence, each searching\n                       Chroma for evidence before answering (Groq LLM)\n      │\n      ▼\nHistorian → Dependency Analyst → Refactor Advisor\n   (each agent's output feeds the next as context)"},{"language":"json","snippet":"POST /ingest\n{\n  \"repo_path_or_url\": \"https://github.com/<owner>/<repo>\",\n  \"max_commits\": 150\n}"},{"language":"json","snippet":"POST /query\n{\n  \"question\": \"Why does this feature exist?\"\n}"},{"language":"bash","snippet":"git clone https://github.com/priyanshi0275/codebase-archaeologist.git\ncd codebase-archaeologist\npython -m venv venv && source venv/bin/activate   # Windows: venv\\Scripts\\activate\npip install -r requirements.txt\ncp .env.example .env   # add your free Groq API key: https://console.groq.com/keys\nuvicorn app.main:app --reload"},{"language":"bash","snippet":"streamlit run frontend/streamlit_app.py"},{"language":"text","snippet":"codebase-archaeologist/\n├── app/\n│   ├── main.py           # FastAPI routes\n│   ├── agents.py         # CrewAI agents + tasks\n│   ├── ingest.py         # git history → chunks → Chroma\n│   ├── vectorstore.py    # Chroma client wrapper\n│   ├── style_service.py  # optional live LoRA hook (off by default)\n│   └── config.py\n├── lora/\n│   ├── train_lora.py     # Colab training script\n│   └── style_rewriter.py # local LoRA inference\n├── frontend/\n│   └── streamlit_app.py\n├── Dockerfile\n├── requirements.txt\n└── requirements-train.txt"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"Multi-agent CrewAI system using ChromaDB-based RAG to analyze legacy code, commit history, and diffs, with a fine-tuned LoRA adapter for change-risk assessment, deployed as a FastAPI + Docker app. Legacy Codebase Archaeologist **A multi-agent system that investigates why legacy code exists and how risky it is to change — grounded in a repo's own commit history, not generic guessing.** --- The idea Every codebase has functions nobody wants to touch because nobody remembers why they're there. This project points three AI agents at a repo's git log and asks them to actually dig it up — with receipts. Ask somethin","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":400,"uniquenessScore":69,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T12:48:05.481Z","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-09T12:48:05.481Z","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-09T18:08:34.336Z","emptyReason":null},"items":[{"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":"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-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","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"}]}}}