Skip to content

chore(fuzz): remove dead duplicate fuzz target - #1486

Closed
seonghobae wants to merge 8 commits into
mainfrom
fix/hollow-path-dup-fuzz-target
Closed

chore(fuzz): remove dead duplicate fuzz target#1486
seonghobae wants to merge 8 commits into
mainfrom
fix/hollow-path-dup-fuzz-target

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

What

Removes fuzz/fuzz_opencode_normalize_output.py, an orphaned duplicate of fuzz/fuzz_opencode_review_normalize_output.py.

Why

Confirmed hollow/broken path from the org-wide hollow-path audit:

  • .clusterfuzzlite/Dockerfile and tests/test_fuzz_targets.py both reference only fuzz/fuzz_opencode_review_normalize_output.py as the real, live fuzz target.
  • The duplicate, fuzz/fuzz_opencode_normalize_output.py, called NORMALIZER.extract_json_object(text) at line 35. extract_json_object does not exist in scripts/ci/opencode_review_normalize_output.py — the current API is iter_json_objects (verified by grepping every def in that module). The duplicate would raise AttributeError if it were ever executed, and nothing executes it: no test imports it, no workflow runs it, no doc names it.

Verified independently against current origin/main before making any change (re-ran the grep for extract_json_object / iter_json_objects, confirmed the Dockerfile and test-file references, and confirmed no other file in the repo names the dead file — one incidental exception noted below).

Scope note

While verifying, I found scripts/ci/strix_quick_gate.sh has one case pattern that matches the old filename fuzz/fuzz_opencode_normalize_output.py (not the real target fuzz_opencode_review_normalize_output.py) when deciding whether to copy the normalizer support file into a PR scan scope. That looks like a separate, pre-existing filename-mismatch bug, not the hollow-path finding this PR addresses, so I left it untouched and am flagging it separately rather than scope-creeping this change.

Validation

Run from a clean clone on this branch:

coverage run -m pytest tests && coverage report --show-missing
interrogate
  • 2105 passed, 1 skipped (skip pre-existing/unrelated)
  • coverage: TOTAL ... 100%
  • interrogate: RESULT: PASSED (minimum: 100.0%, actual: 100.0%)

No PR template exists in this repository (checked .github/pull_request_template.md, .github/PULL_REQUEST_TEMPLATE/), so this description follows the repo's own conventions from AGENTS.md/CLAUDE.md instead.


Generated by Claude Code

fuzz/fuzz_opencode_normalize_output.py was an orphaned duplicate of
fuzz/fuzz_opencode_review_normalize_output.py, which is the file actually
named in .clusterfuzzlite/Dockerfile and imported by
tests/test_fuzz_targets.py. The duplicate called
NORMALIZER.extract_json_object(text), a function that no longer exists in
scripts/ci/opencode_review_normalize_output.py (current API is
iter_json_objects) -- it would AttributeError if ever executed and was
reachable from no test, workflow, or doc.

Deleted; no other file referenced it by name outside one unrelated case
pattern in scripts/ci/strix_quick_gate.sh (a separate, pre-existing filename
mismatch, out of scope here).
@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 29 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 1c9f56f6-180b-4449-80a1-a64dd33ddac2

📥 Commits

Reviewing files that changed from the base of the PR and between 8c64b54 and ede0403.

📒 Files selected for processing (1)
  • fuzz/fuzz_opencode_normalize_output.py

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@cwl-noema-review cwl-noema-review Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noema LLM review

Unable to review due to missing file content

Reviewed changed lines

Adversarial validation

  • Residual risk: high

Findings

  • [high] fuzz/fuzz_opencode_normalize_output.py:1 (LEFT): File content unavailable due to HTTP 404 error

  • Result: COMMENT

  • Head SHA: 8514d0c8d4e57f180d806bb7dfcd9ccd27b6e3f2

  • Reviewer credential: noema-review-github-app

  • Actor: cwl-noema-review[bot]

@seonghobae

Copy link
Copy Markdown
Contributor Author

Contextual-Orchestrator와 관계한 것들을 같이 손보든 어쩌든 해결하세요. Bypass merge 필요하면 가능 (chicken and eggs 상황이라면) + NVIDIA NIM 만 쓰는 건 허용하지 않아요. Contextual-Orchestrator를 쓰세요. Timeout은 적어도 3시간으로 잡으세요. 120초 같은 건 당황스럽군요. Opencode와 Noema 는 Coderabbitai 및 Devin 수준으로 실제로 리뷰를 하게 하시오. Strix도 보안 리뷰를 꼼꼼하게 하도록 하시오. 특히 보안 리뷰는 전체 코드로 수행하는 것입니다. Contextual-Orchestrator는 실시간으로 빠르면서 능력이 좋은 모델에 요청을 보내어 시간을 당기시오. @opencode-agent 라고 부르면 호출되는 기능도 인터넷 가이드에는 /oc 라고 나와있기 때문에 이 점도 확인해 보는 게 좋겠습니다.

@seonghobae
seonghobae enabled auto-merge (squash) September 1, 2026 09:23
Use protected main as the authoritative tree and preserve only PR #1486's one-file deletion while retaining the prior branch head as first parent and current protected main as second parent. No force push and no unrelated current-main changes are overwritten.
seonghobae added a commit that referenced this pull request Sep 1, 2026
…1564)

QUEUE_SATURATION_CHICKEN_EGG: exact head is mechanically mergeable, all substantive review threads are resolved, no CHANGES_REQUESTED exists, independent Devin review verified the final CodeGraph-contract cleanup, and all fresh hosted required workflows remain queued in the saturated central Actions fleet. The source fix removes a self-hosting blocker that prevents Noema from reviewing deletion-only PRs such as #1486. Protected ruleset exposes OrganizationAdmin bypass; no substantive failing test/security finding is bypassed.
Preserve only #1486's dead fuzz-target deletion on protected main after #1564. Retain prior writer head as first parent and current protected main as second parent; no force push or unrelated tree replacement.

Copy link
Copy Markdown
Contributor Author

@opencode-agent review
@cwl-noema-review review

Fresh exact-head review requested for ede04036f655d72a10dbfa620ef2ef2d46f4b535 after protected-main #1564 landed. This head is current main@8c64b545f883d3e8c574200c1ea7274639fc3741 plus exactly the one dead fuzz-target deletion. No predecessor Noema 404 COMMENT or other prior-head evidence transfers.

Copy link
Copy Markdown
Contributor Author

Superseded by current-main successor #1624. Fresh protected-main inspection now confirms the live ClusterFuzzLite target and Strix normalizer-support path both use fuzz/fuzz_opencode_review_normalize_output.py; the deleted duplicate still calls removed NORMALIZER.extract_json_object() and has no live caller. #1624 carries only the one-file deletion from main@45345b20dafeb247a01d7e2021968430483fcc94. No #1486 checks/reviews transfer.

@seonghobae seonghobae closed this Sep 1, 2026
seonghobae added a commit that referenced this pull request Sep 3, 2026
built and CI-green, genuinely unreachable pending the sandbox

Corrected an initial wrong instinct first: naruon's own "noema_agent.py"
looked like a DDD naming collision with the CI review agent's Noema, but
docs/CWL-MASTER-CONTEXT.md explicitly defines Noema as one shared agent
runtime across three consumers (CI review agent, naruon's do-anything
agent, wardnet's AI SOC quarantine sandbox) -- owner-confirmed per
naruon#1527. Checked the master context before concluding two same-named
components were separate, per this session's own established lesson from
an earlier mistake of exactly that kind.

Found: naruon already has a real, tested, CI-green agent + plugin-
registry system (services/noema_agent.py, services/agent_registry.py,
four open PRs #1527/#1486/#1516/#1537, none authored by either active
peer session) matching the platform plan's own documented registry
architecture almost exactly. The confirmed gap: nothing in the API or
frontend layer ever calls it -- the agent, registry, and manifests are
mutually consistent and fully tested but completely unreachable, and have
been since the agent's original commit two months ago.

This connects directly to item 6: the master context has this agent
running inside quarantine-sandbox-runtime, which a peer session is
separately, actively building (still early-stage, confirmed via direct
coordination) -- wiring the agent to a real trigger before that sandbox
exists would ship an unsandboxed, writeback-capable LLM agent against the
documented design, not merely ship an incomplete feature. Not implemented
this tick pending that dependency.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
seonghobae added a commit that referenced this pull request Sep 3, 2026
…in Review)

commits/{sha}/status only reflects the legacy Status API, not GitHub's
Checks API that every workflow in this org actually posts through.
Re-checked with commits/{sha}/check-runs: metadata-only gate evaluation
fails on all 4 (expected — real code changes, not eligible for that
script's fast path, and already excluded from this org's own failed-check
enumeration). noema-review genuinely failed on #1527/#1537 — pulled the
job log for #1527 and logged a new, concrete review-failure case (a JSON
repair failure) for item 23's aggregation ask. strix was cancelled on
#1486/#1537, consistent with the already-documented repo-wide
concurrency-group starvation, not a new finding.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.

2 participants