diff --git a/docs/v4.0.0/V3-PARITY.md b/docs/v4.0.0/V3-PARITY.md index e4e90271..68075df4 100644 --- a/docs/v4.0.0/V3-PARITY.md +++ b/docs/v4.0.0/V3-PARITY.md @@ -290,6 +290,22 @@ check it. give headers to. The node must be able to tell, at the call, whether the target has the three cells of an entry before it. +**Intent, stated by Captain Bob 2026-10-05:** "Intent is for a runtime +check of a word. And the way we were originally doing it is the TTL was how +often the check would be performed. If the TTL was still valid, the word +would not get checked, in order to save the overhead of checking for +permissions every time." + +So: the check is at run time, per word, at the hook. The countdown is the +cheap part, done on every execution; the permission check itself is done +only when the countdown reaches zero. A check made only when a definition +is compiled does not meet the intent. + +What follows for the in-line words: to be checked at run time a word has +to pass through the hook, so it has to be called. The six that cannot be +called (`>R R> R@ I J LEAVE`) are the residue: they can only appear inside +a definition, and can only be checked when it is compiled. + **And what v3 measures.** v3 works a word's TTL out from that word's heat (`heat/4 + 256`). Section 2.7 rules heat per opcode. A word card exactly as v3's needs a count per word, which the same hook could take; whether it