Contexto
Policy: docs/ops/CURSOR_RULES_PHASE2_SITUATIONALIZATION.md (Tier A/B/C, ritual reprodutível). A fase 2 completou o Tier A (11 regras → situational) mas parou. Hoje: 36 always-on (frontmatter ^alwaysApply: true) vs a sacred baseline de ~5 do doc — queima contexto toda sessão. Esta é a onda Tier B: a que nunca rodou.
META (ordem do operador): NÃO é obrigatório atingir ~13. Melhorar o que for viável, sem quebrar guidance. Regra cross-cutting fica; workflow/raro vira situational. Reduzir de verdade > número mágico.
Passo 0 — limpar o commit ruim antes
O commit local 22e3c780 (na branch feat/rbac-hardening-1133-1134, não-pushado, ahead 1) é lixo do esporro. git reset pra e1970054 e recommitar SÓ a mudança boa do check-all-gate.mdc (two-tier local vs push/PR) num commit limpo em branch PRÓPRIA de gate/rules — fora da branch de RBAC. Não amenda lixo, refaz limpo.
Triagem (operador pode ajustar — é lean, não lei)
🟢 FICAM always-on (cross-cutting — safety/idioma/contrato/tokens):
agent-docs-private-read-access · docs-locale-pt-br-contract · session-mode-keywords · private-pii-never-public · public-tracked-pii-zero-tolerance · confidential-commercial-never-tracked · never-weaken-security-gates · agent-roles-executor-vs-auditor · operator-direct-execution · publication-truthfulness-no-invented-facts · docker-local-smoke-cleanup · windows-pcloud-drive-search-discipline
⚪ Workstation protection — FICA always-on, só reframe de naming:
primary-linux-workstation-protected + primary-windows-workstation-protected — proteger o MAIN dev box seja qual for (hoje T14/Linux; pode voltar pro L14) · T14 = secondary, MESMO rigor. Ajuste só texto/naming, mantém a proteção. (Não é a queixa.)
🟡 → situational (alwaysApply:false + globs/session-token latch, padrão Tier A):
agent-autonomous-merge-and-lab-ops(merge/completao) · ats-locale-aware-recommendations(ats) · audience-segmentation-docs(docs) · clean-slate-pii-self-audit(pii-fresh-audit) · collaboration-maintainer-contributor · cursor-browser-social-sso-hygiene(browser) · cursor-markdown-preview-guardrail(editor globs) · git-pr-sync-before-advice(git-op) · operator-browser-warm-session(browser) · operator-career-private-layout(career globs) · operator-evidence-backup-no-rhetorical-asks(private-stack-sync) · pre-commit-ruff(.py globs) · repo-scripts-wrapper-ritual · agent-session-ritual-sync-main-and-private-stack(carryover-sweep)
🔴 MERGE (redundância pura):
operator-chat-language + operator-chat-language-pt-br → uma regra de idioma.
persona-rigor + linguistic-rigor-and-performance → uma (tom/persona NASA + perf gate).
❓ Borderline (JUDGMENT do operador/Cursor — não forçar):
execution-priority-and-pr-batching · operator-investigation-before-blocking · operator-mandate-vs-external-limits · check-all-gate (a TRAVA é o hook #1151, não a regra — mas pode ficar always-on por ser git-cross-cutting; decidir).
AC — ritual reprodutível, sem thrash
- Passo 0 (reset + branch limpa própria) feito.
- Mover as 🟡 pra
alwaysApply:false + globs/token latch (espelhar latches do Tier A no doc). Merge as 🔴. Reframe as ⚪.
- Atualizar JUNTO no mesmo commit:
CURSOR_RULES_PHASE2_SITUATIONALIZATION.md (registrar Tier B done) + hubs + session-mode-keywords.mdc (tokens novos). O ritual move tudo junto.
- UM commit coeso, revertível (
git revert volta tudo). NÃO ligar nada novo em always-on. NÃO editar CLAUDE.md ad-hoc. NÃO thrash.
./scripts/check-all.sh --enforced verde ANTES do push. PR, CI verde, merge. Trailer Gate-Change-Approved-By: Fabio Tavares Leitão.
- Reportar a contagem final de always-on (antes/depois).
Reversibilidade é lei: cada onda = um commit; rollback = git revert. Se uma regra situational sumir de vista, o operador reabre com @rule.mdc ou token.
Contexto
Policy:
docs/ops/CURSOR_RULES_PHASE2_SITUATIONALIZATION.md(Tier A/B/C, ritual reprodutível). A fase 2 completou o Tier A (11 regras → situational) mas parou. Hoje: 36 always-on (frontmatter^alwaysApply: true) vs a sacred baseline de ~5 do doc — queima contexto toda sessão. Esta é a onda Tier B: a que nunca rodou.META (ordem do operador): NÃO é obrigatório atingir ~13. Melhorar o que for viável, sem quebrar guidance. Regra cross-cutting fica; workflow/raro vira situational. Reduzir de verdade > número mágico.
Passo 0 — limpar o commit ruim antes
O commit local
22e3c780(na branchfeat/rbac-hardening-1133-1134, não-pushado, ahead 1) é lixo do esporro.git resetprae1970054e recommitar SÓ a mudança boa docheck-all-gate.mdc(two-tier local vs push/PR) num commit limpo em branch PRÓPRIA de gate/rules — fora da branch de RBAC. Não amenda lixo, refaz limpo.Triagem (operador pode ajustar — é lean, não lei)
🟢 FICAM always-on (cross-cutting — safety/idioma/contrato/tokens):
agent-docs-private-read-access·docs-locale-pt-br-contract·session-mode-keywords·private-pii-never-public·public-tracked-pii-zero-tolerance·confidential-commercial-never-tracked·never-weaken-security-gates·agent-roles-executor-vs-auditor·operator-direct-execution·publication-truthfulness-no-invented-facts·docker-local-smoke-cleanup·windows-pcloud-drive-search-discipline⚪ Workstation protection — FICA always-on, só reframe de naming:
primary-linux-workstation-protected+primary-windows-workstation-protected— proteger o MAIN dev box seja qual for (hoje T14/Linux; pode voltar pro L14) · T14 = secondary, MESMO rigor. Ajuste só texto/naming, mantém a proteção. (Não é a queixa.)🟡 → situational (
alwaysApply:false+ globs/session-token latch, padrão Tier A):agent-autonomous-merge-and-lab-ops(merge/completao) ·ats-locale-aware-recommendations(ats) ·audience-segmentation-docs(docs) ·clean-slate-pii-self-audit(pii-fresh-audit) ·collaboration-maintainer-contributor·cursor-browser-social-sso-hygiene(browser) ·cursor-markdown-preview-guardrail(editor globs) ·git-pr-sync-before-advice(git-op) ·operator-browser-warm-session(browser) ·operator-career-private-layout(career globs) ·operator-evidence-backup-no-rhetorical-asks(private-stack-sync) ·pre-commit-ruff(.py globs) ·repo-scripts-wrapper-ritual·agent-session-ritual-sync-main-and-private-stack(carryover-sweep)🔴 MERGE (redundância pura):
operator-chat-language+operator-chat-language-pt-br→ uma regra de idioma.persona-rigor+linguistic-rigor-and-performance→ uma (tom/persona NASA + perf gate).❓ Borderline (JUDGMENT do operador/Cursor — não forçar):
execution-priority-and-pr-batching·operator-investigation-before-blocking·operator-mandate-vs-external-limits·check-all-gate(a TRAVA é o hook #1151, não a regra — mas pode ficar always-on por ser git-cross-cutting; decidir).AC — ritual reprodutível, sem thrash
alwaysApply:false+globs/token latch (espelhar latches do Tier A no doc). Merge as 🔴. Reframe as ⚪.CURSOR_RULES_PHASE2_SITUATIONALIZATION.md(registrar Tier B done) + hubs +session-mode-keywords.mdc(tokens novos). O ritual move tudo junto.git revertvolta tudo). NÃO ligar nada novo em always-on. NÃO editar CLAUDE.md ad-hoc. NÃO thrash../scripts/check-all.sh --enforcedverde ANTES do push. PR, CI verde, merge. TrailerGate-Change-Approved-By: Fabio Tavares Leitão.Reversibilidade é lei: cada onda = um commit; rollback =
git revert. Se uma regra situational sumir de vista, o operador reabre com@rule.mdcou token.