Four agents. One codebase problem at a time.
Each Pylon agent targets one class of codebase problem. Migrate handles language version upgrades. Patch resolves CVEs at the dependency level. Refactor eliminates dead code using cross-module call graph analysis. Test fills coverage gaps via AST branch traversal. Each reads only the subgraph it needs and opens a PR your team can review and merge.
Pylon-Migrate
Takes a module still written in Python 2, Rails 4, or jQuery 2 and submits a PR to bring it current. Before touching a single line, it reads the module, its full import chain, existing test coverage, and every caller in the codebase. One module, done correctly. Not done and broken.
Pylon-Patch
Parses your dependency tree, identifies the vulnerable package, selects the minimal version bump that resolves the CVE, updates any tests broken by the version change, and opens the PR with the advisory link and CVSS score in the description. Triggered via webhook from Dependabot, Snyk, or pip-audit, or dispatched manually.
Pylon-Refactor
Analyzes the full cross-module call graph to find functions with zero callers, variables assigned but never consumed, and duplicate logic across services. Before any deletion, it checks for dynamic dispatch via reflection, decorator-based routing, and config-driven invocation. If the analysis is ambiguous, the function is left in place and flagged in the PR description.
Pylon-Test
Maps your existing test suite against the AST branch structure of each module to find uncovered paths. Writes tests for those paths in your framework (pytest, Jest, RSpec) and mutation-verifies each one: the test must fail when the code it covers is intentionally broken. Placeholder stubs and happy-path-only tests are not accepted.