{
  "markdown": "<p align=\"center\">\n  <img src=\"site/glitchy.png\" alt=\"Glitchy — the Grainulator mascot\" width=\"200\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://grainulator.app\"><img src=\"https://img.shields.io/badge/try_it_live-grainulator.app-ff6b35?style=for-the-badge\" alt=\"Try it live\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/grainulation/grainulator/releases\"><img src=\"https://img.shields.io/github/v/tag/grainulation/grainulator?label=version\" alt=\"version\"></a>\n  <a href=\"https://github.com/grainulation/grainulator/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"license\"></a>\n  <a href=\"https://github.com/grainulation/grainulator/actions\"><img src=\"https://github.com/grainulation/grainulator/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://deepwiki.com/grainulation/grainulator\"><img src=\"https://deepwiki.com/badge.svg\" alt=\"Docs on DeepWiki\"></a>\n</p>\n\n<h1 align=\"center\">Grainulator</h1>\n\n<p align=\"center\"><strong>Research that compiles.</strong></p>\n\n<p align=\"center\">\nAsk a question. Get a multi-pass investigation with typed claims, tension detection, and a confidence-graded answer. Not a chatbot — a research sprint that runs in under 60 seconds.\n</p>\n\n---\n\n## What it does\n\n- **Multi-pass investigation** — 3 research passes build evidence from different angles before synthesizing an answer\n- **Typed claims, not vibes** — every finding is tagged as factual, constraint, risk, recommendation, or estimate with an evidence tier (stated / web / documented / tested / production)\n- **Tension detection** — the compiler finds contradictions between claims and surfaces them before generating output\n- **Confidence scoring** — a 7-pass compiler grades evidence strength, type coverage, and bias to produce a 0-100 confidence score\n\n## Try the demo\n\n**[grainulator.app](https://grainulator.app)** runs a sprint in your browser. Type a question, watch three research passes execute, and see the compiled answer with claim breakdown.\n\nWhat to expect from a single sprint:\n\n| Metric | Typical value |\n|--------|---------------|\n| Claims generated | 12-16 |\n| Claim types | 5 (factual, constraint, risk, recommendation, estimate) |\n| Tensions detected | 3-6 |\n| Evidence tiers | web, documented, stated |\n| Confidence score | 63-68 / 100 |\n| Time to answer | 40-70 seconds |\n\nThe demo runs client-side to show the pipeline. The real tool (installed as a plugin) uses Claude for substantially higher quality research and deeper evidence.\n\n## Install\n\n**Step 1** — Add the marketplace (one-time):\n\n```bash\nclaude plugin marketplace add https://github.com/grainulation/grainulator.git\n```\n\n**Step 2** — Install:\n\n```bash\nclaude plugin install grainulator\n```\n\n> Inside Claude Code, use `/plugin` instead of `claude plugin`.\n\nThat's it. The plugin registers MCP servers, skills, hooks, and an autonomous agent.\n\n**Requirements:** Claude Code with Node.js >= 20.\n\n<details>\n<summary><strong>Alternative: clone directly</strong></summary>\n\n```bash\ngit clone https://github.com/grainulation/grainulator.git ~/.claude/plugins/grainulator\n```\n\n```bash\nclaude plugin add ~/.claude/plugins/grainulator\n```\n\n</details>\n\n<details>\n<summary><strong>Team deployment</strong></summary>\n\nCommit to your project's `.claude/settings.json`:\n\n```json\n{\n  \"enabledPlugins\": [\"grainulator@grainulation-marketplace\"]\n}\n```\n\nFor air-gapped environments, use `CLAUDE_CODE_PLUGIN_SEED_DIR` with the plugin baked into container images.\n\n</details>\n\n## Troubleshooting\n\n**MCP server disconnected / \"tool not found\".** Claude Code's MCP\nregistry occasionally drops stdio-connected servers (sleep, network\nhiccup, long-running session). Re-add the affected server:\n\n```bash\nclaude mcp add wheat  -- npx -y -p @grainulation/wheat  wheat-mcp\nclaude mcp add mill   -- npx -y    @grainulation/mill   serve-mcp\nclaude mcp add silo   -- npx -y    @grainulation/silo   serve-mcp\n```\n\nOr run `/healthcheck` from any grainulator-enabled session to verify\nall three servers are responding and get the exact fix command for\nany that aren't.\n\n**Plugin commands not showing up.** Restart Claude Code after\n`claude plugin install` — plugin registration is read at startup.\n\n**Permission prompts from hooks.** Grainulator's hooks (pre-compile,\npost-claim) need `.claude/settings.json` permission. On first use\nClaude Code will prompt; allow, or pre-approve in your user or\nproject settings.\n\n## How it works\n\n**You ask a question. Grainulator runs a research sprint.**\n\nThe sprint has two phases:\n\n### 1. Investigation (3 passes)\n\nEach pass approaches the question from a different angle — constraints, risks, alternatives — and produces typed claims. Claims accumulate in `claims.json`, the sprint's evidence ledger.\n\n### 2. Compilation (7 passes)\n\nThe compiler runs seven analysis passes over the collected claims:\n\n1. **Type coverage** — are there enough claim types to avoid blind spots?\n2. **Evidence strength** — are claims grounded in documentation, or just stated?\n3. **Conflict detection** — do any claims contradict each other?\n4. **Bias scan** — is the evidence skewed toward one conclusion?\n5. **Gap analysis** — what topics have thin coverage?\n6. **Confidence scoring** — weighted score from all the above\n7. **Synthesis** — final answer that acknowledges tensions and trade-offs\n\nIf unresolved conflicts exist, the compiler blocks output until you resolve them. The confidence score tells you how much to trust the answer.\n\n## Commands\n\nOnce installed, just talk to Claude. The intent router detects what you want.\n\n| Say this | Grainulator runs |\n|----------|-----------------|\n| \"research how our auth system works\" | Multi-pass research sprint |\n| \"challenge r003\" | Adversarial testing of claim r003 |\n| \"what are we missing?\" | Blind spot analysis |\n| \"write it up\" | Compiled decision brief |\n| \"make slides\" | Presentation deck |\n| \"where are we?\" | Sprint status dashboard |\n\nOr use slash commands directly:\n\n| Command | What it does |\n|---------|-------------|\n| `/init` | Start a new research sprint |\n| `/research` | Multi-pass investigation with evidence gathering |\n| `/challenge` | Adversarial testing of a specific claim |\n| `/witness` | Corroborate a claim against an external source |\n| `/blind-spot` | Structural gap analysis |\n| `/brief` | Compiled decision brief |\n| `/present` | Presentation deck |\n| `/status` | Sprint dashboard |\n| `/pull` | Import knowledge from DeepWiki or Confluence |\n| `/sync` | Publish artifacts to Confluence |\n| `/calibrate` | Score predictions against actual outcomes |\n| `/resolve` | Adjudicate conflicts between claims |\n\n## Autonomous agent\n\nThe grainulator subagent runs full research sprints without intervention. It reads compiler output to decide what to do next — research, challenge, witness, blind-spot — until confidence is high enough for output.\n\nLaunch it: `\"research X using grainulator\"`\n\n## Architecture\n\n```\ngrainulator/\n  .claude-plugin/     Plugin manifest + permissions\n  skills/             13 prompt-engineered workflows\n  agents/             Autonomous sprint subagent\n  hooks/              Auto-compile on claim mutation\n  lib/                Shared utilities\n  site/               grainulator.app landing page + demo\n```\n\n**MCP servers:** wheat (claims engine), mill (format conversion), silo (knowledge store), DeepWiki (codebase research)\n\n**Hooks:** Auto-compile fires on every claim mutation. Write-guards protect `claims.json` and `compilation.json` from manual edits.\n\n**Orchard:** Multi-sprint orchestration via `orchard.json` dependency graphs for complex investigations that span multiple questions.\n\n## The ecosystem\n\nGrainulator is part of the [grainulation](https://github.com/grainulation/grainulation) ecosystem. Eight tools, each does one thing.\n\n| Tool | What it does |\n|------|-------------|\n| [wheat](https://github.com/grainulation/wheat) | Research engine — structured evidence |\n| [farmer](https://github.com/grainulation/farmer) | Permission dashboard — approve AI actions in real time |\n| [barn](https://github.com/grainulation/barn) | Shared tools — templates, validators, sprint detection |\n| [mill](https://github.com/grainulation/mill) | Format conversion — PDF, CSV, slides |\n| [silo](https://github.com/grainulation/silo) | Knowledge storage — reusable claim libraries |\n| [harvest](https://github.com/grainulation/harvest) | Analytics — cross-sprint patterns |\n| [orchard](https://github.com/grainulation/orchard) | Orchestration — multi-sprint coordination |\n| [grainulation](https://github.com/grainulation/grainulation) | Unified CLI — single entry point |\n\n**You don't need all eight.** `/plugin install grainulator` gives you everything you need.\n\n## Zero dependencies\n\nEvery grainulation tool runs on Node built-ins only. No npm install waterfall. No left-pad. No supply chain anxiety. MCP servers download on first use via `npx`.\n\n## Releases\n\nSee [CHANGELOG.md](./CHANGELOG.md) for release history.\n\n## License\n\nMIT\n",
  "bytes": 8972,
  "sha": "abed95b00d72fcc3c83d8fd39ce34548feed18a0b34ab307d58387595fa82caa",
  "repo_slug": "grainulation/grainulator",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_grainulation_grainulator_grainulator_cbf90bb7/readme"
}