Skip to content

OIE: scheduled runs (OWASP every 10 min, CRE expansion daily) - #1132

Closed
northdpole wants to merge 0 commit into
fix/owasp-agent-probe-gapsfrom
cursor/oie-scheduled-runs-eb24
Closed

northdpole wants to merge 0 commit into
fix/owasp-agent-probe-gapsfrom
cursor/oie-scheduled-runs-eb24

Conversation

@northdpole

Copy link
Copy Markdown
Collaborator

Summary

Stacked on #1127. Adds two scheduled jobs run by python cre.py --run_scheduled {owasp,cre_expansion,all} (make oie-tick), Postgres only.

  • owasp (10 min): agent Nest+GitHub sync (chapter repos are metadata-only), then incremental harvest of due project/other/standard repos, capped per tick.
  • cre_expansion (daily): noise filter, Librarian, graph filing, then gap analysis only if standard edges were added.
  • Graph filing: only Librarian links with confidence >= floor (OIE_FILE_CONFIDENCE_FLOOR, default 0.9, never below the Librarian link threshold) become OWASP/<repo> standard nodes and Automatically linked to edges. Others stay unconsumed for a later Module D. Kill switch: OIE_GRAPH_FILING_ENABLED. Existing edges are never overwritten.
  • Run log: oie_run table (migration b8c9d0e1f2a3), slot-derived idempotent run ids, Postgres advisory-lock lease per job, per-stage failure isolation, structured logs carry run_id/job/stage.
  • Humans: /admin/oie, /admin/oie/runs, /admin/oie/runs/<id>, /admin/oie/health (existing admin auth), plus make monitor-oie-health.
  • repos.yaml now covers all OWASP org repos (generated by scripts/oie_generate_repos_yaml.py from repos.curated.yaml), with per-kind defaults.
  • owasp_agent IndexStore ported to SQLAlchemy so it runs on Postgres.
  • Harvester fixes found by running against real repos: first run listed files against the git empty tree (unresolvable), docling chunk offsets can run backwards, and the checkpoint advanced before chunks were staged.

Verification

  • black --check on all changed files: pass.
  • Full unittest suite: 1467 tests; remaining failures are environmental/pre-existing (12 db_test gap-analysis tests need Neo4j; mcp not installed for 2 import tests; 3 failures in cheatsheets_workstream_f_test / import_post_apply_test reproduce on the base branch).
  • make mypy (strict) fails repo-wide on the base; new files add only the same no-untyped-call stub noise.
  • Real local Postgres: migration upgrade/downgrade/upgrade, alembic guardrail OK, advisory lease (second holder denied, other job allowed, released afterward), real GitHub agent sync, real ASVS+AISVS harvest (695 chunks), noise filter (664 kept), stage isolation when the Librarian embedding dimension mismatched locally.
  • Bugbot and security-review passes run; one valid finding (index target mismatch between scheduler and chat/MCP) addressed.

Notes

  • If OWASP_AGENT_DB is unset, scheduled runs write the agent index to the app database; set the same value for web/MCP processes.
  • Event repos have no markdown parser (covered via Nest events only); filed nodes get no embeddings yet.
  • Commits are unsigned (agent cannot sign).
Open in Web Open in Cursor 

@coderabbitai

coderabbitai Bot commented Oct 5, 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/oie-scheduled-runs-eb24 branch from 5236f80 to 061f632 Compare October 11, 2026 23:04
@northdpole
northdpole force-pushed the fix/owasp-agent-probe-gaps branch from 70c851e to 636089a Compare October 12, 2026 07:03
@northdpole
northdpole force-pushed the cursor/oie-scheduled-runs-eb24 branch 2 times, most recently from 719716d to ae89728 Compare October 12, 2026 07:15
@northdpole
northdpole force-pushed the fix/owasp-agent-probe-gaps branch from eb0cd49 to 69641cd Compare October 12, 2026 07:18
@northdpole
northdpole force-pushed the cursor/oie-scheduled-runs-eb24 branch from ae89728 to 6e444d3 Compare October 12, 2026 07:18
@northdpole
northdpole force-pushed the fix/owasp-agent-probe-gaps branch from 69641cd to 6fd8b0b Compare October 14, 2026 08:48
@northdpole
northdpole force-pushed the cursor/oie-scheduled-runs-eb24 branch from 6e444d3 to 05bd3bd Compare October 14, 2026 08:48
@northdpole
northdpole force-pushed the fix/owasp-agent-probe-gaps branch from bb41ecc to 32aefc1 Compare October 14, 2026 11:03
@northdpole
northdpole force-pushed the cursor/oie-scheduled-runs-eb24 branch 5 times, most recently from 47b36e8 to c179db0 Compare October 14, 2026 17:55
@northdpole northdpole closed this Oct 15, 2026
@northdpole
northdpole force-pushed the cursor/oie-scheduled-runs-eb24 branch from c179db0 to 3772492 Compare October 15, 2026 00:32
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.

1 participant