{"id":50940088,"url":"https://github.com/priyanshuchawda/tracepilot-gemini-cli","last_synced_at":"2026-06-17T13:03:51.236Z","repository":{"id":358980508,"uuid":"1235824351","full_name":"priyanshuchawda/tracepilot-gemini-cli","owner":"priyanshuchawda","description":"TracePilot: Gemini CLI fork with Phoenix/OpenInference tracing, MCP self-introspection, safety gates, redaction, evals, and a verified broken-repo repair loop","archived":false,"fork":false,"pushed_at":"2026-06-13T13:28:22.000Z","size":23230,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-13T15:22:19.083Z","etag":null,"topics":["ai-agents","arize-phoenix","evals","gemini-cli","mcp","openinference","opentelemetry","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/priyanshuchawda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-11T17:33:36.000Z","updated_at":"2026-06-13T13:28:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/priyanshuchawda/tracepilot-gemini-cli","commit_stats":null,"previous_names":["priyanshuchawda/tracepilot-gemini-cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/priyanshuchawda/tracepilot-gemini-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyanshuchawda%2Ftracepilot-gemini-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyanshuchawda%2Ftracepilot-gemini-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyanshuchawda%2Ftracepilot-gemini-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyanshuchawda%2Ftracepilot-gemini-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/priyanshuchawda","download_url":"https://codeload.github.com/priyanshuchawda/tracepilot-gemini-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyanshuchawda%2Ftracepilot-gemini-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34449283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","arize-phoenix","evals","gemini-cli","mcp","openinference","opentelemetry","typescript"],"created_at":"2026-06-17T13:03:50.333Z","updated_at":"2026-06-17T13:03:51.232Z","avatar_url":"https://github.com/priyanshuchawda.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TracePilot - editted gemini cli\n\nTracePilot is a forked Gemini CLI TypeScript agent runtime with Phoenix\nobservability, OpenInference-style spans, Phoenix MCP self-introspection, safety\ngates, redaction, deterministic evals, and a broken-repo repair demo.\n\nNormal coding agents primarily reason from the current prompt, repository, and\ntool output. TracePilot additionally stores sanitized evidence from successful,\nverified repairs and retrieves relevant prior repair evidence through Phoenix\nbefore deciding how to handle a similar failure. Retrieved evidence informs the\nrepair plan; it does not bypass command safety or verification.\n\nThis public repository is being hardened from a successful proof demo into a\ndeveloper-facing repair reliability product foundation. It is not a claim that\nTracePilot is production-ready for arbitrary repositories without the documented\nsafety, redaction, and verification gates passing in that target environment.\nProductization work is tracked in\n[Epic #124](https://github.com/priyanshuchawda/tracepilot-gemini-cli/issues/124).\n\nThe TypeScript monorepo now lives at the repository root so reviewers can see\nthe actual project immediately: `package.json`, `packages/`, `docs/`,\n`examples/`, `scripts/`, and `.github/` are all top-level.\n\n## What It Proves\n\nTracePilot is built to prove this repair loop:\n\n1. A user asks the agent to fix or debug a broken repo.\n2. The agent runs a command.\n3. The command fails.\n4. The failure is traced to Phoenix.\n5. The agent queries Phoenix through MCP.\n6. The repair plan references trace evidence.\n7. The agent applies the fix.\n8. The agent reruns the test.\n9. The test passes.\n10. A deterministic eval result is logged.\n11. Judge input/result artifacts are written for repair-quality review.\n\n## Repair Memory\n\nA completed repair produces a structured, sanitized repair report containing\nthe failure signature, root cause, actions taken, verification results,\nconfidence, and proof level. TracePilot exports that report as Phoenix-visible\ntrace evidence.\n\nOn a later failure, TracePilot derives a failure signature and queries Phoenix\nthrough MCP for matching successful repairs. The repair planner receives the\nretrieved evidence with provenance and confidence. It can reuse the prior\ndiagnosis or reject it when the current repository state does not match. A\nrepair is not recorded as successful until its verification matrix passes.\n\nThe implementation and focused tests are in:\n\n- `packages/core/src/tracepilot/repairReport.ts`\n- `packages/core/src/tracepilot/repairPlanner.ts`\n- `packages/core/src/telemetry/phoenixSelfIntrospection.ts`\n- `scripts/demo-phoenix-repair-memory-replay.ts`\n\n## Phoenix Workflow\n\nPhoenix is both the observability backend and the retrieval surface for repair\nmemory. OpenInference-style spans capture failures and completed repair reports.\nPhoenix MCP lets the agent inspect matching prior evidence during a later repair\nsession. The smoke tests separately verify OTEL export and MCP visibility so a\nlocal-only result cannot be presented as live Phoenix proof.\n\nLatest verified Phoenix evidence:\n\n- Phoenix OTEL smoke passed for session `tracepilot-smoke-1778699160858`.\n- Phoenix MCP smoke passed for session `tracepilot-mcp-smoke-1778699158476`.\n- Strict broken-node demo passed for session\n  `tracepilot-broken-node-app-1778699160588`.\n- Demo trace evidence: `de13112b1dadd28dda63a83365d92344`.\n\nTracePilot reports now include `proofLevel` and `strictLiveProof`. Treat\n`local_offline`, `controlled_substitute`, and `degraded_gemini` as development\nevidence only; strict review evidence requires `live_phoenix`,\n`live_gemini_phoenix`, or `hosted_cloud_run`.\n\nCloud Run is intentionally not live right now. The repo contains cheap Cloud Run\ndeploy and smoke tooling, but a public hosted URL should only be shared after\nredeploying and re-running the hosted smoke test.\n\n## Repository Structure\n\n```text\n.\n|-- README.md                 # GitHub landing page\n|-- AGENT.md                  # Operating rules for coding agents\n|-- PLAN.md                   # Original TracePilot implementation plan\n|-- docs.md                   # Phoenix/OpenInference research notes\n|-- .github/                  # Workflows, issue templates, PR template\n|-- packages/\n|   |-- cli/                  # Gemini CLI terminal package\n|   |-- core/                 # Agent runtime, tools, scheduler, telemetry\n|   |-- test-utils/           # Shared test helpers\n|   `-- vscode-ide-companion/\n|-- packages/core/src/\n|   |-- telemetry/            # Phoenix OTEL, redaction, spans, MCP query\n|   |-- tracepilot/           # Repair planner and deterministic evals\n|   |-- policy/               # Command safety and risk classification\n|   |-- scheduler/            # Agent turn and tool execution path\n|   `-- tools/                # Shell, file, MCP, and related tools\n|-- examples/\n|   `-- broken-node-app/      # Fail-plan-fix-rerun demo fixture\n|-- scripts/                  # Smoke tests, evals, demos, deploy helpers\n|-- docs/                     # TracePilot verification and Gemini CLI docs\n`-- cloudbuild.tracepilot-cloud-run.yaml\n```\n\n## Key Links\n\n- [Verification guide](docs/tracepilot.md)\n- [Release and demo checklist](docs/tracepilot-release-demo-checklist.md)\n- [Full implementation README snapshot](docs/tracepilot-implementation-readme.md)\n- [Broken demo fixture](examples/broken-node-app)\n- [Telemetry code](packages/core/src/telemetry)\n- [Repair and eval code](packages/core/src/tracepilot)\n- [Command safety policy](packages/core/src/policy)\n\n## Quick Start\n\n```bash\nnpm ci\nnpm run lint\nnpm run typecheck\nnpm run build\n```\n\nFocused TracePilot checks:\n\n```bash\nnpm run ci:tracepilot                 # fast local tier\nnpm run ci:tracepilot -- --tier=medium\nnpm run doctor:tracepilot\nnpm run tracepilot:check\nnpm run smoke:phoenix\nnpm run smoke:phoenix:mcp\nnpm run demo:broken-node-app\nnpm run demo:idempotency-race:controlled\nnpm run demo:trace-ablation:controlled\nnpm run demo:trace-ablation\nnpm run judge:tracepilot -- --repair-artifact .ai-logs/tracepilot-check/repair-artifact.json --eval-report .ai-logs/demo-broken-node-app/result.json --judge-input-output .ai-logs/judge-input.json --judge-result-output .ai-logs/judge-result.json\nnpm run dashboard:tracepilot -- --report .ai-logs/demo-broken-node-app/result.json --repair-artifact .ai-logs/tracepilot-check/repair-artifact.json --judge-input .ai-logs/judge-input.json --judge-result .ai-logs/judge-result.json\nnpm run workbench:tracepilot\nnpm run smoke:cloud-run:local\n```\n\n## Judge Evaluation\n\nThe shortest credential-free evaluation path is:\n\n```bash\nnpm ci\nnpm run test:tracepilot\nnpm run demo:phoenix-repair-memory:controlled\nnpm run demo:broken-node-app:offline\nnpm run smoke:cloud-run:local\n```\n\nThis verifies the repair planner, repair-memory replay contract, deterministic\nevaluation, evidence generation, and local Cloud Run service contract without\nclaiming live Phoenix proof. Judges with Phoenix credentials can then run\n`npm run smoke:phoenix`, `npm run smoke:phoenix:mcp`, and\n`npm run demo:phoenix-repair-memory` to verify live export and retrieval.\n\nUse focused checks during development because the full root `npm test` is long.\n`ci:tracepilot` writes required, optional, and skipped gate results to\n`.ai-logs/tracepilot-ci/summary.json`. Save full logs under ignored `.ai-logs/`\nfiles and share only pass/fail status, exit codes, and short redacted tails on\nfailure.\n\n`doctor:tracepilot` checks local readiness for strict proof prerequisites.\n`tracepilot:check` writes a sanitized repair artifact/report for the current\nfolder. `judge:tracepilot` turns a repair artifact plus deterministic eval\nreport into `judge-input.json` and `judge-result.json`; supplied scored judge\nresults may also be bundled by demo commands with `--judge-result-input`. Judge\nartifacts are repair-quality evidence, not a replacement for strict Phoenix\nproof. `dashboard:tracepilot` renders a self-contained sanitized HTML proof\nviewer for demos and judging. `workbench:tracepilot` starts the interactive\nrepair workbench at `http://127.0.0.1:4310`; controlled mode works without live\ncredentials.\n\n## Environment\n\nCopy [`.env.example`](.env.example) and set real values locally:\n\n```bash\nGEMINI_API_KEY=...\nPHOENIX_API_KEY=...\nPHOENIX_HOST=https://app.phoenix.arize.com/s/YOUR_SPACE\nPHOENIX_BASE_URL=https://app.phoenix.arize.com/s/YOUR_SPACE\nPHOENIX_COLLECTOR_ENDPOINT=\nPHOENIX_PROJECT=tracepilot-gemini-cli\n```\n\nNever commit `.env` files, API keys, bearer tokens, private keys, or full\ncommand outputs containing secrets. Any credential pasted into chat or\ntranscripts should be rotated before public submission.\n\n## Current Status\n\n| Area                       | Status                           | Evidence                                                                                           |\n| -------------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------- |\n| Gemini CLI baseline        | Working                          | Build, lint, typecheck slices passed during P0 work.                                               |\n| Phoenix OTEL export        | Working                          | `npm run smoke:phoenix` passed with real Phoenix config.                                           |\n| Phoenix MCP visibility     | Working                          | `npm run smoke:phoenix:mcp` returned the smoke trace.                                              |\n| Phoenix self-introspection | Working                          | Queries Phoenix MCP for matching failed span evidence and degrades when absent.                    |\n| Broken repo repair demo    | Working                          | Strict demo exported/queryed trace evidence and passed retry tests.                                |\n| Redaction                  | Working for implemented patterns | Sanitizer, eval, and demo paths redact secrets before traces/reports.                              |\n| Command safety gate        | Working                          | Blocks destructive and credential-dumping commands in policy tests.                                |\n| Proof dashboard            | Working locally                  | Renders sanitized proof, repair, eval, and judge artifacts as self-contained HTML.                 |\n| Cloud Run hosted URL       | Not currently deployed           | Redeploy only with approval, then run `npm run smoke:cloud-run -- --url \"$CLOUD_RUN_SERVICE_URL\"`. |\n\nThe GitHub repository is public. Keep public claims tied to verified evidence:\noffline or degraded runs are not strict live proof, and hosted Cloud Run proof\nrequires a freshly deployed and smoked URL.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpriyanshuchawda%2Ftracepilot-gemini-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpriyanshuchawda%2Ftracepilot-gemini-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpriyanshuchawda%2Ftracepilot-gemini-cli/lists"}