feat(netflow-db): add coordinated active-source subsets - #105
Open
flamboh wants to merge 2 commits into
Open
Conversation
… loop Collapse the duplicated coordinated day path onto the shared per-day publication machinery (coordinated mode drives N product sinks; single output is N=1), enforce compatibility once via a CompatiblePlan witness, reduce resume to per-day completion markers, and replace the alias machinery with canonical-path overlap rejection. Fix the CI-only test failures with self-contained nfdump fixtures, add strict registry deserialization, and trim the setup docs to the essentials.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
🤖 Fable 5 on behalf of Oliver
Problem
Building multiple user-traffic subsets required a separate full traversal and decode for each output, duplicating nfcapd discovery, the daily activity scan, and capture decoding even when the datasets shared the same physical members and time window.
Solution
pipeline --datasetis repeatable for compatible daily-active subset products. Coordination validates compatibility once (shared root, source layout, timezone, configuration, MAAD, nfdump identity) and returns a witness the executor requires, so unvalidated pipelines cannot run.How to review
Required setup: a native nfcapd tree with complete five-minute captures for at least one local day; two registry entries sharing root and physical member layout with distinct
db_pathvalues anddaily_active_sourcesselections using differentip_prefixvalues; the repository-pinned nfdump binary.Expected results:
verify --require-data --require-maad-data --require-processed --require-rollup-parity --require-no-raw-ip.Edge cases and decisions
--require-completereports the missing captures.docs/code/pipeline-contract.md.Verification
bun run format,bun run lint,bun run typecheck,bun run test:db(131 unit tests plus CLI, comparison, MAAD conformance, and singularity integration tests).PATH; they use self-contained executable fixtures.Initial implementation by GPT-5.6 Sol (Codex/T3). Restructured by GPT-5.6 Sol under direction of Fable 5 in Claude Code; reviewed with gpt-5.6-luna explorers.