Synthetic code only — this is a portfolio demo, not a connected org. All linting runs on pre-loaded sample code, in your browser. No live model, no real org, no invented benchmarks. The determinism is the point.

Your agent wrote Apex at 2am.
Who reviewed it?

Apexlint catches the specific, reproducible mistakes AI agents make in Salesforce Apex, Flow JSON, and n8n DSL — deterministically, in milliseconds, with no model call and no data leaving your browser.

16 deterministic rules No model call, by design Sub-50ms, in-browser Zero data egress
OpportunityEnrichmentTrigger.cls Agent-generated trigger: enrich each Opportunity on update
Loading…
Loading…

How it works — and why deterministic rules, not an LLM

Determinism

Same input, byte-identical output

You don't put a non-deterministic black box on the production gate. Rules produce the same findings every run — CI-gateable, postmortem-citable.

Latency

Sub-50ms, zero network

No model call, no spinner. The rule engine runs in your tab. Source code never leaves the browser. Nothing to leak.

Auditability

Every finding cites a rule ID

AP-001 — not "the model said so." Each rule has a fixture pair (passing + failing) in the public repo. The claim is checkable.

Positioning

LLM for the fuzzy; rules for the gate

Reserve the LLM for explaining a finding, not deciding it. Knowing when not to use an AI is the architectural signal.

LLM reviewer vs. deterministic rules

Concern LLM-as-reviewer Apexlint (deterministic)
Determinism Same input, different findings run to run. Can't gate CI on it. Same input → byte-identical findings, every time. CI-gateable.
Latency 1–5s per review, network round-trip. Sub-50ms, in-browser, no network.
Secrets / data egress Source code leaves the building to a third party. Code never leaves the tab. Nothing to leak.
Auditability "The model said so" — no rule to cite in a postmortem. Every finding cites a rule ID + fixture; reviewable in a public repo.
Cost Per-token, scales with codebase. Zero marginal cost.

Bounded rule pack, by design

  • PMD's Apex ruleset has hundreds of rules. Apexlint ships 16 — the most common agent-generated failure modes.
  • A tight, auditable pack you can reason about beats a sprawling one nobody trusts.
  • Heuristic, not full AST. Rules use comment-strip + brace-depth + regex. Demonstrates the architecture, not production-grade coverage.
  • No execution-time analysis. Real governor consumption needs to run the code.

Scope and honesty

  • n8n DSL version-pinned to the v1.x workflow schema. Newer versions may rename fields.
  • No production integration. The Metadata-API / n8n-REST connection layer needs a server-side OAuth flow — out of scope for a no-backend demo.
  • Synthetic samples only. Every rule and its fixture pair is in the public apexlint-rules repo — the claim is checkable, not asserted.