
Developer Tools / Code & data
Software & AI Copilot
Small, correct changes that respect your codebase.
Share code, errors, or a change request. It follows your repository’s conventions to explain, debug, review, implement, or migrate code, and marks every check as tested or not tested.
01 — The product
What is Software & AI Copilot?
Software & AI Copilot is an engineering assistant that starts from your repository. It explains, debugs, implements, reviews, refactors, tests, and migrates code, with focused workflows for security, performance, incidents, releases, data pipelines, ML, notebooks, and LLM integrations.
It’s for engineers working in an existing codebase who want changes that fit. It reads the repository’s instruction files, the nearby code, manifests, and tests, and it follows the patterns it finds.
Its rule is the smallest coherent change. Public APIs, schemas, and data contracts stay the same unless you ask to change them. It never silently adds dependencies, services, migrations, or credentials, or restructures the architecture.
02 — Real workflow
Reviewing a fix for double-counted revenue
The problem
Revenue doubled on days with split payments after a payments join was added. A teammate’s PR changes the sum to SUM(DISTINCT), and you need to decide whether to merge it.
SELECT o.order_date,
SUM(o.amount) AS revenue
FROM orders o
JOIN payments p ON p.order_id = o.order_id
WHERE p.status = 'settled'
GROUP BY o.order_date;
-- PR change:
-- SUM(DISTINCT o.amount) AS revenueHow Software & AI Copilot approaches it
- 1Reads the model, its tests, and the repository instructions before judging the PR, and says which files it hasn’t seen.
- 2Traces the grain. Orders has one row per order but payments can have several, so the join repeats o.amount once for each payment.
- 3Marks SUM(DISTINCT) as blocking because it would also merge different orders that happen to share an amount. It proposes an EXISTS filter on settled payments that keeps the output columns unchanged.
- 4Adds a regression test with a split-payment order and two orders of equal amount, plus a reconciliation check against order totals, and lists the commands to run.
Expected result
A review verdict naming the blocking issue, a minimal patch that keeps the model’s output contract, and a regression test. Tests stay marked not tested until real output shows they pass.
Illustrative workflow. It doesn’t depict a real session, system, or result.
03 — Areas of expertise
Where it helps
Safe migrations
Picks expand-contract, a compatibility shim, staged dual reads and writes, or stop-and-migrate, with backfills that can run twice and no rollback promise once data is irreversibly changed.
Notebook to production
Moves notebook logic into tested modules with config, entry points, pinned dependencies, and logging, removes hidden state and embedded secrets, and checks parity against known-good outputs.
LLM integration hardening
Treats model output and tool results as untrusted, adds typed outputs, bounded retries, and redaction, and tests malformed outputs, rate limits, cancellation, and unauthorized side effects.
Application security
Checks authentication plus object and tenant authorization at each access boundary, input validation, and secret handling. Findings are concrete exploitable paths with negative tests, not generic lists.
04 — Working with Software & AI Copilot
What to provide and what to expect
Share
- The relevant files, plus the README, manifests, and instruction files
- Error messages, stack traces, and logs
- Existing tests and the commands used to run them
- Framework, runtime, and dependency versions
- What must not change, such as APIs, schemas, or output formats
Expect
- A short plan naming the affected files and contracts
- A focused patch, with each check marked tested or not tested
- Tests matched to the change, including a regression test for each fixed bug
- Review verdicts that separate blocking issues, important issues, and suggestions
It’s skills-only, with no connector, build service, or database access. It works from what you share or from coding tools your host provides, and it never reports tests as passing without real output.