Code Best Practices
Lints for idiomatic patterns, naming, complexity, and project conventions.
- Cyclomatic complexity per function
- Naming consistency vs codebase conventions
- Deprecated API usage
- Guard clauses & early returns
One reviewer, one job. Multiple agents ride every Merge Request — each one focused on a single class of problem, each one returning a verdict before a human ever opens the MR.
"You don't hire one ranger to do seven jobs. You ride a posse."
A real Solidgate-shaped MR — a 3DS challenge fallback for declined transactions. Run the posse. See where it blocks, where it warns, where it waves you through.
Why one agent per problem? Because a single "review everything" agent collapses into a vague summary. Narrow scope = sharp prompt = useful verdict.
Lints for idiomatic patterns, naming, complexity, and project conventions.
Confirms that new and changed lines are exercised by unit tests.
Scans dependent services in the monorepo for breakage. Reads call sites + contracts (protobuf, OpenAPI).
Verifies end-to-end coverage for the user-visible behavior the diff introduces or changes.
Checks for OWASP-class issues, secret leaks, new dependency CVEs, unsafe defaults.
Compares the diff against the linked Jira issue's acceptance criteria. Flags scope creep and missed items.
A single "review my MR" agent reads the diff, finds a bit of everything, returns a paragraph. That paragraph is always polite, usually shallow, and rarely actionable.
A posse of narrow agents runs in parallel, each with a sharp prompt, tight context, and a single verdict to render. The output is a checklist — not an essay.
Most importantly: each agent's output can be graded. Did the security agent miss a CVE? Tighten its prompt. Did the backward-compat agent cry wolf? Adjust the contract source list. You can't debug a generalist.
Feature Number One starts before the first line of code. It continues at every checkpoint between draft and main.