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,388 @@
1
+ {
2
+ "resourceSpans": [
3
+ {
4
+ "resource": {
5
+ "attributes": [
6
+ {
7
+ "key": "service.name",
8
+ "value": {
9
+ "stringValue": "pluribus-subagent-delegation-receipt-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.subagent_delegation_demo",
30
+ "version": "0.0.0-fixture"
31
+ },
32
+ "spans": [
33
+ {
34
+ "traceId": "c59684a417a9ba4bf564d36b0708cea7",
35
+ "spanId": "78478fb01418d844",
36
+ "parentSpanId": "",
37
+ "name": "agent.session.parent_with_delegation",
38
+ "kind": 1,
39
+ "startTimeUnixNano": "1779642307000000000",
40
+ "endTimeUnixNano": "1779642353000000000",
41
+ "attributes": [
42
+ {
43
+ "key": "session.id",
44
+ "value": {
45
+ "stringValue": "sess-subagent-delegation-demo"
46
+ }
47
+ },
48
+ {
49
+ "key": "gen_ai.conversation.id",
50
+ "value": {
51
+ "stringValue": "conv-subagent-delegation-001"
52
+ }
53
+ },
54
+ {
55
+ "key": "agent.name",
56
+ "value": {
57
+ "stringValue": "claude-code"
58
+ }
59
+ },
60
+ {
61
+ "key": "workspace.name",
62
+ "value": {
63
+ "stringValue": "module-federation-vue-app"
64
+ }
65
+ },
66
+ {
67
+ "key": "gen_ai.request.model",
68
+ "value": {
69
+ "stringValue": "claude-sonnet-4.6"
70
+ }
71
+ },
72
+ {
73
+ "key": "subagent.delegation.policy",
74
+ "value": {
75
+ "stringValue": "large_tool_output_to_isolated_subagent"
76
+ }
77
+ }
78
+ ],
79
+ "events": [
80
+ {
81
+ "name": "subagent.delegation.requested",
82
+ "timeUnixNano": "1779642307000000000",
83
+ "attributes": [
84
+ {
85
+ "key": "session.id",
86
+ "value": {
87
+ "stringValue": "sess-subagent-delegation-demo"
88
+ }
89
+ },
90
+ {
91
+ "key": "gen_ai.conversation.id",
92
+ "value": {
93
+ "stringValue": "conv-subagent-delegation-001"
94
+ }
95
+ },
96
+ {
97
+ "key": "agent.name",
98
+ "value": {
99
+ "stringValue": "claude-code"
100
+ }
101
+ },
102
+ {
103
+ "key": "subagent.delegation.operation_hash",
104
+ "value": {
105
+ "stringValue": "sha256:4154c9156b4a"
106
+ }
107
+ },
108
+ {
109
+ "key": "subagent.delegation.reason_hash",
110
+ "value": {
111
+ "stringValue": "sha256:3e126e9af8db12e368a86f3ce090a22d4662d1b94254eb75c937beba3ff9fbe2"
112
+ }
113
+ },
114
+ {
115
+ "key": "subagent.delegation.estimated_output_line_bucket",
116
+ "value": {
117
+ "stringValue": "under_1k"
118
+ }
119
+ },
120
+ {
121
+ "key": "subagent.delegation.parent_context_before_bucket",
122
+ "value": {
123
+ "stringValue": "over_50k"
124
+ }
125
+ },
126
+ {
127
+ "key": "subagent.delegation.threshold_policy",
128
+ "value": {
129
+ "stringValue": "delegate_outputs_over_50_lines"
130
+ }
131
+ },
132
+ {
133
+ "key": "privacy.raw_parent_prompt_recorded",
134
+ "value": {
135
+ "boolValue": false
136
+ }
137
+ },
138
+ {
139
+ "key": "privacy.raw_operation_output_recorded",
140
+ "value": {
141
+ "boolValue": false
142
+ }
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ "name": "subagent.summary.returned",
148
+ "timeUnixNano": "1779642350000000000",
149
+ "attributes": [
150
+ {
151
+ "key": "session.id",
152
+ "value": {
153
+ "stringValue": "sess-subagent-delegation-demo"
154
+ }
155
+ },
156
+ {
157
+ "key": "gen_ai.conversation.id",
158
+ "value": {
159
+ "stringValue": "conv-subagent-delegation-001"
160
+ }
161
+ },
162
+ {
163
+ "key": "subagent.summary.hash",
164
+ "value": {
165
+ "stringValue": "sha256:b675efd0f6f25b7d4e2afda4c71a0626dab6f422d81bd8303a4ea82accbd4986"
166
+ }
167
+ },
168
+ {
169
+ "key": "subagent.summary.char_bucket",
170
+ "value": {
171
+ "stringValue": "under_10k"
172
+ }
173
+ },
174
+ {
175
+ "key": "subagent.summary.bullet_count",
176
+ "value": {
177
+ "intValue": "4"
178
+ }
179
+ },
180
+ {
181
+ "key": "subagent.summary.parent_received_raw_output",
182
+ "value": {
183
+ "boolValue": false
184
+ }
185
+ },
186
+ {
187
+ "key": "subagent.summary.parent_received_raw_paths",
188
+ "value": {
189
+ "boolValue": false
190
+ }
191
+ },
192
+ {
193
+ "key": "subagent.summary.boundary",
194
+ "value": {
195
+ "stringValue": "bounded_summary_only"
196
+ }
197
+ },
198
+ {
199
+ "key": "privacy.raw_summary_recorded",
200
+ "value": {
201
+ "boolValue": false
202
+ }
203
+ },
204
+ {
205
+ "key": "privacy.raw_child_output_recorded",
206
+ "value": {
207
+ "boolValue": false
208
+ }
209
+ }
210
+ ]
211
+ },
212
+ {
213
+ "name": "parent.context_budget.evaluated",
214
+ "timeUnixNano": "1779642353000000000",
215
+ "attributes": [
216
+ {
217
+ "key": "session.id",
218
+ "value": {
219
+ "stringValue": "sess-subagent-delegation-demo"
220
+ }
221
+ },
222
+ {
223
+ "key": "gen_ai.conversation.id",
224
+ "value": {
225
+ "stringValue": "conv-subagent-delegation-001"
226
+ }
227
+ },
228
+ {
229
+ "key": "parent.context.after_bucket",
230
+ "value": {
231
+ "stringValue": "over_50k"
232
+ }
233
+ },
234
+ {
235
+ "key": "parent.context.added_token_bucket",
236
+ "value": {
237
+ "stringValue": "under_1k"
238
+ }
239
+ },
240
+ {
241
+ "key": "subagent.child_output_token_bucket",
242
+ "value": {
243
+ "stringValue": "under_50k"
244
+ }
245
+ },
246
+ {
247
+ "key": "subagent.context_savings.proven",
248
+ "value": {
249
+ "boolValue": true
250
+ }
251
+ },
252
+ {
253
+ "key": "subagent.delegation.audit_gap",
254
+ "value": {
255
+ "stringValue": "receipt_proves_parent_boundary_not_summary_correctness"
256
+ }
257
+ },
258
+ {
259
+ "key": "privacy.raw_parent_note_recorded",
260
+ "value": {
261
+ "boolValue": false
262
+ }
263
+ }
264
+ ]
265
+ }
266
+ ]
267
+ },
268
+ {
269
+ "traceId": "c59684a417a9ba4bf564d36b0708cea7",
270
+ "spanId": "acbfe4c56e4a33e8",
271
+ "parentSpanId": "78478fb01418d844",
272
+ "name": "agent.subagent.validation_runner",
273
+ "kind": 1,
274
+ "startTimeUnixNano": "1779642341000000000",
275
+ "endTimeUnixNano": "1779642350000000000",
276
+ "attributes": [
277
+ {
278
+ "key": "session.id",
279
+ "value": {
280
+ "stringValue": "sess-subagent-delegation-demo"
281
+ }
282
+ },
283
+ {
284
+ "key": "gen_ai.conversation.id",
285
+ "value": {
286
+ "stringValue": "conv-subagent-delegation-001"
287
+ }
288
+ },
289
+ {
290
+ "key": "subagent.role",
291
+ "value": {
292
+ "stringValue": "validation-runner"
293
+ }
294
+ },
295
+ {
296
+ "key": "subagent.output_boundary",
297
+ "value": {
298
+ "stringValue": "raw_output_isolated_summary_returned"
299
+ }
300
+ }
301
+ ],
302
+ "events": [
303
+ {
304
+ "name": "subagent.tool_output.captured",
305
+ "timeUnixNano": "1779642341000000000",
306
+ "attributes": [
307
+ {
308
+ "key": "session.id",
309
+ "value": {
310
+ "stringValue": "sess-subagent-delegation-demo"
311
+ }
312
+ },
313
+ {
314
+ "key": "gen_ai.conversation.id",
315
+ "value": {
316
+ "stringValue": "conv-subagent-delegation-001"
317
+ }
318
+ },
319
+ {
320
+ "key": "subagent.role",
321
+ "value": {
322
+ "stringValue": "validation-runner"
323
+ }
324
+ },
325
+ {
326
+ "key": "subagent.operation_hash",
327
+ "value": {
328
+ "stringValue": "sha256:4154c9156b4a"
329
+ }
330
+ },
331
+ {
332
+ "key": "subagent.tool.exit_code",
333
+ "value": {
334
+ "intValue": "2"
335
+ }
336
+ },
337
+ {
338
+ "key": "subagent.tool.output_line_bucket",
339
+ "value": {
340
+ "stringValue": "under_1k"
341
+ }
342
+ },
343
+ {
344
+ "key": "subagent.tool.output_byte_bucket",
345
+ "value": {
346
+ "stringValue": "under_100k"
347
+ }
348
+ },
349
+ {
350
+ "key": "subagent.tool.output_hash",
351
+ "value": {
352
+ "stringValue": "sha256:8e7b8ef6576acdd532af1d49f2fa46897378e35570c57685262933d0b330cddc"
353
+ }
354
+ },
355
+ {
356
+ "key": "subagent.tool.path_hashes",
357
+ "value": {
358
+ "stringValue": "sha256:4a0b37e5763b,sha256:da715b86c7e9"
359
+ }
360
+ },
361
+ {
362
+ "key": "subagent.tool.output_entered_parent_context",
363
+ "value": {
364
+ "boolValue": false
365
+ }
366
+ },
367
+ {
368
+ "key": "privacy.raw_tool_output_recorded",
369
+ "value": {
370
+ "boolValue": false
371
+ }
372
+ },
373
+ {
374
+ "key": "privacy.raw_paths_recorded",
375
+ "value": {
376
+ "boolValue": false
377
+ }
378
+ }
379
+ ]
380
+ }
381
+ ]
382
+ }
383
+ ]
384
+ }
385
+ ]
386
+ }
387
+ ]
388
+ }
@@ -0,0 +1,4 @@
1
+ {"trace_id":"c59684a417a9ba4bf564d36b0708cea7","span_id":"78478fb01418d844","name":"subagent.delegation.requested","time":"2026-05-24T17:05:07.000Z","attributes":{"session.id":"sess-subagent-delegation-demo","gen_ai.conversation.id":"conv-subagent-delegation-001","agent.name":"claude-code","subagent.delegation.operation_hash":"sha256:4154c9156b4a","subagent.delegation.reason_hash":"sha256:3e126e9af8db12e368a86f3ce090a22d4662d1b94254eb75c937beba3ff9fbe2","subagent.delegation.estimated_output_line_bucket":"under_1k","subagent.delegation.parent_context_before_bucket":"over_50k","subagent.delegation.threshold_policy":"delegate_outputs_over_50_lines","privacy.raw_parent_prompt_recorded":false,"privacy.raw_operation_output_recorded":false}}
2
+ {"trace_id":"c59684a417a9ba4bf564d36b0708cea7","span_id":"acbfe4c56e4a33e8","name":"subagent.tool_output.captured","time":"2026-05-24T17:05:41.000Z","attributes":{"session.id":"sess-subagent-delegation-demo","gen_ai.conversation.id":"conv-subagent-delegation-001","subagent.role":"validation-runner","subagent.operation_hash":"sha256:4154c9156b4a","subagent.tool.exit_code":2,"subagent.tool.output_line_bucket":"under_1k","subagent.tool.output_byte_bucket":"under_100k","subagent.tool.output_hash":"sha256:8e7b8ef6576acdd532af1d49f2fa46897378e35570c57685262933d0b330cddc","subagent.tool.path_hashes":"sha256:4a0b37e5763b,sha256:da715b86c7e9","subagent.tool.output_entered_parent_context":false,"privacy.raw_tool_output_recorded":false,"privacy.raw_paths_recorded":false}}
3
+ {"trace_id":"c59684a417a9ba4bf564d36b0708cea7","span_id":"78478fb01418d844","name":"subagent.summary.returned","time":"2026-05-24T17:05:50.000Z","attributes":{"session.id":"sess-subagent-delegation-demo","gen_ai.conversation.id":"conv-subagent-delegation-001","subagent.summary.hash":"sha256:b675efd0f6f25b7d4e2afda4c71a0626dab6f422d81bd8303a4ea82accbd4986","subagent.summary.char_bucket":"under_10k","subagent.summary.bullet_count":4,"subagent.summary.parent_received_raw_output":false,"subagent.summary.parent_received_raw_paths":false,"subagent.summary.boundary":"bounded_summary_only","privacy.raw_summary_recorded":false,"privacy.raw_child_output_recorded":false}}
4
+ {"trace_id":"c59684a417a9ba4bf564d36b0708cea7","span_id":"78478fb01418d844","name":"parent.context_budget.evaluated","time":"2026-05-24T17:05:53.000Z","attributes":{"session.id":"sess-subagent-delegation-demo","gen_ai.conversation.id":"conv-subagent-delegation-001","parent.context.after_bucket":"over_50k","parent.context.added_token_bucket":"under_1k","subagent.child_output_token_bucket":"under_50k","subagent.context_savings.proven":true,"subagent.delegation.audit_gap":"receipt_proves_parent_boundary_not_summary_correctness","privacy.raw_parent_note_recorded":false}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pluribus-context",
3
- "version": "0.3.22",
4
- "description": "AI context/rules sync and fidelity audit CLI for CLAUDE.md, Claude Code, Cursor rules, Copilot instructions, OpenClaw, Windsurf, Continue, Zed, Bob, and semantic drift.",
3
+ "version": "0.3.26",
4
+ "description": "AI context and rules sync CLI for Claude.md, Claude Code, Cursor, and Copilot instructions, with privacy-safe context receipts that prove what memory, tools, skills, compactions, and security findings crossed agent boundaries without logging raw content.",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/caioribeiroclw-pixel/pluribus#readme",
7
7
  "repository": {
@@ -55,6 +55,7 @@
55
55
  "context",
56
56
  "context-drift",
57
57
  "context-engineering",
58
+ "context-receipts",
58
59
  "context-files",
59
60
  "context-sync",
60
61
  "continue",
@@ -63,6 +64,9 @@
63
64
  "cursor",
64
65
  "cursor-rules",
65
66
  "developer-tools",
67
+ "ai-agent-observability",
68
+ "opentelemetry",
69
+ "mcp",
66
70
  "drift-detection",
67
71
  "openclaw",
68
72
  "rules",