Skip to content

Commit e3565e6

Browse files
committed
chore: save session state [skip ci]
1 parent 1a36ea6 commit e3565e6

1 file changed

Lines changed: 46 additions & 45 deletions

File tree

TODO.md

Lines changed: 46 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -18,37 +18,44 @@
1818
> **No SEP rule:** Every warning, clippy lint, doc-test failure, or bug
1919
> encountered during this remediation is OUR problem. We own every line we
2020
> touch AND every pre-existing issue in files we modify. Fix it there and then.
21+
>
22+
> **Trust but verify:** Plan assessments are hypotheses. Read actual code before
23+
> starting each app. Update the plan with what you find. If code contradicts
24+
> the plan, trust the code.
25+
>
26+
> **Release discipline:** CI pass ≠ done. EVERY project (rustlib + all dfe-*)
27+
> must be PUBLISHED (rustlib → crates.io, dfe-* → JFrog) before marking
28+
> complete. Push + CI + semantic-release tag + `hyperi-ci release <tag>` +
29+
> verify in registry. Can continue other work while waiting, but must track
30+
> and complete releases.
2131
2232
Phase 1 done (all 6 apps on rustlib >=2.4.3, ServiceRuntime, released).
2333
Phase 2 plan: `docs/superpowers/plans/2026-04-03-dfe-phase2-deep-integration.md`
2434

25-
**Phase 2A: Evolve BatchEngine API (rustlib)**
26-
- [ ] Async sink for run() / run_raw() (enables loader's async CH inserts)
27-
- [ ] Optional ticker callback (enables flush timers inside engine loop)
28-
- [ ] TransportReceiver impl for loader's TransportBackend (clean adapter)
29-
- [ ] Publish rustlib with engine changes
30-
31-
**Phase 2B: Per-App Integration**
32-
- [ ] dfe-loader: engine.process_mid_tier() replaces MessageProcessor
33-
- SIMD parse (sonic-rs), pre-route routing_field="_table", field interning
34-
- Transform closure wraps existing pipeline (route→extract→enrich)
35-
- BatchCoordinator stays (sequential buffer push, DLQ)
36-
- Orchestrator select! loop stays (5 arms: shutdown, config, flush, schema, recv)
37-
- [ ] dfe-transform-vrl: engine.process_mid_tier() replaces deser+VRL phases
38-
- Benchmark: sonic_rs::Value → vrl::Value conversion cost first
39-
- Single engine call replaces two pool.process_batch() calls
40-
- Produce stays sequential (async I/O)
41-
- [ ] dfe-archiver: engine.run_raw() or process_raw() + TopicResolver
42-
- Pre-route routing_field="_destination", TopicResolver auto-discovery
43-
- Flush timer as separate task (or engine ticker if evolved)
44-
- [ ] dfe-receiver: BatchAccumulator for Splunk HEC only (additive)
45-
- DO NOT replace zero-copy hot path (validation, routing, enrichment)
46-
- Existing optimisations proven faster than generic alternatives
47-
- [ ] dfe-fetcher: fan_out_async() + engine.process_raw() for post-fetch
48-
- JoinSet in each Source impl (AWS/Azure/M365/GCP)
49-
- Parallel enrich+filter via engine
50-
- [ ] dfe-transform-vector: generate-artefacts only
51-
- [ ] ALL apps: run `generate-artefacts` for deployment contract
35+
**Phase 2A: Evolve BatchEngine API (rustlib)** — DONE
36+
- [x] run_async() + run_raw_async(): async sink, commit tokens, optional ticker
37+
- [x] Doc-test fixes (No SEP: flat_env unsafe set_var, registry MyConfig)
38+
- [x] rustlib v2.4.4 published to crates.io
39+
40+
**Phase 2B: Per-App Integration** — ALL CODE DONE, RELEASING `[IN PROGRESS]`
41+
- [x] dfe-loader: BatchEngine pre-route SIMD filtering + SOC2 audit
42+
- 592 tests pass (all against real ClickHouse). Publish pipeline running.
43+
- [x] dfe-receiver: process_batch() for HEC/OTLP/fluent/prometheus_rw
44+
- 408 tests pass. CI re-triggered, awaiting semantic-release tag.
45+
- [x] dfe-archiver: concurrent batch writes + parallel routing + SOC2
46+
- 80 tests pass. Publish pipeline running.
47+
- [x] dfe-fetcher: concurrent within-source service fetching (AWS/Azure/M365/GCP)
48+
- 164 tests pass. Clippy fix pushed, CI re-running.
49+
- [x] dfe-transform-vrl: sonic-rs SIMD JSON parse (drop-in serde_json replacement)
50+
- 295 tests pass. CI running.
51+
- [x] dfe-transform-vector: no changes needed (subprocess wrapper)
52+
- [ ] ALL apps: verify released (rustlib → crates.io, dfe-* → JFrog)
53+
- rustlib v2.4.4: RELEASED to crates.io
54+
- dfe-loader v1.16.5: publish dispatched, pipeline running
55+
- dfe-archiver v1.6.2: publish dispatched, pipeline running
56+
- dfe-receiver: awaiting CI pass → semantic-release → publish
57+
- dfe-fetcher: awaiting CI pass → semantic-release → publish
58+
- dfe-transform-vrl: awaiting CI pass → semantic-release → publish
5259

5360
**Phase 1 DONE (all apps):**
5461
- [x] Bump rustlib to >=2.4.3
@@ -79,24 +86,18 @@ Phase 2 plan: `docs/superpowers/plans/2026-04-03-dfe-phase2-deep-integration.md`
7986
- [ ] Phase 3: dfe-transform-wasm, dfe-transform-elastic, dfe-transform-splunk
8087
- [ ] Debug/trace logging increasing detail levels (all repos)
8188

82-
### Completed This Session
83-
84-
- [x] **BatchEngine** — 15 commits, SIMD batch processing framework
85-
- [x] **TopicResolver** — Kafka topic auto-discovery with suppression rules
86-
- [x] **PipelineStats.filtered** counter
87-
- [x] **AdaptiveWorkerPool.install()** exposure
88-
- [x] **Prometheus recorder test fix** — test-safe MetricsManager
89-
- [x] **Rustlib v2.4.3** published to crates.io
90-
- [x] **clickhouse-rs schema-cache-strong** branch — 3 commits + Nullable(JSON) fix
91-
- [x] **Upstream PR** ClickHouse/clickhouse-rs#414
92-
- [x] **dfe-loader** v1.16.4 — ServiceRuntime, TopicResolver deletion, schema cache fix, logging
93-
- [x] **dfe-receiver** v1.14.8 — ServiceRuntime, logging, target symlink + orphan ci fix
94-
- [x] **dfe-archiver** v1.6.1 — ServiceRuntime, logging, deployment contract fields
95-
- [x] **dfe-fetcher** v1.1.8 — ServiceRuntime, logging, SensitiveString fix
96-
- [x] **dfe-transform-vector** — ServiceRuntime, logging, SensitiveString fix
97-
- [x] **dfe-transform-vrl** — rustlib bump, logging (CI pending)
98-
- [x] **Target symlink fix** across 4 repos (receiver, archiver, fetcher, vrl)
99-
- [x] **Orphan ci submodule** removed from dfe-receiver
89+
### Completed This Session (Phase 2 Deep Integration)
90+
91+
- [x] **BatchEngine API evolution** — run_async(), run_raw_async(), ticker, doc-test fixes
92+
- [x] **Rustlib v2.4.4** published to crates.io
93+
- [x] **dfe-loader** — SIMD pre-route filtering, engine pool, SOC2 audit, clippy fixes
94+
- [x] **dfe-receiver** — process_batch() for HEC/OTLP/fluent/prometheus_rw batching
95+
- [x] **dfe-archiver** — concurrent batch writes via join_all, parallel routing, SOC2
96+
- [x] **dfe-fetcher** — concurrent within-source service fetching (AWS/Azure/M365/GCP)
97+
- [x] **dfe-transform-vrl** — sonic-rs SIMD JSON parse (drop-in serde_json replacement)
98+
- [x] **Rust standards** — added useless .into() AI pitfall to RUST.md
99+
- [x] **No SEP fixes** — clippy warnings in loader tests, doc-test failures in rustlib,
100+
unused imports, missing semicolons, formatting across all repos
100101

101102
### Completed Previous Sessions
102103

0 commit comments

Comments
 (0)