chendrizzy/agent-tts — 4 hooks

Pinned source listing — machine-checked

What declarations and files are present in this pinned source?

Pinned source declarations and file hashes were listed.

Review

Machine-checked ·

Run UTC
Reviewed
Published
Updated

Observations · Limitations · Evidence

What we ran

Git blob acquisition followed by static source inspection.

What we saw

Listed 4 hook declarations. Ran 176 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.

Limits

Scope: acquisition and static inspection. Command results: commands.json.

developer-tools · hooks · Upstream source · Upstream documentation

Pinned source inspection only; no runtime platform was exercised. UTC 2026-10-22T06:34:32Z, tree 4e56718c44e6d78b19b9d60da2d65946bdae1d84c1bda8eabc028277b63e0df8.

No browser or computer-use tools. Pin this exact version; the stamp does not follow updates.

Full record
name
chendrizzy/agent-tts — 4 hooks
slug
source-hooks-5c13ba4efe2fbff394c514c0
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 4 hook declarations. Ran 176 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): SessionStart; Stop; PostToolUse; Notification"]
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/chendrizzy/agent-tts
documentation url
https://github.com/chendrizzy/agent-tts
commit
d6690c15823d618f69720f913a4786064dffe46c
tree sha256
4e56718c44e6d78b19b9d60da2d65946bdae1d84c1bda8eabc028277b63e0df8
file sha256
{".claude-plugin/icon.png":"6603918cb3b55ac3cad9e13d342c918e47c7e0357a09a68d40caa61dce063b74",".claude-plugin/marketplace.json":"e49a37514ddae3b113db56cddb825b1ee04addddf55e860b5d8d004f5bbe578f",".claude-plugin/plugin.json":"f71e6a91d6ba0f83cd32e2ded63a39fe78cb99391f139d269435b19c25ca7016",".env.example":"f290850721f3045366d329204f293b68d5f419823170b1480390350d8a6d58ad",".github/workflows/release.yml":"85e1e66ac37929eb50001d61112dd3aff791aac58ee95f59d17a6ad703d3fd85",".github/workflows/test.yml":"a2a4ebac07d8bd4b3ae8f728b482dd92b5dbb58fbd80227e8d90791649e4b47f",".gitignore":"aecbf9aea9ee3d8523d9e8bfdcf482cbdb881a23bf3dcf3b431728884d8ab1bc","CHANGELOG.md":"1cae375f34fc388101e58850ec912fc6de6a02fbbdc0f2a8e05e432ac987d81e","CONTRIBUTING.md":"4b1ec72beac93f87bc429db0076d0671bba9608136af93d151c6eaa884cf49c5","LICENSE":"a1edb2ab12376910dc62cf4dcf2a23330edeb1afa8387a386d3048b889ebbc52","Makefile":"626b8f72875be6ac499dd53d601a5a4459d6c1daf79a1e2657ff184cc8015a1d","README.md":"b1c7e3699fc7d4887b0e9d226e4ff10f851a4fa220bb22a606ca0aef63f31373","commands/config.md":"a34c71aef7ec69df80903755c73a2b40141c29b25715bcb224288bf2971fc361","commands/doctor.md":"618b8712875492a0d947ef9de5c2f31dc951ececb6dadf3433847cad08d0ca79","commands/log.md":"937a47d171db24765007af087cce5f588a9e9ea3dc1914d871ba7bef6d836ccb","commands/setup.md":"490552142a6a04b755986eb505b4f80b25b60f89bb60b786a385844bb56717df","commands/status.md":"d05f31f71377b90e79e26f7c8018a69fe12fbd2f0d601691f96823ceda810726","commands/uninstall.md":"e1fa0a42ee9e07e0e5e300332e9417d45d95dafd29e842711d120dfe183d6a65","commands/voice.md":"a8a9aae8350becf6de66542b1cf7165a15bc9b6961e0f9261d1ea51abb67cbc4","commands/voices.md":"c1b2c39886b715453f49202fb4eda954da22421c3109697fff3ba0b150335bac","config.example.json":"057b64ed324079fa967bde7104110fe6e040c392f2e10a15d0f1658ca0cc5873","daemon/config_io.py":"9bf3bea62838ebc5f5f473e9e272991d8442e82adf26be2693a453a7dbd9638e","daemon/content_router.py":"7d0597c10a5c990c5451312420eb4d5aed1211fbe3bef865bdc4b488b0977a18","daemon/data/NOTICE.md":"b138815cd1cadd81a5af8576855649fb6c405c3fc271b1ef48fe03b23cea4401","daemon/data/words.txt.gz":"663b745314296f0df9d62213f4b2289e069824dda4145dbbd697e9527f51d0b3","daemon/engines/__init__.py":"472a7375c690a6763772a9eb8a515547b1d617171d97fbda3fb39f0af956cbf9","daemon/engines/base.py":"689bef4b32c9b10a397160a1d3f3464d17655a183fa7dd2258de2f2938066c4d","daemon/engines/edge_tts_engine.py":"822b2f29243c317efb5b5fcbfa8f8fb2204466dea6d86a9c62c7bb3239f386aa","daemon/engines/factory.py":"c43c850b1765bc27384414fae57b25d74f99717b1cb1a4e463981afef9ebd336","daemon/engines/system_tts_engine.py":"2ebf743431c4298268c475c2b4a2e8002bf9ecead6e75826584859e9b1e83958","daemon/feedback.py":"6dbde19dceb0f547b68d2da3622c72a04038388dc1cd66e99db2cb543549e96f","daemon/kokoro_worker.py":"7cbc59d96e1933aa538fa5dc4450afdcdf13bb38cfaa122732ed909aaf0ca92e","daemon/ollama_integration.py":"05166abdeb7cb593d9dd18664f3d9303724825f6879d32618d1707efd849e577","daemon/ollama_summarizer.py":"c40c75af5ad287bf92ca1406c402024887118e154863a32379f09c545edb6c7c","daemon/paths.py":"f1f1ee957503cd0e6855690c5279af43f39e8e3c7e1fec18b84c45d22ae19347","daemon/pipeline/__init__.py":"3685e971a4d0fdd64e6d079c1799d876cf70948b8764a287c74f11bbe966e281","daemon/pipeline/adapter.py":"f3fe4a30074be979c641809bf676bb59cb4dd126462cffe22f73fdbb37688161","daemon/pipeline/generate_stage.py":"8a2408ae865d3ceb6b9bc9e49e3294895895e9043c777722838d86b394f7216c","daemon/pipeline/ingest_stage.py":"69941472ae279ca0e051c534cb8905dcaad7a72e86da78003c27a8e7d27c68c7","daemon/pipeline/kokoro_engine.py":"f61f1c089293446f4c46997620ddd5647a647b160d3813cfce0e52b70c1eadc6","daemon/pipeline/orchestrator.py":"491675173e2ff0331b1de93f76b9bccef42013fb5d858d91673d7b93e23d9439","daemon/pipeline/playback_stage.py":"aff6cb7fbc397366524b2014f262f254f1191cfe2d2b06916b95e79c5cf5e3d0","daemon/pipeline/process_stage.py":"93a56383056f6e207aefb38408f7516865d9d379d786f4ce82e198d8f551d626","daemon/pipeline/queue_manager.py":"93b5c64b4c8499b860d49526f6544fa3f9076be7c92ced60943e07a8a68eebd4","daemon/pipeline/voicebox_client.py":"53a7bb423713601516df30032c34230c6c63c5fa2636cb1d0008354726621abd","daemon/platforms/__init__.py":"f59fb4b3f27591e2b45734cc2dc8511f0f24872af49863b30f1f1cfcd4013b1c","daemon/platforms/base.py":"ab8521f5b58e84ef8fdc2839f826d887c1f7d7308f5b4ee4931bead56b70fa35","daemon/platforms/service.py":"06b5d8457b09b538c80c6fe933c62cdb83801c9f8473c9f548d8ec449f7fe999","daemon/providers/__init__.py":"fc0bbc3dfa31d8b30e683b50572d063dfa322c82c473d1c3bb417d65e4ebc5b4","daemon/providers/base.py":"7f83f22960d0e228be683dd4667541785bfa28eaafc32fabefecdbecaef59e40","daemon/providers/factory.py":"1b667efe46ecbbcf483eb8ecdf655665e6318a34ce6cbbc994d4784feb855352","daemon/providers/null_provider.py":"0623a6362481c7f856ee75c3c0f170199dbd10c731bf6564cc055498888aba54","daemon/providers/ollama_provider.py":"2ccd434342e1ed184f8c5291232341b9e64b35c90e62223e8e0d3d5c7ea75ffb","daemon/providers/openai_compat.py":"e8aaed71d1872c3f31601879b79c1773b80a04d3ebd47064ce284d4a6e2da5ff","daemon/providers/prompts.py":"2042ee475e1d10f28a0d54cd7e59803a92bc60cb8c8223a61c372a62824892c8","daemon/schema_validator.py":"99398db00e8f80be96f5d6b8bdd3abd02a0e16b6e2fbea3b74dae62ef25b1fea","daemon/service_ctl.py":"bad4f267911581319041637f9089cac6a8d4b8bba9873f86d63a6cda54d0759e","daemon/session_control.py":"5909d4dd25aa7db5112db38e24614f0fc33feb73487ad71d3f046f06c37262a7","daemon/spoken_log.py":"2d99f1b0a36f7ea6dffcb7eb0ea1a74fbc942f7913274898136ab4ca4cc98202","daemon/text_utils.py":"a06a5e4a916fd16ff94be41a7699c4d8189f741988bfaf847270b65890df53e4","daemon/tts_daemon.py":"27cca11abdc5563648b501e29d10912a2009799da39c03cbe8b0ab618172c22b","daemon/tts_types.py":"3b5d95cb469e84e8d0ec953bded1bf89ceda7c0761da70746daf12c892166e0c","docs/ARCHITECTURE.md":"e6fa89f0c33f9e2311f3399aac57fe11739d162e2feae0e801fd8d29f7534fd4","docs/CONFIGURATION.md":"b815c925d76803c9f4bd6482a1943a29a4c4736e52ca430fee5d351286c92ed8","docs/PUBLISH.md":"2b7a4432bd1e27f20e895bf1efa01682e3b57ac3fdcc9c9f23bc1caefc183a59","docs/agensi-drafts/session-sweep/SKILL.md":"3e19d8c9defd428dd01c65ea7bcf3415d76441c9c72004d47670a7224152eaa5","docs/agensi-drafts/session-sweep/listing.json":"9861805d3cafc9d82a5afdffadff7aed22241d5cec4b62bbcd5c3ce2f535a68d","docs/media/demo.gif":"6c61373467ee86fcdae5c6949fa0cca892a67ff84aa47a32fd10822e2f7379ca","hooks/_cursor_stop_event.py":"25bba9f7111acc1537ac8d668b9e55e9eaccfb74b0f66e3dc6283e5f358b0730","hooks/_socket_send.py":"b3ca9d459fb3724d89cd7bc5fced435eb211793e6854fcbee791fa77d5701624","hooks/_stop_event.py":"33ff0d0ae3c1063a55c9045479b8c3ffbf09a06db2075ea74a8b70b3a9f000ba","hooks/cursor-after-agent-response.sh":"818f0c0e985ede5595023b0266ef2900a123470e53e3b7e77143c1e6d81a5f02","hooks/cursor-post-tool-use.sh":"21a16fc9570a4aafb4bcdd28697f513683fdeb239c4ab2b244407010f91b8e1d","hooks/cursor_normalize.py":"36a04e1d8dbfea7cdbe6feec27f4cd4dc8b288b7277a01eb1d25a5430cb179a9","hooks/ensure-daemon-ready.sh":"21561c09d362791aeb941dd36769b5a78d10b9fe1f02b515feaf25157bdedffd","hooks/hooks.json":"b6094f7c6b96a48805e62faace8454f7868d4180f87dd21b37d858fb8b5e094f","hooks/post-tool-use.sh":"7ca4a26c7a90de21d8d3f752237f49695fcb6d9918c7aa285eac1cffcec77e0a","hooks/session-start.sh":"4327d9768c97e2b2ea3db89b885b20fe5fc353f0128ccdac41a0615689c0c1e6","hooks/speech_output_hook.sh":"34395d1764963a3acde0e0cc45c7fd48c7997f01acea612c37b6e961da9e25fe","pyproject.toml":"960f9bf1d21215d1c193a7dd33f9bc24eb27c5d8ee93a850c17cd6f6215b2f4f","pytest.ini":"de183ae3952b20050e54bd7008c0744c071d747ad1cbe2aac558e51c2bea205b","restart_daemon.sh":"12f2ba56f3103287d48c339f91c84b37f579ad580986a97ac6d449afb2074e0f","scripts/build_manifests.py":"a23821480b3078097f737f91aecb5959f7d6927fbc8ce4c774223c8835ecafa6","scripts/calibrate.py":"12045c84b04ba0d0e09030ef8e931d00819654763500dacea368ec45843adbcd","scripts/demo_audio.py":"26a8671aff9612319c64448ac2771fefd520fab4f143f03c3f9ee5aede51bbe1","scripts/demo_gif.py":"c2461101bd5bf1362655cd2f6f0dfca5f8fc8f2cfb55af07d5016b90ce230f01","scripts/eval_model.py":"70c263f50bdce52a1265c0b0a15cfab05e633aa1058ac39d1b42281252f9df0b","scripts/release_notes.py":"c1a7f7b289691983ca258b4b2b5f4508e2d511399ad5f3de3d35b6a4c7bf06d2","scripts/sweep_tts_logs.sh":"ac4d34ce50c3e10d5bc13a04c5b365f75e1c73738f7eb9a9cc0373f09623558e","skills/tts-setup/SKILL.md":"1cc0e55f7d69305fe8f1d0c80aab0cbbc3c9b2427bea8efae6f709a25c3295da","tests/conftest.py":"e5a815ea217f7cfe8c5c2e625b9ee468c40a1c4332f824a269a100d5b35a4ff5","tests/fixtures/eval/labeled_oracle.jsonl":"1c92528c46b5367a654497ec93daec892261546037c75aa1685c336a5025512c","tests/fixtures/eval/summary_oracle.jsonl":"e647ebfb9ed64df81f835aa5f57b7a62703d12729e03a010f57d7273f12b72f1","tests/fixtures/event_corpus.jsonl":"6dff96754a33b3021d9828f5b6c317dbfaba3ad2ca8aa72e77eec2ca2608469f","tests/fixtures/large_tool_event_payload.json":"317a1e80c201e3187ac4d959dfa9cfb36f598e7ddca1f2a68e8fb7de2b795b7e","tests/fixtures/router_corpus/find_output.txt":"d7217e4e3597129a36c48d048855a99f5f9f425e31a202555d1407ecc4d7c38e","tests/fixtures/router_corpus/git_diff_stat_output.txt":"8e3268d8bb5cc40f865d2910b535d4e85ec68cab1d8cde2ec3bdd5ee08129383","tests/fixtures/router_corpus/git_show_stat_output.txt":"09faac9f4485bd89f13df671d55adf9b7b0d9276eed90686fd7aae3680fec4cc","tests/fixtures/router_corpus/git_status_output.txt":"4213dbb1246b79188bf40c5f6f39857264527782b606b3019912e6a31d3c6943","tests/fixtures/router_corpus/grep_n_output.txt":"abd99d0553033698c6e43ae36fc44980f06ba7d9908a00e61088c5a3b6bec41d","tests/fixtures/router_corpus/ls_la_output.txt":"d894498f730eb83053183a80643595519af38901ec6735d8611bc5d78d01aaf2","tests/fixtures/router_corpus/pytest_passed_output.txt":"79650029995f3d906edb0c0e47dfa29a2a8e0bc76bfc2d56ea643d874c8fdfe5","tests/fixtures/router_corpus/pytest_v_output.txt":"50e39d6482c2918978e0761cb11844d7e35f63d8215a222eb8a85cec4baad383","tests/fixtures/router_corpus/wc_l_output.txt":"15ce242f1d6cd8339ef01336fb9d75d86677a9fac2c7d9e2b06bf0285df5fbb5","tests/fixtures/speech_selection_6a466f1f.json":"ec1c6ba5ad8fd9c779a6e36abadcc3a1122ce104a4decc50300fb0ab4a4b9dca","tests/fixtures/spoken_corpus/_generate.py":"2a1a40c4b551deed1c729de70aa34ef059e5e83ba1db300e3e44e869ae5386ce","tests/fixtures/spoken_corpus/cases.jsonl":"77cdf760275f2f5ce537cecc88bbf5ba05f1ef0308b45d91493e470b385373bb","tests/test-install-dry-run.sh":"681071d11d98a23fe1c0b32e6e7e37bb74ef467ba25b072cca2d7465f57f3ebb","tests/test_audit_control.py":"0f882228a7707a7f772f65aa9c43d7cbce456f07e2b8bc7ea2625405f5813bf9","tests/test_audit_daemon.py":"28f65ff01b691bc537c0adca8c01c0086ad2442a500e0fe21e57f256a5677fc2","tests/test_audit_hooks.py":"403d9d3260892ccc570906d143fa12d555c9f318e339b597e4593b796b769513","tests/test_audit_pipeline_queue.py":"c9162858e141ad22b35419f147919f0d1f8aec5be0d304f1bcbd0c93a86096c4","tests/test_audit_pipeline_voice.py":"139f79060d7f436b8a46fbdec65e2f64217acd872e5932bf14074241159f8888","tests/test_audit_router.py":"8a4e4c41608e8dbdb52c58bcf8a46bcb9a55c18505a8ba4e3dbf7c7fbd235066","tests/test_audit_summarizer.py":"2183d62d9ecb9f9ffa4883d2b08022b1d51f9016d558e2aa9f3a199025cd015d","tests/test_cache_cleanup.py":"212dac62724d27ad3d141815d2a1df52f87955a61034e7d25913062c888b1d4a","tests/test_calibration.py":"32e3739cecc9af88763b47ba50fc23289828cd7a3fdfe468ccc98516ed77fea1","tests/test_config_render.py":"52920d415f104307650fc0a1bdcfd59b8c4bae2fdf3c2033ca67f4a310f7c05d","tests/test_content_router.py":"b21cd4878ba30823b51fd64a6d5f509961860264b4dd3365f2870835b58c6f26","tests/test_cutover_discipline.py":"3e83ea670db0a58ee41a405638be072793c5af0a1a867496d2af4db8e3f16a5b","tests/test_dictation_hold.py":"9e685f638353a54c12eaedd95d909187f2ae14867ccbb674dabecc7786a8e213","tests/test_disk_guard.py":"1aa648f5787ecf6b4233ba2f5202a4c401c27d8806664f99f804987dda9ed9db","tests/test_feedback.py":"9091ddad1857d8abba9e80d13540ec64ed2775dca27d5f775ec75d7ae132c002","tests/test_full_pipeline.py":"9bc8453d6d801f611d6d72be6ff066e76c80979964cbf397f2734049ae120208","tests/test_generate_ordering.py":"2a3112575d372fc7218dacd7d2796edf2f20035259644e7e6e3c4bfaef4564df","tests/test_hook_config.py":"4e294ead839585f1a9b616d8f0bc7dd5208a211ec024a2ae2caaaee34906950f","tests/test_hook_portability.py":"f53f41e4f434003164db62550ca62b62dda037010327bef4946efa2a77aa5d6d","tests/test_humanize_paths_pipeline.py":"529dff7d7959a0c45c05efc0013b534e993ce5f2818fdef4f4c4879fe0ed9f51","tests/test_ingest_stage_additions.py":"81ec37d2dcdaaad9b620389b37ac1e829b95ea51a1a0f8484de28b6deac7c616","tests/test_llm_provider.py":"cab32d5dc825b0d3174cd54f328a1042bae67aa1a5e36c748fe5b9587ed6511f","tests/test_mood_votes.py":"3eebc30e4416cfbae9169ee6595d298bf29ccd6611d4a497538dca2ac808776e","tests/test_notifications.py":"e0e3856b5bd6716c83389f7e791b1edd4964f22f0d201c728b5e2b7d85654638","tests/test_ollama_summarizer.py":"49db1b1caf5e3cf9f496a1139b6c08b4fb1e64602be780401d217b61111b43ff","tests/test_orchestrator_interceptor.py":"436fae7f08c70f9a3b9c6750c71d2fad68420f5a8121f71ba62cdb44784a8920","tests/test_output_context.py":"1c405db5cd50272fc35c17c43dfda2a2d0044fcbca227a2c617099cb1d73d675","tests/test_paths.py":"7a04c4d09786f90762cf5868dde991faef874723bfe59698731a8e2d2740ed62","tests/test_pause_volume.py":"c103a4f378ca9aaa8edc0b8176d7c77d9e347f95f0c80f741f4af273d8c3464c","tests/test_phase5_observability.py":"77558561dc4e7e25ef154c62d26a551b13ae2f1f885f6cd07fc26a0126b46eb9","tests/test_phase5_observability_regressions.py":"d7e943e08f5fb2ff72f8a88eeaf50c16fc5a1acd46e90e732ed3f2bfa60fd79a","tests/test_pipeline_modules.py":"184ce89f0aa17905ca22d4c3e9ca9efc11d91e438868f0bd1683f885c88cb75b","tests/test_pipeline_trace.py":"bcb41de3d966436bbe9c895c1f5064d0788f126d4619cf6d969e252197357a52","tests/test_platform.py":"fa7241be56172407d8691de937fc2b149e8ed19c69af83d683cd7c2f4af352e2","tests/test_playback_cutoff.py":"c7828456091e1619c4d583359c2278e261f8285fa49310c4fab80695d2c04716","tests/test_playback_stage_additions.py":"2d16b111688db7e668e2ece27936c78863836b42751b92946bfe9ce704f444e2","tests/test_playback_stage_legacy_lock.py":"84a115c9bdfa6e27dec1539f4501d661188ee2b895682d63cbfc8551f9e5e23a","tests/test_plugin_manifest.py":"505e0093ae944949f55d97503c8a67ddb4cbd62f0e097b60ffea6e287d0efd07","tests/test_project_voice_parity.py":"38e308982c8f82028c971b7ff58fdaed218018a5d4e5303d144a537bf877ac50","tests/test_prose_drop.py":"ffa9d8dea62951cff058ea1f6580c1eab28e5dc3984bf6e0bbf0323e6bdd01e5","tests/test_queue_manager.py":"67f52d02589c7b22a94bd293306d42dd265b5ecacc8914e8f64f51e9cef63a94","tests/test_release_notes.py":"57cb0e1863b6185ba2927d37c72ff34f8451356f9ba871f1e183f13635163334","tests/test_router_corpus.py":"d088db87cd17c929431993e3b32c2c78bf27b006e0cf7fbd493e6dbed942c2ad","tests/test_service_ctl.py":"7e4c1831e32af24a21179ce418bb2e5d4cdf02116f3767f7a5472be22755d4d3","tests/test_service_render.py":"cb787297c52d50ac8c194252e227071fad5359e81fd8f7417afe959d85f05a20","tests/test_session_control.py":"3c84cda85434ce16f9bd43cde77626f1a2bea5694da2f762af533d9222045ff2","tests/test_shadow_replay.py":"e16c92ff264ce99e685dc77e31ab543794bba7cd3c724d544618884ebcf2ead5","tests/test_single_afplay_spawner.py":"60c78a0118951f9792ef02f64b419f7650bada4917486826fcd160d656007894","tests/test_socket_recv.py":"cce0abaa5ac893f11b920b928e12d4b9a3b6cdeb4bb4faa55a4f706be10f90d1","tests/test_speech_selection.py":"6199067c3cfb218707675df93eece172200649358ce7d1d4409c18103c8e0eb6","tests/test_spoken_log.py":"1707692d13a605514f401913b5f1a73cb2f50c873bd87a7ec043997b38ce1ee0","tests/test_spoken_render.py":"714e7348852984d1e630695022ee074165aa0dc0f171115f32bf9f260ad78093","tests/test_stop_event_cwd.py":"652df8c1fdee42ed1d0015bb84d7e9ba1629069f0f52e10bc060c24ce3ef6118","tests/test_subagent_speech_gate.py":"a33d7cb15169c97227cd2fbadf0540a041a1f2accf6c563c10b84ede5a227061","tests/test_suite_is_collectable.py":"075c05767c53aae1ac167f9da57bab5703b4bc480d0dcd8bb22f19934f45c470","tests/test_summarizer_echo.py":"d470303866551adf0ff22086bc136e34505c3f6db0ba8984b46362e202a902bc","tests/test_systemd_render.py":"076fbc1dc819a333796e5280195c8bfdcbae193000c4b805bb7fab6e8ff6f236","tests/test_text_utils.py":"aa3ad590f20a2b830b468ddc80bbba347327f8fd9807f671bd9367dc270889ec","tests/test_tts_engines.py":"1cb78575dbd56ed8904fc1526eec68f93de02074d21b0dad56b24d9ae2e1b4da","tests/test_turn_buffer.py":"fee34dacbcb9cfe79f14481ef86db11da07ae37fedaa5b87d8dd0874a99e4858","tests/test_voice_settings.py":"9718fdecdd913fedb2cefdfd55aba2267e3c237bb6b630af2fc88e9941dbf954","tests/test_voicebox_client.py":"0274d4f6421b0ad97b4d9b23378c58bbf1e8eda0f639520680786e4dd0da16ce","uv.lock":"9a9d0c2dd122c7aba1261f9fa6a8d8d43300771b0a63679d9425ceefd6ec0609"}
lockfiles
["LOCK.json"]
utc date
2026-10-22T06:34:32Z
source date
2026-10-19
discovered date
2026-10-19
retested date
2026-10-22
reviewed date
2026-10-22
published date
2026-10-22
modified date
2026-10-22
reviewer
Machine-checked
harness version
toolwitness harness at commit faaf45bc367188754aff2ba8b1b2bbb155cd7192
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
[]
commands
["Ran 176 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-22T06:34:32Z: pinned source inspection"]
application
{"applicationCategory":"DeveloperApplication","name":"chendrizzy/agent-tts — 4 hooks","operatingSystem":"Not exercised","softwareVersion":"d6690c15823d618f69720f913a4786064dffe46c"}
review input
{"claims":[{"field":"summary","id":"acquired","sources":["LOCK.json","listing.json","commands.json"],"text":"Pinned source declarations and file hashes were listed."},{"field":"outcome","id":"listed","sources":["LOCK.json","listing.json","commands.json"],"text":"Listed 4 hook declarations. Ran 176 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection."},{"field":"rule_results.0","id":"tree","sources":["LOCK.json","listing.json","commands.json"],"text":"The retained source tree matches its acquisition manifest."},{"field":"rule_results.1","id":"declared","sources":["LOCK.json","listing.json","commands.json"],"text":"Declared hook names (listing.json): SessionStart; Stop; PostToolUse; Notification"}],"evidence_sha256":{"LOCK.json":"92eecd652fb7b4f195c1b6282ce7a02205d56525bb2dd83324576ee01db78938","commands.json":"8da1c2cc2e4c2d9db7bfcaf42bd84f76544c1be267208ef582d5ac59fd3c26dc","complete.json":"91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f","identity.json":"de1b39903ce3baad4e840490d8293b1e3f4fc8d241a53a2f3b73dc01607f887d","listing.json":"b5b482d89e4f820e4e380cbcbaae494e7f19a96e0c72192f1a88d1160b89049f","selection.json":"278d50b386b1a88ebadc5b464d9e3ca215916677a8e5739b4e99e2e4ff960b0f"},"identity_artifact":"identity.json"}
review
{"codex":"562d82b07c474527f89161f21cc5393e8085a08a09c605cf0cd6e73533469aee","date":"2026-10-22","gates":"8634cc80b32b932d4a5753371f621b9471d9f6108bf8db238efd55e0e3a8f3f8","grok":"c8e56b74b9f7231bc0a5b1bc5bba21eb252cdc09f456581572b14d70dedcff87","kind":"machine-checked","reviewed_sha256":"d0c890b54a85c63693623f204f96e10650d6ddc38af18bd57f04d83b88950da2","summary":"Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."}

Downloadable evidence

transcript

Download complete transcript

Ran 176 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.

sinkhole log

Download complete sinkhole log

Not applicable: static source inspection (commands.json).

canary log

Download complete canary log

Not applicable: static source inspection (commands.json).

scanner output

Download complete scanner output

Not applicable: static source inspection (commands.json).

normalized text

Download complete normalized text

{
  "listing": {
    "skills": [
      {
        "path": "docs/agensi-drafts/session-sweep/SKILL.md",
        "name": "session-sweep",
        "description": "Companion to self-cycle. Runs sweep.sh interactively, classifies cmux Claude Code sessions as current / grace / idle-stale / busy-stale, cycles idle ones in place, and prompts for busy ones. Self-refresh the driver last via self-cycle. Requires cmux. Canonical repo: https://github.com/chendrizzy/session-sweep",
        "files": {
          "docs/agensi-drafts/session-sweep/SKILL.md": "3e19d8c9defd428dd01c65ea7bcf3415d76441c9c72004d47670a7224152eaa5",
          "docs/agensi-drafts/session-sweep/listing.json": "9861805d3cafc9d82a5afdffadff7aed22241d5cec4b62bbcd5c3ce2f535a68d"
        }
      },
      {
        "path": "skills/tts-setup/SKILL.md",
        "name": "tts-setup",
        "description": "Use for first-run setup of the claude-tts plugin — bootstraps the engine, LLM backend, OS service, and config on a fresh machine. Invoked by /tts:setup.",
        "files": {
          "skills/tts-setup/SKILL.md": "1cc0e55f7d69305fe8f1d0c80aab0cbbc3c9b2427bea8efae6f709a25c3295da"
        }
      }
    ],
    "hooks": [
      {
        "path": "hooks/hooks.json",
        "sha256": "b6094f7c6b96a48805e62faace8454f7868d4180f87dd21b37d858fb8b5e094f",
        "event": "SessionStart",
        "matcher": "(startup|resume)",
        "declaration": {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh\""
        },
        "executed": false
      },
      {
        "path": "hooks/hooks.json",
        "sha256": "b6094f7c6b96a48805e62faace8454f7868d4180f87dd21b37d858fb8b5e094f",
        "event": "Stop",
        "matcher": ".*",
        "declaration": {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/speech_output_hook.sh\""
        },
        "executed": false
      },
      {
        "path": "hooks/hooks.json",
        "sha256": "b6094f7c6b9

Excerpt shown; complete evidence is in the download.

Download full record JSON

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.

Template placeholders refer to the snapshot metadata above.

Page updated