pluribus-context 0.3.21 → 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 +31 -3
  2. package/README.md +2 -2
  3. package/docs/community-review-packet.md +4 -2
  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 +10 -6
  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 +468 -43
  92. package/src/commands/audit.js +105 -5
  93. package/src/utils/version.js +1 -1
@@ -0,0 +1,1119 @@
1
+ {
2
+ "resourceSpans": [
3
+ {
4
+ "resource": {
5
+ "attributes": [
6
+ {
7
+ "key": "service.name",
8
+ "value": {
9
+ "stringValue": "pluribus-context-input-evidence-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.demo",
30
+ "version": "0.0.0-fixture"
31
+ },
32
+ "spans": [
33
+ {
34
+ "traceId": "11111111111111111111111111111111",
35
+ "spanId": "2222222222222222",
36
+ "parentSpanId": "",
37
+ "name": "agent.session",
38
+ "kind": 1,
39
+ "startTimeUnixNano": "1779300000000000000",
40
+ "endTimeUnixNano": "1779300000001000000",
41
+ "attributes": [
42
+ {
43
+ "key": "session.id",
44
+ "value": {
45
+ "stringValue": "demo-session-context-input-evidence"
46
+ }
47
+ },
48
+ {
49
+ "key": "gen_ai.conversation.id",
50
+ "value": {
51
+ "stringValue": "demo-session-context-input-evidence"
52
+ }
53
+ },
54
+ {
55
+ "key": "gen_ai.agent.name",
56
+ "value": {
57
+ "stringValue": "context-input-evidence-demo"
58
+ }
59
+ },
60
+ {
61
+ "key": "gen_ai.operation.name",
62
+ "value": {
63
+ "stringValue": "agent_session"
64
+ }
65
+ }
66
+ ],
67
+ "events": [
68
+ {
69
+ "name": "context.input.loaded",
70
+ "timeUnixNano": "1779300000000000000",
71
+ "attributes": [
72
+ {
73
+ "key": "context.input.kind",
74
+ "value": {
75
+ "stringValue": "agent_instructions"
76
+ }
77
+ },
78
+ {
79
+ "key": "context.input.source.path",
80
+ "value": {
81
+ "stringValue": "examples/context-input-evidence/AGENTS.md"
82
+ }
83
+ },
84
+ {
85
+ "key": "context.input.source.bytes_hash",
86
+ "value": {
87
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
88
+ }
89
+ },
90
+ {
91
+ "key": "context.input.source.canonical.form",
92
+ "value": {
93
+ "stringValue": "otel.context.source.nfc_lf.v1_candidate"
94
+ }
95
+ },
96
+ {
97
+ "key": "context.input.source.canonical.hash",
98
+ "value": {
99
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
100
+ }
101
+ },
102
+ {
103
+ "key": "context.input.source.canonicalization",
104
+ "value": {
105
+ "stringValue": "utf8,unicode_nfc,crlf_to_lf"
106
+ }
107
+ },
108
+ {
109
+ "key": "context.input.delivered.hash",
110
+ "value": {
111
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
112
+ }
113
+ },
114
+ {
115
+ "key": "session.id",
116
+ "value": {
117
+ "stringValue": "demo-session-context-input-evidence"
118
+ }
119
+ },
120
+ {
121
+ "key": "gen_ai.conversation.id",
122
+ "value": {
123
+ "stringValue": "demo-session-context-input-evidence"
124
+ }
125
+ },
126
+ {
127
+ "key": "context.input.delivered.full_render.hash",
128
+ "value": {
129
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
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": "source-as-delivered"
148
+ }
149
+ },
150
+ {
151
+ "key": "context.input.delivered.nondeterministic",
152
+ "value": {
153
+ "boolValue": false
154
+ }
155
+ },
156
+ {
157
+ "key": "context.input.delivered.nondeterminism_reason",
158
+ "value": {
159
+ "stringValue": ""
160
+ }
161
+ },
162
+ {
163
+ "key": "context.input.delivered.truncated",
164
+ "value": {
165
+ "boolValue": false
166
+ }
167
+ },
168
+ {
169
+ "key": "context.input.delivered.truncation_limit_chars",
170
+ "value": {
171
+ "stringValue": ""
172
+ }
173
+ },
174
+ {
175
+ "key": "context.input.loaded_by",
176
+ "value": {
177
+ "stringValue": "native-file-discovery"
178
+ }
179
+ },
180
+ {
181
+ "key": "context.input.activation",
182
+ "value": {
183
+ "stringValue": "session_start"
184
+ }
185
+ },
186
+ {
187
+ "key": "context.input.scope",
188
+ "value": {
189
+ "stringValue": "repo"
190
+ }
191
+ },
192
+ {
193
+ "key": "context.input.applies_to",
194
+ "value": {
195
+ "stringValue": "claude-code"
196
+ }
197
+ },
198
+ {
199
+ "key": "context.input.why_loaded",
200
+ "value": {
201
+ "stringValue": "shared invariant guidance"
202
+ }
203
+ },
204
+ {
205
+ "key": "context.input.expected_benefit",
206
+ "value": {
207
+ "stringValue": "align agent behavior with repository conventions"
208
+ }
209
+ },
210
+ {
211
+ "key": "context.input.duplicate.dedupe_key",
212
+ "value": {
213
+ "stringValue": "session:sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
214
+ }
215
+ },
216
+ {
217
+ "key": "context.input.duplicate.dedupe_scope",
218
+ "value": {
219
+ "stringValue": "session"
220
+ }
221
+ },
222
+ {
223
+ "key": "context.input.duplicate.suppression_policy",
224
+ "value": {
225
+ "stringValue": "suppress_equal_dedupe_key_within_scope"
226
+ }
227
+ },
228
+ {
229
+ "key": "context.input.duplicate.role",
230
+ "value": {
231
+ "stringValue": "selected"
232
+ }
233
+ },
234
+ {
235
+ "key": "context.input.duplicate.risk",
236
+ "value": {
237
+ "stringValue": "unknown"
238
+ }
239
+ }
240
+ ]
241
+ },
242
+ {
243
+ "name": "context.input.loaded",
244
+ "timeUnixNano": "1779300000000000000",
245
+ "attributes": [
246
+ {
247
+ "key": "context.input.kind",
248
+ "value": {
249
+ "stringValue": "agent_instructions"
250
+ }
251
+ },
252
+ {
253
+ "key": "context.input.source.path",
254
+ "value": {
255
+ "stringValue": "examples/context-input-evidence/AGENTS.md"
256
+ }
257
+ },
258
+ {
259
+ "key": "context.input.source.bytes_hash",
260
+ "value": {
261
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
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:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
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:ca458f2c36f994caeff939de900edec725931ce812971b6e7ce3da252e5d5567"
286
+ }
287
+ },
288
+ {
289
+ "key": "session.id",
290
+ "value": {
291
+ "stringValue": "demo-session-context-input-evidence"
292
+ }
293
+ },
294
+ {
295
+ "key": "gen_ai.conversation.id",
296
+ "value": {
297
+ "stringValue": "demo-session-context-input-evidence"
298
+ }
299
+ },
300
+ {
301
+ "key": "context.input.delivered.full_render.hash",
302
+ "value": {
303
+ "stringValue": "sha256:ca458f2c36f994caeff939de900edec725931ce812971b6e7ce3da252e5d5567"
304
+ }
305
+ },
306
+ {
307
+ "key": "context.input.delivered.full_render.status",
308
+ "value": {
309
+ "stringValue": "available"
310
+ }
311
+ },
312
+ {
313
+ "key": "context.input.delivered.template_hash",
314
+ "value": {
315
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
316
+ }
317
+ },
318
+ {
319
+ "key": "context.input.delivered.transform",
320
+ "value": {
321
+ "stringValue": "post-template-expansion"
322
+ }
323
+ },
324
+ {
325
+ "key": "context.input.delivered.nondeterministic",
326
+ "value": {
327
+ "boolValue": false
328
+ }
329
+ },
330
+ {
331
+ "key": "context.input.delivered.nondeterminism_reason",
332
+ "value": {
333
+ "stringValue": ""
334
+ }
335
+ },
336
+ {
337
+ "key": "context.input.delivered.truncated",
338
+ "value": {
339
+ "boolValue": false
340
+ }
341
+ },
342
+ {
343
+ "key": "context.input.delivered.truncation_limit_chars",
344
+ "value": {
345
+ "stringValue": ""
346
+ }
347
+ },
348
+ {
349
+ "key": "context.input.loaded_by",
350
+ "value": {
351
+ "stringValue": "native-agents-md"
352
+ }
353
+ },
354
+ {
355
+ "key": "context.input.activation",
356
+ "value": {
357
+ "stringValue": "session_start"
358
+ }
359
+ },
360
+ {
361
+ "key": "context.input.scope",
362
+ "value": {
363
+ "stringValue": "repo"
364
+ }
365
+ },
366
+ {
367
+ "key": "context.input.applies_to",
368
+ "value": {
369
+ "stringValue": "codex"
370
+ }
371
+ },
372
+ {
373
+ "key": "context.input.why_loaded",
374
+ "value": {
375
+ "stringValue": "shared invariant guidance"
376
+ }
377
+ },
378
+ {
379
+ "key": "context.input.expected_benefit",
380
+ "value": {
381
+ "stringValue": "align agent behavior with repository conventions"
382
+ }
383
+ },
384
+ {
385
+ "key": "context.input.duplicate.dedupe_key",
386
+ "value": {
387
+ "stringValue": "session:sha256:ca458f2c36f994caeff939de900edec725931ce812971b6e7ce3da252e5d5567"
388
+ }
389
+ },
390
+ {
391
+ "key": "context.input.duplicate.dedupe_scope",
392
+ "value": {
393
+ "stringValue": "session"
394
+ }
395
+ },
396
+ {
397
+ "key": "context.input.duplicate.suppression_policy",
398
+ "value": {
399
+ "stringValue": "suppress_equal_dedupe_key_within_scope"
400
+ }
401
+ },
402
+ {
403
+ "key": "context.input.duplicate.role",
404
+ "value": {
405
+ "stringValue": "selected"
406
+ }
407
+ },
408
+ {
409
+ "key": "context.input.duplicate.risk",
410
+ "value": {
411
+ "stringValue": "unknown"
412
+ }
413
+ }
414
+ ]
415
+ },
416
+ {
417
+ "name": "context.input.loaded",
418
+ "timeUnixNano": "1779300000000000000",
419
+ "attributes": [
420
+ {
421
+ "key": "context.input.kind",
422
+ "value": {
423
+ "stringValue": "agent_instructions"
424
+ }
425
+ },
426
+ {
427
+ "key": "context.input.source.path",
428
+ "value": {
429
+ "stringValue": "examples/context-input-evidence/AGENTS.md"
430
+ }
431
+ },
432
+ {
433
+ "key": "context.input.source.bytes_hash",
434
+ "value": {
435
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
436
+ }
437
+ },
438
+ {
439
+ "key": "context.input.source.canonical.form",
440
+ "value": {
441
+ "stringValue": "otel.context.source.nfc_lf.v1_candidate"
442
+ }
443
+ },
444
+ {
445
+ "key": "context.input.source.canonical.hash",
446
+ "value": {
447
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
448
+ }
449
+ },
450
+ {
451
+ "key": "context.input.source.canonicalization",
452
+ "value": {
453
+ "stringValue": "utf8,unicode_nfc,crlf_to_lf"
454
+ }
455
+ },
456
+ {
457
+ "key": "context.input.delivered.hash",
458
+ "value": {
459
+ "stringValue": "sha256:4c8dbbf60b3f3625ff45fd60a78683bdffa266436ec21842528a31dd0105e3a0"
460
+ }
461
+ },
462
+ {
463
+ "key": "session.id",
464
+ "value": {
465
+ "stringValue": "demo-session-context-input-evidence"
466
+ }
467
+ },
468
+ {
469
+ "key": "gen_ai.conversation.id",
470
+ "value": {
471
+ "stringValue": "demo-session-context-input-evidence"
472
+ }
473
+ },
474
+ {
475
+ "key": "context.input.delivered.full_render.hash",
476
+ "value": {
477
+ "stringValue": "sha256:4c8dbbf60b3f3625ff45fd60a78683bdffa266436ec21842528a31dd0105e3a0"
478
+ }
479
+ },
480
+ {
481
+ "key": "context.input.delivered.full_render.status",
482
+ "value": {
483
+ "stringValue": "available"
484
+ }
485
+ },
486
+ {
487
+ "key": "context.input.delivered.template_hash",
488
+ "value": {
489
+ "stringValue": "sha256:a5bad2dff0855e3d7a2443094fd5ffc59943274713f81551ea3c7889a2b2e1c3"
490
+ }
491
+ },
492
+ {
493
+ "key": "context.input.delivered.transform",
494
+ "value": {
495
+ "stringValue": "frontmatter-stripped-with-generated-header"
496
+ }
497
+ },
498
+ {
499
+ "key": "context.input.delivered.nondeterministic",
500
+ "value": {
501
+ "boolValue": true
502
+ }
503
+ },
504
+ {
505
+ "key": "context.input.delivered.nondeterminism_reason",
506
+ "value": {
507
+ "stringValue": "generated_header_timestamp"
508
+ }
509
+ },
510
+ {
511
+ "key": "context.input.delivered.truncated",
512
+ "value": {
513
+ "boolValue": false
514
+ }
515
+ },
516
+ {
517
+ "key": "context.input.delivered.truncation_limit_chars",
518
+ "value": {
519
+ "stringValue": ""
520
+ }
521
+ },
522
+ {
523
+ "key": "context.input.loaded_by",
524
+ "value": {
525
+ "stringValue": "generated-generic-fallback"
526
+ }
527
+ },
528
+ {
529
+ "key": "context.input.activation",
530
+ "value": {
531
+ "stringValue": "session_start"
532
+ }
533
+ },
534
+ {
535
+ "key": "context.input.scope",
536
+ "value": {
537
+ "stringValue": "repo"
538
+ }
539
+ },
540
+ {
541
+ "key": "context.input.applies_to",
542
+ "value": {
543
+ "stringValue": "cursor"
544
+ }
545
+ },
546
+ {
547
+ "key": "context.input.why_loaded",
548
+ "value": {
549
+ "stringValue": "shared invariant guidance"
550
+ }
551
+ },
552
+ {
553
+ "key": "context.input.expected_benefit",
554
+ "value": {
555
+ "stringValue": "align agent behavior with repository conventions"
556
+ }
557
+ },
558
+ {
559
+ "key": "context.input.duplicate.dedupe_key",
560
+ "value": {
561
+ "stringValue": "session:sha256:4c8dbbf60b3f3625ff45fd60a78683bdffa266436ec21842528a31dd0105e3a0"
562
+ }
563
+ },
564
+ {
565
+ "key": "context.input.duplicate.dedupe_scope",
566
+ "value": {
567
+ "stringValue": "session"
568
+ }
569
+ },
570
+ {
571
+ "key": "context.input.duplicate.suppression_policy",
572
+ "value": {
573
+ "stringValue": "keep_distinct_template_hash_is_candidate_only"
574
+ }
575
+ },
576
+ {
577
+ "key": "context.input.duplicate.role",
578
+ "value": {
579
+ "stringValue": "selected"
580
+ }
581
+ },
582
+ {
583
+ "key": "context.input.duplicate.risk",
584
+ "value": {
585
+ "stringValue": "unknown"
586
+ }
587
+ }
588
+ ]
589
+ },
590
+ {
591
+ "name": "context.input.loaded",
592
+ "timeUnixNano": "1779300000000000000",
593
+ "attributes": [
594
+ {
595
+ "key": "context.input.kind",
596
+ "value": {
597
+ "stringValue": "agent_instructions"
598
+ }
599
+ },
600
+ {
601
+ "key": "context.input.source.path",
602
+ "value": {
603
+ "stringValue": "examples/context-input-evidence/AGENTS.md"
604
+ }
605
+ },
606
+ {
607
+ "key": "context.input.source.bytes_hash",
608
+ "value": {
609
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
610
+ }
611
+ },
612
+ {
613
+ "key": "context.input.source.canonical.form",
614
+ "value": {
615
+ "stringValue": "otel.context.source.nfc_lf.v1_candidate"
616
+ }
617
+ },
618
+ {
619
+ "key": "context.input.source.canonical.hash",
620
+ "value": {
621
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
622
+ }
623
+ },
624
+ {
625
+ "key": "context.input.source.canonicalization",
626
+ "value": {
627
+ "stringValue": "utf8,unicode_nfc,crlf_to_lf"
628
+ }
629
+ },
630
+ {
631
+ "key": "context.input.delivered.hash",
632
+ "value": {
633
+ "stringValue": "sha256:20049bf6fbec1d5dd218404c622bc1daa22d199e504c7f81f036fac96b34fd63"
634
+ }
635
+ },
636
+ {
637
+ "key": "session.id",
638
+ "value": {
639
+ "stringValue": "demo-session-context-input-evidence"
640
+ }
641
+ },
642
+ {
643
+ "key": "gen_ai.conversation.id",
644
+ "value": {
645
+ "stringValue": "demo-session-context-input-evidence"
646
+ }
647
+ },
648
+ {
649
+ "key": "context.input.delivered.full_render.hash",
650
+ "value": {
651
+ "stringValue": "sha256:20049bf6fbec1d5dd218404c622bc1daa22d199e504c7f81f036fac96b34fd63"
652
+ }
653
+ },
654
+ {
655
+ "key": "context.input.delivered.full_render.status",
656
+ "value": {
657
+ "stringValue": "available"
658
+ }
659
+ },
660
+ {
661
+ "key": "context.input.delivered.template_hash",
662
+ "value": {
663
+ "stringValue": "sha256:a5bad2dff0855e3d7a2443094fd5ffc59943274713f81551ea3c7889a2b2e1c3"
664
+ }
665
+ },
666
+ {
667
+ "key": "context.input.delivered.transform",
668
+ "value": {
669
+ "stringValue": "same-logical-load-different-generated-header"
670
+ }
671
+ },
672
+ {
673
+ "key": "context.input.delivered.nondeterministic",
674
+ "value": {
675
+ "boolValue": true
676
+ }
677
+ },
678
+ {
679
+ "key": "context.input.delivered.nondeterminism_reason",
680
+ "value": {
681
+ "stringValue": "generated_header_timestamp"
682
+ }
683
+ },
684
+ {
685
+ "key": "context.input.delivered.truncated",
686
+ "value": {
687
+ "boolValue": false
688
+ }
689
+ },
690
+ {
691
+ "key": "context.input.delivered.truncation_limit_chars",
692
+ "value": {
693
+ "stringValue": ""
694
+ }
695
+ },
696
+ {
697
+ "key": "context.input.loaded_by",
698
+ "value": {
699
+ "stringValue": "generated-generic-fallback"
700
+ }
701
+ },
702
+ {
703
+ "key": "context.input.activation",
704
+ "value": {
705
+ "stringValue": "session_start"
706
+ }
707
+ },
708
+ {
709
+ "key": "context.input.scope",
710
+ "value": {
711
+ "stringValue": "repo"
712
+ }
713
+ },
714
+ {
715
+ "key": "context.input.applies_to",
716
+ "value": {
717
+ "stringValue": "cursor"
718
+ }
719
+ },
720
+ {
721
+ "key": "context.input.why_loaded",
722
+ "value": {
723
+ "stringValue": "shared invariant guidance"
724
+ }
725
+ },
726
+ {
727
+ "key": "context.input.expected_benefit",
728
+ "value": {
729
+ "stringValue": "align agent behavior with repository conventions"
730
+ }
731
+ },
732
+ {
733
+ "key": "context.input.duplicate.dedupe_key",
734
+ "value": {
735
+ "stringValue": "session:sha256:20049bf6fbec1d5dd218404c622bc1daa22d199e504c7f81f036fac96b34fd63"
736
+ }
737
+ },
738
+ {
739
+ "key": "context.input.duplicate.dedupe_scope",
740
+ "value": {
741
+ "stringValue": "session"
742
+ }
743
+ },
744
+ {
745
+ "key": "context.input.duplicate.suppression_policy",
746
+ "value": {
747
+ "stringValue": "keep_distinct_template_hash_is_candidate_only"
748
+ }
749
+ },
750
+ {
751
+ "key": "context.input.duplicate.role",
752
+ "value": {
753
+ "stringValue": "selected"
754
+ }
755
+ },
756
+ {
757
+ "key": "context.input.duplicate.risk",
758
+ "value": {
759
+ "stringValue": "unknown"
760
+ }
761
+ }
762
+ ]
763
+ },
764
+ {
765
+ "name": "context.input.loaded",
766
+ "timeUnixNano": "1779300000000000000",
767
+ "attributes": [
768
+ {
769
+ "key": "context.input.kind",
770
+ "value": {
771
+ "stringValue": "agent_instructions"
772
+ }
773
+ },
774
+ {
775
+ "key": "context.input.source.path",
776
+ "value": {
777
+ "stringValue": "examples/context-input-evidence/AGENTS.md"
778
+ }
779
+ },
780
+ {
781
+ "key": "context.input.source.bytes_hash",
782
+ "value": {
783
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
784
+ }
785
+ },
786
+ {
787
+ "key": "context.input.source.canonical.form",
788
+ "value": {
789
+ "stringValue": "otel.context.source.nfc_lf.v1_candidate"
790
+ }
791
+ },
792
+ {
793
+ "key": "context.input.source.canonical.hash",
794
+ "value": {
795
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
796
+ }
797
+ },
798
+ {
799
+ "key": "context.input.source.canonicalization",
800
+ "value": {
801
+ "stringValue": "utf8,unicode_nfc,crlf_to_lf"
802
+ }
803
+ },
804
+ {
805
+ "key": "context.input.delivered.hash",
806
+ "value": {
807
+ "stringValue": "sha256:d0faaca1cca152060ed8c674d69e425a72bf105eb3a3de7a9d3e82fec70e80d2"
808
+ }
809
+ },
810
+ {
811
+ "key": "session.id",
812
+ "value": {
813
+ "stringValue": "demo-session-context-input-evidence"
814
+ }
815
+ },
816
+ {
817
+ "key": "gen_ai.conversation.id",
818
+ "value": {
819
+ "stringValue": "demo-session-context-input-evidence"
820
+ }
821
+ },
822
+ {
823
+ "key": "context.input.delivered.full_render.hash",
824
+ "value": {
825
+ "stringValue": "sha256:ca458f2c36f994caeff939de900edec725931ce812971b6e7ce3da252e5d5567"
826
+ }
827
+ },
828
+ {
829
+ "key": "context.input.delivered.full_render.status",
830
+ "value": {
831
+ "stringValue": "available"
832
+ }
833
+ },
834
+ {
835
+ "key": "context.input.delivered.template_hash",
836
+ "value": {
837
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
838
+ }
839
+ },
840
+ {
841
+ "key": "context.input.delivered.transform",
842
+ "value": {
843
+ "stringValue": "post-template-expansion-clipped-for-window"
844
+ }
845
+ },
846
+ {
847
+ "key": "context.input.delivered.nondeterministic",
848
+ "value": {
849
+ "boolValue": false
850
+ }
851
+ },
852
+ {
853
+ "key": "context.input.delivered.nondeterminism_reason",
854
+ "value": {
855
+ "stringValue": ""
856
+ }
857
+ },
858
+ {
859
+ "key": "context.input.delivered.truncated",
860
+ "value": {
861
+ "boolValue": true
862
+ }
863
+ },
864
+ {
865
+ "key": "context.input.delivered.truncation_limit_chars",
866
+ "value": {
867
+ "intValue": "180"
868
+ }
869
+ },
870
+ {
871
+ "key": "context.input.loaded_by",
872
+ "value": {
873
+ "stringValue": "native-file-discovery"
874
+ }
875
+ },
876
+ {
877
+ "key": "context.input.activation",
878
+ "value": {
879
+ "stringValue": "session_start"
880
+ }
881
+ },
882
+ {
883
+ "key": "context.input.scope",
884
+ "value": {
885
+ "stringValue": "repo"
886
+ }
887
+ },
888
+ {
889
+ "key": "context.input.applies_to",
890
+ "value": {
891
+ "stringValue": "small-window-harness"
892
+ }
893
+ },
894
+ {
895
+ "key": "context.input.why_loaded",
896
+ "value": {
897
+ "stringValue": "shared invariant guidance"
898
+ }
899
+ },
900
+ {
901
+ "key": "context.input.expected_benefit",
902
+ "value": {
903
+ "stringValue": "align agent behavior with repository conventions"
904
+ }
905
+ },
906
+ {
907
+ "key": "context.input.duplicate.dedupe_key",
908
+ "value": {
909
+ "stringValue": "session:sha256:ca458f2c36f994caeff939de900edec725931ce812971b6e7ce3da252e5d5567"
910
+ }
911
+ },
912
+ {
913
+ "key": "context.input.duplicate.dedupe_scope",
914
+ "value": {
915
+ "stringValue": "session"
916
+ }
917
+ },
918
+ {
919
+ "key": "context.input.duplicate.suppression_policy",
920
+ "value": {
921
+ "stringValue": "suppress_equal_dedupe_key_within_scope"
922
+ }
923
+ },
924
+ {
925
+ "key": "context.input.duplicate.role",
926
+ "value": {
927
+ "stringValue": "selected"
928
+ }
929
+ },
930
+ {
931
+ "key": "context.input.duplicate.risk",
932
+ "value": {
933
+ "stringValue": "unknown"
934
+ }
935
+ }
936
+ ]
937
+ },
938
+ {
939
+ "name": "context.input.loaded",
940
+ "timeUnixNano": "1779300000000000000",
941
+ "attributes": [
942
+ {
943
+ "key": "context.input.kind",
944
+ "value": {
945
+ "stringValue": "agent_instructions"
946
+ }
947
+ },
948
+ {
949
+ "key": "context.input.source.path",
950
+ "value": {
951
+ "stringValue": "examples/context-input-evidence/AGENTS.md"
952
+ }
953
+ },
954
+ {
955
+ "key": "context.input.source.bytes_hash",
956
+ "value": {
957
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
958
+ }
959
+ },
960
+ {
961
+ "key": "context.input.source.canonical.form",
962
+ "value": {
963
+ "stringValue": "otel.context.source.nfc_lf.v1_candidate"
964
+ }
965
+ },
966
+ {
967
+ "key": "context.input.source.canonical.hash",
968
+ "value": {
969
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
970
+ }
971
+ },
972
+ {
973
+ "key": "context.input.source.canonicalization",
974
+ "value": {
975
+ "stringValue": "utf8,unicode_nfc,crlf_to_lf"
976
+ }
977
+ },
978
+ {
979
+ "key": "context.input.delivered.hash",
980
+ "value": {
981
+ "stringValue": "sha256:3a91fe9beb9af98b8597670b97f5bd003113083a46c9eef6af8c0e8454806a49"
982
+ }
983
+ },
984
+ {
985
+ "key": "session.id",
986
+ "value": {
987
+ "stringValue": "demo-session-context-input-evidence"
988
+ }
989
+ },
990
+ {
991
+ "key": "gen_ai.conversation.id",
992
+ "value": {
993
+ "stringValue": "demo-session-context-input-evidence"
994
+ }
995
+ },
996
+ {
997
+ "key": "context.input.delivered.full_render.hash",
998
+ "value": {
999
+ "stringValue": ""
1000
+ }
1001
+ },
1002
+ {
1003
+ "key": "context.input.delivered.full_render.status",
1004
+ "value": {
1005
+ "stringValue": "unavailable_not_materialized"
1006
+ }
1007
+ },
1008
+ {
1009
+ "key": "context.input.delivered.template_hash",
1010
+ "value": {
1011
+ "stringValue": "sha256:5f7344661a10c1b2ed673db266f6f50960bb5744646203dbca4b2963bceb8a02"
1012
+ }
1013
+ },
1014
+ {
1015
+ "key": "context.input.delivered.transform",
1016
+ "value": {
1017
+ "stringValue": "clipped-at-ingest-full-render-not-materialized"
1018
+ }
1019
+ },
1020
+ {
1021
+ "key": "context.input.delivered.nondeterministic",
1022
+ "value": {
1023
+ "boolValue": false
1024
+ }
1025
+ },
1026
+ {
1027
+ "key": "context.input.delivered.nondeterminism_reason",
1028
+ "value": {
1029
+ "stringValue": ""
1030
+ }
1031
+ },
1032
+ {
1033
+ "key": "context.input.delivered.truncated",
1034
+ "value": {
1035
+ "boolValue": true
1036
+ }
1037
+ },
1038
+ {
1039
+ "key": "context.input.delivered.truncation_limit_chars",
1040
+ "value": {
1041
+ "intValue": "120"
1042
+ }
1043
+ },
1044
+ {
1045
+ "key": "context.input.loaded_by",
1046
+ "value": {
1047
+ "stringValue": "native-file-discovery"
1048
+ }
1049
+ },
1050
+ {
1051
+ "key": "context.input.activation",
1052
+ "value": {
1053
+ "stringValue": "session_start"
1054
+ }
1055
+ },
1056
+ {
1057
+ "key": "context.input.scope",
1058
+ "value": {
1059
+ "stringValue": "repo"
1060
+ }
1061
+ },
1062
+ {
1063
+ "key": "context.input.applies_to",
1064
+ "value": {
1065
+ "stringValue": "ingest-clipping-harness"
1066
+ }
1067
+ },
1068
+ {
1069
+ "key": "context.input.why_loaded",
1070
+ "value": {
1071
+ "stringValue": "shared invariant guidance"
1072
+ }
1073
+ },
1074
+ {
1075
+ "key": "context.input.expected_benefit",
1076
+ "value": {
1077
+ "stringValue": "align agent behavior with repository conventions"
1078
+ }
1079
+ },
1080
+ {
1081
+ "key": "context.input.duplicate.dedupe_key",
1082
+ "value": {
1083
+ "stringValue": "session:sha256:3a91fe9beb9af98b8597670b97f5bd003113083a46c9eef6af8c0e8454806a49"
1084
+ }
1085
+ },
1086
+ {
1087
+ "key": "context.input.duplicate.dedupe_scope",
1088
+ "value": {
1089
+ "stringValue": "session"
1090
+ }
1091
+ },
1092
+ {
1093
+ "key": "context.input.duplicate.suppression_policy",
1094
+ "value": {
1095
+ "stringValue": "keep_distinct_full_render_unknown"
1096
+ }
1097
+ },
1098
+ {
1099
+ "key": "context.input.duplicate.role",
1100
+ "value": {
1101
+ "stringValue": "selected"
1102
+ }
1103
+ },
1104
+ {
1105
+ "key": "context.input.duplicate.risk",
1106
+ "value": {
1107
+ "stringValue": "unknown"
1108
+ }
1109
+ }
1110
+ ]
1111
+ }
1112
+ ]
1113
+ }
1114
+ ]
1115
+ }
1116
+ ]
1117
+ }
1118
+ ]
1119
+ }