Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/alphabitcore/nexus-gateway/text-first-normalizergit clone --depth 1 https://github.com/AlphaBitCore/nexus-gatewayWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00450 |
| Opus 5 | $0.00000 | $0.00225 |
| Sonnet 5 | $0.00000 | $0.00090 |
| Haiku 4.5 | $0.00000 | $0.00045 |
Grade A, and why
text-first-normalizer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Text-first normalizer (binding)
For consumer-surface traffic (chatgpt-web, claude-web, cursor, gemini-web, and any future consumer-side wire format), the normalizer's only required output is readable text. Losing token / usage stats at this stage is acceptable.
Canonical memory: feedback_compliance_proxy_text_first.
What's required
ExtractText(raw []byte) (Extracted, error) MUST produce the user's prompt + the assistant's response as plain UTF-8 text. Hooks evaluate against this text; audit captures this text. If text extraction fails, the request still flows but is recorded with extract_error=....
What's optional
Token counts, cost stats, role-by-role decomposition, tool-call structure — nice-to-have. Consumer wire formats are inconsistent and brittle; insisting on full canonical structure produces fragile adapters that break on every minor provider UI update.
For API-surface traffic (the same provider hit via SDK / /v1/*), the same adapter typically produces both text AND structured usage; that's a bonus, not a contract.
What this rule prevents
Adapter authors writing 200-line OpenAI-shape canonicalizers for claude-web just to satisfy "completeness". Brittle structural normalizers break on every consumer-surface UI update; keep adapters text-first.
Tier-2 NonJSONDetector
For non-JSON wire formats (binary protocols, multipart, gRPC-Web, raw audio): add a NonJSONDetector in packages/shared/transport/normalize/extract/detector.go. Tier-1 adapters delegate to the detector. Do NOT write a fresh per-host adapter for a new non-JSON format. Canonical memory: feedback_tier2_nonjson_detector_framework.
Skipping this rule requires explicit user approval in chat.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 36 lines · 0 tokens per session scan A 2a168b810f0c
text-first-normalizer is a cursor rule published in the GitHub repository AlphaBitCore/nexus-gateway (22 stars, last pushed 7d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 450 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
10-deterministic-audit
Enforce deterministic audit behavior — no invented controls, cite authoritative sources, emit traceable artifacts.
flagship_author
How to author a flagship in ks-cookbook.
recipe_author
How to author a recipe in ks-cookbook.
30-framework-routing
Route tasks to HIPAA, HITECH, PCI-DSS, SOC 2, ISO 27001, NIST CSF, NIST AI RMF, FERPA, COPPA, CCPA, US state privacy, GDPR, FedRAMP, SOX, CMMC, and GLBA skills based on user intent and presets.
00-compliance-agent-core
Core compliance agent mission, PHI redaction gate, and audit lifecycle for HIPAA, PCI-DSS, and SOC 2.
20-phi-redaction-first
PHI redaction first — Presidio gate, token handling, and minimum necessary LLM access for HIPAA workflows.