Summary
When a darnit skill is invoked from a coding agent, the intended dispatch is to a darnit MCP tool. If the MCP server isn't registered / isn't reachable, the current behavior is to silently fall back (to CLI heuristics, string parsing, or agent-inferred paths). That violates Constitution II ("conservative-by-default"): the framework is not "uncertain" -- it is misconfigured, and hiding the misconfiguration produces subtly wrong results at scale.
The skill layer should fail-fast with a clear, actionable error message pointing the operator at the fix (which darnit install --client <name> to run, or which MCP entry to add to their client's config).
Scope
- In scope (v0): MCP server not registered / unreachable when a darnit skill needs it.
- Applies to every skill in the current install (audit, remediate, data, comply).
- Error message MUST name the specific MCP tool the skill needed and the shortest install command that would wire it. No heuristic fallback.
Out of scope for v0 (noted as follow-up candidates)
Each of the above is legitimate but scoped to its own future issue.
Constitution alignment
- II. Conservative-by-Default: "err on the side of caution" -- and misconfiguration is not the same as uncertainty. Explicit FAIL preserves the FAIL/WARN semantic boundary.
- III. TOML-First: the error message points to the smallest config surface the user can edit (client config, no code changes).
Related
Summary
When a darnit skill is invoked from a coding agent, the intended dispatch is to a darnit MCP tool. If the MCP server isn't registered / isn't reachable, the current behavior is to silently fall back (to CLI heuristics, string parsing, or agent-inferred paths). That violates Constitution II ("conservative-by-default"): the framework is not "uncertain" -- it is misconfigured, and hiding the misconfiguration produces subtly wrong results at scale.
The skill layer should fail-fast with a clear, actionable error message pointing the operator at the fix (which
darnit install --client <name>to run, or which MCP entry to add to their client's config).Scope
Out of scope for v0 (noted as follow-up candidates)
Each of the above is legitimate but scoped to its own future issue.
Constitution alignment
Related