How parthaggarwal16/opencre works
OpenCRE is a security-requirements catalog and linking platform: users browse and search Common Requirements (CREs), explore their links to standards, and use analysis and contribution features. Its runtime includes a web/API application, a graph-backed catalog, and an import path for catalog and mapping data. A separate documented OIE workflow harvests repository changes, filters candidate knowledge, and proposes CRE links for review or automatic linking. The OIE control-flow edges follow the sampled orchestrator and stage code; unsampled web and database wiring is shown only where documented.
Main entry points: routes.tsx Page routes · noise_filter/pipeline.py Noise filter · librarian/pipeline.py CRE link librarian · oie_orchestrator/pipeline.py OIE orchestrator
Components 22
User experience
- Web application
application/frontend/src/App.tsx - Page routes
application/frontend/src/routes.tsx - Search
application/frontend/src/pages/Search/Search.tsx - CRE explorer
application/frontend/src/pages/Explorer/explorer.tsx - Gap analysis
application/frontend/src/pages/GapAnalysis/GapAnalysis.tsx - MyOpenCRE
application/frontend/src/pages/MyOpenCRE/MyOpenCRE.tsx
CRE catalog
- Catalog database
application/database/db.py - Graph database
application/database/inmemory_graph.py
Data contribution
- Import pipeline
application/utils/import_pipeline.py - Source parsers
application/utils/external_project_parsers/parsers - CSV export
application/utils/cres_csv_export.py
OIE pipeline
- OIE orchestrator
application/utils/oie_orchestrator/pipeline.py - Repository harvester
application/utils/harvester/pipeline.py - Noise filter
application/utils/noise_filter/pipeline.py - CRE link librarian
application/utils/librarian/pipeline.py - LLM services
application/prompt_client/litellm_router.py - Link decisions
application/utils/librarian/decision_engine.py
Interfaces
- Web and REST API
application/web/web_main.py - CLI entry
application/cmd/cre_main.py - MCP server
application/mcp/server.py - REST client
application/mcp/rest_client.py
Other components
- Platform user
Connections 23
- Platform user → Web application: uses
- Web application → Page routes: resolves pages
- Page routes → Search: routes to
- Page routes → CRE explorer: routes to
- Page routes → Gap analysis: routes to
- Page routes → MyOpenCRE: routes to
- CLI entry → Import pipeline: invokes import
- Import pipeline → Source parsers: parses sources
- Import pipeline → Catalog database: registers records
- CLI entry → CSV export: exports catalog
- Platform user → Web and REST API: calls API
- Platform user → MCP server: connects via MCP
- MCP server → REST client: dispatches tools
- REST client → Web and REST API: calls REST
- OIE orchestrator → Repository harvester: runs stage A
- OIE orchestrator → Noise filter: runs stage B
- OIE orchestrator → CRE link librarian: runs stage C
- Repository harvester → Noise filter: writes harvest_input
- Noise filter → CRE link librarian: writes knowledge_queue
- Noise filter → LLM services: classifies chunks
- CRE link librarian → LLM services: scores candidates
- CRE link librarian → Link decisions: decides links
- Link decisions → Catalog database: records proposals