docs(agents): what the audit log cannot answer #22
No reviewers
Labels
No labels
waiting-on-julian
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
jlxq0/jmap-mcp!22
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "docs/what-the-audit-log-cannot-answer"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Three limits of this service's own log, each measured on the running pod, and each of which reads as an answer rather than as a limit.
token_hashis a credential identifier, not a client identifierAll four sessions that mount jmap-mcp present the same bearer. Mounts live at
~/Smithy/<name>_agent/wt/main/src/mcp.json:Ten audit lines, three separate occasions, at least two sessions: 1 distinct
token_hash,userjulian@kampong.socialon all ten.Not wrong data. Non-discriminating data in the shape of discriminating data, which is worse than an absent field: an incident reader pairs
token_hashwithuser, sees identical hashes, and concludes they have separated or joined two callers. Per-session attribution would be a bearer-per-agent decision and is not this repository's to make.A request count is not a call count
One
mcp__jmap__whoamiproduced seven authenticated requests:The
ingress chain lengthline fires once per authenticated HTTP request, and streamable-http turns one tool call into a whole exchange. Reading nine requests as nine actions is out by most of an order of magnitude, and any rate or volume conclusion from these lines inherits it.The logs are JSON, so a
key=valuegrep matches nothingJMAP_MCP_LOG_FORMAT=json. Measured on a pod mid-flight:The line as it lands:
A zero there reads as "the feature is not running" rather than "my pattern is wrong", which is how it cost a fleet sweep three pods that were logging throughout. My own earlier reports rendered these lines as
entries=2 hops=2throughjq, which is a rendering rather than a quote, and pasting a rendering into a grep is how the wrong pattern gets built.Docs only.