fix(ego-review): add NOT-a-signal exception to ai-slop item #4#4
Merged
fix(ego-review): add NOT-a-signal exception to ai-slop item #4#4
Conversation
Restructure README to lead with quick start and ego-lint CLI usage. Add "For Reviewers" section explaining what ego-lint automates and what it doesn't do. Rename lint.sh to ego-lint (proper CLI name). Add --help flag. Add CI integration docs (GitHub Actions + GitLab CI). Add respectful acknowledgment in reviewer persona. Fix broken links in RESEARCH-SUMMARY.md and de-personalize attribution. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add ego-lint CLI usage section, document top-level wrapper in plugin structure, add docs/ci-integration.md reference. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Front-load deterministic trust signal, add bundled fixture demo, reframe For Reviewers with receiver-focused framing, add test coverage stats, replace authority claims with data-backed language. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reduce hara-hachi-bu warnings from 90 to 29 (68% reduction) through six categories of changes: - Remove baseless checks (error-message-verbosity, compiled-schemas-dir) - Raise thresholds (notification 3→5, complexity 1000→1500, LOC-scaled logging) - Trim R-PREFS-04b to 13 widgets with real Adw alternatives, move ListBox to advisory - Add pattern deduplication (R-SEC-20 emits one summary instead of per-file) - Improve heuristics: empty-catch cleanup suppression, module-state null-reset, mock try/catch import guard, constructor Adw rows + destroy() skip, cancellable parameter detection in async checks - Add ego-lint-ignore inline suppression for both Tier 1 and Tier 2 rules - Scope gettext check to entry points only (extension.js, prefs.js) - Downgrade non-gjs-scripts to PASS when pkexec detected 362 tests passing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reduce false positives (90→17 warnings on hara-hachi-bu baseline): - Deduplicate R-PREFS-04b and remove Gtk.Box from pattern - Raise file-complexity threshold to 2000 for prefs.js - Add GSettings operations to empty-catch suppression - Adjust logging-volume ratio from 1:100 to 1:70 Add community framing and contributor tooling: - Reframe README for review queue value proposition - Add GOVERNANCE.md for rule authority and co-maintainer recruitment - Add "For Reviewers: Add a Check in 5 Minutes" to CONTRIBUTING.md - Add scripts/new-rule.sh interactive rule scaffolder - Add scripts/validate-fixture.sh fixture validator Add professional polish: - GitHub Actions CI (.github/workflows/test.yml) - Issue templates (false-positive, new-rule) and PR template - docs/ARCHITECTURE.md with three-tier system overview Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ent-aware catches, and _destroyed recognition - Add `replacement-pattern` field to apply-patterns.py: suppresses match when replacement also exists in same file (used by R-VER48-07 for dual CSS selectors) - Skip commented catch blocks in check-quality.py (documented empty catches are intentional per the AI slop checklist) - Suppress async/missing-cancellable for files using `_destroyed` pattern in check-async.py (alternative async safety mechanism) - Check package.sh for mock filename exclusions in check-quality.py before warning on mock-in-production - Add 4 test fixtures and 8 new assertions (372 total, up from 364) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add "Why AI Is Only in Tier 3" section to ARCHITECTURE.md explaining the deliberate AI boundary (reproducibility, auditability, trust, offline). Consolidate false-positive-reduction.md into gap-analysis.md as a structured table of 10 known false positives. Expand README with "For EGO Reviewers" section, author context, roadmap, and updated counts (142 fixtures, 372 assertions). Add version-gating and replacement-pattern docs to rules/README.md with worked examples and complete category prefix table. Deduplicate CONTRIBUTING.md field reference via link to rules/README.md. Add plugin.json metadata (author, homepage, repository, license, keywords). Create CHANGELOG.md for v0.1.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…private-api, fix verdict counting - Remove R-SEC-07 (St.Clipboard pattern) — redundant with quality/clipboard-disclosure which already detects clipboard usage AND verifies metadata description disclosure - Consolidate quality/private-api output from up to 6 WARN lines to single consolidated line - Fix verdict to count unique check IDs instead of raw WARN lines; raise threshold to >8 - Narrow R-SEC-20 (pkexec) scope from ["*.js", "*.sh"] to ["*.js"] - Fix gettext-pattern advice from wrong this.gettext() to correct module import pattern - Update rule count 114→113 across docs, update test assertions and regression checks hara-hachi-bu result: "MAY PASS WITH COMMENTS: 8 checks flagged" (was "LIKELY REJECTED: 14 warnings") Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… criteria, help-wanted Add First Contribution Workflow, Where to Find Sources, When Advisory Becomes Blocking, and License sections to CONTRIBUTING.md. Broaden PR template to cover non-rule contributions. Expand GOVERNANCE.md with co-maintainer onboarding path. Add Help Wanted subsection to README surfacing self-contained gaps from gap-analysis. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…oting Expand CONTRIBUTING.md Option 2 with a script selection table covering all 13 check scripts, output contract details, and function signature pattern. Add troubleshooting section to rules/README.md covering YAML escaping, fixture validation, multi-line pattern limitations, and quick regex testing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add --validate flag to apply-patterns.py that checks for duplicate rule IDs, missing required fields, invalid severity values, and regex compilation errors. Reuses existing parse_rules() for consistency. Add category prefix prompt to new-rule.sh that scans patterns.yaml for the highest existing ID and suggests the next available number. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e analysis Consolidate all changes into v0.1.0 CHANGELOG (no separate v0.1.1). Fix rule count 114→113 in ARCHITECTURE.md. Update assertion count to 373 in GOVERNANCE.md and README.md. Remove resolved roadmap item (false-positive reduction). Archive false-positive analysis to docs/research/ with resolution header. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove named attribution of specific reviewers from simulation persona and skill checklists. Keep the opening acknowledgment block in reviewer-persona.md (standard attribution) but remove behavioral modeling of individuals: working conditions, review volume claims, and queue pressure estimates. Rephrase remaining references to cite "the EGO AI policy blog post (December 2025)" rather than naming the author. Files changed: - skills/ego-simulate/references/reviewer-persona.md - skills/ego-review/references/ai-slop-checklist.md - skills/ego-review/references/code-quality-checklist.md - skills/ego-lint/references/rules-reference.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add blocking/advisory rule calibration (64 blocking, 49 advisory) - Ground "AI slop" terminology with link to December 2025 GNOME blog post - Reframe Claude Code plugin section as "Advanced (Optional)" - Soften ego-simulate description: "estimates readiness" not "predicts verdict" - Author section: "submitted to EGO" instead of "currently in EGO review" - Fix RESEARCH-SUMMARY.md pattern rule count: 114 → 113 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change SKILL.md description and framing from "predicts reviewer response" to "assesses review readiness against published criteria." The tool evaluates against documented rules, not a person's behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change accusatory phrasing to diagnostic: - R-SLOP-18: "Comment reads like an LLM prompt" → "Imperative comment pattern draws reviewer scrutiny" - R-SLOP-30: "AI-generated pattern" → "reviewers flag this pattern" Rule IDs, severity, and patterns are unchanged. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The `_destroyed + _initializing` pattern was falsely flagged as BLOCKING during ego-simulate runs. The `_initializing` flag serving as a re-entrancy guard is legitimate — the red flag targets `_pendingDestroy` coordination, not simple re-entrancy prevention. Closes #1 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced Feb 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
_pendingDestroy + _initializing coordination)_destroyed + _initializing) from the over-engineered_pendingDestroycoordination patternego-simulateruns against extensions using the standard_destroyedflag alongside a simple_initializingguardCloses #1
Test plan
bash tests/run-tests.sh— all 373 assertions pass (Tier 3 checklist change, no automated tests affected)skills/ego-review/references/ai-slop-checklist.mdand confirm the exception clearly distinguishes re-entrancy guards from deferred-cleanup coordination🤖 Generated with Claude Code