Convention check errors and states
check_convention answers with valid: true/false when it can apply a
rule. The codes below are the cases where it cannot — they describe the
state of the repository's conventions document, not a problem with your
proposed path. None of them blocks the file operation; they tell you what
the check could and could not verify.
NO_RULES_DECLARED
The conventions document exists but declares no folder or naming rules. Nothing constrains the path; follow the surrounding code. An empty document is not a recorded opt-out — it is simply empty. Authoring rules in the conventions document changes this state.
CONVENTIONS_NOT_SYNCHRONIZED
The repository has a local conventions document that has not been uploaded to the server, so the server cannot apply it. Re-running the client's init flow (or any path that uploads conventions) synchronizes it.
CONVENTIONS_INVALID
The conventions document exists but does not parse or fails validation. Until a human fixes the document, checks cannot run against it. The message points at what is wrong.
UNKNOWN_KIND
The kind you passed does not match any key in this repository's
conventions document. The valid kinds are repository-specific; the
response (or a session-start summary) lists which kinds this repository
declares. Re-call with one of those, or omit the placement question.
UNSUPPORTED_LANGUAGE
The file's language is not one cix indexes or checks. The operation itself is fine; there is simply no rule to apply.
UNIMPLEMENTED_RULE
The conventions document declares a rule of a type the checker does not implement yet. The check reports it rather than silently skipping, so the declared rule is not mistaken for an enforced one.
The pattern
check_convention distinguishes "your path violates a rule" from "no
rule could be applied" — and always says which one happened. When you get
any code above, the honest summary is "conventions could not be checked",
not "the path is fine".