feat(relevance): what a repository's public history looks like - #20
Merged
Conversation
Phase 6A. Not trust, and the distinction is the reason this exists as its
own thing rather than as a caveat on something else:
Public Repository relevance
Private Can Official KRED trust this interaction?
Everything here comes from signals GitHub already shows the world, with
weights that are open source and therefore reconstructible by anybody.
That is fine precisely because nothing here decides issuance. The
scoring that does is unpublished and lives with the Risk Engine.
Law XXXI is enforced structurally rather than described. The score is
capped by the breadth of evidence: a repository showing k of n signals
cannot score above k/n of the maximum, whatever those k are worth. That
cap is derived from the law rather than chosen, and it means a hundred
thousand purchased stars with nothing else scores in single digits no
matter how the reference points are tuned. There is no single number to
buy, which is what 25 means when it says trust must move gradually.
There is deliberately no function turning relevance into a
RepositoryTrustTier, and a test asserts the module exports none. The
absence is the safeguard, the same way the points module exports no path
to KRED: a conversion that does not exist cannot be called by a future
feature in a hurry, and a relevance score that could become an
eligibility tier would put issuance behind numbers anyone can read off a
GitHub page.
The reference points are open, tunable, and stated as suggestions rather
than law. A reference that had to be secret would be a threshold, and a
threshold on a public signal is what Law XXXI forbids relying on.
External contributors are reported as unfetched rather than guessed.
Kreds does not ask for the organization members permission, so it cannot
tell a member from an outsider, and this is one of the strongest signals
a repository can have. Inventing it would be inventing legitimacy.
Measurements are cached for a day. A score recomputed on every read is a
score somebody can watch respond to what they just did.
Absence is reported as absence. A repository Kreds has not measured, or
one GitHub could not be reached about, is a 404 rather than a zero,
because "not measured" and "no history" are different facts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 6A. Not trust, and the distinction is the reason this is its own thing:
Everything here comes from signals GitHub already shows the world, with weights that are open source and reconstructible by anybody. That is fine precisely because nothing here decides issuance.
Law XXXI, enforced rather than described
The score is capped by the breadth of evidence: a repository showing
kofnsignals cannot score abovek / nof the maximum, whatever thosekare worth.That cap is derived from the law rather than chosen. One signal out of nine caps at a ninth, so a hundred thousand purchased stars with nothing else scores in single digits no matter how the reference points are tuned. There is no single number to buy.
There is a test sweeping all nine signals at four magnitudes each, up to
MAX_SAFE_INTEGER, asserting none of them alone can push the score past 15.Relevance never becomes trust
There is deliberately no function turning relevance into a
RepositoryTrustTier, and a test asserts the module exports none. The absence is the safeguard, the same way the points module exports no path to KRED.A relevance score that could become an eligibility tier would put issuance behind numbers anyone can read off a GitHub page.
Two honesty decisions
Reference points are open and stated as suggestions, not law. A reference that had to be secret would be a threshold, and a threshold on a public signal is what Law XXXI forbids relying on.
External contributors are reported as unfetched, never guessed. Kreds does not ask for the organization members permission, so it cannot tell a member from an outsider. This is one of the strongest signals a repository can have, and inventing it would be inventing legitimacy.
Absence is absence
A repository Kreds has not measured, or one GitHub could not be reached about, is a
404rather than a score of zero. Not measured and no history are different facts.Verified on a running API:
404for an unmeasured repository,400for a malformed id.357 tests. Format, lint, typecheck and build clean.
Not in this PR
Phase 6B is the authoritative global trust decision and lives in
kreds-network. Its signals are private and its formulas stay there.