Inspiration

Wanted to participate, build, ship, and win.

What it does

Kineticz runs a five-stage loop on a schema-drift event.

A Fivetran webhook delivers the change. Kineticz verifies the HMAC, mints a correlation token, and starts a background pipeline. It diagnoses the cause with Gemini 3.5 Flash, pulling the contract and past mitigations from Elastic over BM25 and consumer health from Dynatrace. It queries its own prior repair traces through the Arize Phoenix MCP server and folds those verdicts into the next prompt as precedent. It re-anchors the patch to a unique exact context match, applies it byte for byte, and runs a local gate that checks the file parses as Go and that exported signatures hold. On pass it opens a GitLab merge request for human review. Every transition is hash-chained and Ed25519-signed in MongoDB Atlas, and Kineticz traces every stage to Arize Phoenix over OpenTelemetry.

On the demo contract postgres/orders_pg, one run pulled two prior repairs on the same contract, one that failed at the iteration limit and one that passed on the first try, and used both to shape the next fix.

How we built it

Go, one binary, on Google Cloud Run. Gemini 3.5 Flash through the Vertex AI generateContent API with metadata-server auth in production. Elastic for BM25 retrieval over Reciprocal Rank Fusion. Dynatrace for consumer health on a soft-fail path. Arize Phoenix for OpenTelemetry tracing and for the MCP introspection that lets the agent read its own history. GitLab v4 REST for the commit and merge request. MongoDB Atlas for the audit ledger. The Phoenix MCP server runs as a node subprocess inside the container, spawned over stdio.

Built on Google Cloud and Arize

  • AI: Gemini 3.5 Flash via Vertex AI on Google Cloud.
  • Platform: web service on Cloud Run, public hosted URL, health endpoint returns 200.
  • Partner MCP: Arize Phoenix MCP server, queried in-loop for prior repair traces.
  • Open source: public repository under MIT, license visible in the About section.

Arize Phoenix is the observability and tracing spine and the Arize-track integration. Dynatrace is a partner product used as a soft-fail downstream-consumer-health source.

Challenges we ran into

Gemini numbered diff hunks from prompt line 1 instead of file line 1, so an apply landed at the wrong offset. We fenced the file with explicit markers and built a deterministic re-anchor that matches each hunk to a unique exact context block, then applies it byte for byte. We kept byte-exact apply as an invariant and rejected fuzzy apply, using retry with literal error feedback as the offset safety net.

A Phoenix endpoint path and an attribute-nesting assumption looked wrong until we read the MCP server source and found the flat-dotted key shape on the wire. The literal evidence overturned the guess.

Concurrent agent sessions raced the same checkout and produced contradictory reports about the code. We isolated each branch into its own git worktree and pinned all work to one.

We also corrected our own docs. An early README said the gate proves the patch compiles. The gate parses with go/parser and checks exported signatures with go/ast, and runs no build or test. We rewrote the claim to match the code.

Accomplishments that we're proud of

A live self-introspection that pulled one prior failure and one prior success on the same contract and fed both into the next diagnosis. A tamper-evident audit chain an outside party can verify through the pubkey endpoint without trusting the process. Merge requests opened by the agent on a real GitLab project.

What we learned

Read literal evidence before naming a cause. That discipline overturned several confident hypotheses across the build. The gate is syntactic by design: it guarantees valid Go and signature stability, and the human reviews the merge request for behavior. "Deterministic" describes the re-anchor, the gate, and the audit chain, not Gemini's patch.

What's next for Kineticz

A shared soft-fail predicate for the Dynatrace leg. The dense vector retrieval path activated on real repair history. Support for targets beyond Go.

Built With

Share this project:

Updates