Skip to content

docs: prompt → gate → restore divergence audit + relaxation plan#233

Open
KyubumShin wants to merge 2 commits into
mainfrom
docs/exp22-prompt-gate-restore-audit
Open

docs: prompt → gate → restore divergence audit + relaxation plan#233
KyubumShin wants to merge 2 commits into
mainfrom
docs/exp22-prompt-gate-restore-audit

Conversation

@KyubumShin

@KyubumShin KyubumShin commented May 28, 2026

Copy link
Copy Markdown
Owner

Summary

Three companion design docs from the post-Exp22 audit sweep. No code changes.

  • docs/findings/2026-05-28-prompt-gate-restore-divergence.md — where the 3-tier (prompt 권고 → gate block → restore) pattern breaks down. Categories A (prompt-only) / B (gate without envelope) / C (envelope without routing) / D (trace coverage).
  • docs/findings/2026-05-28-enforcement-relaxation-plan.md — per-finding tier recommendation (block / warn / telemetry) so the cleanup work isn't "block everything."
  • docs/findings/2026-05-29-over-enforcement-audit.md — where Layer 2 OVER-applies. Categories A (hard-coded threshold) / B (lifecycle binary block) / C (prompt over-prescription).

Why now

After the 5-issue Exp22 follow-up cycle (PRs #226 / #227 / #228 / #229 / #231), the user asked for a sweep against the intended pattern. The first audit found under-enforcement; the second confirmed the relaxation lever (ENFORCEMENT_DEFAULTS) already exists; the third found over-enforcement that prevents legitimate workflows.

Resulting issues

Under-enforcement track:

Over-enforcement track:

Key takeaway

The relaxation lever already exists — hooks/lib/mpl-config.mjs::ENFORCEMENT_DEFAULTS defines per-rule warn/block/off policies. Most cleanup work is wiring hand-rolled blocks to the existing policy + extracting hard-coded literals to config — NOT introducing new constraint surface area.

Test plan

  • Docs only — no code changes, no tests affected.

🤖 Generated with Claude Code

Two findings docs from the post-Exp22 follow-up audit:

1. `2026-05-28-prompt-gate-restore-divergence.md` — concrete catalog
   of where the intended 3-layer pattern (prompt 권고 → gate 체크 →
   자동 restore) breaks down. Four categories: A (rule lives in prompt
   only, no hook), B (hook blocks but bypasses recordBlockedHook
   envelope), C (envelope exists but mpl-recover doesn't route the
   code), D (trace tool's PURPOSES map drifted away from new #226
   hooks).

2. `2026-05-28-enforcement-relaxation-plan.md` — per-finding
   recommendation on enforcement tier (block / warn / telemetry) so
   the fix path isn't "block everything." Notes that v0.18.0's
   ENFORCEMENT_DEFAULTS (warn-by-default per #110) is the existing
   relaxation lever — most B-category hooks just bypass it via
   hand-rolled block(reason). Sequencing: B-category envelope wiring
   first, C-category routing second, A-category high-severity third.

No code changes in this commit — these are the design docs that
inform the actual implementation work.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Third audit in the prompt → gate → restore sweep. The 2026-05-28
divergence audit found Layer-2/3 gaps (gate missing or unwired); this
one finds where Layer-2 over-applies — binary block when warn would
suffice, hard-coded thresholds with no config knob, allowlists that
exclude legitimate ecosystems, prompt MUSTs that prescribe single
algorithms over valid alternatives.

Three categories (A: hard-coded threshold needing config; B:
lifecycle / state binary→3-mode; C: prompt over-prescription) with
~24 concrete findings cross-checked against ENFORCEMENT_DEFAULTS,
existing *_required toggles, and recover-skill routing.

Also reviews issues #234-238 against this lens: #234/#235/#237 clean,
#236/#238 need reshape. Recommends three NEW follow-up issues for
the relaxation patterns identified (config-driven thresholds,
lifecycle 3-mode, prompt over-prescription cleanup).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@KyubumShin

Copy link
Copy Markdown
Owner Author

Scheduled Hermes PR Review

Scope: lightweight diff review of PR #233 at 0bd4674.

Findings

Notes / Caveats

  • Tests were not run because this PR is documentation-only and contains no executable code changes.
  • Review was diff-only; linked issues and referenced source locations were not exhaustively revalidated against the current repository tree in this scheduled lightweight pass.

Automated periodic review by Hermes Agent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant