From 269344592a2c3ff187f9120711beceb36ac4b94c Mon Sep 17 00:00:00 2001 From: Chris Klapp Date: Sun, 26 Apr 2026 22:31:56 -0400 Subject: [PATCH] fix(audit): correct oddkit_audit tool description default scope Validator F-1 (RV-gate dispatch on PR #146): tool description claimed default scope was writings/, canon/, odd/, docs/ but actual DEFAULT_AUDIT_PATHS is writings/ only. Misleads every MCP consumer reading the schema. Description-only fix; no behavior change. Also: spec version reference DRAFT v2 -> DRAFT v2.1 (klappy.dev#146 amendment). --- workers/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/src/index.ts b/workers/src/index.ts index 9701c8b..079e139 100644 --- a/workers/src/index.ts +++ b/workers/src/index.ts @@ -349,10 +349,10 @@ Use when: }, { name: "oddkit_audit", - description: "Walk every klappy:// URI in canon markdown and emit findings for those that don't resolve, plus any legacy markdown link patterns (/page/..., ./*.md) in writings/. Returns structured findings with rule_id, severity, location, occurrence, message. Designed for CI use. Per klappy://docs/oddkit/specs/oddkit-audit (DRAFT v2 — KISS).", + description: "Walk every klappy:// URI in markdown files within the configured scope (default: writings/) and emit findings for those that don't resolve, plus any legacy markdown link patterns (/page/..., ./*.md) in writings/. Returns structured findings with rule_id, severity, location, occurrence, message. Designed for CI use. Per klappy://docs/oddkit/specs/oddkit-audit (DRAFT v2.1).", action: "audit", schema: { - input: z.union([z.string(), z.object({}).passthrough()]).optional().describe("Optional scope: { paths: string[], since_commit?: string }. Default scope: writings/, canon/, odd/, docs/ (excluding docs/archive/). Pass as object or JSON string."), + input: z.union([z.string(), z.object({}).passthrough()]).optional().describe("Optional scope: { paths: string[], since_commit?: string }. Default scope: writings/ (the actual link-rot pain surface). Wider scope is explicit opt-in via paths. Pass as object or JSON string."), knowledge_base_url: z.string().optional().describe("Optional: GitHub repo URL for your knowledge base. When set, strict mode is automatic: missing files fall through to the bundled governance tier."), }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },