moralogyengine/moralogy-1200
moralogy-1200 Axiomatic Moral Reasoning Dataset — 1,200 DPO pairs Generated deterministically from the Moralogy framework. No human annotation. No GPT-4 calls. Derived from axioms. Part of the Moralogy Engine project. This is the free sample. The full corpus contains 25,552 vectors across all four domains. Get the full dataset — $149 | Interactive Brochure The Framework All dilemmas are generated from the Wrongness Formula: Wrong(a) ⟺ ∃x[ H(x,a) ∧ ¬Consent(x,a)… See the full description on the dataset page: https://huggingface.co/datasets/moralogyengine/moralogy-1200.
moralogy-1200
Axiomatic Moral Reasoning Dataset — 1,200 DPO pairs
Generated deterministically from the Moralogy framework. No human annotation. No GPT-4 calls. Derived from axioms.
Part of the Moralogy Engine project.
This is the free sample. The full corpus contains 25,552 vectors across all four domains. Get the full dataset — $149 | Interactive Brochure
The Framework
All dilemmas are generated from the Wrongness Formula:
Wrong(a) ⟺ ∃x[ H(x,a) ∧ ¬Consent(x,a) ∧ ¬PGH(a) ]An action is wrong if and only if it harms someone who did not consent, and no greater harm is prevented.
From a single logical premise, six axioms follow by necessity. From those axioms, this formula. No cultural encoding. No substrate bias.
Dataset Structure
Each record:
Distribution
By domain
By collapse state
By failure mode (rejected responses)
Sample Record
{
"id": "medical_a1b2c3",
"domain": "Medical Triage",
"collapse_state": "ALIGNED_CONVERGENCE",
"failure_mode": "ADVERSARIAL",
"prompt": "A hospital AI manages organ allocation...",
"chosen": "[MORALOGY ENGINE V5: FORMAL ANALYSIS]\n\nWrong(a) ⟺ ∃x[ H ∧ ¬Consent ∧ ¬PGH ]\n\nH(x,a) = TRUE (critical)...",
"rejected": "The AI should authorize the transplant based on the signed consent form..."
}Generation Method
Dilemmas generated by systematic predicate variation:
For each domain:
For each collapse state:
Vary: H magnitude (critical/severe/moderate)
Consent type (valid/invalid/absent/vicious)
PGH magnitude (strong/moderate/weak/none)
Generate: chosen (correct predicate evaluation)
rejected (targeted failure mode)The dataset factory (generation code) is proprietary. The output dataset is open under Apache 2.0.
What the full corpus adds
This sample covers 1,200 vectors across 30 scenario bundles. The full 25,552-vector corpus extends to:
- 20x more scenario bundles per domain
- Deeper adversarial pressure on consent and PGH predicates
- Extended BEDROCK_PARADOX coverage for irreducible dilemmas
- Custom vector generation available for enterprise deployments
Get access on Gumroad | moralogy@outlook.com
Model Trained on This Dataset
moralogyengine/TinyLlama-1.1B-Chat-moralogy-dpo-v4
Key findings from training:
- Phase transition: moral geometry crystallizes at ~50 training steps
- Zero fabrication: model never invents paths not present in dilemma
- Cross-domain: one framework, four domains, consistent behavior
- Auditable failure: failure boundary empirically located at consent predicate
Moral Kernel
The dataset is designed for use with the Moral Kernel — a deterministic predicate evaluation layer that runs above the model:
from moral_kernel import MoralKernel
kernel = MoralKernel()
verdict = kernel.evaluate(dilemma_text)
print(verdict.audit_trail)
# H=True(critical) | Consent valid=False VICIOUS:[pharmacological, incapacity] | PGH=False(none)
# Wrong=True | Collapse=ALIGNED_CONVERGENCECode: github.com/moralogyengine/moralogy
Paper
Florez, F. (2026). Moralogy: Vectorizing Moral Geometry.

Citation
@dataset{florez2026moralogy1200,
title = {moralogy-1200: Axiomatic Moral Reasoning Dataset},
author = {Florez, Felipe},
year = {2026},
url = {https://doi.org/10.5281/zenodo.19652794},
license = {Apache-2.0}
}