# Canonical tag vocabulary for docs — mainly EDB systems.
# Tag a note by adding e.g. `tags: [elements, gms2]` to its frontmatter.
# Keeping the list here means tag names stay consistent, so search and the
# auto-generated /tags/<name> index pages actually group things correctly.

elements:
  label: Elements
  description: EDB Elements application — form/template ingestion and file upload.

gms1:
  label: GMS1 (TPGMS)
  description: Grant Management System v1, a.k.a. TPGMS. Target of downstream MQ events.

gms2:
  label: GMS2
  description: Grant Management System v2. Called via process action during PostDTA handoff.

portal:
  label: Portal
  description: Applicant-facing portal.

mq:
  label: MQ
  description: Message queue used for cross-system event handoff.

# --- AI engineering learnings ---

rag:
  label: RAG
  description: Retrieval-augmented generation — retrieval design, tuning, grounding.

vector-db:
  label: Vector DB
  description: Vector stores and their tradeoffs (pgvector, Qdrant, etc.).

structured-outputs:
  label: Structured Outputs
  description: Schema-validated model output (Pydantic, JSON schema).

model-routing:
  label: Model Routing
  description: Routing steps between cheap and strong models.

cost:
  label: Cost
  description: Token spend and cost-optimisation learnings.

reliability:
  label: Reliability
  description: Retries, graceful degradation, failure handling.

context-engineering:
  label: Context Engineering
  description: Curating what goes into the context window per call.

prompting:
  label: Prompting
  description: Prompt design, anatomy, and versioning.

evals:
  label: Evals
  description: Measuring output quality — golden sets, LLM-as-judge.

agents:
  label: Agents
  description: Agent vs workflow design, state machines, tool use, multi-agent.

security:
  label: Security
  description: Guardrails, auth, prompt-injection defences.

infrastructure:
  label: Infrastructure
  description: Datastores, services, deployment, and ops choices.

# --- General engineering topics ---

sql:
  label: SQL
  description: SQL queries, safety, and database access patterns.

claude-code:
  label: Claude Code
  description: The Claude Code CLI — commands, config, and workflows.

workflow:
  label: Workflow
  description: Personal workflow, automation, and productivity setups.

webhooks:
  label: Webhooks
  description: Inbound webhook handling — signature verification, payload parsing, idempotency.

docker:
  label: Docker
  description: Container images, Dockerfiles, and build-time gotchas.

python:
  label: Python
  description: Python idioms, packaging, and language-level gotchas.

networking:
  label: Networking
  description: Ports, proxies, tunnels, and how traffic gets in and out of a machine.

tls:
  label: TLS
  description: Certificates, certificate authorities, and HTTPS trust.

concurrency:
  label: Concurrency
  description: Races, locks, and coordinating processes that touch the same data.

migrations:
  label: Migrations
  description: Versioned schema change — migration tools, rollout ordering, safety.

validation:
  label: Validation
  description: Checking data at the boundary — schemas, types, parse-don't-check.
