{
  "run_id": "archcore-ai--archcore-claude-haiku-5-5-1792969446454259565",
  "checker": {
    "claims": [
      {
        "claim": "Archcore writes plain Markdown documents into .archcore/ and the MCP server returns them",
        "command": "<guest-path> mcp --project <guest-path> tools/call {\"tool\": \"get_document\", \"arguments\": {\"path\": \".archcore/use-redis-token-bucket.adr.md\"}}",
        "evidence": "Use Redis for the token bucket\\\",\\\"status\\\":\\\"draft\\\",\\\"mtime\\\":\\\"2026-10-25T23:05:04.800758815Z\\\",\\\"content\\\":\\\"---\\\\ntitle: \\\\\\\"Use Redis for the token bucket\\\\\\\"\\\\nstatus: draft\\\\n---\\\\n\\\\n## Context\\\\n\\\\nState the trigger in 2 to 4 sentences: the situation now, the constraint or\\\\nmeasurement that turns it into a problem, and what breaks if nothing changes.\\\\nCite the evidence \u2014 @path/to/file, a metric, a commit, an external authority \u2014\\\\nor mark the claim [assumption] when the decision runs ahead of the code.\\\\n\\\\nProse only in this section. A bullet list drops the connective tissue betwe",
        "expected": "document title returned",
        "input": "{\"tool\": \"get_document\", \"arguments\": {\"path\": \".archcore/use-redis-token-bucket.adr.md\"}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Use Redis for the token bucket",
        "source": "Each command leaves plain Markdown in `.archcore/`, versioned with the code it describes.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected: README.md, archcore --help (init, mcp, status, hooks, update, doctor). Archcore is a CLI plus stdio MCP server; it has no built-in cron, scheduler, loop, --once/--now, or webhook trigger. Hooks are agent-driven (Claude Code/Codex/Copilot hook scripts in plugins/archcore/hooks and bin/), fired by the host agent per tool use, not by the product on a schedule. No product cycle to replay.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected: README.md, archcore --help (init, mcp, status, hooks, update, doctor). Archcore is a CLI plus stdio MCP server; it has no built-in cron, scheduler, loop, --once/--now, or webhook trigger. Hooks are agent-driven (Claude Code/Codex/Copilot hook scripts in plugins/archcore/hooks and bin/), fired by the host agent per tool use, not by the product on a schedule. No product cycle to replay.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "mcp",
        "--project",
        "<guest-path>"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "name": "archcore",
        "version": "0.13.1"
      },
      "tool_result": {
        "content": [
          {
            "text": "{\"path\":\".archcore/use-redis-token-bucket.adr.md\",\"category\":\"knowledge\",\"type\":\"adr\",\"title\":\"Use Redis for the token bucket\",\"status\":\"draft\",\"mtime\":\"2026-10-25T23:05:04.800758815Z\",\"content\":\"---\\ntitle: \\\"Use Redis for the token bucket\\\"\\nstatus: draft\\n---\\n\\n## Context\\n\\nState the trigger in 2 to 4 sentences: the situation now, the constraint or\\nmeasurement that turns it into a problem, and what breaks if nothing changes.\\nCite the evidence \u2014 @path/to/file, a metric, a commit, an external authority \u2014\\nor mark the claim [assumption] when the decision runs ahead of the code.\\n\\nProse only in this section. A bullet list drops the connective tissue between\\nthose sentences, and that tissue is what makes the decision follow from them.\\n\\n## Decision\\n\\nState the decision that was made.\\n\\n### Rationale\\n\\nExplain why this decision was chosen over alternatives:\\n\\n- Key factors that influenced the decision\\n- Trade-offs that were considered\\n- Assumptions that were made\\n\\n## Alternatives Considered\\n\\nOne numbered item per alternative, each naming what ruled it out. The reason is\\nthe part a later reader cannot reconstruct, and an alternative recorded without\\none reads as a preference rather than a choice.\\n\\n1. [Alternative] \u2014 rejected because [the measurement or constraint that ruled it out].\\n2. [Alternative] \u2014 rejected because [the measurement or constraint that ruled it out].\\n\\n## Consequences\\n\\n### Positive\\n\\n- Benefit 1: Description\\n- Benefit 2: Description\\n- Benefit 3: Description\\n\\n### Negative\\n\\n- Trade-off 1: Description and mitigation\\n- Trade-off 2: Description and mitigation\\n\\n### Risks\\n\\n- Risk 1: Description and mitigation strategy\\n- Risk 2: Description and mitigation strategy\\n\\n## Implementation Notes\\n\\nKey implementation considerations:\\n\\n- Migration path (if applicable)\\n- Dependencies affected\\n- Timeline considerations\\n\",\"source_id\":\"local\",\"source_kind\":\"local\"}",
            "type": "text"
          }
        ]
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 29556,
      "tools": [
        "add_relation",
        "create_document",
        "get_document",
        "init_project",
        "install_host_config",
        "list_documents",
        "list_relations",
        "remove_document",
        "remove_relation",
        "search_documents",
        "update_document"
      ],
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Connect your project with archcore init",
        "command": "<guest-path> init --project <guest-path> --yes",
        "deferred": false,
        "evidence": "\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2557                                                             \n\u2551      \u2551   Archcore v0.13.1 \u2014 Git-native context for AI coding agents\n\u2551  \u2554\u2550\u2550\u2550\u2563   Spec-driven development & context engineering             \n\u2551  \u2551 \u2554\u2550\u2563   https://archcore.ai                                       \n\u255a\u2550\u2550\u2569\u2550\u2569\u2550\u255d                                                             \n\n  \u2713 Created .archcore/ directory\n  \u2713 Existing .archcore/settings.json kept\n  No AI agent selected (non-interactive). Run 'archcore mcp install --agent <id>' later.\n\n  Ready! Run 'archcore status' to verify.",
        "expected": "creates .archcore/ or keeps existing settings",
        "input": "archcore init --project <guest-path> --yes",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md#install (step 2, archcore init)",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
