28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
CRITICAL ENCODING RULE: Always read/write text files strictly as UTF-8, never ANSI/CP1251 fallback, and verify no mojibake before finishing.
|
||
# Agent Guardrails (NDC_1C)
|
||
|
||
## Scope
|
||
This repository has two assistant lanes:
|
||
- `address_query` for fast factual MCP lookups.
|
||
- deep/canonical normalizer lane for heavy analysis.
|
||
|
||
Do not route plain address lookups to deep lane when an address fallback is possible.
|
||
|
||
## Encoding Policy (Mandatory)
|
||
To prevent recurring mojibake (`Р...`, `С...`) issues:
|
||
|
||
1. Use UTF-8 for all source and exported text artifacts.
|
||
2. When reading or writing text in PowerShell, always set encoding explicitly (`-Encoding utf8`).
|
||
3. For MCP/live payloads, normalize potentially broken UTF-8/CP1251 strings before matching/filtering.
|
||
4. Never store business-specific names in static normalization dictionaries.
|
||
- Use runtime anchor resolution from live rows.
|
||
5. Before finishing a change touching assistant text/debug/export:
|
||
- run tests that cover conversation export and address runtime,
|
||
- verify no new mojibake markers in changed files.
|
||
|
||
## Address Runtime Rules
|
||
1. MSP/MCP-first. Snapshots are fallback only.
|
||
2. `false_factual_rate` must remain `0`.
|
||
3. For short follow-ups with loose anchor form (`по <anchor>`), keep in address lane.
|
||
4. If factual result is unavailable, return operational limited reason, never hallucinate.
|