RCC RCC · FM-Patch-Agent
01 · Cover
RCC Live · FileMaker 2026 · June 2026

FM-Patch-Agent
Your FileMaker file, readable and writable by AI.

FileMaker 2026 turned the .fmp12 into something an AI agent can read, compare, and patch. We built the pipeline: it moves the changes you approve between files, and it scaffolds whole solutions from a description, web app included. Everything you'll see runs on tools that ship today.

Joe DaSilva · RCC · joe.dasilva@rcconsulting.com
FileMaker 2026 ships
Jun 9
tools upgraded · docs released
Pipeline verified
Jun 12
end to end · three days later
Claris CLI tools
2
FMDeveloperTool · FMUpgradeTool
Automated tests
122
behind the agent's tools
RCC RCC · FM-Patch-Agent
Why it matters02 · Frame
Why this matters to you

The same collapse, again.

How you got here

A FileMaker career usually starts one way: a tool that collapsed the gap between having a problem and solving it. No computer-science degree. Just screens, scripts, a database your whole team could share. You weren't hired as a developer. You were a problem solver, and the tool met you where you were.

It's happening again

Agentic coding collapses a new gap, the one between "I can describe it" and "it exists." Same move you already made once: a new tool that meets you where you are, no permission slip required.

Where Claris placed its bet

Not an AI bolted into the box. The box opened up to the agent you already have. Docs it can read, connections it can call, formats it can write. The moat was never the building. It's the running. Your data, your server, the system of record your business runs on.

This isn't about leaving FileMaker. It's the same problem solver, picking up the new tool.
RCC RCC · FM-Patch-Agent
The gap02 · Pain
The problem every developer knows

You built it in a copy.
Now rebuild it in production. By hand.

Dev and prod drift apart

New tables, fields, and layouts pile up in your development copy. Production needs them. Copying between files is piecemeal and lossy, and layouts barely transfer at all. So you rebuild, click for click, and hope you didn't miss one.

The official answer: do it by hand

Claris's documented path: export XML from both files, diff them yourself, hand-write the patch. As Soliant's Mislav Kos put it in 2025: "this has to be done manually. We'd love to see Claris develop a tool to automate that process."

The gap nobody filled

No tool, from Claris or the community, turns that diff into a patch for you. Too tedious to do by hand, too fiddly for classic automation. Exactly the shape of work AI agents are good at.

The pieces have existed for years. The pipeline never did.
Where this started · scan to read
"Using FMUpgradeTool to Patch FileMaker Apps"
Mislav Kos · Soliant Consulting, 2025. The walkthrough that shaped how we work. He wished for a tool to automate the patch; this is that tool.
His follow-up · scan to read
"SaveAsXML & FMUpgradeTool: Automated Deployments"
Mislav Kos · Soliant, 2025. The CI/CD vision, and where the XML exploder came from.
RCC RCC · FM-Patch-Agent
FileMaker 202603 · Doors
What changed in 2026

FileMaker 2026 gave AI three doors into your file.

Door 1 · Markdown documentation

Read the docs

Claris's help library is now fetchable as plain Markdown, the format AI reads natively. The agent taught itself the Upgrade Tool's patch format straight from these pages.

Door 2 · Save as XML

Read the file

The file's complete design (tables, fields, scripts, layouts, security) exported as one structured XML document. 2026 made it catalog-selective and tool-friendly. Design only: your records never leave the file.

Door 3 · Upgrade Tool

Write the file

Applies a patch: add or change tables, fields, layouts, and scripts in a closed file. It existed quietly for years, under-documented and fragile. 2026 upgraded it and finally wrote the manual.

Timing. FileMaker 2026 shipped June 9. This pipeline was running end to end on June 12. Nothing here is beta or announced-for-later. It's all in the box today.
Docs it can read. Design it can read. Design it can write. That's everything an agent needs.
RCC RCC · FM-Patch-Agent
FileMaker 202604 · Tools
The specific tools

Two command-line tools do all the touching. FileMaker Pro never opens.

You never type a command. The coding agent runs these tools under the hood, the same way it built the pipeline. You just describe the change you want.

FMDeveloperTool reads the file

FMDeveloperTool --saveAsXML MyFile.fmp12 \ Admin •••• -t MyFile.xml

Headless Save-as-XML on a closed file. Same XML the menu command in FileMaker Pro gives you, except no app and no human in the loop. Ships with FileMaker Server's command-line tools.

FMUpgradeTool writes the file

FMUpgradeTool --validatePatch# rehearse on a copy FMUpgradeTool --update -inplace# then the real file

Applies a patch XML to a closed file: tables, fields, layouts, scripts. Version 26 shipped with FileMaker 2026, upgraded and properly documented at last.

Supporting cast. The Claris docs as Markdown (one curl per page) · Python for parse, diff, and patch generation · ProofKit by Proof+Geist for the web-app step in demo two. Files have to be closed while the Claris tools run, so the agent checks and asks before it touches anything.
One tool reads design out. One writes design in. Everything between is plain text. An agent's home turf.
RCC RCC · FM-Patch-Agent
What is an agent05 · Ladder
What is an agent?

Three things people call "an agent."
Only the last is new.

Rung 1 · what we've had for years

Chat

One question. One answer. You ask, it replies. Then you do the thinking, the work, the follow-up.

ChatGPT · Claude.ai · Gemini

Rung 2 · the agent in a chat app

Agent

It loops, in the cloud. The agent mode inside a chat tool: it browses, calls the services they've wired up, runs a task and reports back. Lives on their servers, reaches what they connect.

ChatGPT agent · Claude agent mode

Rung 3 · new in 2026

Coding agent

⟳ +

It lives on your computer. Reaches your files, your network, your apps. And it writes new software when it needs something it doesn't have yet. This built and runs the whole patch pipeline.

Claude Code · Codex

Heads up. When people say "AI for FileMaker," some mean a custom-trained model, fine-tuned on thousands of examples for one task. That's a different thing. What you'll see here is the loop pattern: the model stays general, the workflow is what's specialized.
A year ago this didn't work reliably. Today's models use tools, and write new ones mid-job.
RCC RCC · FM-Patch-Agent
How it's built06 · Folder
How you actually build one

There is no agent app. The agent is a folder.

What to do · workflows/

Workflows

Plain-English procedures, one Markdown file per job, written like onboarding docs for a new hire. Rules included: what MUST happen, what may be skipped, when to stop and ask.

Decides · the model

Agent

Claude Code in the middle. Reads the workflow, runs the tools in order, judges the results. Proceed, retry, skip, or stop and escalate to a human.

How to do it · scripts/

Tools

Python scripts for the deterministic work: parse the XML, compute the diff, generate the patch. 122 automated tests. Right every time, not 90% of the time.

Why the split matters. An agent improvising five steps at 90% accuracy each finishes correctly 59% of the time. So everything that can be exact code becomes exact code, and the agent spends its judgment only where judgment is needed.
Instructions in English. Tools in Python. Judgment in between.
RCC RCC · FM-Patch-Agent
How it's built07 · Learns
Why it gets better

Every run leaves the system smarter.

Mistakes become procedure.
RCC RCC · FM-Patch-Agent
Demo one09 · Safety
Who's in control

Built paranoid, on purpose.

You approve every change

The agent proposes, the checkboxes decide. Anything unticked doesn't move. And the change types it can't make safely, it refuses outright. Those stay yours, in FileMaker.

It rehearses before it touches

Backup first, always. The patch is validated and applied on a disposable copy, then smoke-tested. Only after the rehearsal passes does it touch the real file.

It proves its work after

Re-export, re-diff: every approved change landed, nothing else moved. The run is logged either way. And the XML is design-only. Your records never leave the file.

Never trust the success banner. Verify everything. Keep a human at the gate.
RCC RCC · FM-Patch-Agent
Demo one10 · Proof
How it was built

We never took the software's word for it. We tested until it proved itself.

Test-first, not vibes

Every tool was written against a failing test before the code existed. 122 automated checks run the whole pipeline end to end, so a change that breaks patching gets caught in seconds, not in production.

A full dress rehearsal

Two files differing by six tables, dozens of fields, and several layouts. 104 differences in all. The tool found every one, applied them to a copy of production, and the verify step confirmed the two files ended structurally identical.

An adversarial review panel

AI reviewers went over the finished system, each finding double-checked by others. They caught two bugs where the update reports success but is silently wrong. A formula arriving disabled. A counter that got reset. Both fixed, both pinned with tests.

We tested the failure paths on purpose. File left open, update fails halfway, wrong items selected. In every case the tool refuses, restores from the backup, or stops with a clear message. The safety isn't a promise. It's exercised.
The failures it would hit in production, it hit in testing first. On purpose.
RCC RCC · FM-Patch-Agent
Demo one08 · Migrate
Workflow one · what you're about to see

Move changes between files. You tick the boxes.

Export
both files → XML
FMDeveloperTool
Parse
XML → catalogs
tables · fields · layouts
Diff
added · removed
· changed
Review
checkboxes in your browser
the human gate
Patch
approved changes
→ patch.xml
Apply + Verify
FMUpgradeTool,
then prove it
This morning's run · test-dev.fmp12 → test-prod.fmp12 2026-06-12 · real files, real run
10:31export both files two XML design snapshots
10:32diff dev vs prod found: Products table · 8 fields · 1 layout
10:33review.html operator ticked the changes to move, human gate
10:34backup + validate on a copy rehearsal pass, smoke test green
10:34apply --update -inplace "Patch File Applied"
10:35verify · re-export + re-diff verified: true · 0 unresolved
A table, eight fields, and a layout moved between live files. Layout intact, and nobody rebuilt a thing.
RCC RCC · FM-Patch-Agent
Demo one12 · Matrix
What it can patch, and what it can't

What patches clean, and what stays by hand.

Patches clean
Automatic · round-trip proven
  • Tables
  • Fields
  • Table occurrences
  • Relationships
  • Layouts (moved intact)
Works, with a careful eye
Needs sign-off · re-verified
  • Scripts
  • Value lists
  • Custom functions
  • Field & script changes
  • Most deletions
Do it by hand
Stays human · always
  • Accounts & privilege sets
  • Extended privileges
  • Custom menus
  • Themes
  • File security
Why the split? FileMaker's Save-as-XML only knows how to add things. Every change and delete is hand-built, and the Upgrade Tool will report success on a change that did nothing. So green is round-trip-proven, yellow gets a mandatory re-check, and red we don't risk. Mapped against Mislav Kos's "one of everything" file.
Honest about the edges. That's what makes the green safe to trust.
RCC RCC · FM-Patch-Agent
Demo one13 · Under the hood
Under the hood

The unglamorous machinery that makes it safe.

You can diff it at all

A FileMaker XML export is one enormous file. A quarter-gigabyte isn't unusual. The fm-xml-export-exploder (bc-m, with Soliant's lossless mode) splits it into one file per object so it can actually be compared. The whole compare step leans on it.

github.com/bc-m/fm-xml-export-exploder

Built in the right order

Tables before fields, fields before the layouts that show them. Objects go into the patch in dependency order, so nothing references something that isn't there yet. Forward references just fail.

Nothing left dangling

Move a script that calls a field production doesn't have, and the generator stops and names exactly what's missing. It never ships a half-connected patch.

Tick one, get the rest. The review page closes the selection for you: tick a script and the fields and layouts it leans on come along, checked and flagged as auto-included. The generator still double-checks nothing's missing before it builds.
Complete, and in order. Or it doesn't ship.
RCC RCC · FM-Patch-Agent
The turn11 · Hinge
The turn

Building from scratch is just patching an empty file.

The same machinery you just watched: diff, patch, verify. Point it at an empty starter file, hand it a bigger shopping list, and the migration tool becomes a builder.

Good place for questions, then we scale it up
RCC RCC · FM-Patch-Agent
Demo two12 · Build
Workflow two · the build

From a description to a working solution. Web app included.

Step 1 · the spec

A plain shopping list

Written in conversation, saved as a file: Accounts, Contacts, Projects, with these fields and these relationships. Because it's a file, the build repeats. And the spec is the contract the result gets checked against.

Step 2 · the build

Same rails, empty target

The spec becomes one big patch against a starter file, and the same gates run: validate → rehearse → apply → verify, every table, field, and layout checked off against the spec. Later rebuilds preserve live data, proven with records in the file.

Step 3 · the front end

A web app, inside the file

ProofKit deploys a React web app into a web viewer inside the same .fmp12. Modern UI, FileMaker data, one file. Nothing else to install or host.

proofkit.proof.sh

Describe the solution → get the file, working UI included. That's the whole loop.
The web-app layer · scan it
ProofKit, by Proof+Geist
React UI deployed inside the .fmp12. The web front end we lean on. proofkit.proof.sh
RCC RCC · FM-Patch-Agent
The ask13 · Next
Where this goes

FileMaker was the demo. The pattern is the product.

Patch & maintain

Dev-to-prod migrations on your files, with every gate you just saw. Release day stops being an afternoon of clicking and praying. It becomes a checklist run.

Build from spec

New modules or whole solutions scaffolded onto your standards: your base file, your naming, your security. Web app included.

Agent workflows for anything

Quotes, reports, data moves, document wrangling. Any procedure your team can write down, an agent can run, log, and improve. The same pattern runs our other client work.

Get the repo · scan to download & play
github.com/datacraftdevelopment/FM-Patch-Agent
The whole thing: workflows, scripts, run logs, and the day-by-day journal. Clone it, read exactly how it's built, and try it on your own files.
RCC If your team does it by hand every week, it's a workflow. Let's build yours.
Joe DaSilva · Richard Carlton Consulting · joe.dasilva@rcconsulting.com