pluribus-context 0.3.22 → 0.3.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/CHANGELOG.md +25 -3
  2. package/README.md +2 -2
  3. package/docs/community-review-packet.md +2 -1
  4. package/docs/context-budget-receipts.md +150 -0
  5. package/docs/context-input-evidence.md +397 -0
  6. package/docs/context-receipts-for-agent-observability.md +177 -0
  7. package/docs/orchestration-search-receipts.md +102 -0
  8. package/docs/portability-fidelity-report.md +4 -2
  9. package/examples/context-input-evidence/AGENTS.md +12 -0
  10. package/examples/context-input-evidence/agent-overlay-log.jsonl +4 -0
  11. package/examples/context-input-evidence/agent-overlay-otel-trace.json +548 -0
  12. package/examples/context-input-evidence/agent-overlay-receipt.ndjson +3 -0
  13. package/examples/context-input-evidence/agentgateway-progressive-disclosure-otel-trace.json +393 -0
  14. package/examples/context-input-evidence/agentgateway-progressive-disclosure-receipt.ndjson +4 -0
  15. package/examples/context-input-evidence/brain-remediation-otel-trace.json +645 -0
  16. package/examples/context-input-evidence/brain-remediation-receipt.ndjson +7 -0
  17. package/examples/context-input-evidence/claudekit-mcp-manager-otel-trace.json +417 -0
  18. package/examples/context-input-evidence/claudekit-mcp-manager-receipt.ndjson +5 -0
  19. package/examples/context-input-evidence/cli-progressive-disclosure-otel-trace.json +399 -0
  20. package/examples/context-input-evidence/cli-progressive-disclosure-receipt.ndjson +4 -0
  21. package/examples/context-input-evidence/compaction-otel-trace.json +711 -0
  22. package/examples/context-input-evidence/compaction-receipt.ndjson +6 -0
  23. package/examples/context-input-evidence/context-selection-otel-trace.json +627 -0
  24. package/examples/context-input-evidence/context-selection-receipt.ndjson +7 -0
  25. package/examples/context-input-evidence/convert-agent-overlay-log.mjs +156 -0
  26. package/examples/context-input-evidence/convert-agentgateway-progressive-disclosure-log.mjs +251 -0
  27. package/examples/context-input-evidence/convert-brain-remediation-log.mjs +241 -0
  28. package/examples/context-input-evidence/convert-claudekit-mcp-manager-log.mjs +253 -0
  29. package/examples/context-input-evidence/convert-cli-progressive-disclosure-log.mjs +251 -0
  30. package/examples/context-input-evidence/convert-compaction-log.mjs +224 -0
  31. package/examples/context-input-evidence/convert-context-selection-log.mjs +247 -0
  32. package/examples/context-input-evidence/convert-mcp-tool-search-log.mjs +242 -0
  33. package/examples/context-input-evidence/convert-memory-consolidation-log.mjs +240 -0
  34. package/examples/context-input-evidence/convert-memory-governance-delete-log.mjs +223 -0
  35. package/examples/context-input-evidence/convert-memory-log.mjs +226 -0
  36. package/examples/context-input-evidence/convert-memory-provenance-log.mjs +263 -0
  37. package/examples/context-input-evidence/convert-secret-scanning-log.mjs +233 -0
  38. package/examples/context-input-evidence/convert-session-log.mjs +186 -0
  39. package/examples/context-input-evidence/convert-skill-log.mjs +161 -0
  40. package/examples/context-input-evidence/convert-skill-registry-log.mjs +246 -0
  41. package/examples/context-input-evidence/convert-skill-routing-log.mjs +253 -0
  42. package/examples/context-input-evidence/convert-subagent-context-budget-log.mjs +267 -0
  43. package/examples/context-input-evidence/convert-subagent-delegation-log.mjs +264 -0
  44. package/examples/context-input-evidence/export-otel-trace.mjs +128 -0
  45. package/examples/context-input-evidence/generate-receipt.mjs +188 -0
  46. package/examples/context-input-evidence/mcp-tool-search-otel-trace.json +477 -0
  47. package/examples/context-input-evidence/mcp-tool-search-receipt.ndjson +5 -0
  48. package/examples/context-input-evidence/memory-consolidation-otel-trace.json +492 -0
  49. package/examples/context-input-evidence/memory-consolidation-receipt.ndjson +4 -0
  50. package/examples/context-input-evidence/memory-governance-delete-otel-trace.json +614 -0
  51. package/examples/context-input-evidence/memory-governance-delete-receipt.ndjson +5 -0
  52. package/examples/context-input-evidence/memory-otel-trace.json +645 -0
  53. package/examples/context-input-evidence/memory-provenance-otel-trace.json +711 -0
  54. package/examples/context-input-evidence/memory-provenance-receipt.ndjson +5 -0
  55. package/examples/context-input-evidence/memory-receipt.ndjson +4 -0
  56. package/examples/context-input-evidence/otel-trace.json +1119 -0
  57. package/examples/context-input-evidence/receipt.ndjson +6 -0
  58. package/examples/context-input-evidence/sample-agentgateway-progressive-disclosure-log.jsonl +5 -0
  59. package/examples/context-input-evidence/sample-brain-remediation-log.jsonl +9 -0
  60. package/examples/context-input-evidence/sample-claudekit-mcp-manager-log.jsonl +6 -0
  61. package/examples/context-input-evidence/sample-cli-progressive-disclosure-log.jsonl +5 -0
  62. package/examples/context-input-evidence/sample-compaction-log.jsonl +7 -0
  63. package/examples/context-input-evidence/sample-context-selection-log.jsonl +7 -0
  64. package/examples/context-input-evidence/sample-mcp-tool-search-log.jsonl +6 -0
  65. package/examples/context-input-evidence/sample-memory-consolidation-log.jsonl +5 -0
  66. package/examples/context-input-evidence/sample-memory-governance-delete-log.jsonl +6 -0
  67. package/examples/context-input-evidence/sample-memory-provenance-log.jsonl +6 -0
  68. package/examples/context-input-evidence/sample-memory-retrieval-log.jsonl +6 -0
  69. package/examples/context-input-evidence/sample-secret-scanning-log.jsonl +7 -0
  70. package/examples/context-input-evidence/sample-session-log.jsonl +6 -0
  71. package/examples/context-input-evidence/sample-skill-registry-log.jsonl +5 -0
  72. package/examples/context-input-evidence/sample-skill-routing-log.jsonl +7 -0
  73. package/examples/context-input-evidence/sample-subagent-context-budget-log.jsonl +6 -0
  74. package/examples/context-input-evidence/sample-subagent-delegation-log.jsonl +5 -0
  75. package/examples/context-input-evidence/secret-scanning-otel-trace.json +794 -0
  76. package/examples/context-input-evidence/secret-scanning-receipt.ndjson +6 -0
  77. package/examples/context-input-evidence/session-otel-trace.json +411 -0
  78. package/examples/context-input-evidence/session-receipt.ndjson +2 -0
  79. package/examples/context-input-evidence/skill-invocation-log.jsonl +4 -0
  80. package/examples/context-input-evidence/skill-otel-trace.json +548 -0
  81. package/examples/context-input-evidence/skill-receipt.ndjson +3 -0
  82. package/examples/context-input-evidence/skill-registry-otel-trace.json +471 -0
  83. package/examples/context-input-evidence/skill-registry-receipt.ndjson +5 -0
  84. package/examples/context-input-evidence/skill-routing-otel-trace.json +567 -0
  85. package/examples/context-input-evidence/skill-routing-receipt.ndjson +6 -0
  86. package/examples/context-input-evidence/subagent-context-budget-otel-trace.json +507 -0
  87. package/examples/context-input-evidence/subagent-context-budget-receipt.ndjson +5 -0
  88. package/examples/context-input-evidence/subagent-delegation-otel-trace.json +388 -0
  89. package/examples/context-input-evidence/subagent-delegation-receipt.ndjson +4 -0
  90. package/package.json +6 -2
  91. package/schemas/audit-result.schema.json +409 -71
  92. package/src/commands/audit.js +64 -3
  93. package/src/utils/version.js +1 -1
@@ -0,0 +1,6 @@
1
+ {"trace_id":"739544dd256cb1c92a7518a1dc7a220f","span_id":"f2013e6856aa653b","name":"security.secret_scanning.requested","time":"2026-05-22T01:00:03.000Z","attributes":{"session.id":"demo-secret-scan-session","gen_ai.conversation.id":"conv-secret-scan-demo","agent.name":"copilot-cli","mcp.provider":"github-mcp-server","mcp.client":"github-copilot-cli","repository.hash":"sha256:181c8327396b","repository.path_hash":"sha256:ae5f25a41241d512bee36d07730f022985bf10649639ff9ab99ef32e538aece9","security.scan.request.hash":"sha256:39e4a6f44d4d","security.scan.trigger":"pre_commit_agent_prompt","security.scan.toolset":"secret_protection","security.scan.tool":"run_secret_scanning","security.scan.scope":"current_changes","security.scan.diff_path_count":3,"security.scan.diff_paths_hash":"sha256:3923a610ceb0197ebbbad5f3838177969b8632a8bd4da1419d5da3b48dce2a7e","security.scan.prompt_hash":"sha256:6c18550f453b1efb9b8a9d0b16652a63d6eaa5e35dbd867016bba7750335214a","security.secret_scanning.push_protection_customization":"org-default-block-with-documented-bypass","security.secret_scanning.persisted_as_github_alert":false,"privacy.raw_prompt_recorded":false,"privacy.raw_diff_paths_recorded":false,"privacy.raw_secret_values_recorded":false}}
2
+ {"trace_id":"739544dd256cb1c92a7518a1dc7a220f","span_id":"f2013e6856aa653b","name":"security.secret_scanning.completed","time":"2026-05-22T01:00:09.000Z","attributes":{"session.id":"demo-secret-scan-session","gen_ai.conversation.id":"conv-secret-scan-demo","agent.name":"copilot-cli","mcp.provider":"github-mcp-server","mcp.client":"github-copilot-cli","repository.hash":"sha256:181c8327396b","repository.path_hash":"sha256:ae5f25a41241d512bee36d07730f022985bf10649639ff9ab99ef32e538aece9","security.scan.request.hash":"sha256:39e4a6f44d4d","security.scan.status":"findings_presented","security.scan.files_scanned":3,"security.scan.line_count_bucket":"under_2","security.secret_scanning.finding_count":2,"security.secret_scanning.finding_count_bucket":"under_2","security.secret_scanning.detector_count":39,"security.secret_scanning.engine_snapshot_hash":"sha256:cadae81726f1","security.scan.latency_bucket":"under_10s","security.scan.tool_response_hash":"sha256:f10bf3bfb0fa6c47f564e6f5e2fd6267323d1fa2a70c1e0acfdcdae469bc25b5","privacy.raw_tool_response_recorded":false,"privacy.raw_secret_values_recorded":false}}
3
+ {"trace_id":"739544dd256cb1c92a7518a1dc7a220f","span_id":"f2013e6856aa653b","name":"security.secret_scanning.finding.presented","time":"2026-05-22T01:00:10.000Z","attributes":{"session.id":"demo-secret-scan-session","gen_ai.conversation.id":"conv-secret-scan-demo","agent.name":"copilot-cli","mcp.provider":"github-mcp-server","mcp.client":"github-copilot-cli","repository.hash":"sha256:181c8327396b","repository.path_hash":"sha256:ae5f25a41241d512bee36d07730f022985bf10649639ff9ab99ef32e538aece9","security.scan.request.hash":"sha256:39e4a6f44d4d","security.finding.hash":"sha256:28e963989ee7","security.secret_scanning.secret_type":"stripe_webhook_secret","security.finding.severity":"high","security.finding.location_path_hash":"sha256:842f919923a9d0a0081ca3e70ae7cb88c8ae346413a16a3d78fd29bf27b0a5cb","security.finding.line_bucket":"1_20","security.finding.secret_value_hash":"sha256:38189798d422645b9474920b028be60324b65373b3b44251fa043ea9ce0ae6e1","security.finding.remediation_hash":"sha256:602395d5766723df6f364c52a6132b9aa71aef7d9c0cfd3fa66d3619a8eccc0f","security.secret_scanning.push_protection_action":"block","security.secret_scanning.bypass_allowed":false,"privacy.raw_location_path_recorded":false,"privacy.raw_secret_value_recorded":false,"privacy.raw_remediation_text_recorded":false}}
4
+ {"trace_id":"739544dd256cb1c92a7518a1dc7a220f","span_id":"f2013e6856aa653b","name":"security.secret_scanning.finding.presented","time":"2026-05-22T01:00:10.500Z","attributes":{"session.id":"demo-secret-scan-session","gen_ai.conversation.id":"conv-secret-scan-demo","agent.name":"copilot-cli","mcp.provider":"github-mcp-server","mcp.client":"github-copilot-cli","repository.hash":"sha256:181c8327396b","repository.path_hash":"sha256:ae5f25a41241d512bee36d07730f022985bf10649639ff9ab99ef32e538aece9","security.scan.request.hash":"sha256:39e4a6f44d4d","security.finding.hash":"sha256:f75f745c015f","security.secret_scanning.secret_type":"github_personal_access_token","security.finding.severity":"critical","security.finding.location_path_hash":"sha256:a96dedf7aea119254c328e6f83265ccb3954034121e22ea90538c1c7a235212e","security.finding.line_bucket":"21_100","security.finding.secret_value_hash":"sha256:a28adec774fdc7744c1996c4a6eda2d89ec2c36c3a4c464cedcfb504900b9c2b","security.finding.remediation_hash":"sha256:ea7421a264ef997696101319f6d964fd8c82d6cb0ab2ff4c84dbcce5f2d03164","security.secret_scanning.push_protection_action":"block","security.secret_scanning.bypass_allowed":false,"privacy.raw_location_path_recorded":false,"privacy.raw_secret_value_recorded":false,"privacy.raw_remediation_text_recorded":false}}
5
+ {"trace_id":"739544dd256cb1c92a7518a1dc7a220f","span_id":"f2013e6856aa653b","name":"security.secret_scanning.bypass.evaluated","time":"2026-05-22T01:00:12.000Z","attributes":{"session.id":"demo-secret-scan-session","gen_ai.conversation.id":"conv-secret-scan-demo","agent.name":"copilot-cli","mcp.provider":"github-mcp-server","mcp.client":"github-copilot-cli","repository.hash":"sha256:181c8327396b","repository.path_hash":"sha256:ae5f25a41241d512bee36d07730f022985bf10649639ff9ab99ef32e538aece9","security.scan.request.hash":"sha256:39e4a6f44d4d","security.policy.hash":"sha256:cf2826a34eba","security.secret_scanning.bypass_requested":false,"security.secret_scanning.bypass_allowed":false,"security.secret_scanning.bypass_reason":"not_applicable","security.secret_scanning.decision":"block_until_removed","security.operator_note_hash":"sha256:5e261d3b2549fdda2ee5dd91b13ec86f409f2a890fa2f76e45e7b56d0d7f6cb1","privacy.raw_operator_note_recorded":false}}
6
+ {"trace_id":"739544dd256cb1c92a7518a1dc7a220f","span_id":"f2013e6856aa653b","name":"security.secret_scanning.remediation.verified","time":"2026-05-22T01:00:31.000Z","attributes":{"session.id":"demo-secret-scan-session","gen_ai.conversation.id":"conv-secret-scan-demo","agent.name":"copilot-cli","mcp.provider":"github-mcp-server","mcp.client":"github-copilot-cli","repository.hash":"sha256:181c8327396b","repository.path_hash":"sha256:ae5f25a41241d512bee36d07730f022985bf10649639ff9ab99ef32e538aece9","security.scan.request.hash":"sha256:39e4a6f44d4d","security.scan.rescan.hash":"sha256:b55991d4f92f","security.scan.status":"clean","security.scan.changed_path_count":2,"security.scan.changed_paths_hash":"sha256:ac83d426b4016f9a21d2fbbeb3851b6ddbea3a154a9ec037c77c8cb315d2b79d","security.secret_scanning.finding_count_after":0,"security.remediation.rotation_ticket_hash":"sha256:b4cd09aa218698ca93ec8f1650cf22574ea931fc522d6b1fa89d0f1798ca51a4","security.scan.latency_bucket":"under_10s","privacy.raw_changed_paths_recorded":false,"privacy.raw_rotation_ticket_recorded":false,"audit.gap":"receipt_proves_scan_findings_policy_and_clean_rescan_not_secret_revocation_completion"}}
@@ -0,0 +1,411 @@
1
+ {
2
+ "resourceSpans": [
3
+ {
4
+ "resource": {
5
+ "attributes": [
6
+ {
7
+ "key": "service.name",
8
+ "value": {
9
+ "stringValue": "pluribus-session-log-context-demo"
10
+ }
11
+ },
12
+ {
13
+ "key": "service.version",
14
+ "value": {
15
+ "stringValue": "0.0.0-fixture"
16
+ }
17
+ },
18
+ {
19
+ "key": "deployment.environment.name",
20
+ "value": {
21
+ "stringValue": "local-fixture"
22
+ }
23
+ }
24
+ ]
25
+ },
26
+ "scopeSpans": [
27
+ {
28
+ "scope": {
29
+ "name": "pluribus.context_input_evidence.session_log_demo",
30
+ "version": "0.0.0-fixture"
31
+ },
32
+ "spans": [
33
+ {
34
+ "traceId": "686a1c435a5e237f0431086ee6cac547",
35
+ "spanId": "fa9f5773ae94c717",
36
+ "parentSpanId": "",
37
+ "name": "agent.session",
38
+ "kind": 1,
39
+ "startTimeUnixNano": "1779314400000000000",
40
+ "endTimeUnixNano": "1779314410000000000",
41
+ "attributes": [
42
+ {
43
+ "key": "session.id",
44
+ "value": {
45
+ "stringValue": "demo-session-posthoc-context-receipts"
46
+ }
47
+ },
48
+ {
49
+ "key": "gen_ai.conversation.id",
50
+ "value": {
51
+ "stringValue": "demo-session-posthoc-context-receipts"
52
+ }
53
+ },
54
+ {
55
+ "key": "gen_ai.agent.name",
56
+ "value": {
57
+ "stringValue": "claude-code"
58
+ }
59
+ },
60
+ {
61
+ "key": "gen_ai.operation.name",
62
+ "value": {
63
+ "stringValue": "agent_session"
64
+ }
65
+ },
66
+ {
67
+ "key": "code.repository.name",
68
+ "value": {
69
+ "stringValue": "example-service"
70
+ }
71
+ },
72
+ {
73
+ "key": "pluribus.session_log.tool_call.count",
74
+ "value": {
75
+ "intValue": "2"
76
+ }
77
+ }
78
+ ],
79
+ "events": [
80
+ {
81
+ "name": "context.input.loaded",
82
+ "timeUnixNano": "1779314402000000000",
83
+ "attributes": [
84
+ {
85
+ "key": "context.input.kind",
86
+ "value": {
87
+ "stringValue": "agent_instructions"
88
+ }
89
+ },
90
+ {
91
+ "key": "context.input.source.path",
92
+ "value": {
93
+ "stringValue": "AGENTS.md"
94
+ }
95
+ },
96
+ {
97
+ "key": "context.input.source.bytes_hash",
98
+ "value": {
99
+ "stringValue": "sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a"
100
+ }
101
+ },
102
+ {
103
+ "key": "context.input.source.canonical.form",
104
+ "value": {
105
+ "stringValue": "otel.context.source.nfc_lf.v1_candidate"
106
+ }
107
+ },
108
+ {
109
+ "key": "context.input.source.canonical.hash",
110
+ "value": {
111
+ "stringValue": "sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a"
112
+ }
113
+ },
114
+ {
115
+ "key": "context.input.source.canonicalization",
116
+ "value": {
117
+ "stringValue": "utf8,unicode_nfc,crlf_to_lf"
118
+ }
119
+ },
120
+ {
121
+ "key": "context.input.delivered.hash",
122
+ "value": {
123
+ "stringValue": "sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a"
124
+ }
125
+ },
126
+ {
127
+ "key": "context.input.delivered.full_render.hash",
128
+ "value": {
129
+ "stringValue": "sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a"
130
+ }
131
+ },
132
+ {
133
+ "key": "context.input.delivered.full_render.status",
134
+ "value": {
135
+ "stringValue": "available"
136
+ }
137
+ },
138
+ {
139
+ "key": "context.input.delivered.template_hash",
140
+ "value": {
141
+ "stringValue": ""
142
+ }
143
+ },
144
+ {
145
+ "key": "context.input.delivered.transform",
146
+ "value": {
147
+ "stringValue": "as-recorded-by-session-log"
148
+ }
149
+ },
150
+ {
151
+ "key": "context.input.delivered.nondeterministic",
152
+ "value": {
153
+ "boolValue": false
154
+ }
155
+ },
156
+ {
157
+ "key": "context.input.delivered.truncated",
158
+ "value": {
159
+ "boolValue": false
160
+ }
161
+ },
162
+ {
163
+ "key": "context.input.loaded_by",
164
+ "value": {
165
+ "stringValue": "native-file-discovery"
166
+ }
167
+ },
168
+ {
169
+ "key": "context.input.activation",
170
+ "value": {
171
+ "stringValue": "session_start"
172
+ }
173
+ },
174
+ {
175
+ "key": "context.input.scope",
176
+ "value": {
177
+ "stringValue": "repo"
178
+ }
179
+ },
180
+ {
181
+ "key": "context.input.applies_to",
182
+ "value": {
183
+ "stringValue": "claude-code"
184
+ }
185
+ },
186
+ {
187
+ "key": "context.input.why_loaded",
188
+ "value": {
189
+ "stringValue": "shared invariant guidance"
190
+ }
191
+ },
192
+ {
193
+ "key": "context.input.expected_benefit",
194
+ "value": {
195
+ "stringValue": "align agent behavior with repository test and safety rules"
196
+ }
197
+ },
198
+ {
199
+ "key": "context.input.duplicate.dedupe_key",
200
+ "value": {
201
+ "stringValue": "demo-session-posthoc-context-receipts:sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a"
202
+ }
203
+ },
204
+ {
205
+ "key": "context.input.duplicate.dedupe_scope",
206
+ "value": {
207
+ "stringValue": "conversation"
208
+ }
209
+ },
210
+ {
211
+ "key": "context.input.duplicate.suppression_policy",
212
+ "value": {
213
+ "stringValue": "suppress_equal_dedupe_key_within_scope"
214
+ }
215
+ },
216
+ {
217
+ "key": "context.input.duplicate.role",
218
+ "value": {
219
+ "stringValue": "selected"
220
+ }
221
+ },
222
+ {
223
+ "key": "context.input.duplicate.risk",
224
+ "value": {
225
+ "stringValue": "unknown"
226
+ }
227
+ },
228
+ {
229
+ "key": "session.id",
230
+ "value": {
231
+ "stringValue": "demo-session-posthoc-context-receipts"
232
+ }
233
+ },
234
+ {
235
+ "key": "gen_ai.conversation.id",
236
+ "value": {
237
+ "stringValue": "demo-session-posthoc-context-receipts"
238
+ }
239
+ }
240
+ ]
241
+ },
242
+ {
243
+ "name": "context.input.loaded",
244
+ "timeUnixNano": "1779314406000000000",
245
+ "attributes": [
246
+ {
247
+ "key": "context.input.kind",
248
+ "value": {
249
+ "stringValue": "retrieved_context"
250
+ }
251
+ },
252
+ {
253
+ "key": "context.input.source.uri",
254
+ "value": {
255
+ "stringValue": "mcp://local-memory/project/example-service/testing-policy"
256
+ }
257
+ },
258
+ {
259
+ "key": "context.input.source.bytes_hash",
260
+ "value": {
261
+ "stringValue": "sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889"
262
+ }
263
+ },
264
+ {
265
+ "key": "context.input.source.canonical.form",
266
+ "value": {
267
+ "stringValue": "otel.context.source.nfc_lf.v1_candidate"
268
+ }
269
+ },
270
+ {
271
+ "key": "context.input.source.canonical.hash",
272
+ "value": {
273
+ "stringValue": "sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889"
274
+ }
275
+ },
276
+ {
277
+ "key": "context.input.source.canonicalization",
278
+ "value": {
279
+ "stringValue": "utf8,unicode_nfc,crlf_to_lf"
280
+ }
281
+ },
282
+ {
283
+ "key": "context.input.delivered.hash",
284
+ "value": {
285
+ "stringValue": "sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889"
286
+ }
287
+ },
288
+ {
289
+ "key": "context.input.delivered.full_render.hash",
290
+ "value": {
291
+ "stringValue": "sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889"
292
+ }
293
+ },
294
+ {
295
+ "key": "context.input.delivered.full_render.status",
296
+ "value": {
297
+ "stringValue": "available"
298
+ }
299
+ },
300
+ {
301
+ "key": "context.input.delivered.template_hash",
302
+ "value": {
303
+ "stringValue": ""
304
+ }
305
+ },
306
+ {
307
+ "key": "context.input.delivered.transform",
308
+ "value": {
309
+ "stringValue": "as-recorded-by-session-log"
310
+ }
311
+ },
312
+ {
313
+ "key": "context.input.delivered.nondeterministic",
314
+ "value": {
315
+ "boolValue": false
316
+ }
317
+ },
318
+ {
319
+ "key": "context.input.delivered.truncated",
320
+ "value": {
321
+ "boolValue": false
322
+ }
323
+ },
324
+ {
325
+ "key": "context.input.loaded_by",
326
+ "value": {
327
+ "stringValue": "mcp-memory-retrieval"
328
+ }
329
+ },
330
+ {
331
+ "key": "context.input.activation",
332
+ "value": {
333
+ "stringValue": "retrieval_result"
334
+ }
335
+ },
336
+ {
337
+ "key": "context.input.scope",
338
+ "value": {
339
+ "stringValue": "task"
340
+ }
341
+ },
342
+ {
343
+ "key": "context.input.applies_to",
344
+ "value": {
345
+ "stringValue": "claude-code"
346
+ }
347
+ },
348
+ {
349
+ "key": "context.input.why_loaded",
350
+ "value": {
351
+ "stringValue": "task-specific retrieval"
352
+ }
353
+ },
354
+ {
355
+ "key": "context.input.expected_benefit",
356
+ "value": {
357
+ "stringValue": "choose the smallest verification gate before claiming success"
358
+ }
359
+ },
360
+ {
361
+ "key": "context.input.duplicate.dedupe_key",
362
+ "value": {
363
+ "stringValue": "demo-session-posthoc-context-receipts:sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889"
364
+ }
365
+ },
366
+ {
367
+ "key": "context.input.duplicate.dedupe_scope",
368
+ "value": {
369
+ "stringValue": "conversation"
370
+ }
371
+ },
372
+ {
373
+ "key": "context.input.duplicate.suppression_policy",
374
+ "value": {
375
+ "stringValue": "suppress_equal_dedupe_key_within_scope"
376
+ }
377
+ },
378
+ {
379
+ "key": "context.input.duplicate.role",
380
+ "value": {
381
+ "stringValue": "selected"
382
+ }
383
+ },
384
+ {
385
+ "key": "context.input.duplicate.risk",
386
+ "value": {
387
+ "stringValue": "unknown"
388
+ }
389
+ },
390
+ {
391
+ "key": "session.id",
392
+ "value": {
393
+ "stringValue": "demo-session-posthoc-context-receipts"
394
+ }
395
+ },
396
+ {
397
+ "key": "gen_ai.conversation.id",
398
+ "value": {
399
+ "stringValue": "demo-session-posthoc-context-receipts"
400
+ }
401
+ }
402
+ ]
403
+ }
404
+ ]
405
+ }
406
+ ]
407
+ }
408
+ ]
409
+ }
410
+ ]
411
+ }
@@ -0,0 +1,2 @@
1
+ {"trace_id":"686a1c435a5e237f0431086ee6cac547","span_id":"fa9f5773ae94c717","name":"context.input.loaded","time":"2026-05-20T22:00:02.000Z","attributes":{"context.input.kind":"agent_instructions","context.input.source.path":"AGENTS.md","context.input.source.bytes_hash":"sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a","context.input.source.canonical.form":"otel.context.source.nfc_lf.v1_candidate","context.input.source.canonical.hash":"sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a","context.input.source.canonicalization":"utf8,unicode_nfc,crlf_to_lf","context.input.delivered.hash":"sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a","context.input.delivered.full_render.hash":"sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a","context.input.delivered.full_render.status":"available","context.input.delivered.template_hash":"","context.input.delivered.transform":"as-recorded-by-session-log","context.input.delivered.nondeterministic":"false","context.input.delivered.truncated":"false","context.input.loaded_by":"native-file-discovery","context.input.activation":"session_start","context.input.scope":"repo","context.input.applies_to":"claude-code","context.input.why_loaded":"shared invariant guidance","context.input.expected_benefit":"align agent behavior with repository test and safety rules","context.input.duplicate.dedupe_key":"demo-session-posthoc-context-receipts:sha256:68f534cad05eafaf6c74474a941bb2426669cbdd9b9a966db3d6159d1cdc6d9a","context.input.duplicate.dedupe_scope":"conversation","context.input.duplicate.suppression_policy":"suppress_equal_dedupe_key_within_scope","context.input.duplicate.role":"selected","context.input.duplicate.risk":"unknown","session.id":"demo-session-posthoc-context-receipts","gen_ai.conversation.id":"demo-session-posthoc-context-receipts"}}
2
+ {"trace_id":"686a1c435a5e237f0431086ee6cac547","span_id":"fa9f5773ae94c717","name":"context.input.loaded","time":"2026-05-20T22:00:06.000Z","attributes":{"context.input.kind":"retrieved_context","context.input.source.uri":"mcp://local-memory/project/example-service/testing-policy","context.input.source.bytes_hash":"sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889","context.input.source.canonical.form":"otel.context.source.nfc_lf.v1_candidate","context.input.source.canonical.hash":"sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889","context.input.source.canonicalization":"utf8,unicode_nfc,crlf_to_lf","context.input.delivered.hash":"sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889","context.input.delivered.full_render.hash":"sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889","context.input.delivered.full_render.status":"available","context.input.delivered.template_hash":"","context.input.delivered.transform":"as-recorded-by-session-log","context.input.delivered.nondeterministic":"false","context.input.delivered.truncated":"false","context.input.loaded_by":"mcp-memory-retrieval","context.input.activation":"retrieval_result","context.input.scope":"task","context.input.applies_to":"claude-code","context.input.why_loaded":"task-specific retrieval","context.input.expected_benefit":"choose the smallest verification gate before claiming success","context.input.duplicate.dedupe_key":"demo-session-posthoc-context-receipts:sha256:05207c7e52cc275d824b615c1f88f6f5727640af2c86673676ee4dc64311f889","context.input.duplicate.dedupe_scope":"conversation","context.input.duplicate.suppression_policy":"suppress_equal_dedupe_key_within_scope","context.input.duplicate.role":"selected","context.input.duplicate.risk":"unknown","session.id":"demo-session-posthoc-context-receipts","gen_ai.conversation.id":"demo-session-posthoc-context-receipts"}}
@@ -0,0 +1,4 @@
1
+ {"type":"session.start","session_id":"demo-session-skill-receipts","conversation_id":"demo-session-skill-receipts","time":"2026-05-21T13:00:00.000Z","agent":"cowork","workspace":"example-org"}
2
+ {"type":"skill.invoked","time":"2026-05-21T13:00:04.000Z","skill_id":"knowledge-work.weekly-brief","skill_name":"weekly-brief","plugin":"knowledge-work-plugins","source_path":".claude/plugins/knowledge-work/weekly-brief/SKILL.md","activation":"manual_slash_command","trigger":"/weekly-brief","hook_event":"none","source_text":"# Weekly brief\nSummarize calendar, decisions, risks, and next actions. Do not expose private event bodies in telemetry.","delivered_text":"Skill weekly-brief loaded for this session. Summarize calendar, decisions, risks, and next actions. Do not expose private event bodies in telemetry.","expected_benefit":"make skill adoption and ROI visible without logging the skill body","eval_gap":"outcome quality still requires a downstream task-result/eval metric","suppression_policy":"suppress_equal_dedupe_key_within_scope","duplicate_role":"selected"}
3
+ {"type":"skill.invoked","time":"2026-05-21T13:00:08.000Z","skill_id":"engineering.review-checklist","skill_name":"review-checklist","plugin":"repo-local-skills","source_path":".agents/skills/review-checklist/SKILL.md","activation":"hook_post_commit","trigger":"git:post-commit","hook_event":"post_commit","source_text":"# Review checklist\nAfter a commit, check tests, security constraints, changelog, and generated context drift.","delivered_text":"Post-commit review checklist loaded. Check tests, security constraints, changelog, and generated context drift.","expected_benefit":"prove deterministic hook-driven skill loads separately from manual skill use","eval_gap":"trace proves load; it does not prove review quality without follow-up outcome events","suppression_policy":"suppress_equal_dedupe_key_within_scope","duplicate_role":"selected"}
4
+ {"type":"skill.invoked","time":"2026-05-21T13:00:08.500Z","skill_id":"engineering.review-checklist","skill_name":"review-checklist","plugin":"global-skill-cache","source_path":"~/.claude/skills/review-checklist/SKILL.md","activation":"hook_post_commit","trigger":"git:post-commit","hook_event":"post_commit","source_text":"# Review checklist\nAfter a commit, check tests, security constraints, changelog, and generated context drift.","delivered_text":"Post-commit review checklist loaded. Check tests, security constraints, changelog, and generated context drift.","expected_benefit":"avoid loading duplicate skill prompts from cache and repo roots","eval_gap":"suppression receipt does not prove the runtime actually suppressed every scanner root","suppression_policy":"suppress_equal_dedupe_key_within_scope","duplicate_role":"suppressed"}