This is the governance question that decides whether an international contributor base is an asset or a liability, and it is not technical.
Once contributors arrive from different madhāhib and jurisdictions they will disagree about rulings — what counts as riba exposure, whether a staking-derivative wrapper is permissible, how a governance token should be classified. In a religious context, ungoverned disagreement is far more corrosive than a technical argument. Left ambiguous, it fragments the project.
The architecture already answers it — make the answer explicit
keel does not issue rulings. Attestation is a human input that fails closed: the operator supplies sector, backing and yield with a source and an attributed name, and keel enforces that deterministically and records who said what. screen_asset never derives a ruling from price data, and attestation=None is a rejection, not a default pass.
That means keel can serve a Hanafi operator and a Shafi'i operator without the project taking a side, because the ruling lives in the attestation, not in the code.
Acceptance
Why this is Phase 6 and not later
Every other document written before this is decided will have to be rewritten afterwards.
This is the governance question that decides whether an international contributor base is an asset or a liability, and it is not technical.
Once contributors arrive from different madhāhib and jurisdictions they will disagree about rulings — what counts as riba exposure, whether a staking-derivative wrapper is permissible, how a governance token should be classified. In a religious context, ungoverned disagreement is far more corrosive than a technical argument. Left ambiguous, it fragments the project.
The architecture already answers it — make the answer explicit
keel does not issue rulings. Attestation is a human input that fails closed: the operator supplies sector, backing and yield with a source and an attributed name, and keel enforces that deterministically and records who said what.
screen_assetnever derives a ruling from price data, andattestation=Noneis a rejection, not a default pass.That means keel can serve a Hanafi operator and a Shafi'i operator without the project taking a side, because the ruling lives in the attestation, not in the code.
Acceptance
CONTRIBUTING.md, framed as what is and is not in scope for a PRWhy this is Phase 6 and not later
Every other document written before this is decided will have to be rewritten afterwards.