Cline rules
.clinerules/02-content-safety.mdCline rules
Quality
69/100
Scores the file, not the repository.Length
673 words
7 headings · 2 code blocksRepository
1
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.1# Content safety: nothing proprietary leaves the on-prem machine23The user reads your reports off your screen and hand-types into Teacher LLM. Teacher LLM must NEVER4see verbatim corpus content, MNO names, plan IDs, requirement IDs, release codes, or any5file path under `<env_dir>/input/`.67## Redaction protocol89You maintain a literal-string mapping at `<env_dir>/state/cline-mapping.json`. Apply it10forward (real → placeholder) before emitting any report, and reverse (placeholder → real)11when acting on Teacher LLM's response.1213**Mapping schema**:1415```json16{17 "version": 1,18 "mappings": {19 "<real-string>": "<placeholder>"20 }21}22```2324**Placeholder format** — angle-bracketed, category-prefixed, stable index:2526| Category | Pattern | Example |27|---|---|---|28| MNO short prefix | `<MNO{N}>` | `VZ` → `<MNO0>` |29| MNO alias | `<MNO{N}_ALIAS>` | `VZW` → `<MNO0_ALIAS>` |30| MNO full name | `<MNO{N}_NAME>` | `Verizon` → `<MNO0_NAME>` |31| Plan ID | `<PLAN{N}>` | `LTEAT` → `<PLAN0>` |32| Plan name | `<PLAN{N}_NAME>` | (use when plan_name differs from plan_id) |33| Release | `<REL{N}>` | `OA-baseline` → `<REL0>` |34| Requirement ID | `<REQID-{N}>` | `VZ_REQ_LTEAT_45` → `<REQID-0>` |35| Standards spec | `<SPEC{N}>` | `3GPP TS 24.301` → keep as-is (public standard, not proprietary) |3637`{N}` is a stable index — once allocated, never changes. New entries get the next free index.3839Apply substitution **longest-match-first** so `VZ_REQ_LTEAT_45` matches before `VZ`.4041The mapping playbook (`cline-playbooks/mapping.md`) describes how to seed and grow this42file.4344## Hard rules — never include in your report4546- Verbatim quotes from any document under `<env_dir>/input/`47- Section heading text > 5 words (treat as title-class quoted prose)48- Requirement body text (any length)49- Acronym definitions in full (the expansion phrase IS corpus content)50- Tabular requirement data51- Real values for any token in the mapping (always emit the placeholder)52- Un-redacted file paths under `<env_dir>/input/<...>` (the path components are MNO/RELEASE/PLAN)5354## OK to include (after redaction)5556- Counts, percentages, ratios57- Generic regex patterns — `^\d+(?:\.\d+)+\s+\S` is fine58- Format-class observations — `89% of headings are numbered N.N.N`59- Coverage stats — `rule catches 487/503`60- Counts of misses by severity — `HIGH=96%, MED=3%, LOW=0.1%`61- Source code paths inside the repo — `core/src/parser/structural_parser.py:1243`62 (those are repo paths, not corpus)63- Public standards references — `3GPP TS 24.301, Section 5.5.1.2.6` (public knowledge)64- Domain terminology — `ATTACH`, `EMM`, `NAS` (3GPP standard terms)6566## Borderline cases6768A regex that ORs corpus-specific values is suspect: `(ATTACH|DETACH|FOO)` is fine if all69three are public 3GPP terms; not fine if `FOO` is a customer-specific keyword. When unsure,70add `FOO` to the mapping and emit the redacted form.7172When unsure in general: ask the user. Default to redaction.7374## What this protects against7576A passing observer of the user's hand-typed reports — and Teacher LLM itself, which logs77conversations — never sees any string that uniquely identifies a customer, document,78release, or specific requirement. Patterns and counts are sufficient for Teacher LLM to79update code; concrete values stay on-prem.8081## Mapping snapshot location [D-062]8283Beyond the live `<env_dir>/state/cline-mapping.json` (forward redaction for outgoing84reports), Cline also maintains a **per-bootstrap mapping snapshot** at:8586```87customizations/mappings/<bootstrap_id>.json88```8990This snapshot pairs with the placeholdered profile at91`customizations/profiles/<bootstrap_id>.json` (which Teacher LLM commits to public92github). At parse time, NORA's runtime substitution layer reads the snapshot and93resolves placeholders in the profile's regex strings to real values.9495**The `customizations/mappings/` directory is NOT gitignored**. The contents are96committed and pushed to the **company-internal** git remote so every team member97shares one source of truth for the mappings. The trust boundary against the **public**98mirror (`github.com`) is the work-PC pre-push hook installed by99`~/work/utils/git-sync/sync-work.sh`: any `git push` whose remote URL is `github.com`100is rejected unless `NORA_ALLOW_PUBLIC_PUSH=1` is set explicitly (used only for101audited force-pushes such as history rewrites).102103You own this directory. `cline-playbooks/bootstrap.md` Step 8 specifies the write104operation; `cline-playbooks/mapping.md` documents the on-disk shape and the live-vs-105snapshot distinction. The directory IS suitable for git tracking — staging and106committing mapping files is part of the normal team-sync flow. The hook (not107`.gitignore`) is what keeps them off the public mirror.108
Also in kurnoolion/nora
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| kurnoolion/nora.clinerules/03-output-discipline.md · 1 | Cline rules | styletypes | 54/100 | 3 days ago | |
| kurnoolion/noraCLAUDE.md · 1 | CLAUDE.md | teststylearchagent-behaviour | 68/100 | 3 days ago | |
| kurnoolion/nora.clinerules/00-project.md · 1 | Cline rules | no sections | 30/100 | 3 days ago | |
| kurnoolion/nora.clinerules/01-role.md · 1 | Cline rules | do-not | 65/100 | 3 days ago |
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| u9401066/zotero-keeper.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/50-pubmed-project.md · 23 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| ryok/python-boilerplate.clinerules/common-commands.md · 0 | Cline rules | setupbuildtestlint-format+3 | 90/100 | 2 days ago | |
| u9401066/pubmed-search-mcp.clinerules/00-project.md · 23 | Cline rules | testlint-formatstylearch+1 | 86/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/60-pubmed-python.md · 23 | Cline rules | setuptestlint-formatstyle+2 | 86/100 | 3 days ago | |
| u9401066/zotero-keeper.clinerules/60-pubmed-python.md · 6 | Cline rules | setuptestlint-formatstyle+2 | 86/100 | 3 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/60-pubmed-python.md · 6 | Cline rules | setuptestlint-formatstyle+2 | 86/100 | 3 days ago |
