Skip to content

Merge #960 (AI/Top10 importers) preserving verified history - #1097

Merged
northdpole merged 11 commits into
mainfrom
maintainer/merge-960
Sep 13, 2026
Merged

northdpole merged 11 commits into
mainfrom
maintainer/merge-960

Conversation

@northdpole

Copy link
Copy Markdown
Collaborator

Summary

Test plan

Made with Cursor

@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Advanced

Run ID: a860c2bc-c87a-4434-b026-e41f39a0f441

📥 Commits

Reviewing files that changed from the base of the PR and between 41a8515 and 5f27a18.

📒 Files selected for processing (14)
  • application/cmd/cre_main.py
  • application/tests/chat_completion_test.py
  • application/tests/fixtures/owasp_mappings/owasp_aisvs_1_0.json
  • application/tests/owasp_aisvs_parser_test.py
  • application/tests/owasp_api_top10_2023_parser_test.py
  • application/tests/owasp_llm_top10_2025_parser_test.py
  • application/tests/owasp_top10_2025_parser_test.py
  • application/tests/web_main_test.py
  • application/utils/external_project_parsers/parsers/owasp_aisvs.py
  • application/utils/external_project_parsers/parsers/owasp_api_top10_2023.py
  • application/utils/external_project_parsers/parsers/owasp_llm_top10_2025.py
  • application/utils/external_project_parsers/parsers/owasp_top10_2025.py
  • application/web/web_main.py
  • cre.py

Summary by CodeRabbit

  • New Features

    • Added support for importing OWASP Top 10 2025, OWASP API Top 10 2023, OWASP LLM Top 10 2025, and OWASP AI Security Verification Standard (AISVS).
    • Added CLI options for importing each OWASP standard.
    • Imported standards now include available links to related CRE records.
  • Bug Fixes

    • AI service errors now return the provider’s HTTP status when available instead of always returning 500.
    • Unrecognized or conflicting CRE references are flagged for review rather than being automatically resolved.

Walkthrough

The CLI now imports four OWASP standards. New parsers load fixture data and link CREs. Librarian resolution outcomes are handled explicitly. AI provider errors preserve valid HTTP-like status codes.

Changes

OWASP imports and resolution updates

Layer / File(s) Summary
OWASP parser implementations and validation
application/utils/external_project_parsers/parsers/owasp_*.py, application/tests/fixtures/owasp_mappings/owasp_aisvs_1_0.json, application/tests/owasp_*parser_test.py
Four parsers create standards from JSON fixtures, link matching CREs, and disable gap analysis and embeddings. Fixtures and tests validate section counts, metadata, hyperlinks, and CRE links.
OWASP CLI import wiring
cre.py, application/cmd/cre_main.py
Four import flags register the corresponding OWASP parser resources.
Explicit resolution outcome handling
application/cmd/cre_main.py
The explicit resolver uses database CRE IDs. no_reference continues to semantic retrieval. Unknown and conflicting references are logged and skipped. Unexpected outcomes increment the rejected counter.
Provider error status responses
application/web/web_main.py, application/tests/chat_completion_test.py, application/tests/web_main_test.py
The chat endpoint returns a valid provider status when available and otherwise returns 500. Tests expect status 400 for the non-429 Gemini error, and a debug print is removed.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Feature

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch maintainer/merge-960

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.

@northdpole
northdpole merged commit 96a3344 into main Sep 13, 2026
9 of 10 checks passed
@northdpole
northdpole deleted the maintainer/merge-960 branch September 13, 2026 11:37
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