Back Office · office.temerarii.xyz
Six, in the operator kit. About an hour

Exercises

6 exercises on Temerarii Media. About 45 minutes.

Six exercises, in order, run in the operator kit — a small standalone repo with two brand packages and a local mock API. Each is graded by a script in the repo, which is the same grader we use: there is no hidden test, and you can run it as many times as you like. A fresh clone scores 5/6.

1 · Both brands load, and their gates pass

Run the gates over both brand packages in the operator kit. Everything passes except the voice gate on the second brand, which ships with three planted violations — that is exercise 4. Then open the gate module and read the docstring on each gate: every one of them exists because the mistake it catches actually happened in production.

How you know you have it: You can name which gate exists because of which failure. The habit that matters: when something breaks in a way a person had to notice, you have learned that people do not reliably notice it — so the gate goes in the same change as the fix.

2 · Fiscal weeks

The scheduler implements a 4-4-5 retail calendar. A week is keyed by its fiscal year (2026W40, 2027W02); the count restarts at 01 each year (52 weeks, 53 when the Chairman's sheet says so). Weeks always start Sunday, and the anchor comes from each brand's goal file — which is why one brand's year opens in January and the other's does not, with no branch in the code. Answer for yourself, then check with the grader: what key does the week after 2026W52 carry, which quarter is it in, and what does placing six beats from week 50 return?

How you know you have it: You saw the trap before the grader told you. Placement used to stop at week 52, so a campaign starting at week 50 resolved to no weeks at all — no error, no warning, an empty list, and the copy sat authored on disk while the campaign silently never shipped.

3 · The rails are per brand

Both brands run the same voice gate and neither shares a word list. Read both. One bans hype; the other bans something else entirely. Adding a channel or a banned term is an edit to a brand package, never a pipeline change — confirm that by finding where the pipeline reads it.

How you know you have it: You can add a term to one brand and prove the other is unaffected without touching any shared code. If you had to edit the pipeline, you found the bug.

4 · Find the planted violations, then look harder than the tool did

Three deliberate voice violations. Find them, and record each as week, field and banned term. Then look harder than the tool did. One of the three is a negation — the copy is arguing against the very thing the rule exists to prevent, and the word list flagged it anyway.

How you know you have it: Three, plus a few lines on the negation: is it a violation? There is a defensible answer either way and we care about the reasoning. An operator who defers to the gate on everything is as much of a problem as one who overrides it.

5 · A minimal dirty set

Edit one field in one week. Which authored weeks now need re-rendering? Write the answer as the smallest correct set. The grader rejects an answer containing every authored week, even though “everything is stale” is technically safe.

How you know you have it: Being conservative is not free. It is a real cost, paid every time, and the entire value of a dirty set is in naming only what actually changed.

6 · Publish payloads, and what does not get sent

Build the publish payloads for a week against the local mock. The mock enforces what the real service enforces: required fields, per-channel length limits, a campaign tag on every link, and a source campaign on every payload. Notice what you did not have to configure — the per-brand channel list came from the brand package. And notice what did not get sent: a manual channel's payload is still built, still validated, and reported as needing a human.

How you know you have it: Every published item traces back to a registry entry — not because a policy says so, but because in six months someone will ask where a post came from and “I am not sure” is not an answer you want to give about your own work. The check lives in code so an unattributable payload is impossible to construct rather than merely discouraged.

What we are reading for

The scorecard is the floor, not the ceiling. Passing every exercise shows you can operate the machine. Past that we are reading for whether you can tell the difference between the gate passed and the work is right — and whether, when you find something the gates miss, your instinct is to fix that one instance or to add the check that catches it forever. The strongest submissions add a gate.
Do 1–3 for qualification; the rest if you want to. About an hour. Nothing is timed and there is no bonus for speed. If you are well past that and stuck, stop and send what you have with a note about where — clear thinking that ran out of road is a more useful submission than a perfect score that took a weekend. If an instruction is genuinely ambiguous, that is our bug and we want to hear about it.