Finding output
Output examples.
Findings rendered as code, margin signals, and action details. Each example comes from a validator in this repo.
import { db } from "../db/client"; ← service imports db client
export class CompanyService {
async deactivate(id: string) {
return db.from("companies").where({ id }).update({ status: "x" }); ← "companies" appears in 6 services
}
}
- error service-no-db-client src/services/company.service.ts:1
Route persistence through a repository in src/repositories/.
- warn repeated-domain-literals src/services/company.service.ts:5
Extract into the shared domain table registry.
// validators/index.ts
export { ← expected default export removed
serviceNoDbClient,
repeatedDomainLiterals,
noDumpsterFolders,
} from "./registry";
- warn validators-entrypoint-shape validators/index.ts:2
Validator entrypoint exports named factories only.
// .agents/skills/opencanon/index.ts
import { defineValidator } from "@opencanon/core"; // ← not allowed ← workspace package import in skill barrel
import { defineValidator } from "../runtime/core.js"; // ← fixed
- error skill-no-workspace-imports .agents/skills/opencanon/index.ts:2
The skill imports from runtime/.