ARCCHR0019 - Read-model fold may be exposed as a query
When this warning appears
Section titled “When this warning appears”A conventional [ReadModel] has a public/internal static Create(event[, context]) returning its model or Task of the model, without a self parameter. The first parameter resembles an event: a class or interface other than a string or concept. This is a heuristic, not proof of event registration, and it does not change query discovery.
Methods with a parameter of their own read-model type are never queries, nullable or not and in any position. Static self-reducer Reduce(event, current[, EventContext]) methods therefore need no warning and no explicit-selection workaround. Adding [Query] to such a method is an ARC0026 error.
In RequireQueryAttribute = true mode, unmarked helpers produce no query diagnostics, including this warning. Arc does not globally reserve fold or callback names.
Choose the endpoint surface
Section titled “Choose the endpoint surface”If the method is a helper, opt the read model into explicit query selection. Add [Query] to intended queries, not to the fold. Preserve endpoint paths, HTTP methods, arguments, and authorization.
If the method is an intentional query, keep it and suppress this heuristic with a justification. Adding an event attribute or context parameter does not exclude it from conventional discovery.
Quick fix
Section titled “Quick fix”Require [Query] and mark existing queries (preview endpoints) changes the whole read model, including its partial declarations. It opts the type into explicit selection and marks eligible existing methods other than recognized fold-like shapes. Preview the complete endpoint diff: return shapes cannot distinguish an intentional query from every other helper. Partial query methods receive one marker across their definition and implementation. The fix is not offered for already-invalid explicit query declarations, declarations in generated or otherwise uneditable documents, or a migration that introduces compiler errors. It has no unattended Fix All.
The warning remains a creator heuristic, not a test of Chronicle backing eligibility. See self-reducing read models for the supported reduction and command-injection shape.