Skip to main content
Explore Products
Orbyt Jobs
Orbyt Intelligence
Orbyt One
Explore Consulting
Orbyt ConsultingPut the AI lab to work on your problem.
Orbyt Jobs
Overview
The job search CRM. Free forever.
Features
Every tool in the CRM
Compare
Against the alternatives
Pricing
Free forever, paid when you outgrow it
API
23 endpoints, MCP native
Salaries
Comp data inside the CRM
By your situation
Job Search Tracks
15 tracks for your exact moment
For Recruiters
Hiring and comp benchmarking
Orbyt Intelligence
Overview
The salary dataset, and its API.
Features
What the platform does
Compare
Against the alternatives
Pricing
Free tier, then Pro and Ultra
API
20 endpoints. AI tools cite sources.
Start without a card
Playground
Run a live query
MCP server
Three steps into Claude Code
API docs
Endpoints, auth, and limits
Orbyt One
Overview
One account. Every Orbyt product.
Pricing
What one account costs
Explore Research
Orbyt Collective
Orbyt Collective
Overview
An agent leadership team.
How It Works
The machinery, end to end
Process
How the work actually moves
Leadership
The agent officers
Agent Seats
An AI agent job with written limits
Autonomy Ledger
What it decides without us
Pulse
Daily report on the AI team, without AI
Articles
About the AI team that runs Orbyt Labs
Hub
Research Hub
Papers and field notes.
Reference
AI Glossary
Papers
Agent-Native Dataset Design
Preprint, DOI 10.5281/zenodo.19754393
Governing an Agent Leadership Team
Preprint, DOI 10.5281/zenodo.22683647
Field Notes
Every Guard Must Stay Quiet
The Cache-Read Tax
Confidently Wrong
What an Agent Seat Completes
A Model Upgrade on a Frozen Review
A Single Agent and a Team
Explore Developers
Orbyt Jobs
Orbyt Intelligence
Orbyt One
Build
Jobs API Docs
23 endpoints, MCP native
MCP Integrations
Claude Desktop
Connect over MCP.
ChatGPT GPT Actions
Connect as a custom GPT action.
Apple Shortcuts
Connect from Shortcuts.
Zapier / Make.com / n8n
Connect with no code.
OpenClaw
Setup in under a minute.
Across products
Developer Hub
Start here
Orbyt API
The platform API
Build
Intelligence API
20 endpoints. AI tools cite sources.
Webhooks
Events and delivery
CLI
The terminal client
API Changelog
Every version, dated
Try
MCP Server
Wired into Claude Code in three steps
Playground
Engine response shapes with cURL
Try It Live
One call, one real response
Reference
Reference
The full index
Methodology
How the numbers are made
Engines
What computes each answer
Dataset
What is in it, and where from
Glossary
Each glossary, in one place
Status
Live service health
Across products
Developer Hub
Start here
Orbyt API
The platform API
Explore Resources
Orbyt Jobs
Orbyt Intelligence
Orbyt One
Learn
Interview Prep
Company-by-company question sets
AI Skills Lab
The skills that pay in 2026
Career Guides
Long-form career playbooks
Job Search Articles
Every article on the search itself
Job Board
Curated AI-era roles
Arcade
The job search, as games
Salary data
Salary Explorer
3,445 roles across 81 cities
AI Role Salaries
AI roles, by category
Cities
Comp by metro
Industries
Comp by sector
Compare Salaries
Two roles, side by side
Compare Offers
Side-by-side offer math
Skills Impact
What each skill adds to pay
Salary Projections
Five-year pay forecasts
Free tools
All Free Tools
Every calculator and generator
Cover Letter Generator
Tailored in one pass
Unemployment Calculator
What you are owed, by state
Salary Widget
Embed salary data anywhere
Resume Score
Grade your resume against a role
Salary Calculator
Base, bonus, equity in minutes
Take-Home Calculator
After federal and state tax
Total Comp Calculator
Full compensation math
Data
Data Catalog
Every role, city, and engine
Companies
54 leveling frameworks
Reports
Compensation Reports
Free summary PDF
International
The US, UK, and Canada
United Kingdom
UK salary data
Canada
Canadian salary data
Trust
Trust Center
How the data is governed
Security
Controls and posture
SLA
Uptime and support commitments
Help
Support
Help center and contact
Compare
Orbyt against the alternatives
Explore Books
The Books
Start reading
Cold Start
Read the opening, free.
Unfair Advantage
Read the opening, free.
The series
Book 1: Cold Start
Reviewing
Book 2: Unfair Advantage
Reviewing
Book 3: Human Heartbeat
Writing
Book 4: Without Me
Future
Book 5: Observer Effect
Future
Explore Blog
The Machine Speaks
Categories
AI Reality
AI-Native
AI Agents
AI Engineering
AI Product
AI Design
AI Strategy
AI Leadership
AI Build
Featured Topics
AI Governance
Agent Organizations
Verification
Human Oversight
Orbyt Collective
AI Safety
AI Economics
All topics
Latest
You Have Two Org Charts Now.
Oct 6, 2026
Did the Agents Make the Business Better?
Oct 5, 2026
When Do I Get to Leave the Loop?
Oct 4, 2026
How Much Does One AI Answer Cost?
Oct 2, 2026
Safety Is a Default, Not a Debate.
Oct 1, 2026
Explore Pricing
Orbyt Jobs
Orbyt Intelligence
Orbyt One
Plans
Jobs pricing
What each plan includes
All plans
Every product, side by side
Plans
Intelligence pricing
Free, Pro, and Ultra
All plans
Every product, side by side
Billing
All plans
Every product, side by side
Explore Company
About
Who we are
Founder
Justin Bartak, in his own words.
Leadership
One human decides. AI agents advise.
Values
The principles behind the work.
Creed
The company creed.
The story
Building in Public
The numbers behind the work
Skunkworks
iOS, Apple Watch, and Vision Pro.
Contact
Email the team
Orbyt Labs
Products
Research
Developers
Resources
Books
Blog
Pricing
Company
Log inStart
Products
Orbyt JobsOrbyt IntelligenceOrbyt One
Explore Consulting
Orbyt Consulting
Orbyt Jobs
OverviewFeaturesComparePricingAPISalaries
By your situation
Job Search TracksFor Recruiters
Orbyt Intelligence
OverviewFeaturesComparePricingAPI
Start without a card
PlaygroundMCP server
Orbyt One
OverviewPricing
Research
Orbyt Collective
Orbyt Collective
OverviewHow It WorksProcessLeadershipAgent SeatsAutonomy LedgerPulseArticles
Hub
Research Hub
Reference
AI Glossary
Papers
Agent-Native Dataset DesignGoverning an Agent Leadership Team
Field Notes
Every Guard Must Stay QuietThe Cache-Read TaxConfidently WrongWhat an Agent Seat CompletesA Model Upgrade on a Frozen ReviewA Single Agent and a Team
Developers
Orbyt JobsOrbyt IntelligenceOrbyt One
Build
Jobs API Docs
MCP Integrations
Claude DesktopChatGPT GPT ActionsApple ShortcutsZapier / Make.com / n8nOpenClaw
Across products
Developer HubOrbyt API
Build
Intelligence APIWebhooksCLIAPI Changelog
Try
MCP ServerPlaygroundTry It Live
Reference
ReferenceMethodologyEnginesDatasetGlossaryStatus
Resources
Orbyt JobsOrbyt IntelligenceOrbyt One
Learn
Interview PrepAI Skills LabCareer GuidesJob Search ArticlesJob BoardArcade
Salary data
Salary ExplorerAI Role SalariesCitiesIndustriesCompare SalariesCompare OffersSkills ImpactSalary Projections
Free tools
All Free ToolsCover Letter GeneratorUnemployment CalculatorSalary WidgetResume ScoreSalary CalculatorTake-Home CalculatorTotal Comp Calculator
Data
Data CatalogCompanies
Reports
Compensation ReportsInternationalUnited KingdomCanada
Trust
Trust CenterSecuritySLA
Help
SupportCompare
Calculators and tools
Free ToolsSalary CalculatorTake-Home CalculatorTotal Comp CalculatorCompare OffersSkills ImpactSalary Projections 2030Resume ScoreCover Letter GeneratorSalary WidgetUnemployment CalculatorAI Skills Assessment
Books
The Books
Start reading
Cold StartUnfair Advantage
The series
Book 1: Cold StartBook 2: Unfair AdvantageBook 3: Human HeartbeatBook 4: Without MeBook 5: Observer Effect
Blog
The Machine Speaks
Categories
AI RealityAI-NativeAI AgentsAI EngineeringAI ProductAI DesignAI StrategyAI LeadershipAI Build
Featured Topics
AI GovernanceAgent OrganizationsVerificationHuman OversightOrbyt CollectiveAI SafetyAI EconomicsAll topics
Latest
You Have Two Org Charts Now.Did the Agents Make the Business Better?When Do I Get to Leave the Loop?How Much Does One AI Answer Cost?Safety Is a Default, Not a Debate.
Pricing
Orbyt JobsOrbyt IntelligenceOrbyt One
Plans
Jobs pricingAll plans
Plans
Intelligence pricing
Company
About
Who we are
FounderLeadershipValuesCreed
The story
Building in PublicSkunkworksContact
StartAlready have an account? Log in
  1. Home/
  2. The Machine Speaks/
  3. Your Linter Was the Prototype.
The Machine Speaks
A dark 3D scene where a spotlight scans a wall of red flagged code, and circular arrows convert it into glowing blue panels.

Justin Bartak · AI Engineering · September 8, 2026 · 5 min read

Your Linter Was the Prototype.

  • AI Native Development
  • Verification

TL;DR

A linter’s fix flag is the smallest version of self-healing code. At repository scale, independent detectors check separate fixers that repair only deterministic defects, default to dry runs, and open pull requests. Repairs must solve the underlying problem, while changes requiring judgment become a worklist for human review.

Most engineers have already written self-healing code and did not call it that. If you have ever run a linter with the fix flag, you have shipped the smallest version of the pattern: a program that detects a defect and writes the correction.

Everything past that is the same idea with a bigger blast radius and more discipline.

A checker tells you the truth. A fixer tells you the truth and hands you the diff.

What does it look like at repository scale?

One convention, repeated per defect class: a detector and a separate fixer.

On Orbyt every guard has a name like check-seo-infra and its optional partner is heal-seo-infra. The guard is 1 of 103 mechanical checks and it fails the build. The healer repairs the subset that is deterministic and prints what it refused to touch.

The healer defaults to a dry run. It prints the plan and exits. Applying requires an explicit flag, because a repair tool whose default action is to write is a foot gun with a schedule.

That is the whole shape. ESLint's fix flag does it for syntax. This does it for anything you can specify: derived files that drifted from their source, a config line that should not exist, a structural attribute a page is missing.

Why must the checker and the fixer be separate programs?

Because a program that grades its own repair always passes.

Separation forces the fixer to satisfy an independent detector, which is the same reason the model that writes the code should not be the one that audits it. It also lets you ship the detector alone, watch what it catches for a week, and automate only the part that turned out to be genuinely mechanical.

It has a practical benefit too. The detector runs in CI, where nothing is allowed to write. My CI runs the check flag, never the heal flag, because a build that edits your repository is not a build.

What can a machine fix unattended?

Draw the line at judgment, not at difficulty.

Mechanical, so it heals itself: regenerating a derived file so the generated map cannot drift from its source. Removing a stray sitemap directive from robots that shadows the real index. Adding a structural attribute that is either present or absent with nothing in between.

Judgment, so it reports: anything touching source logic, any public claim, any prose. My healer prints those as a worklist. When the same audit found 31 FAQ answers running over 80 words, not one was auto-shortened, because shortening a sentence in somebody's voice is writing, not repair. A separate proposal layer drafts the copy into a markdown file for approval and never edits source. An apply layer runs only after a human approves it.

And some things are exempt forever. A set of my series posts is excluded from both layers permanently, because that voice is mine and no codemod gets a vote on it.

Automate the repair whose correct answer is already written down. Propose the rest.

What is the failure mode?

A fix that satisfies the detector without solving the problem. This is the one that bites teams, and it is worth a real example.

A guard counted 42 pages emitting Article or FAQPage structured data with no speakable block, which is the marker that tells an answer engine which passage to quote. The detector was a substring test. A codemod could have pasted the same three-line selector into all 42 files and taken the number to zero in a single commit.

It would have earned nothing. A selector is worth something only if it matches an element that actually exists on that page. Worse than nothing, in fact: the guard would now be green, so the alarm retires and the real gap becomes invisible and unfunded.

So the healer validates every candidate selector against the actual file, applies only the ones a page can satisfy, and skips and reports the rest. A page that can satisfy none stays red on purpose.

That is the rule I would tattoo on anyone building this. A green guard is not the goal. A green guard is a claim, and a fixer that makes claims it cannot support is worse than the defect it hid.

How should a repair reach the codebase?

As a pull request, never as a push.

My weekly healing workflow runs Sundays at 08:00 UTC, repairs what it can, and opens a PR. It never pushes to main and it never merges. Before it opens anything, it re-runs the detector, the type check, and the test suite itself, because a bot-authored PR does not trigger the normal CI workflow. Skipping that means the automation is the one path into your repository with no checks on it.

Anything it could not heal becomes an issue instead. The unhealable case is the valuable output, because it is the one that needs a person.

What to do Next

Pick the review comment you have written more than 5 times. That is your first defect class.

Write the detector first, and only the detector. Run it across the repository and read what it catches for a week. You will find that some of what you were correcting by hand is not mechanical at all, and that is the most useful thing this exercise produces.

Then write the fixer for the deterministic subset only. Dry run by default. Separate program. Opens a PR. Everything else it prints as a list, which is now a worklist instead of a habit.

The harness that grades this took me 84 dimensions and 49 recorded failures to build, but the first one was an afternoon, and it started exactly here: one check I was tired of performing by hand.

The fix that runs while you sleep is not the impressive part. Knowing which fixes are allowed to is.

Related reading:

  • Self-Healing Is a Euphemism. the runtime half, and why you count every repair
  • 84 Ways to Tell Me I'm Wrong. where the detectors live and how each one was earned
  • Your Tests Are the Spec Now. writing intent as checks a machine can act on
  • Codex Accuses. Claude Convicts. why the thing that finds the problem should not be the thing that fixes it

Common questions

What does self-healing code actually look like in a real codebase?

At repository scale, each defect class gets a guard and a separate healer: a guard named check-seo-infra fails the build, and its optional healer, heal-seo-infra, repairs the deterministic subset. The healer defaults to a dry run, printing its plan before exiting, and applying changes requires an explicit flag rather than writing automatically.

Why can't the same tool both detect and fix code issues?

A program that grades its own repair always passes, so the fixer must satisfy an independent detector instead of approving its own work. Separation also lets a team ship the detector alone, watch what it catches for a week, and automate only the part that turns out to be genuinely mechanical. The detector runs in CI, where nothing is allowed to write.

What happens when an automated fixer can't safely repair something?

Anything touching source logic, a public claim, or prose gets printed as a worklist rather than automatically fixed, since rewriting someone's sentence is writing, not repair. A proposal layer drafts suggested copy into a markdown file for approval, and an apply layer runs only after a human approves it. Anything the weekly workflow cannot heal becomes an issue for a person instead.

Related research

  • AI-Native Development, By the Numbers Aug 2026.
  • 66 Failures. Counted, Classed, Published. Sep 2026.
  • Governing an agent leadership team Sep 2026.

Share this

Post on XLinkedInSubstack

Follow the work.

I write these while the Machine runs. Get the next one wherever you already read.

  • Subscribe on Substack
  • RSS feed
  • Bluesky
  • Threads
Justin Bartak

Justin Bartak

Founder & Chief AI Officer, Orbyt Labs

4X founder. Former CPO, CTO and CDO with 20+ years shipping software, now building it with agents.

Writes The Machine Speaks with the agents that build the product, and The AI-Native Lens.

All of The Machine Speaks

More from The Machine Speaks

Deep black frame lit in electric blue and violet, a glass slab of unreadable code centered, particle streams left, wireframe grid right.

AI Engineering · Sep 24, 2026 · 8 min read

The Model Already Knows TypeScript.

A glowing blue sphere latticed with faint white dots sits inside concentric dark glass rings, a black cylindrical arm connecting from the left.

AI Engineering · Sep 13, 2026 · 5 min read

Heal What You Can Prove.

A glowing neon ring floats in an otherwise empty black frame, its band shading from blue through purple into pink, with small arrowheads spaced along it pointing the same way around the loop.

AI Engineering · Aug 13, 2026 · 3 min read

Orbyt Runs on Loops, Not Prompts.

Blog

  • Explore Blog
  • Categories
  • AI Reality
  • AI-Native
  • AI Agents
  • AI Engineering
  • AI Product
  • AI Design
  • AI Strategy
  • AI Leadership
  • AI Build

Get started

  • Sign Up
  • Sign In

More from Orbyt

  • Orbyt Jobs
  • Orbyt Intelligence
  • Orbyt One

Keep Exploring

What we have learned building an AI-native company, what works and what breaks.

Products

  • Orbyt Jobs
  • Orbyt Intelligence
  • Orbyt One
  • Orbyt Consulting

Research

  • Orbyt Collective

Developers

  • Orbyt API & MCP
  • Jobs API
  • Intelligence API

Publishing

  • Books
  • Blog
  • Papers

Help

  • Support
  • Contact
  • Status

Company

  • Founder
  • Leadership
  • Values
  • Creed
Products
  • Orbyt Jobs
  • Orbyt Intelligence
  • Orbyt One
  • Orbyt Consulting
Research
  • Orbyt Collective
  • Research
Developers
  • Developer Hub
  • Orbyt API & MCP
  • Jobs API
  • Intelligence API
Publishing
  • Books
  • Blog
  • Papers
Help
  • Support
  • Contact
  • Status
Company
  • About
  • Founder
  • Leadership
  • Values
  • Creed
Orbyt Labs™

© 2026 Purecraft LLC  All rights reserved.

Privacy·Terms·Security·Trademark·Accessibility·DPA·Refund·Status·Sitemap

Orbyt Labs, the Orbyt Labs logo, and the Orbyt product names (Orbyt Jobs, Orbyt Intelligence, Orbyt Collective, Orbyt One, Orbyt Books, Orbyt Arcade) are trademarks of Purecraft LLC. Product names, logos, and brands of others are the property of their respective owners. Orbyt Labs is not affiliated with, sponsored by, or endorsed by any third party referenced on this site.