{
 "schema_version": 1,
 "generated": "2026-10-23",
 "repo": "qkal/Canny",
 "name": "Canny",
 "owner": "qkal",
 "slug": "qkal-canny",
 "github": "https://github.com/qkal/Canny",
 "what": "Canny is a supervision layer that hooks into Claude Code and Codex CLI, records what the agent did in an append-only ledger, and blocks the agent from finishing on an unsupported claim.",
 "why": "",
 "language": "TypeScript",
 "requirements": [
  "git installed",
  "Node.js 22 or newer",
  "Claude Code or Codex CLI installed in the project",
  "A terminal to run the install commands",
  "Repository is not on npm, so install is a git clone"
 ],
 "audience_note": "Developers who run Claude Code or Codex CLI on real projects and want the agent's claims of finished work checked against recorded evidence.",
 "risk": "none",
 "section": "earlier",
 "weekly_rank": null,
 "category": "Software and DevOps",
 "url": "https://dedupedai.com/use-cases/qkal-canny/",
 "use_case_count": 5,
 "use_cases": [
  {
   "id": "qkal-canny--block-unverified-done-claims",
   "title": "Stop an agent from finishing before a test passes",
   "best": true,
   "url": "https://dedupedai.com/use-cases/qkal-canny/block-unverified-done-claims/",
   "json": "https://dedupedai.com/use-cases/u/qkal-canny/block-unverified-done-claims.json"
  },
  {
   "id": "qkal-canny--block-secrets-written-by-agent",
   "title": "Stop an agent from writing API keys into files",
   "best": false,
   "url": "https://dedupedai.com/use-cases/qkal-canny/block-secrets-written-by-agent/",
   "json": "https://dedupedai.com/use-cases/u/qkal-canny/block-secrets-written-by-agent.json"
  },
  {
   "id": "qkal-canny--audit-agent-session-after-the-fact",
   "title": "Review what an agent actually did in a session",
   "best": false,
   "url": "https://dedupedai.com/use-cases/qkal-canny/audit-agent-session-after-the-fact/",
   "json": "https://dedupedai.com/use-cases/u/qkal-canny/audit-agent-session-after-the-fact.json"
  },
  {
   "id": "qkal-canny--stop-agent-from-deleting-tests",
   "title": "Catch an agent that removes or skips tests",
   "best": false,
   "url": "https://dedupedai.com/use-cases/qkal-canny/stop-agent-from-deleting-tests/",
   "json": "https://dedupedai.com/use-cases/u/qkal-canny/stop-agent-from-deleting-tests.json"
  },
  {
   "id": "qkal-canny--guard-every-project-with-one-install",
   "title": "Guard all projects on a machine with one setup",
   "best": false,
   "url": "https://dedupedai.com/use-cases/qkal-canny/guard-every-project-with-one-install/",
   "json": "https://dedupedai.com/use-cases/u/qkal-canny/guard-every-project-with-one-install.json"
  }
 ],
 "disclaimer": "Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk."
}
