Skip to content
Tekris Labs

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.

models/daily_revenue.sqlsql
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 revenue

How Software & AI Copilot approaches it

  1. 1Reads the model, its tests, and the repository instructions before judging the PR, and says which files it hasn’t seen.
  2. 2Traces the grain. Orders has one row per order but payments can have several, so the join repeats o.amount once for each payment.
  3. 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.
  4. 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.