Software Engineering
Inventory and Label LLM Call Sites
A source-linked inventory of every LLM invocation that records caller, model or provider boundary, data class, purpose, interaction shape, and owner without assuming an instrumented tool exists.
The process
Work it in this order.
- Set the repository, revision, languages, services, and definition of an LLM call, including wrappers, SDK calls, agent tools, retries, and configuration-selected providers.
- Search source and dependency boundaries, then inspect request construction, prompts, tool loops, streaming, fallbacks, caching, retries, and response handling.
- Label each call site with owner, purpose, user or system trigger, model or provider boundary, data classification, authorization, interaction pattern, and observability state.
- Map calls to tests, traces, metrics, logs, cost controls, and retention policies, marking anything that cannot be verified instead of inferring runtime behavior.
- Review secrets, personal data, prompt injection exposure, tool permissions, egress, and failure handling, and record the evidence and access boundary for each concern.
- Rank follow-up work by user impact, risk, evidence strength, and expected efficiency, distinguishing a source fact from a hypothesis about usage or cost.
- Publish the inventory with exact locations, labels, provenance, coverage gaps, evidence, and unresolved risks, and pause before changing production behavior.
Bring this
Inputs the cat will ask for.
- repository or service scope and revision
- LLM provider and wrapper inventory
- data and authorization boundaries
- required labels and observability fields
Router + one playbook
Route first. Choose one.
Cat Paw loads one playbook per task rather than merging several. Start with this router; the remaining paths are workflow-specific candidates it can inspect.
- Router:
token-efficient-agenting-pack skills/token-efficient-agenting-pack/llm-callsite-inventory-and-labeling/SKILL.md
Guardrails
The boundaries travel with the prompt.
- Verify the actual tools, accounts, permissions, and workspace before starting; never claim an unavailable tool, account, source, or capability.
- Use Latch/target-workspace for private code, artifacts, live probes, or non-public data; if that access is unavailable, stop at the boundary and report the blocker rather than substituting a guess.
- Pause for explicit approval before consequential external actions; return evidence and unresolved risks, assumptions, and any action still awaiting approval.
Done means
A checkable finish.
A source-linked inventory labels every in-scope LLM call site by purpose, data and permission boundary, interaction shape, observability, owner, evidence, and unresolved risks.
Sources
Where this process came from.
- github.com/JuliusBrussee/caveman/tree/2fd153c67988e980fb0b2455c90832159a6a5a25/
- github.com/open-telemetry/semantic-conventions-genai
Sources establish the workflow pattern. Reddit and community posts, where present, are treated as practitioner anecdotes rather than universal facts.