{
  "name": "Clear-Sights/Makoto — 6 hooks",
  "slug": "source-hooks-3e05e206decdafe1f187cc19",
  "type": "hooks",
  "category": "developer-tools",
  "example": false,
  "evidence_state": "pinned_source_listing",
  "stamp": "Pinned source listing — machine-checked",
  "summary": "Pinned source declarations and file hashes were listed.",
  "outcome": "Listed 6 hook declarations. Ran 17 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
  "rule_results": [
    "The retained source tree matches its acquisition manifest.",
    "Declared hook names (listing.json): PreToolUse; PostToolUse; PostToolUseFailure; Stop; SubagentStop; UserPromptSubmit"
  ],
  "task": "What declarations and files are present in this pinned source?",
  "setup": "Git blob acquisition followed by static source inspection.",
  "limitations": "Scope: acquisition and static inspection. Command results: commands.json.",
  "source_url": "https://github.com/Clear-Sights/Makoto",
  "documentation_url": "https://github.com/Clear-Sights/Makoto",
  "commit": "8cb2173e75131d0ec90f1eb4655d8093bfb79a1e",
  "tree_sha256": "aaceb06f73a2afc1c6319a8bd768eef1fef608d71f23e76fa3702ea991116ef8",
  "file_sha256": {
    ".claude-plugin/marketplace.json": "083a44ea39333ee9e9430146a12a1b5cf78ed46ef7530a483392ac17d9a7a76c",
    ".github/workflows/ci.yml": "31e27ef0ef099deb93ef7cd9eb5e7991d343ae75fa50f17bd2871993f6209455",
    ".github/workflows/release.yml": "d7efb591dbfb4faafb9497ac28c16d346f33025923571ae5e595bc829179a258",
    "LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
    "NOTICE": "baf1d1fb1172ff251ddda0ca804a6b50b07d77f3768ab2fc61fb0ddbafdff2be",
    "README.md": "cb7375db6324406a8fe3e469e9b7069b35793a0fe6cf2ac670b46659f95bc7b0",
    "plugin/.claude-plugin/plugin.json": "d53900872afa84dc1b640202cec60dafb2b03618a69d28ea8a39e34e04497627",
    "plugin/common-english.txt": "858c7135678560710fa17c6179a91cb9d42b95db5a2983a7854fa3d140ae8e04",
    "plugin/hooks/hooks.json": "40f3412e4b13aa2b35f24e4a47dbce1ef5c7ee03322332f85bfd806ee5eb9253",
    "plugin/makoto2.py": "5dee42815c0889d7fae0e6c8afa016f7db78c7c1532f54719be4e8ad6bb73586",
    "tests/test_robust.py": "e1be4f9608b34841ee3a0676295808f4008893d7b5d46f74b48b40c0ea0962c9",
    "tests/test_rules.py": "9743836f58336b21a752b50cc02334897ee38d4f63650eb8a1a7b908ffdb123b"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-22T15:09:51Z",
  "source_date": "2026-10-16",
  "discovered_date": "2026-10-16",
  "retested_date": "2026-10-22",
  "reviewed_date": "2026-10-22",
  "published_date": "2026-10-22",
  "modified_date": "2026-10-22",
  "reviewer": "machine pipeline",
  "harness_version": "toolwitness harness at commit 4b91f622fc862623dc2b1347f87cac9fa4b08bf9",
  "claude_code_version": "Not applicable: static source inspection (commands.json).",
  "model_id": "Not applicable: static source inspection (commands.json).",
  "scanner_version": "Not applicable: static source inspection.",
  "rulepack_version": "Not applicable: static source inspection.",
  "agents": [],
  "disclaimer": "This record lists declarations and file hashes from a pinned source tree. Git command results from acquisition and static inspection are retained in commands.json. Scope: acquisition and static inspection. It is not a security or quality verdict. Changed bytes are outside this record.",
  "commands": [
    "Ran 17 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection."
  ],
  "prompt_list": [
    "Not applicable: static source inspection (commands.json)."
  ],
  "history": [
    "2026-10-22T15:09:51Z: pinned source inspection"
  ],
  "application": {
    "name": "Clear-Sights/Makoto — 6 hooks",
    "softwareVersion": "8cb2173e75131d0ec90f1eb4655d8093bfb79a1e",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 17 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
    "sinkhole_log": "Not applicable: static source inspection (commands.json).",
    "canary_log": "Not applicable: static source inspection (commands.json).",
    "scanner_output": "Not applicable: static source inspection (commands.json).",
    "normalized_text": "{\n  \"listing\": {\n    \"skills\": [],\n    \"hooks\": [\n      {\n        \"path\": \"plugin/hooks/hooks.json\",\n        \"sha256\": \"40f3412e4b13aa2b35f24e4a47dbce1ef5c7ee03322332f85bfd806ee5eb9253\",\n        \"event\": \"PreToolUse\",\n        \"matcher\": \"*\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"cd \\\"${CLAUDE_PLUGIN_ROOT}\\\" && python3 -m makoto2\",\n          \"timeout\": 10\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"plugin/hooks/hooks.json\",\n        \"sha256\": \"40f3412e4b13aa2b35f24e4a47dbce1ef5c7ee03322332f85bfd806ee5eb9253\",\n        \"event\": \"PostToolUse\",\n        \"matcher\": \"*\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"cd \\\"${CLAUDE_PLUGIN_ROOT}\\\" && python3 -m makoto2\",\n          \"timeout\": 10\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"plugin/hooks/hooks.json\",\n        \"sha256\": \"40f3412e4b13aa2b35f24e4a47dbce1ef5c7ee03322332f85bfd806ee5eb9253\",\n        \"event\": \"PostToolUseFailure\",\n        \"matcher\": \"*\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"cd \\\"${CLAUDE_PLUGIN_ROOT}\\\" && python3 -m makoto2\",\n          \"timeout\": 10\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"plugin/hooks/hooks.json\",\n        \"sha256\": \"40f3412e4b13aa2b35f24e4a47dbce1ef5c7ee03322332f85bfd806ee5eb9253\",\n        \"event\": \"Stop\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"cd \\\"${CLAUDE_PLUGIN_ROOT}\\\" && python3 -m makoto2\",\n          \"timeout\": 10\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"plugin/hooks/hooks.json\",\n        \"sha256\": \"40f3412e4b13aa2b35f24e4a47dbce1ef5c7ee03322332f85bfd806ee5eb9253\",\n        \"event\": \"SubagentStop\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"cd \\\"${CLAUDE_PLUGIN_ROOT}\\\" && python3 -m makoto2\",\n          \"timeout\": 10\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"plugin/hooks/hooks.json\",\n        \"sha256\": \"40f3412e4b13aa2b35f24e4a47dbce1ef5c7ee03322332f85bfd806ee5eb9253\",\n        \"event\": \"UserPromptSubmit\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"cd \\\"${CLAUDE_PLUGIN_ROOT}\\\" && python3 -m makoto2\",\n          \"timeout\": 10\n        },\n        \"executed\": false\n      }\n    ],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "009f7d648c89924817a00c8aa558270b06b4ced04e3c95ffe9c3954b1cbd8df4",
      "commands.json": "7d4911f4bafab7b270c428554d9f1018716cf0f6d0ba001258b0034b5a393d21",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "54067265c108c4620142266b94c2e58c22eb438d21c5270f5d59d1b00d4ba44e",
      "listing.json": "d0e5155664d2d080589653beda10ea35cadfdebe074d722c971835e2e1dde350",
      "selection.json": "41766fd4a9c6175d70545cb5ea218f02b12fe89c6528308986313c43799abc62"
    },
    "claims": [
      {
        "id": "acquired",
        "field": "summary",
        "text": "Pinned source declarations and file hashes were listed.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "listed",
        "field": "outcome",
        "text": "Listed 6 hook declarations. Ran 17 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "tree",
        "field": "rule_results.0",
        "text": "The retained source tree matches its acquisition manifest.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "declared",
        "field": "rule_results.1",
        "text": "Declared hook names (listing.json): PreToolUse; PostToolUse; PostToolUseFailure; Stop; SubagentStop; UserPromptSubmit",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-22",
    "reviewed_sha256": "b814b07fe7277fed0841583fdd0d4668db2713195e6fb1d3f80b93bc3ffdaaa4",
    "gates": "71935b3e9ff1de872e28dfdbdfc1eda1b9af516794e597f62a50f67d6f384c39",
    "codex": "a76b4daccc38e519c603cc0d8520d1d54be5a9d8a4cbdc9cfd769aed15b27a97",
    "grok": "a62bd8a6d0193e7c1bc16452a112cd50bda30bca58352e6b68e33eb6e5dba12c",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
