ADORSYS-GIS / ADORSYS-GIS/lightbridge-governance
[Ticket]: Split app/governance-ctl/src/sync.rs (1178 LoC)
- Lenguaje dominante
- Rust
- Estrellas
- 1
- Forks
- 2
- Merge medio
- 14 h 36 min
- PR fusionados (30 d)
- 107
Descripción
### Type
Refactor
### Summary
`app/governance-ctl/src/sync.rs` is 1178 lines. Split it along its real seams to bring every resulting file under 200.
### Intent
It is one of the largest files in the repository and, at this size, is skimmed rather than reviewed.
### Source of truth (links)
- #162 (parent epic), #173 (baseline)
### Acceptance Criteria
1. No resulting file exceeds 200 LoC.
2. **Behaviour is unchanged** — the existing tests pass before and after, unmodified.
3. No test is weakened, deleted or made less specific to accommodate the split.
4. Module boundaries follow a real seam, not an arbitrary line count.
5. Public API unchanged, or the change is called out explicitly.
### Out of Scope
Behaviour changes of any kind. This is a pure refactor.
### Technical Context
The copilot-sync command. Seams: fetch, parse, upsert, manifest bookkeeping.
### Risks
⚠️ A shrinking file that also shrinks its assertions is a regression wearing a refactor's clothes. Reviewers should diff the test count and the assertion count, not just the line count.
### Test Plan
The existing suite, unmodified, before and after. If a test needed changing, say why in the PR — that is the signal worth reviewing.
Guía de contribución
Línea de trabajo
Read app/governance-ctl/src/sync.rs and the linked baseline #173; map the fetch, parse, upsert, and manifest-bookkeeping seams, then run the existing suite before changing anything. Split only along those seams while preserving the public API and tests. Done means every resulting file is under 200 LoC, behavior is unchanged, and test and assertion counts are unchanged.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- cli
- Tipo de issue
- Refactorización
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 57/100