Description
Read-only customer-stack queries settle the baseline questions in the approved design: gen_ai_client_* agent label, backend cost and judge-token family presence, and management API and ratings credential scope.
Acceptance Criteria
- #1 Each W0 question has a recorded answer with the query that produced it
- #2 Missing credentials or scopes are reported, not minted
Definition of Done
- #1 just check (fmt-check, lint, gen-check, env-check, docs-check, test, race, hygiene, ui-check, compose-check, helm-test, lab-check, signal-fidelity)
- #2 just gen (only if a blueprint field, construct/workload config struct, or a skill under plugins/synthkit/skills/ changed)
- #3 just dump — inventory diffed against signals/
Implementation Plan
Capture authorised GET-only baseline, retain raw evidence machine-locally, and record sanitised conclusions before wire changes.
Implementation Notes
Baseline at e8bd878149a3e26e3d1a011a1904ccaf28cd4add: explicit Prometheus datasource UID; HTTP 200 for all metric queries. Instant gen_ai_client metrics empty, but count by (name,agent_name,gen_ai_agent_name) over last_over_time({name=~“gen_ai_client_.*”}[24h]) confirms gen_ai_agent_name. Cost family nonempty for real agents; seven-day population contains no known shipped synthkit agent names, so synthetic-ingest cost remains unverified. judge_tokens empty instant, 24h and 7d. Plugin GET evaluators, hook-rules, rules, collections, experiments, test-suites and existing-conversation ratings all HTTP 200. GET scope verified, not write scope; no credentials minted. Raw deployment identifiers intentionally retained only machine-locally.
A subsequent explicitly authorised zero-cost scope probe used the existing instance credential to create one regex evaluator and one disabled hook restricted to a synthetic non-emitting probe agent. Both exact read-backs returned HTTP 200 with expected identity and content. Serial hook then evaluator deletion returned HTTP 204; exact reads returned HTTP 404 and complete healthy collection reads returned HTTP 200, confirming cleanup. This establishes evaluator and hook management write scope only, not every management route. No model or runtime call, credential change, conversation, suite or experiment was created. Exact object identifiers and raw evidence remain machine-local; nothing from the temporary probe is retained in public material.
Final Summary
Recorded GET-only baseline queries and limits, followed by a separately authorised zero-cost evaluator/disabled-hook permission probe with read-back and verified cleanup. No credential minted. Delivered in ad418d031b41ea6f201bd42b3db463e444bc9d1a; pushed batch tip e009f1955fc883aa8bb55cd8454272c37d18abfe passed the clean composed check including race. No schema or renderer changed; generation/inventory legs were not separately required for this read-evidence task.