feat: add FalkorDB bulk-loader export format - #31
Conversation
Add a new falkordb output mode with schema-enforced headers and Falkor-compatible transaction/fraud rows.\nExpand tests and documentation for loader integration and usage.\n\nCo-Authored-By: Oz <oz-agent@warp.dev>
|
All contributors have signed the CLA ✍️ ✅ |
|
I have read the CLA Document and I hereby sign the CLA |
|
recheck |
opensource-SantanderAI
left a comment
There was a problem hiding this comment.
Thanks @shahar-biron — the FalkorDB bulk-loader export is a useful addition and the tests/docs are appreciated.
Two things are needed before we can merge:
1. Rebase and resolve a merge conflict in typologies.py
We just merged #16 (the evaluation harness + --hardness knob), which changed the same fraud-transaction row-building code you touched, so your branch now conflicts. cli.py, config.py and generator.py merge cleanly; the only real conflict is one block in src/gen_fraud_graph/typologies.py.
It's a semantic conflict, not a textual one, so we'd rather you resolve it (you know your FalkorDB layout best). For guidance: #16 replaced the static self.amount with self._jittered_amount() (so the hardness knob can spread fraud amounts). Please keep your per-format row layout and use the jittered amount, e.g.:
if fmt == "neptune":
row = [tx_id, src, dst, "TRANSFER", self._jittered_amount(), timestamp, desc]
elif fmt == "falkordb":
row = [src, dst, tx_id, self._jittered_amount(), timestamp, desc]
else:
row = [tx_id, src, dst, self._jittered_amount(), timestamp, desc]Please also confirm your falkordb export behaves correctly now that fraud amounts are no longer a fixed sentinel (i.e. at --hardness medium/high). After rebasing, re-run the suite locally (ruff check, black --check, pytest) and push so CI is green again.
2. Remove the tool/vendor attribution
Please drop the app.warp.dev links (conversation + notebook) from the PR description and the Co-Authored-By: Oz <oz-agent@warp.dev> trailer from the commit message. We don't keep third-party tool links or agent co-author trailers in the history — authorship should be yours.
Once it's rebased, conflict-free, CI-green and the attribution is cleaned up, ping us and we'll re-review and merge. Thanks again!
Summary
falkordboutput format to CLI/config/exportersis_fraudmarkers on transaction exports (falsefor normal,truefor injected fraud)Validation
python3 -m ruff check src/gen_fraud_graph/cli.py src/gen_fraud_graph/config.py src/gen_fraud_graph/exporters.py src/gen_fraud_graph/generator.py src/gen_fraud_graph/typologies.py tests/test_cli.py tests/test_exporters.py tests/test_generator.py tests/test_typologies.pyPYTHONPATH=src python3 -m pytest --no-cov tests/test_exporters.py tests/test_generator.py tests/test_typologies.py tests/test_cli.pyPYTHONPATH=src python3 -m pytest --no-cov testsArtifacts
Co-Authored-By: Oz oz-agent@warp.dev