First off, thank you for considering contributing to the UniField Coupling Equation (UFCE) Framework. It's people like you that make the open-source community such an amazing place to learn, inspire, and create.
This project operates under a Dual-Licensing Model (GPLv3 + Commercial). To maintain the ability to offer commercial licenses to enterprise partners (supporting the project's sustainability), we require all contributors to agree to the following terms:
By submitting a Pull Request (PR) to this repository, you acknowledge and agree that:
- You own the copyright to your contribution or have the authority to submit it.
- You grant the project owner (Kyle Killian) a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute your contribution and such derivative works.
- You specifically grant the right to re-license your contribution under other licenses, including proprietary commercial licenses, at the project owner's discretion.
If you do not agree to these terms, please do not submit a Pull Request.
Bugs are tracked as GitHub Issues.
- Use a clear and descriptive title.
- Describe the exact steps to reproduce the problem.
- Critical: Include your hardware specs (CPU, GPU, RAM) as performance varies significantly between architectures.
- Fork the repo and create your branch from
main. - Install Dependencies: Ensure you are using the exact versions in
requirements.txt. - Code Style:
- Use Python type hints where possible.
- Keep JAX kernels pure (no side effects).
- Ensure all new functions have docstrings explaining inputs and outputs.
- Validate Performance:
- If you modify core kernels, you must run
ufce_jax_god_mode_benchmark.pyto ensure you haven't introduced performance regressions. - Include the benchmark output in your PR description.
- If you modify core kernels, you must run
- Submit the Pull Request.
We recommend using the provided VS Code Dev Container to ensure a consistent environment.
- Open the folder in VS Code.
- Click "Reopen in Container".
- The environment will auto-configure with CUDA, JAX, and Numba.
Because this is a high-performance scientific framework, "it runs" is not enough. It must run fast and accurately.
- Accuracy: Run
validate_attention_god_mode.pyto verify that your changes still produce mathematically correct Softmax/Top-K results compared to the CPU baseline. - Throughput: Any change to the streaming pipeline (
UFCE_ingestion_pipeline.pyorUFCE_agent.py) must maintain the "Zero-Memory" constraint. Do not introducelist.append()loops that load full datasets into RAM.
We are committed to providing a welcoming and inspiring community for all.
- Be respectful and inclusive.
- Focus on the code and the physics.
- Harassment of any kind will not be tolerated.
Thank you for helping us break the Memory Wall! 🚀