Skip to content
C.W.K.
Stream
Lesson 05 of 05 · published

Judgment Never Runs on a Timer

~13 min · automation, scheduler, judgment, curation

Level 0Trace
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

The last safe line for automation

A timer may mirror the vault, record hash drift, recalculate token weight, and refresh Radar candidates. These operations are deterministic and do not alter source meaning.

Beyond that threshold, merging notes, demoting memory, or choosing the current side of a contradiction requires context and responsibility. A scheduler making those calls turns maintenance into a nightly personality rewrite.

Separate recommendation from mutation

A brain may read a candidate and produce a recommendation. The row should carry source hashes, instruction, and model provenance, and the write path remains closed until approval in a live session.

An automatic confidence threshold only makes confidence into authority. Similarity 0.99 cannot justify merging sacred repetition, and model confidence measures neither permission nor truth.

Operation can continue while judgment waits

Human judgment does not require freezing the system. Observation queues refresh while mirror, ledger, and index operate. Pending candidates are an honest backlog, not lost data.

Expose backlog count and age without treating them as an overdue emergency. Curation is stewardship, not an SLA. Deterministic broken references may still have separate operational severity.

Close failure explicitly

When no brain or approval is available, record recommendation or mutation as blocked. A fallback brain must still satisfy actor and mode policy. Silent substitution with a model or rule erases responsibility.

Retries must be idempotent, and a changed source hash invalidates the recommendation. Applying old judgment after reality changed is a quieter danger than scheduled automation.

A scheduler may keep evidence current; it may not decide the meaning of memory. Keep observation running and place accountable live approval between recommendation and mutation.

Code

Let the timer produce candidates only·python
from dataclasses import dataclass

@dataclass(frozen=True)
class Candidate:
    path: str
    signal: str
    source_hash: str

scheduled_output = Candidate("memory/a.md", "possible duplicate", "abc123")
assert not hasattr(scheduled_output, "approved_action")
print("awaiting live judgment")

External links

Exercise

Inspect the output schema of a scheduled memory job. If it contains mutation, stop at candidate or recommendation and move the write into a separately approved command.
Hint
A timer that changes source bytes or finalizes disposition has crossed the line.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.