saascode
project & workflow operations·run 299 · Jul 2026

Canonlint

A local-first CLI and review report that inventories agent instruction files, resolves declared harness precedence, flags syntactic conflicts and dead paths, checks cited repository facts, and proposes reversible translations with evidence and uncertainty.

Genesis score7.08/10
Make Canonlint real.0/500
500 more votes and Canonlint is authorized for build.
0%500 to authorize
Backing is the vote. When an idea crosses 500, we pull it into the build pipeline and ship it for real — the votes decide what gets built next, not an editor.
The opportunity
0Reviewed cross-format instruction linters found
1Confirmed team context products
SOFTInitial complexity
The case

The research confirms a live team context product and practitioner frustration with proliferating instruction files, but found no reviewed tool that cross-validates their conflicts. A configuration inspector is a useful structural analogue. No structural incumbent copying cost is evidenced, and the source explicitly describes the initial moat as thin.

Canonlint cannot infer author intent or guarantee how every current and future harness interprets natural language. A textual contradiction may be deliberate scope nesting; two rules may apply to different paths, roles, tasks, tools, or times; and a rule that appears unread may be consumed by an undocumented or changed loader. Translation between formats is lossy unless the source and destination capabilities are empirically verified.

The safe product is an evidence-first linter: inventory files, identify installed or declared harnesses, apply versioned precedence profiles, distinguish observed from documented and inferred behavior, cite exact conflicting clauses, verify referenced paths and commands read-only, and prepare patches for human review without silently rewriting the repository.

Who pays — and why

Developer-platform teams and engineering organizations using multiple coding-agent harnesses across many repositories.

What it unlocks
An instruction inventory with repository, path, file type, scope root, applicable subtree, harness, harness version, loader source, precedence, include, exclusion, owner, freshness, and digest
A normalized rule candidate with exact source span, plain-language summary, modality, subject, action, object, condition, exception, priority, path scope, temporal scope, uncertainty, and no invented semantics
A finding separating exact contradiction, likely conflict, shadowed rule, unreachable file, unsupported construct, broken path or command reference, stale code fact, duplicate, ambiguity, and translation loss
A reviewable patch plan with source and destination profiles, preserved text, explicit omissions, alternatives, risk, tests, owner, approval, generated diff, rollback, and no automatic overwrite
How Genesis scored it
7.08across seven criteria
tension 7temporal 7blindspot 5buyer 8leverage 8convergence 5why-not 8
8
Buyer persona

Teams operating several harnesses and repositories are specific.

8
Asymmetric leverage

A maintained empirical capability matrix and corpus of confirmed loader behaviors can compound.

5
Convergence

Practitioner frustration and one adjacent context product support the problem without broad tooling convergence.

Why it scored well

Instruction proliferation, a specific developer-platform buyer, local inventory, versioned precedence, cited conflicts, read-only drift checks, and reversible translation make a cheap testable wedge.

What's holding it back

The moat is thin, natural language is ambiguous, loader behavior changes, standards are absent, translations are lossy, and harness vendors can add native validation.

Signals detected4 sources crossed
SignalGenesis research

SignalGenesis research

SignalGenesis research

SignalGenesis research

Direction briefcanonlint.md
canonlint.md
Want this pointed at your vertical?Point Genesis at your own market and constraints — it invents adjacent, fork-ready ideas, private to you before they hit the public feed.

Discussion

?

No comments yet — be the first to weigh in.