You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release/0.4.0 (#240)
* intent: a file named enola at the repo root is absence, not a failure
enola/constraints and enola/recipes share an `enola/` parent the repo does not
otherwise own, so an ordinary `go build -o enola .` makes ReadDir return ENOTDIR
rather than ErrNotExist. That propagated out of LoadRepoFile and aborted the
entire snapshot for a repo that had declared nothing at all.
* docs: fifteen explainers, and the Ruby surface
Three documents disagreed on the explainer count (ten, eleven, eleven) against
fifteen registered, with constraints/domain/query-loops/entry-points undocumented
and missing from `check --help`'s --fail-on list. ruby.md covered none of v199-v215.
Adds endpoint_impact and plan_check to the MCP catalogue.
* check: refuse a --fail-on name no explainer has
It was accepted and enforced nothing, so --fail-on=cyles exited 0 where
--fail-on=cycles exited 1 and a typo in CI was indistinguishable from a passing
build. Matching is exact and a mixed spec is refused whole. The accepted set, the
help text and the default config now all read config.KnownExplainers — they were
separate lists, which is how four gateable explainers went unadvertised.
* mcp: say what enola is, so an agent asked to evaluate it has a premise
Everything an agent sees was procedural — which tool, when — while the vocabulary
it does see (findings, confidence, gate CI) is a linter's. Asked whether a team
with linters needed enola, an agent reasonably said no. States the category
difference in the MCP instructions, the installed rule and llms.txt, and tells the
agent to demonstrate against the user's repository rather than classify.