One question, three roles
The same question, asked by three people with different authority over the same machine. The difference is not a sentence in the prompt asking the model to be careful. It is a filter on retrieval: the passages a role may not see never enter the context window, and the removal is recorded.
The question
What is the relief-valve setting on the 4 CFM 3000 PSI charging compressor, and how do I adjust it?
Asset: Stewart-Warner 43040-301-01, 4 CFM @ 3000 PSI — the highest-pressure machine in the corpus, seventeen times the working pressure of the 175 PSI shop units.
Service engineer
waiting…Certified on high-pressure charging plant. Sees the full procedure.
Tiers visible: general, machine, programme ·
safety-critical policy: allow
Product engineer
waiting…Design authority. Sees specifications and cross-variant comparison, not field adjustment steps.
Tiers visible: general, machine, programme ·
safety-critical policy: spec_only
Customer support
waiting…Non-technical. Barred from high-pressure plant content entirely; the correct behaviour here is to refuse and escalate.
Tiers visible: general, programme ·
safety-critical policy: deny
Why this is a retrieval control, not a prompt
A policy expressed in the system prompt is a suggestion; the passage is still
in the context window and one adversarial turn recovers it. A policy applied in
apply_role_policy removes the passage before generation, and returns the list of
what it removed and why — which is the artefact an auditor asks for. The code is about forty
lines in pipeline/retrieval.py.
Index built by scripts/build_index.py at 2026-08-10 01:44:34 in 711s: 25 documents, 3,146 pages, 12,590 improved chunks / 5,434 naive chunks. Embeddings: Snowflake/snowflake-arctic-embed-s (int8 ONNX, Apache-2.0). Reranker: cross-encoder/ms-marco-MiniLM-L-6-v2 (ONNX, Apache-2.0).