Deferred from #586: graph-link pruning + ga_standards filtering for per-user resource selection
Los mantenedores suelen responder en 1 día
@skypank-coder ya está trabajando en esto.
Desde el 8/9/2026.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- backend-api-design, frontend
Línea de trabajo
Comienza con los puntos de entrada /rest/v1/standards y /rest/v1/ga_standards; después, sigue el filtrado en las vistas de grafo root_cres, text_search y find_cre y en las llamadas correspondientes del frontend. Revisa el bypass existente de ?all=true y decide si los estándares filtrados ocultan enlaces o nodos. Se considera terminado cuando el comportamiento de los enlaces del grafo está implementado y las solicitudes de GA pasan ?all=true cuando deben abarcar todos los estándares elegibles.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Follow-up to #586 (per-user resource selection), tracking the two pieces deliberately
deferred from that work so the core loop could land first. Confirmed with @northdpole as
out of scope for #586 and appropriate as a separate follow-up.
1. Graph-link pruning on CRE pages
Server-side filtering currently applies to the standards list (/rest/v1/standards).
It does NOT prune non-selected standards from the links shown on an individual CRE page —
so a user who filters out (say) SAMM still sees SAMM links when they open a CRE. Decide and
implement whether a user's selection should also prune standard-links off CRE nodes in the
graph views (root_cres / text_search / find_cre), and how (hide the link vs. hide the
node). Flagged as a UX-sensitive call — easy to surprise people on a CRE page.
2. ga_standards filtering + paired frontend bypass
/rest/v1/ga_standards feeds the gap-analysis dropdowns. Filtering it by a user's saved
selection would narrow the GA inputs, so it was left out of the server-side filter PR to
avoid silently shrinking the dropdowns. Completing it needs the server-side filter plus
the paired frontend change to pass ?all=true where GA should span all eligible standards.
Context
Core #586 loop is complete and merged: user + selection persistence, GET/PUT
/rest/v1/user/resources, /rest/v1/standards server-side filter (?all=true bypass), the
MyOpenCRE selection UI, and the concurrency-safe write with the OpenCRE-always-included
invariant. This issue tracks only the two deferred extensions above.
- Lenguaje dominante
- Python
- Estrellas
- 210
- Forks
- 167
- Merge medio
- 4 d 12 h
- PR fusionados (30 d)
- 28
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de OWASP/OpenCRE
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
OWASP/OpenCRE#1215 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Map Analysis continues polling after a background job failsPosiblemente ocupada @amantebriwal4321 la tomó hace 4 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
OWASP/OpenCRE#1211 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
OSCAL Compass adopterAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
MCP tools return "Internal MCP tool error." when OpenCRE is unreachable or times outPosiblemente ocupada @ShaanGS la tomó hace 23 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
OWASP/OpenCRE#1163 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
find_node_by_name endpoint does not enforce MAX_ITEMS_PER_PAGE, allowing unbounded pagination queries`Posiblemente ocupada @Jeffy123-zhu la tomó hace 26 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
OWASP/OpenCRE#1149 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de OWASP/OpenCRE
Issues similares
-
Unknown stop ID in slow zone data crashes post formatting and skips the rest of that day's postsAbiertobackend bug tm-new-volunteer
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
transitmatters/mbta-slow-zone-bot#81 · 1 comentario ·
-
area:schema documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
risk:high type:ci
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
spacetelescope/rdmt-spire#49 ·
Los mantenedores suelen responder en 1 día