exploring-endpoint-execution-logs — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited exploring-endpoint-execution-logs (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Every endpoint run emits one execution log entry to PostHog's log_entries store. This skill reads those entries for a specific endpoint to answer "what happened when it ran?". It is the log-level counterpart to diagnosing-endpoint-performance (which reasons about cache/materialisation strategy from config and query_log).
If the question is "this endpoint is slow, what should I change?", use diagnosing-endpoint-performance. If it's project-wide ("what can I clean up?"), use auditing-endpoints.
Each run produces exactly one entry. The level is INFO on success and ERROR on failure, and the message carries the extra data as searchable key=value tokens:
Endpoint executed · path=materialized cache=hit duration_ms=142 rows=1024 version=3
Endpoint execution failed · path=inline error=ResolutionError version=3Token meanings:
| Token | Values | Meaning |
|---|---|---|
path | materialized / inline / ducklake / ducklake_fallback | Which execution path ran |
cache | hit / miss | Whether the query result cache was used (omitted for ducklake) |
duration_ms | integer | Wall-clock execution time |
rows | integer | Number of result rows returned |
version | integer | Which endpoint version ran |
error | e.g. ResolutionError, HogVMException | Error class / HogQL code name (failures only) |
Each run gets a distinct instance_id, so logs group one-per-execution in the viewer.
| Tool | Purpose |
|---|---|
endpoint-logs | Primary. Execution log entries for one endpoint by name. Filter by level, search, time range, instance_id; limit up to 500. |
endpoint-get | Endpoint config for context (current version, materialisation, query kind) |
execute-sql | Fallback / aggregation directly against log_entries (log_source='endpoints') |
endpoint-logs exposes the standard log filters:
ERROR to see only failed runs, or INFO,ERROR for all.key=value tokens, you can search cache=miss, path=inline, error=ResolutionError, or a specific version=3.
/api/projects/{team_id}/endpoints/{name}/run.
endpoint-logs for the endpoint with a recent time range. Skim levels and tokens.level=ERROR; read the error= token and path= to see where it broke.search=cache=miss to see how often runs miss cache.rows= across runs, and version= to spot a regression after aversion bump.
execute-sql againstlog_entries:
SELECT toDate(timestamp) AS day, upper(level) AS level, count() AS runs
FROM log_entries
WHERE log_source = 'endpoints' AND log_source_id = '<endpoint_uuid>'
GROUP BY day, level ORDER BY day DESCGet the endpoint UUID from endpoint-get (the log_source_id is the endpoint id, not its name).
(hand off to diagnosing-endpoint-performance) or a query bug.
User: "weekly_signups started erroring this morning"
Agent steps:
- endpoint-logs weekly_signups, level=ERROR, after=<this morning>
→ several "Endpoint execution failed · path=inline error=ResolutionError version=5"
- endpoint-get weekly_signups → current version is v5 (bumped today)
- endpoint-logs weekly_signups, level=INFO, before=<this morning>
→ prior runs: "path=inline cache=hit ... version=4" succeeded
- "v5 (created this morning) is failing with a ResolutionError on the inline path — it can't
resolve a table or field reference. v4 ran fine. This looks like a bad query in the new
version. Want me to pull the v5 query (endpoint-versions) so we can fix it, or roll back to v4?"The detail lives in the tokens, not in multiple lines.
execute-sql, fetch it viaendpoint-get first.
log_entries TTL). Older runs won't appear.endpoint-logs tells you what happened and why a runfailed; for "should I materialise / bump cache TTL?" use diagnosing-endpoint-performance, which reasons over config and query_log cost metrics.
succeeded for the caller but no log shows, the emit was dropped, not the query.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.