refactor(core): split typed_api.rs and move its inline tests out
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Refactoring
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- rust
- Bereich
- backend-api-design
Rechercherichtung
Start with aimdb-core/src/typed_api.rs and its inline tests, then inspect aimdb-core/src/typed_record.rs and aimdb-core/src/session/client.rs to understand the module conventions and feature gates. Split the typed API concerns into the suggested modules, preserve public paths, and reorganize the tests around shared mocks; assess whether typed_record's gated blocks can use internal helpers. Done when the files are easier to navigate and the refactor introduces no behavior change.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
A few aimdb-core modules have grown well past the size where they are easy to navigate or review.
aimdb-core/src/typed_api.rs— 3,748 lines. The non-test part (lines 1–1783) holds five separate concerns:Producer<T>(104),Consumer<T>(226),RecordRegistrar(468),OutboundLinkBuilder(917) andInboundLinkBuilder(1241). The remaining ~1,960 lines are one inlinemod testscontaining five hand-written mock trait impls whose methods areunimplemented!("not needed for … tests")(lines 1837, 1861, 2968, 3062, 3261).aimdb-core/src/typed_record.rs— 1,726 lines, 54cfg(feature …)gates, the highest gate density in the workspace, plus four#[allow(unused_mut)](858, 1167, 1203, 1279) that exist only because of those gates.aimdb-core/src/session/client.rs— 1,685 lines (tests from line 1013).
Suggested work
- Turn
typed_api.rsinto atyped_api/module:producer.rs,consumer.rs,registrar.rs,link_outbound.rs,link_inbound.rs, re-exported frommod.rsso the public paths do not change. - Move the inline tests into per-concern test modules and share one mock connector/runtime between them instead of five partial mocks.
- For
typed_record.rs, look at whether the gated blocks can be grouped behind a small number of internal helper functions so theunused_mutallows disappear.
No behaviour change intended; purely a move/re-organise refactor.
Notes
Line numbers are from the tree at d9c7be0. Sizes were measured with wc -l; the split points are the first top-level #[cfg(test)] in each file.
- Vorherrschende Sprache
- Rust
- Sterne
- 101
- Forks
- 20
- Ø Merge
- 2 Std. 33 Min.
- Gemergte PRs (30 T.)
- 90
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus aimdb-dev/aimdb
-
chore: remove stale dead_code allows in aimdb-cli, aimdb-mcp and the zenoh profile moduleEvtl. vergeben @Wizard52007 hat das heute übernommen. Offen🏷️ good first issue enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
aimdb-dev/aimdb#462 · 4 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in aimdb-dev/aimdb
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
swc-project/swc-ai-issues#432 ·
-
SPLADE `/embed_sparse` output depends on the other inputs in the batch (candle BertModel / DistilBertModel)Evtl. vergeben @0z5a hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
huggingface/text-embeddings-inference#979 ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
servo/rust-smallvec#874 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 94/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 2 Tagen