Split the oversized files — pure file moves, no behavior change
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 18/100
Línea de trabajo
Start with one bounded target, such as core/plugins/inferenceparser/plugin.go and its existing anthropic.go and responses.go siblings, and move the OpenAI dialect into openai.go without changing signatures. Run the existing package tests before and after each move to confirm no behavior change. Scope covers nine large files, so the issue is better split into one PR per file; done means the original file shrinks and the same tests pass unchanged.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What
Several files have outgrown their packages' own discipline. In each case the seams are already clean function boundaries, so these are pure same-package file moves — no signature changes, tests untouched:
core/listener/forwardproxy/server.go(2954 lines) — five jobs: relay core, CONNECT tunneling, bridged-tunnel TLS (+CA/handshake helpers), session identity/attribution (~430 lines, the densest cluster), SSE relay. Split intotunnel.go,bridging.go,identity.go,record.go,stream.go; server.go lands ~600. The package already proved this style withprocess.go/sniff.go/transparent.go.cmd/agentop/tui/app.go(3089) — model state, a ~900-lineupdate()type switch (~55 case types), view dispatch, yank file I/O, subprocess plumbing. Move yank I/O and exec wrappers out; splitupdate()by message family to match the per-pane files.core/observe/claude/harvest.go(2040) — orchestration, filesystem scan, transcript parsing, and ~800 lines of pure text scrubbing (scrubRunes,stripANSI,stripHarnessSpans, …). Extractscrub.go+prompt.go.core/session/store.go(1472) — append/trim engine, pub/sub, views, summary/money (~365 lines), lifecycle. Extractsummary.go+subscribe.go.core/cost/usage/usage.go(1846) +snapshot.go(1584) — extractwindow.go(pure time math, ~500 lines),labels.go,series.go.core/plugins/cpex/cmf_body.go(1128) — three separable jobs: JSON-presentability heuristics, extension→CMF part mapping, MCP body mutation. Extract three files.core/plugins/inferenceparser/plugin.go(1075) — the entire OpenAI dialect lives inline (~450 lines: parse, frame fold, SSE, wire types) thoughanthropic.goandresponses.goexist as the per-dialect pattern. Extractopenai.go.cmd/agentop/cmd_bob.go(2159) — contains a hidden ~400-line byte-level JSON editor (bobSetKey/bobFindMember/bobSpliceOut/…,:620-1028) with nothing to do with Bob semantics. Extractbob_settings_json.gowith its own test surface.cmd/cortex/main.go—main()is ~900 lines of assembly (:322-1220): session store + ledger + archive wiring, TLS-bridge assembly (~130 lines), shutdown choreography. The package already haslocal.go,archive.go,listeners.go,supervise.go— drain the three blocks into them.
Lower priority, same pattern: cmd/agentop/tui/keys.go (1549 — layout() and handleEditKey have nothing to do with keys) and tui/sessions_pane.go (1769 — the ~500-line title/grapheme block is self-contained and owns a 3,322-line test file).
Found in the 2026-10-29 structural audit of code organization.
- Lenguaje dominante
- Go
- Estrellas
- 21
- Forks
- 43
- Merge medio
- 13 h 8 min
- PR fusionados (30 d)
- 267
Preparar el entorno
- Sin Dockerfile ni 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 rossoctl/cortex
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
UI shows costs for all sessions even when drilled into a sessionPosiblemente ocupada @esnible la tomó hace 16 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
rossoctl/cortex#1116 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 Medio día Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Cost/session layering: ledger snapshot logic in the HTTP layer; import edges point both waysAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 Medio día Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
Todos los issues de rossoctl/cortex
Issues similares
-
automation doc-healer documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
tsukumogami/tsuku#2804 ·
Los mantenedores suelen responder en 1 día
-
Anthropic /v1/messages: only the last thinking block of an assistant message is keptPosiblemente ocupada @Shayan12456 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
ollama/ollama#19415 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
raised-by:verifier
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
medici-finance/assay#5039 ·
Los mantenedores suelen responder en 1 día
-
metax CheckHealth reads Status.Capacity, so unhealthy Metax-GPU nodes are never cleaned upPosiblemente ocupada @barbierajput378-pixel la tomó hoy. Abiertokind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Project-HAMi/HAMi#3343 · 1 comentario ·
Los mantenedores suelen responder en 1 día