langfuse-observability — 2 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 2 hook declarations. Ran 72 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-19T03:15:41Z, tree d300cf54b59ca62982e4e14af7e60c29f5f4a715fc6c04abab027e1d7a93a7f1.

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

Full record
name
langfuse-observability — 2 hooks
slug
source-hooks-647e660a9172627d3146b06a
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 2 hook declarations. Ran 72 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): Stop; SessionEnd"]
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/langfuse/claude-observability-plugin.git
documentation url
https://github.com/langfuse/claude-observability-plugin.git
commit
b5211009698fdfe79c6bbe90d6901ad255ea65d3
tree sha256
d300cf54b59ca62982e4e14af7e60c29f5f4a715fc6c04abab027e1d7a93a7f1
file sha256
{".claude-plugin/marketplace.json":"7abe034db80259296837c66799f956e60da42e59f80fe6987d2876c90bd30af0",".claude-plugin/plugin.json":"12cf944dcf37aab4c21b0e235f2e5ccd6a867e8e3a36a783eb59c6465f870a9d",".github/workflows/ci.yml":"5f7b561df2932d82e8f6b193f1ff20724f2ba3f01033ac4bda6fa361bccc909b",".github/workflows/release.yml":"3ead51b795d1488a983fa09b67a7eeabf5f03f20fde640d8a5887336176eb5c8",".github/workflows/zizmor.yml":"cd5f6717265c44f56526f9e185b17ff53787c3d51e810c713d7a245d2c89c641",".gitignore":"32dae3052f331ee34d628ef535709b301259a45df7c7522c4d35dcf49873f00b","LICENSE":"c516c4e125d1c11a13637602a8e0b88c1453b07b209277b4db1fe3e3e3c380fa","README.md":"e83e4c8950aacc707ac89917a13062699615070c3f042a7b6e1517a8f7805dc2","hooks/hooks.json":"2160981011baab8b42fd5cb6ed1bafbb6cd5927e3b9d6fd4b7f187a11795c2e8","hooks/langfuse_hook.py":"154da1e6c2cca4a5e215a9ca987135f89abe22f74f58cd97365561526e0f4a89","pyproject.toml":"6e30a734682c7f681cc98a43bbc8ebd92152120e2abc57a81c388b232853ad7a","tests/conftest.py":"050c8a0dc0b43ebe19f974bb8890f61514f7eadb5a22324c0798052366b6a4c6","tests/fixtures/transcripts/async_agent_completed/transcript.jsonl":"fea7de2133128d6797f88b951a324c4b02eb8e44777bc6fa770277407effd44b","tests/fixtures/transcripts/async_agent_completed/transcript/subagents/agent-agent-complete.jsonl":"f574c5b6005704637dd206fbafa23a741dbf37c83dc4381791f81fa1eeef36fc","tests/fixtures/transcripts/async_agent_completed/transcript/subagents/agent-agent-complete.meta.json":"6e5fee50ee5a775f03a4cafeb3b9b3d90dfa587fc7f99bfd776535761eed457b","tests/fixtures/transcripts/async_agent_deferred/transcript.jsonl":"f39c01d2f1f09b04a00764fe9631b78fb8cd4d088de588a938ca3280327dc964","tests/fixtures/transcripts/async_agent_deferred/transcript/subagents/agent-agent-deferred.jsonl":"7f6ed25c6e2e60228949af8f1e290525228a64bc7673850caa75ed61153c2501","tests/fixtures/transcripts/async_agent_deferred/transcript/subagents/agent-agent-deferred.meta.json":"8f35456a076e50578f27961d799a6fcfb86e77d502af38de3e98bf36a555f018","tests/fixtures/transcripts/human_wait_question/transcript.jsonl":"2d7203c5079d6be269a11c36d4b2a44f903ae09562fc8942f7ea3331f8327a10","tests/fixtures/transcripts/nested_subagents/transcript.jsonl":"67c99bd94ea32d7a59a3e938406ab78a65f66295e3a8ce7aa609f41e95aa99f7","tests/fixtures/transcripts/nested_subagents/transcript/subagents/agent-inner-agent.jsonl":"d282af06eccd5542ea040de70211ab312199e07c6533f4f473a0159face4057b","tests/fixtures/transcripts/nested_subagents/transcript/subagents/agent-inner-agent.meta.json":"f83341e5c0ca5e8fe821526a7b0b9a1f897bb21d3d41bca6b43ae3ca77a0de06","tests/fixtures/transcripts/nested_subagents/transcript/subagents/agent-outer-agent.jsonl":"9ffa507def665ff6addeba6d94760feea2142847aaa06c70b4513360bc421568","tests/fixtures/transcripts/nested_subagents/transcript/subagents/agent-outer-agent.meta.json":"9c1c78810e812e66b9f7c80d2ffbc3e20b333ee710651167d35cd1cbaa10ddd0","tests/fixtures/transcripts/observation_levels/transcript.jsonl":"e21427b315c1661c5b48146265983aca57bedd3b69defca3f5714e826318533b","tests/fixtures/transcripts/simple_turn/transcript.jsonl":"35cda9e9c77034081a99c5f69747573f7476ba2a099c84e1f743b3dd2d71c7e4","tests/fixtures/transcripts/task_notification_task_id_fallback/transcript.jsonl":"6056de50e8e1d0086d86bf6dd299a43302a65cbad2a18f6e63ab36394abc551b","tests/fixtures/transcripts/task_notification_task_id_fallback/transcript/subagents/agent-task-fallback.jsonl":"324dbdb102f82706e204143e5e2b153778ebf7556a51dc7d9d46440cefeeaee9","tests/fixtures/transcripts/task_notification_task_id_fallback/transcript/subagents/agent-task-fallback.meta.json":"cdcb0c4b2526b1f4a531ef70030527d8e4188af5ca78647dccbf8b8adc9b1bdc","tests/fixtures/transcripts/tool_turn/transcript.jsonl":"a9b8c97179e37c1e119ecc5011df52547e4f76b1d0221bfca395c6852e84ed5a","tests/fixtures/transcripts/workflow_subagents/transcript.jsonl":"74f47b0662987f683121944eb8aff5ccd223771df91218c25a97a3c05d54da9e","tests/fixtures/transcripts/workflow_subagents/transcript/subagents/workflows/wf_test001/agent-r1.jsonl":"606be7b30dca9ca785b4ed292642062ae9fe68d356e3ad717872c5f1da553809","tests/fixtures/transcripts/workflow_subagents/transcript/subagents/workflows/wf_test001/agent-r1.meta.json":"9e282bb0224d052eee9a4788b298ec9107f647bd8eca89a3af2f9780c69492a8","tests/fixtures/transcripts/workflow_subagents/transcript/subagents/workflows/wf_test001/agent-r2.jsonl":"a13869f55d3792b7c68ad09758f5dd3dad3bffc2a33db1644161d8b0d83952f3","tests/fixtures/transcripts/workflow_subagents/transcript/subagents/workflows/wf_test001/agent-r2.meta.json":"9e282bb0224d052eee9a4788b298ec9107f647bd8eca89a3af2f9780c69492a8","tests/fixtures/transcripts/workflow_subagents/transcript/subagents/workflows/wf_test001/journal.jsonl":"ad4bbe6588bb16ea05b565e6453ff9bee0cd4b6e15117fc0000ca7ebcea71d6c","tests/integration/test_deterministic_trace_ids.py":"964a58fbaf9082a81549e61280f0fe700e94a688de00fe75243114005723d8b1","tests/integration/test_emit_new_turns_from_transcript.py":"ebf18fefe16d957833d2a5253e3dbd30b707617cb9947f7ec303d4bb11ed0293","tests/integration/test_emit_turn_observations.py":"b8896e709d6f3e47b011808c2a6554930242d1ab3c18005c37b9984b8488e43a","tests/integration/test_forked_session_history.py":"fde5e618a13098c49b0243f45cf8166d43c22a4f3cab59992dd0ef966affd82d","tests/integration/test_generation_history.py":"aa14cb74953618e625aad8d699aee0323b94757598b6b4c52cbfc60bd4f3df15","tests/integration/test_observation_levels.py":"4368f5ae98bdb11cec8025b93c9b627a297d1c27498ca6cf5249f744e894a307","tests/integration/test_parent_trace_attachment.py":"4eeba18e049e21b5cca06d80baa70a826d5b5fa938e406803714918f3921b245","tests/integration/test_state_lock_contention.py":"c87bc554b6d2950f6f5957cd245ae76a62eec0903f702fd2b32567979f4b85c1","tests/integration/test_workflow_subagent_emission.py":"472ab19d75f6e51685a52986b58c106ad36b5e84b91dece6edaf77aa54428aa3","tests/unit/test_async_agent_deferral.py":"370f20e2673e1cdd2e121f23d8dcd742a7ee7d3ed657a6707ff4a44ba3243680","tests/unit/test_config_precedence.py":"da2966c222aa1abf8959bb651d9879cc554dc56ea110f7964639c577e8d4a9f1","tests/unit/test_config_visibility.py":"aae5e29174f02cdb981cb27bf86f4406826e42badcde7234504e990e4d478677","tests/unit/test_emission_gate.py":"9062d178d29637faf9ffee0a66dbe8fc730c2fb4fd0dc441cc578b973d87019f","tests/unit/test_hook_payload.py":"9959fa76e9cfd41a04adfbf5d604b78c8a95126cb882c510f79d6c6ad924b7ff","tests/unit/test_image_capture.py":"20106bc0856a317ef8a2f864fe37642ce42f6ed171714a13b744777e3568b371","tests/unit/test_import_failure.py":"ee0c4a147e023b20269d5bebdc62bba609b26d9ef18df5d581850fdaeedee44c","tests/unit/test_langfuse_payload_builders.py":"695f38219a0855c8931f3491720b5f9dd18acedb5cd6cb987f2cc3328447f513","tests/unit/test_operator_tags.py":"51121c12d377c78a3b8d35f64f9904a4d8cffb6d7a647d818d2bdc5ff5beef0a","tests/unit/test_parent_trace_context.py":"a456fd55f8de09eb0c892e3e4c3616151fa60c79b9c8a8b03470d2d779ad1ebe","tests/unit/test_remote_parent.py":"35877557b87d124971021d5a886257c4ed4518d8f9a4498260c4fab913d6a6de","tests/unit/test_skill_tags.py":"4b010f5e5a3f22c859c40a5f4b5f4209b88d6b2a25a5d9bf4615133dfd64ac9a","tests/unit/test_state_dir.py":"8fad4aed12164ac2d4db04f20fe9a22173b00800a44fe1618030e8882a88370f","tests/unit/test_subagent_discovery.py":"b77f72c9bb4e70a23c57abae8070c79fbd91c879ffee99c7a7e121ef7978fc12","tests/unit/test_subagent_observations.py":"d651d98d1088aad5a86bee907545acdefc22d77df3144815e0af8438d2d7c68a","tests/unit/test_task_notifications.py":"f6df2222f6f366e50619bdc13405c6ce8ec1f4cb9b6660c28825525d6503b1b4","tests/unit/test_thinking_capture.py":"dedb35ce84ca8e159a86edc1532f1a571107a17eeb40f3aa39887463fc58cd43","tests/unit/test_timestamps.py":"518ae63b34bd935c9ad2c71baead5215035e69cb23e21c26fbe4a2a0703bac04","tests/unit/test_trace_id_derivation.py":"3332320da35d6dd9ae3770b175c5fd3135fae40734cdadea21c1164a64ee3c20","tests/unit/test_transcript_reader.py":"bb6632907fc46eccb277b2feb0a6e44d5b41abd05573cfceab2f015ddf480f3d","tests/unit/test_turn_assembly.py":"b432e6eb0e604e5a8595680a8ab37eec10ed7bac788d94c3dff8ccc01f6dff08","uv.lock":"8345a8b586c341e2872b0c61009c7f0d56759fb6001b875ae5d7b2aad00a4b30"}
lockfiles
["LOCK.json"]
utc date
2026-10-19T03:15:41Z
source date
2026-10-16
discovered date
2026-10-16
retested date
2026-10-19
reviewed date
2026-10-19
published date
2026-10-19
modified date
2026-10-19
reviewer
Machine-checked
harness version
toolwitness harness at commit c05bfef14b02637a45bbcd2667a9427df3733235
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 72 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-19T03:15:41Z: pinned source inspection"]
application
{"applicationCategory":"DeveloperApplication","name":"langfuse-observability — 2 hooks","operatingSystem":"Not exercised","softwareVersion":"b5211009698fdfe79c6bbe90d6901ad255ea65d3"}
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 2 hook declarations. Ran 72 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): Stop; SessionEnd"}],"evidence_sha256":{"LOCK.json":"d2418ae577ded6964765072a8dcc084af3fe23b29598eb23bb1573ff58eec46b","commands.json":"5afe50ff5f4577348222bf1437d88cf925173f212539a363d08fa3c12b90a1cb","complete.json":"91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f","identity.json":"d79410c2f1dc717762b05678c18b345af98096e18bd54c1cfb341556b2ce7af8","listing.json":"cd4ee56547995fe9463efb53b5372718d6417da10ef89175a5d86d49c919f6a3","selection.json":"41766fd4a9c6175d70545cb5ea218f02b12fe89c6528308986313c43799abc62"},"identity_artifact":"identity.json"}
review
{"codex":"3ce3e916af4ebb79efbd2e5dde607b4889625a9abb4cdccc78249fe47801bd2c","date":"2026-10-19","gates":"949f2226dc930ef177265a3927294dd9a88581e1e0e054c3f0c5f38dd6cd3bbb","grok":"50f9a9360a9f03490bf14be34ad1b772d3d56409f984565183ea72005dd2a320","kind":"machine-checked","reviewed_sha256":"aa5b84b156bd5aac983a7c068bc1673e321130b9a62a045571ce54e98e64d31b","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 72 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": [],
    "hooks": [
      {
        "path": "hooks/hooks.json",
        "sha256": "2160981011baab8b42fd5cb6ed1bafbb6cd5927e3b9d6fd4b7f187a11795c2e8",
        "event": "Stop",
        "matcher": null,
        "declaration": {
          "type": "command",
          "command": "if command -v uv >/dev/null 2>&1; then exec uv run --quiet --script \"${CLAUDE_PLUGIN_ROOT}\"/hooks/langfuse_hook.py; else exec python3 \"${CLAUDE_PLUGIN_ROOT}\"/hooks/langfuse_hook.py; fi"
        },
        "executed": false
      },
      {
        "path": "hooks/hooks.json",
        "sha256": "2160981011baab8b42fd5cb6ed1bafbb6cd5927e3b9d6fd4b7f187a11795c2e8",
        "event": "SessionEnd",
        "matcher": null,
        "declaration": {
          "type": "command",
          "command": "if command -v uv >/dev/null 2>&1; then exec uv run --quiet --script \"${CLAUDE_PLUGIN_ROOT}\"/hooks/langfuse_hook.py; else exec python3 \"${CLAUDE_PLUGIN_ROOT}\"/hooks/langfuse_hook.py; fi"
        },
        "executed": false
      }
    ],
    "executions": []
  }
}
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