User and assistant text from the opted-in Pi JSONL artifact.
Understand the work
behind the tokens.
Register independently deployed insight services, apply different policies globally or by tenant and project, and connect every result to the repository, session, source items, tags, and run that produced it—all from your own control plane.
Multiple policies. Multiple services. One evidence boundary.
The gateway parses canonical Pi sessions, matches every active global, tenant, and project configuration, then calls the selected stateless gRPC processor. The gateway owns durable identity and provenance; the service owns the insight logic.
Bound input, remove thinking and tool records, resolve tags and configurations.
Return summaries, tagged results, source item IDs, usage, warnings, and proposed tags.
Store the run and provenance, then append accepted results to project knowledge.
Register the endpoint
Name, gRPC target, TLS or trusted-network plaintext, server name, timeout, active state, and a live health test.
Scope the policy
Attach a processor, instructions, tag behavior, summaries, input bounds, and a revision to global, tenant, or project scope.
Govern the vocabulary
Supply active tag names, descriptions, and usage counts to every service; choose whether a configuration may propose additions.
Audit the outcome
See configuration revision, project, input hash, status, session summary, insight count, usage, warnings, errors, and timing.
One project, however many checkout paths.
The plugin reports Git remotes, and the gateway normalizes SSH and HTTPS forms into a tenant-scoped project identity. That lets activity from different machines converge without merging unrelated repositories that merely share a folder name.
git@github.com:earlgrey/piproxy.git https://github.com/earlgrey/piproxy /Users/team-a/code/piproxy Four views of what the agent learned.
Raw session evidence, generated insight, prompt quality, and curated memory serve different jobs. The gateway keeps those layers distinct.
Keep the lesson, not the transcript
Agent observations and the distillation pass produce durable decisions, mistakes, lessons, and context that can be reviewed independently of a raw session.
See where the request caused rework
Project views separate prompt reflections from operational memory, making request quality visible without mixing it into the project runbook.
Compact repeated knowledge
Repeated lessons can be compacted into a focused project brief. Retrieval and injection remain policy-controlled and can be disabled centrally.
Know where an insight came from
Entries preserve their source type, conversation, and user attribution when available, so teams can validate the evidence before acting on it.
Use the stable repository remote as project identity; folder names are display hints only.
recorded by agent · conversation 7ba…Do not treat an empty knowledge response as zero insights when the knowledge store is unavailable.
generated by distiller · user attributedUsage attribution arrives from accepted proxy requests even when a canonical session upload is disabled.
recorded by agent · source linkedInsight stays auditable.
The project view reports pending, skipped, failed, and complete distillation work. If the knowledge store is unavailable, the gateway says so instead of displaying a misleading zero.
- Distillation is opt-in and project allowlisted
- Raw session upload remains a separate client opt-in
- Knowledge entries preserve available attribution
- Curated memory can be inspected before it is reused
Know which client and processor are actually connected.
gRPC health tests, version headers, session metadata, run failures, and aggregated extension reports make both sides of the insight pipeline visible.