AI Bindings
ai_prompt_agent_bindingsAI_GATEWAY_CODE_READY
Generated at
2026-05-29T10:07:47ZSnapshot version
1Redaction
APPLIEDSource paths
- config/ai_gateway/prompt_agent_binding.yaml
- config/ai_gateway/task_capability_binding.yaml
- config/ai_gateway/review_gate_binding.yaml
- config/ai_gateway/output_schema_binding.yaml
Warnings
- MP11A AI Gateway: no live AI; no API keys; no external network.
- Prompt body and protected logic never serialized (PPB-01..PPB-10).
Protected Prompt Boundary (PPB-01..PPB-10)
Prompt body text is not stored in this repository, not present in the database schema, and never serialized into API responses or UI snapshots. The UI shows [REDACTED-PPB-PROTECTED] in place of any field that matches the forbidden set.
PPB-PROTECTED
Defense in depth — six layers
- 1. Config — config/prompts/prompt_registry.yaml stores metadata only. Prompt body text never lives in YAML.
- 2. Schema — db/migrations/001_initial_schema.sql defines rfa.prompt_records WITHOUT body/template_body/full_prompt columns.
- 3. API — apps/api/src/lib/prompt-redactor.ts walks responses and replaces forbidden keys with the redaction marker.
- 4. Snapshot — scripts/ui/generate_static_registry_snapshots.py redacts again at snapshot-emit time.
- 5. UI — apps/web/src/lib/redaction.ts runs a third pass before any payload reaches a component.
- 6. Validator — scripts/validation/validate_protected_prompt_ui_boundary.py refuses to PASS if any forbidden field is un-redacted.
Top-level metrics
| Field | Value |
|---|---|
| prompt_agent_bindings_count | 12 |
| task_capability_bindings_count | 14 |
| review_gate_bindings_count | 12 |
| output_schema_bindings_count | 8 |
| ppb_safe | true |
| protected_prompt_body_exposed | false |