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

Adornments Are Jobs

~11 min · jobs, translation, review, audio

Level 0Dry Nib
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Optional work deserves durable identity, not authority over the original."

Name the protected result

A translation is useful, a blind review can improve it, and audio can accompany reading. None is the original. Calling them adornments is not contempt; it is an ordering rule that prevents optional value from becoming a gate.

Put the promise in state

Translation and review get durable jobs with kind, language, status, error, and timestamps; every worker claim gets an immutable attempt row. Translation output lives in the translation record, author revision follows review notes, and read-along voice stays on demand in the serial Bellows lane.

Inkwell Today view with keyword chips and draw controls above an original English passage; a separately labeled Korean translation beneath it is marked reviewed.
The original stays readable while the Korean translation and its review land below as separate state.

The quiet failure

A single giant enrichment task hides partial success and makes retry expensive. Inline calls hide work inside an HTTP request. Independent rows let the UI say exactly what exists and retry only the failed edge.

Invariant. Optional work deserves durable identity, not authority over the original.

Trace five moments

To test “Adornments Are Jobs,” inspect the moment before creation, after commit, when a worker claims the job, when output returns, and on the next-day reload. At each point record entry state, job status, attempt history, and visible copy. A promise that survives only the successful request is conditional sovereignty.

Do the work

Model translation and review as durable jobs, author revision as the review's author phase, and voice as a separate on-demand boundary. Add source editing, entry deletion, worker restart, and external-service failure to the same table. Mark when dropping an output is integrity preservation rather than data loss.

The final question

Does the screen keep the original visible while telling the truth about work around it? Then adornment serves. If a spinner hides failure or a late result overwrites current text, the adornment has stolen the throne.

Landing condition

Current Inkwell gives durable rows to translation and review work, with each actual claim recorded in job_attempts. Revision is the author phase of review, while voice is requested on demand through the one-at-a-time Bellows lane. Separate those states so partial success stays visible.

Speed and correctness are not opposites here. Commit the original first, then make later work re-read current state before it lands.

Code

Give every adornment a durable row·sql
CREATE TABLE jobs (
  id TEXT PRIMARY KEY,
  entry_id TEXT NOT NULL,
  kind TEXT NOT NULL,
  lang TEXT NOT NULL,
  status TEXT NOT NULL,
  error TEXT,
  created_at TEXT NOT NULL,
  started_at TEXT,
  finished_at TEXT
);

CREATE TABLE job_attempts (
  job_id TEXT NOT NULL,
  attempt_number INTEGER NOT NULL,
  status TEXT NOT NULL,
  error TEXT,
  started_at TEXT NOT NULL,
  finished_at TEXT,
  PRIMARY KEY (job_id, attempt_number)
);

External links

Exercise

Model translation, review, revision, and audio as separate jobs with explicit dependencies.
Hint
Distrust any completion path that never re-reads current state.

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.