Skip to content

feat: add FalkorDB bulk-loader export format - #31

Open
shahar-biron wants to merge 1 commit into
SantanderAI:mainfrom
shahar-biron:feat/falkordb-export-format
Open

feat: add FalkorDB bulk-loader export format#31
shahar-biron wants to merge 1 commit into
SantanderAI:mainfrom
shahar-biron:feat/falkordb-export-format

Conversation

@shahar-biron

Copy link
Copy Markdown

Summary

  • add a new falkordb output format to CLI/config/exporters
  • emit FalkorDB bulk-loader schema headers and row layouts for accounts, transactions, and fraud edges
  • include is_fraud markers on transaction exports (false for normal, true for injected fraud)
  • expand tests and documentation for FalkorDB bulk-loader ingestion

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.py
  • PYTHONPATH=src python3 -m pytest --no-cov tests/test_exporters.py tests/test_generator.py tests/test_typologies.py tests/test_cli.py
  • PYTHONPATH=src python3 -m pytest --no-cov tests

Artifacts

Co-Authored-By: Oz oz-agent@warp.dev

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>
@shahar-biron
shahar-biron requested review from a team as code owners July 12, 2026 08:51
@github-actions

github-actions Bot commented Jul 12, 2026

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@shahar-biron

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

@shahar-biron

Copy link
Copy Markdown
Author

recheck

github-actions Bot added a commit that referenced this pull request Jul 12, 2026

@opensource-SantanderAI opensource-SantanderAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants