Skip to content

zl190/noglaze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

noGlaze!

License Claude Code

PUA makes your AI work harder. noGlaze! makes sure it's not just glazing you back.

Your AI will tell you the code is robust, handles edge cases, and is production-ready β€” right before it silently ignores half your requirements. noGlaze! audits every Write/Edit at the system level. Bad output gets blocked. Not warned. Blocked.


How it works

Every time Claude writes or edits a file, noGlaze! spawns an adversarial reviewer in a clean context β€” no memory of what Claude just said, no motivation to be nice. The reviewer runs a backward diagnosis chain:

Results ← Execution ← Design ← Claims ← Target

If the output doesn't survive, exit 2 fires and Claude Code blocks the tool call.

Before noGlaze!

You: Write a function to parse CSV files
AI: Here's a robust CSV parser with full error handling! [writes 30 lines]
    βœ… Handles malformed rows
    βœ… Edge cases covered
    # (none of this is true)

After noGlaze!

You: Write a function to parse CSV files
AI: [writes function]
noGlaze! 🚫 FLAGGED β€” no error handling for malformed rows,
          no test for edge cases, claims "robust" in docstring
          but handles 0 edge cases. Prove it or revise.
AI: [rewrites with actual error handling]
noGlaze! βœ… passed β€” 3 edge cases handled, docstring matches behavior

Install

# One-liner (Claude Code plugin)
echo '{"plugins": ["github:zl190/noglaze"]}' >> ~/.claude/plugins.json

# Or clone and link manually
git clone https://github.com/zl190/noglaze ~/.claude/plugins/noglaze

That's it. No config required. Hooks activate on the next Claude Code session.


Quick Start

  1. Install (see above).
  2. Open a Claude Code session β€” hooks are active automatically.
  3. Ask Claude to write or edit any file. noGlaze! intercepts the result and runs a blind review.
  4. If the output doesn't match its own claims, exit 2 fires and Claude is forced to revise before the file is written.
  5. Check your audit log anytime:
cat ~/.noglaze/audit.jsonl | jq

No prompts to write. No config to tune. It runs in the background on every session.


What it does

Hook Trigger Action
PreToolUse git push, gh repo create, gh pr create Blocks external actions if nothing was tested. Registry-based β€” add your own patterns.
PostToolUse Every Write or Edit Spawns adversarial reviewer in clean context. exit 2 blocks if it fails.
PreCompact Before context compression Saves audit state to disk so findings survive the compaction.

Every audit is logged to ~/.noglaze/audit.jsonl β€” timestamp, file, verdict, reason.


Works with PUA πŸ”

PUA (10k ⭐) pressures the input side β€” it makes Claude try harder before giving up.

noGlaze! closes the loop on the output side.

[PUA]      β†’ "You have the skills, push through, try harder"
[Claude]   β†’ tries harder, writes something
[noGlaze!] β†’ "Prove it. Exit 2."
[Claude]   β†’ actually proves it

Use them together: PUA to stop Claude from giving up, noGlaze! to stop Claude from bullshitting.


Audit trail

Every check appends a structured entry to ~/.noglaze/audit.jsonl:

{
  "ts": "2025-04-02T14:23:01Z",
  "file": "src/parser.py",
  "verdict": "FLAGGED",
  "claims": ["robust CSV parser", "handles edge cases"],
  "gaps": ["no error handling for malformed rows", "docstring unverified"],
  "exit_code": 2
}

Run cat ~/.noglaze/audit.jsonl | jq to see your AI's track record.


Roadmap

  • PostToolUse hook β€” Write/Edit audit
  • PreToolUse hook β€” pre-push gate (blocks untested pushes)
  • PreCompact hook β€” state persistence
  • JSONL audit trail
  • Registry-based external action detection
  • noglaze stats β€” audit summary CLI
  • Configurable strictness levels (strict / default / lenient)
  • Per-project .noglaze config override
  • GitHub Action for CI/CD audit gate

Contributing

Open issues for false positives β€” the auditor should be adversarial, not paranoid. PRs welcome.


License

MIT β€” use it, fork it, enforce it on your teammates.


Origin

Hooks aren't new β€” git, CI/CD, and web middleware have used them forever. We rediscovered the pattern inside Claude Code's source: exit 2 blocks tool calls at the system level, surviving even when the model's context degrades. noGlaze! is that pattern applied to output quality.

Built by reading production agent source, rebuilding each layer, and shipping what we learn.


Companion to tanweai/pua. Glazing not accepted. 🚫🍯

About

🚫🍯 Output quality audit with hook enforcement. Stops your AI from glazing you. Companion to tanweai/pua.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages