Decisions

Every load-bearing choice in tik has a record: the decision, the context that forced it, and the consequences that follow. Several exist to name something tik will not do, which is the part that keeps the model small.

New here, read these four: derived state is never authoritative is the one law written as a constraint on every future feature; coordination-free is its companion; stored bytes are the hashed region is why sha256sum alone audits a store; and three clocks is why a guard’s meaning includes which clock it reads.

These files live in the repository’s knowledge bundle under kb/decisions/, so a checkout and this site carry the same record.

The laws

DecisionWhat it settles
0013Derived material may be cached only if disposable and untrusted.
0021No leader, no lock, no consensus — on any correctness path.
0001The event-log acceptance test every feature must pass.

Derivation

DecisionWhat it settles
0005Negation inside the fixpoint must be stratified to stay deterministic.
0003Concurrent conflicting assertions block guards; people resolve them.
0016Explain’s structured reasons are the stable API; the prose is not.
0018Conformance is the corpus, the laws, and the normative sweep semantics.
0019Effects observe derivation; transport is not a domain concept.

Time

DecisionWhat it settles
0012Three clocks, never conflated; the clock is part of the guard.
0022The claimed clock is clamped to the evaluated clock.

The log and its bytes

DecisionWhat it settles
0004Parents are mandatory; the log is a Merkle DAG.
0006SHA-256, self-describing ids, one algorithm per store.
0007Stored bytes are exactly the hashed region; signatures are detached.
0008Canonical serialization is a versioned wire protocol.
0017Events are never deleted; blobs may be; nothing compacts into authority.
0020The contract every storage backend must honour.

Trust and authority

DecisionWhat it settles
0010Signatures establish authorship; authorization is derived.
0011The log admits all well-formed claims; trust is evaluated, not filtered.
0009Unknown data is handled differently per layer, on purpose.
0014The artifact hash is in the trust domain; the blob is not.
0015Definition hash is identity; publication signatures are authority.
0002Tickets pin their definition hash; migration is an event.