Skip to content

Experimental OIE OWASP metadata agent (Nest + GitHub hybrid chat) - #1125

Draft
northdpole wants to merge 7 commits into
stack/oie-p7-full-pipeline-docsfrom
cursor/owasp-agent-oie-a097
Draft

northdpole wants to merge 7 commits into
stack/oie-p7-full-pipeline-docsfrom
cursor/owasp-agent-oie-a097

Conversation

@northdpole

Copy link
Copy Markdown
Collaborator

Summary

Adds an experimental Project OIE chat extension that answers OWASP community/metadata questions from a local Nest + GitHub hybrid index, without routing logistics through Module C (Librarian → CRE).

What’s included

  • application/utils/owasp_agent/ — Nest client, GitHub crawler, SQLite index, geocode + Haversine, structured fail-closed queries, strict auto-concepts + merge, chat router
  • Feature flag OWASP_AGENT_ENABLED wired into /rest/v1/completion (meta failures do not fall through to CRE RAG)
  • make owasp-agent-sync / make owasp-agent-merge-concepts + scripts
  • Offline demo-scenario tests (27) covering meetups, counts, board/candidates, conflicts, empty index, CRE deferral

How to try

  1. Set NEST_API_KEY (Nest GraphQL while logged in) and optionally GITHUB_TOKEN
  2. make owasp-agent-sync (add --auto-concepts via OWASP_AGENT_SYNC_ARGS='--auto-concepts')
  3. OWASP_AGENT_ENABLED=1 and use /chatbot

Out of scope (per plan)

Prod deploy, CRE importer changes, writes to Nest/GitHub, full ontology redesign.

Verification

  • python3 -m unittest application.tests.owasp_agent... — 27 passed
  • mypy application/utils/owasp_agent — clean
  • black --check on touched Python — clean
  • Frontend not touched (no make frontend)
Open in Web Open in Cursor 

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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 force-pushed the cursor/owasp-agent-oie-a097 branch from fee35d3 to b6319c7 Compare October 3, 2026 21:54
@cursor
cursor Bot changed the base branch from main to stack/oie-p7-full-pipeline-docs October 5, 2026 09:25
@northdpole
northdpole force-pushed the stack/oie-p7-full-pipeline-docs branch from 3595b86 to 5659d5f Compare October 5, 2026 09:26
@northdpole
northdpole force-pushed the cursor/owasp-agent-oie-a097 branch from b6319c7 to 2a731f4 Compare October 5, 2026 09:26
@northdpole
northdpole force-pushed the stack/oie-p7-full-pipeline-docs branch from 5659d5f to a90594d Compare October 5, 2026 10:11
@northdpole
northdpole force-pushed the cursor/owasp-agent-oie-a097 branch from 2a731f4 to 629eb20 Compare October 5, 2026 10:11
@northdpole
northdpole force-pushed the stack/oie-p7-full-pipeline-docs branch from 5477f26 to 46249d7 Compare October 7, 2026 18:43
@northdpole
northdpole force-pushed the cursor/owasp-agent-oie-a097 branch from 629eb20 to 5831fe9 Compare October 7, 2026 18:50
northdpole and others added 6 commits October 14, 2026 09:39
- Forward leaf_drilldown_min_sections=0 instead of replacing it with 20.
- Make queue wiping in run_full_pipeline opt-in via --wipe-queues and add the
  flag to the detached clone-DB runner, which now reports its real exit code.
- Fall back to sys.executable when venv/bin/python is missing.
- Fix the B2 report gate string (top-3) and drop the nonexistent make target
  from the docs.
- Make the denied-resource drill-down test actually reach the allowlist gate.
Prior-caged retrieval embeds the same header and body several times per chunk. Prefetch the unique strings for a queue batch so those Gemini calls collapse into one list request.
Introduce a feature-flagged Nest+GitHub hybrid index and chat router so
community/meta questions (chapters, projects, events, board history,
geo-nearest meetups) are answered fail-closed without routing through
CRE RAG. Includes strict auto-concepts, merge cron target, sync Makefile
targets, and offline demo-scenario tests.

Co-authored-by: Spyros <northdpole@users.noreply.github.com>
Keep Nest/GitHub concepts out of the CRE graph and citation table.
Chat returns empty CRE references and external owasp_agent citations;
the chatbot UI never links meta hits into OpenCRE nodes. MCP exposes
local owasp_meta_* tools (flag-gated) that read the separate index.

Co-authored-by: Spyros <northdpole@users.noreply.github.com>
@northdpole
northdpole force-pushed the stack/oie-p7-full-pipeline-docs branch from c41f35b to 0b797a5 Compare October 14, 2026 08:48
@northdpole
northdpole force-pushed the cursor/owasp-agent-oie-a097 branch from 5831fe9 to dfec9a8 Compare October 14, 2026 08:48
Creates meta_entity, owasp_concept, sync_log, and concept_merge_audit when
missing so IndexStore.create_all environments stay upgrade-safe.

This branch has not been deployed

No deployments
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