Tasks

One row per factory task, ordered by repo and task number (the snapshot carries no last-event time yet; click a header to sort). Cost, tokens and time come from the task snapshot; a figure the snapshot does not carry is marked not measured.

Snapshot date: 2026-11-02 (America/New_York).

Figures cover 2026-10-30 14:46 EDT to 2026-11-02 12:46 EST: every event in the factory log; each task row is that task's total.

Tasks383all time since 2026-10-30
Cost$11.06+measured rows only (81 of 383); all time since 2026-10-30
Tokens859k in · 8.5M out · 228M cachemeasured rows only (81 of 383); all time since 2026-10-30

383 tasks

claude-harness-001Make repo-audit.sh fast, with a one-line summary at session startready—not measurednot measurednot measured—
claude-harness-002Finish and review the staged fast repo-audit hookblocked—not measurednot measurednot measured—
claude-harness-003Absolute context-size warning hookapproved—not measurednot measurednot measured—
claude-harness-004Remind a session of the retire steps when it launches its successorapproved—not measurednot measurednot measured—
claude-harness-005Retire reminder: fire only on a real successor launch, not on text that mentions onerework—not measurednot measurednot measured—
claude-harness-006Successor launch gate: refuse to launch a successor while its handoff doc is staleapproved—not measurednot measurednot measured—
claude-harness-007Automatic compaction cannot silently replace a handoffmerged—not measurednot measurednot measured—
claude-harness-008Log subscription rate-limit snapshots from the status lineready—not measurednot measurednot measured—
claude-harness-009`startup-floor`: what a fresh session's first turn costs, by componentawaiting_approval—$0.08+2.3k in · 82.9k out · 1.8M cache7 min—
claude-harness-010startup-floor: survive unreadable dirs and vanished files, complete `--json`awaiting_approvalO-358$0.12+2.4k in · 115k out · 2.8M cache10 min—
claude-harness-011UserPromptSubmit hook: remind the session to clear the Owner Boardmerged—not measurednot measurednot measured—
devops-site-001Skeleton: build, gate, allowlist, PII checkmerged—not measurednot measurednot measured—
devops-site-002Sync script and docs renderermerged—not measurednot measurednot measured—
devops-site-003Map data (part 1 of 3 of the architecture map)merged—not measurednot measurednot measured—
devops-site-004Map renderer (part 2 of 3)merged—not measurednot measurednot measured—
devops-site-005Map script (part 3 of 3)merged—not measurednot measurednot measured—
devops-site-006Test gate diagramaccepted—$0.10+2.3k in · 89.6k out · 2.6M cache9 min—
devops-site-007The gate snapshot covers every factory runs diraccepted—$0.02+38 in · 17.2k out · 501k cache2 min—
devops-site-008Per-feature page (owner GO, deck `factory-ask-tracking-r1`; narrowed 2026-11-01)accepted—$0.06+2.4k in · 48.4k out · 1.3M cache4 min—
devops-site-009009 (SUPERSEDED 2026-11-02: stopped task_too_big; split into 010 snapshot_tasks, 011 fetch_links, 012 tasks page) — Tasks page: every factory task, with cost, tokens, time, issues and PRs (owner: "get it done", 2026-11-02)stopped—$0.067.7k in · 78.8k out · 563k cache5 min—
devops-site-010`scripts/snapshot_tasks.py`: one snapshot row per factory task (split from 009)accepted—$0.06+78 in · 52.3k out · 1.3M cache4 min—
devops-site-011`scripts/fetch_links.py`: issues and PRs per repo (split from 009)accepted—$0.02+38 in · 20.6k out · 518k cache2 min—
devops-site-012Tasks page rendered from `sources/tasks-snapshot.json` (split from 009)accepted—$0.05+2.7k in · 42.2k out · 1.3M cache9 min—
devops-site-013`snapshot_tasks.py` must read the real report format (010 was written against a wrong sample)accepted—$0.05+72 in · 39.9k out · 1.1M cache4 min—
devops-site-014Tasks page: use `num` for the row anchor and the task-number column (follow-up to 013)accepted—$0.02+38 in · 11.8k out · 521k cache2 min—
devops-site-015Use more page width on desktop; make the Tasks table columns readableaccepted—$0.02+40 in · 12.8k out · 572k cache2 min—
devops-site-016Snapshot: titles for devops-site rows, clean `state` valuesaccepted—$0.03+58 in · 25.0k out · 961k cache3 min—
devops-site-017Tasks table fits a 1440 px screen without sideways scrollstopped—$0.0450 in · 38.4k out · 810k cache18 min—
factory-000Restart canarydraft—not measurednot measurednot measured—
factory-001Restart canaryready—not measurednot measurednot measured—
factory-002Restart canaryapproved—not measurednot measurednot measured—
factory-003Ready gate never starves on a busy hostapproved—not measurednot measurednot measured—
factory-004Restart canaryapproved—not measurednot measurednot measured—
factory-005Restart canaryapproved—not measurednot measurednot measured—
factory-006Page the owner through ntfy while the factory is held up on himready—not measurednot measurednot measured—
factory-007Alerts link to the deck, PR or session that unblocks the workready—not measurednot measurednot measured—
factory-v3-012Checks must not pass on files outside the changeaccepted—$0.35474 in · 254k out · 10.8M cache1 h 54 min—
factory-v3-013Cloudflare Workflows benchmark: the ruling ladder across a redeployaccepted—$0.94646 in · 337k out · 20.3M cache2 h 7 min—
factory-v3-014Instrumentation, slice 2: enough data to diagnose latency and act on itaccepted—$1.23+338 in · 262k out · 15.4M cache46 min—
factory-v3-015The task loop: implement, check, review, route, with no model in chargeaccepted—$0.37306 in · 256k out · 8.7M cache1 h 4 min—
factory-v3-016Review prompts fit on the command line; Docker tests count only their own containers 016accepted—$0.0696 in · 34.5k out · 2.6M cache17 min—
factory-v3-017Task IDs unique across repos, an issue reference on events, and the loop keeps its test output 017accepted—$0.27130 in · 72.0k out · 5.2M cache16 minIssue #2
factory-v3-001Coder image with the four bake-off runtimesmerged—not measurednot measurednot measured—
factory-v3-002Job script: one task in one fresh containermerged—not measurednot measurednot measured—
factory-v3-003Bake-off replay harnessmerged—not measurednot measurednot measured—
factory-v3-004Replay fixes: machine-decided scoring, per-task setup, job defectsmerged—not measurednot measurednot measured—
factory-v3-005Bake-off usage proxy: measured tokens and cost per runmerged—not measurednot measurednot measured—
factory-v3-006Prompt framing: a task file must not be read as a CLI optionmerged—not measurednot measurednot measured—
factory-v3-007Tell the coder its role; the task file is in scopemerged—not measurednot measurednot measured—
factory-v3-008opencode auto-approves, like the other runtimesmerged—not measurednot measurednot measured—
factory-v3-009A job can run in Sysbox, with its own Docker daemonmerged—not measurednot measurednot measured—
factory-v3-010Temporal prototype: the ruling ladder survives a redeploymerged—not measurednot measurednot measured—
factory-v3-011Instrumentation, slice 1: one event log for every jobmerged—not measurednot measurednot measured—
factory-v3-018Keep Claude-runtime requests under 100k, and report any that are notaccepted—$0.05+60 in · 35.0k out · 1.6M cache11 minIssue #10
factory-v3-019Keep each job's runtime transcript, and report what was read and re-readaccepted—$0.16+13.5k in · 150k out · 3.5M cache21 minIssue #2
factory-v3-020Count one file as one file, whichever tool read itaccepted—$0.02+44 in · 15.7k out · 748k cache9 minIssue #2
factory-v3-021Attribute reads made through compound Bash commands, and detect overlapping re-readsaccepted—$0.17+13.0k in · 207k out · 3.0M cache26 minIssue #2
factory-v3-022The review gate must not lose a must-fixaccepted—$0.03+50 in · 23.2k out · 807k cache18 minIssue #2
factory-v3-023Read parser follow-ups and `reread_files` by overlapaccepted—$0.06+2.8k in · 60.5k out · 1.2M cache25 minIssue #2
factory-v3-024The test suite can run twice at onceaccepted—$0.09+166 in · 50.9k out · 2.2M cache38 minIssue #2
factory-v3-025Measure what enters the model: a line-hash sensor at the tool result seamaccepted—$0.16+13.1k in · 154k out · 3.3M cache21 minIssue #2
factory-v3-026Compare sessions at the seam and record defectsaccepted—$0.24+33.4k in · 222k out · 5.6M cache25 minIssue #12
factory-v3-027Experiment harness, part 1: blinding and contract lintaccepted—$0.15+2.3k in · 139k out · 3.4M cache33 minIssue #11
factory-v3-028A task branch survives main movingaccepted—$0.06+88 in · 45.7k out · 1.6M cache12 minIssue #2
factory-v3-029The loop can run a chain, and can review blindaccepted—$1.22+435k in · 1.3M out · 11.1M cache1 h 56 minIssue #11
factory-v3-030The experiment runnerstopped—$0.53103k in · 631k out · 5.3M cache49 minIssue #11
factory-v3-031Held-out acceptance testsaccepted—$0.25+9.2k in · 243k out · 5.5M cache33 minIssue #11
factory-v3-032Close the review follow-ups on the sensor and the lintaccepted—$0.07+5.4k in · 57.8k out · 2.0M cache12 minIssue #12
factory-v3-033A job that compacts twice stopsaccepted—$0.17+20.2k in · 160k out · 4.3M cache27 minIssue #8
factory-v3-034A worker runs the queue with no modelaccepted—$0.16+2.3k in · 143k out · 3.9M cache20 minIssue #8
factory-v3-035Split the two biggest test filesaccepted—$0.08+2.6k in · 78.4k out · 1.9M cache15 minIssue #8
factory-v3-036Refuse a task that names too muchaccepted—$0.05+72 in · 40.7k out · 1.4M cache12 minIssue #8
factory-v3-037A stopped task gets a ruling from a fresh sessionaccepted—$0.06+8.9k in · 63.4k out · 1.2M cache12 minIssue #8
factory-v3-038The test step runs in a containeraccepted—$0.09+2.2k in · 78.6k out · 2.9M cache29 minIssue #13
factory-v3-039Experiment runner, part 1: plan, schedule, record, decisionaccepted—$0.05+50 in · 44.6k out · 1.1M cache13 minIssue #11
factory-v3-040Experiment runner, part 2: the command line and arm Astopped—$0.075.2k in · 73.0k out · 712k cache5 minIssue #11
factory-v3-041Experiment runner, part 3: arm B and the READMEstopped—$0.08+13.4k in · 90.5k out · 1.2M cache8 minIssue #11
factory-v3-042Split `job/run_job.py`stopped—$0.067.4k in · 58.3k out · 1.2M cache6 minIssue #8
factory-v3-043Small findings left open by earlier reviewsaccepted—$0.07+114 in · 54.1k out · 1.9M cache17 minIssue #8
factory-v3-044Experiment runner: the command lineaccepted—$0.04+48 in · 34.8k out · 911k cache12 minIssue #11
factory-v3-045Experiment runner: arm Aaccepted—$0.06+2.7k in · 60.8k out · 1.3M cache16 minIssue #11
factory-v3-046Worker and ruler events, and the waste alertaccepted—$0.04+4.9k in · 40.3k out · 945k cache14 min—
factory-v3-047Experiment arm B, part 1: the decomposer and its lintaccepted—$0.06+4.7k in · 59.4k out · 1.6M cache15 minIssue #11
factory-v3-048Experiment arm B, part 2: the chainaccepted—$0.06+2.1k in · 52.0k out · 1.4M cache15 minIssue #11
factory-v3-049Experiment runner, part 3: the READMEaccepted—$0.14+18.9k in · 128k out · 2.2M cache20 minIssue #11
factory-v3-050A BLOCKED stop keeps the coder's workaccepted—$0.03+50 in · 22.2k out · 779k cache12 min—
factory-v3-051An open hold keeps reminding the owneraccepted—$0.03+54 in · 30.0k out · 930k cache13 min—
factory-v3-052The report states median and p90 lead timeaccepted—$0.02+40 in · 13.8k out · 529k cache11 min—
factory-v3-053A repo adapter: one JSON file on main says how to test a repoaccepted—$0.03+52 in · 20.4k out · 755k cache12 min—
factory-v3-054Test sandbox: read-only data paths, and the network can be offaccepted—$0.05+88 in · 38.9k out · 1.6M cache13 min—
factory-v3-055Keep every gate log, and label flakesaccepted—$0.07+3.1k in · 60.8k out · 1.7M cache16 min—
factory-v3-056Sample host load and memory during the gateaccepted—$0.06+5.2k in · 51.9k out · 1.5M cache14 min—
factory-v3-057Schema 6: stops, verdicts, severity counts, test setup, image and prompt versionstopped—$0.066.7k in · 52.9k out · 1.6M cache4 min—
factory-v3-058One repo and trace ID scheme, and ready timemerged—not measurednot measurednot measured—
factory-v3-059Planner tokens per task, from session transcriptsstopped—$0.0120 in · 5.6k out · 260k cache1 min—
factory-v3-060Schema 6: the fields, names and enum onlyaccepted—$0.03+52 in · 18.5k out · 787k cache11 min—
factory-v3-061Loop emits stops, verdicts and the test setupmerged—not measurednot measured<1 min—
factory-v3-062Job finish event carries the prompt version and imagemerged—not measurednot measurednot measured—
factory-v3-063Report lines and README for schema 6merged—not measurednot measurednot measured—
factory-v3-064Planner tokens per task, from session transcriptsmerged—not measurednot measurednot measured—
factory-v3-065A stop blocks its own task, not the queuecancelled—not measurednot measurednot measured—
factory-v3-066The test gate runs test modules at once, with a dialmerged—not measurednot measurednot measured—
factory-v3-067`ready_time` returns one format whatever the git versionmerged—not measurednot measurednot measured—
factory-v3-068`run_task` can stop after review and resume at the gatemerged—not measurednot measurednot measured—
factory-v3-069A stop on the task itself holds that task, not the queuemerged—not measurednot measurednot measured—
factory-v3-070Honour `depends:`, and brake when several tasks are heldmerged—not measurednot measurednot measured—
factory-v3-071A failed gate goes back to the coder once, without a plannermerged—not measurednot measurednot measured—
factory-v3-072A gate run records how long each of its phases tookmerged—not measurednot measurednot measured—
factory-v3-073A gate does not wait for its container to be removedsplit—not measurednot measurednot measured—
factory-v3-074Host pressure decides whether a gate beyond the second may startsplit—not measurednot measurednot measured—
factory-v3-075A review that finished is not a failed stagemerged—not measurednot measurednot measured—
factory-v3-076A ledger of everything that did not advance a taskmerged—not measurednot measurednot measured—
factory-v3-077The worker runs a repo's full check after merges, and holds the queue if it failssplit—not measurednot measurednot measured—
factory-v3-078A failed full run rechecks, finds the task that broke it, and reverts that tasksplit—not measurednot measurednot measured—
factory-v3-079The gate admission module, not yet wired inmerged—not measurednot measurednot measured—
factory-v3-080The gate waits for admission, and the report shows itmerged—not measurednot measurednot measured—
factory-v3-081A module that removes a gate's container in the backgroundmerged—not measurednot measurednot measured—
factory-v3-082A gate does not wait for its container to be removedmerged—not measurednot measurednot measured—
factory-v3-083Each worker pass removes containers left by a dead gatemerged—not measurednot measurednot measured—
factory-v3-084The gate-run tests ignore the host's admission configmerged—not measurednot measurednot measured—
factory-v3-085A module that runs a repo's full check and records the resultmerged—not measurednot measurednot measured—
factory-v3-086The worker runs the full check after merges, and holds the queue if it failsmerged—not measurednot measurednot measured—
factory-v3-087A failed full run is rechecked once, and a recheck that passes is a counted flakemerged—not measurednot measurednot measured—
factory-v3-088A full run that fails twice finds the task that broke itmerged—not measurednot measurednot measured—
factory-v3-089The worker reverts the task a failed full run foundsplit—not measurednot measurednot measured—
factory-v3-090A function that reverts one merged task and pushesmerged—not measurednot measurednot measured—
factory-v3-091A failed full run reverts the task it foundmerged—not measurednot measurednot measured—
factory-v3-092A revert undoes only the task's own commitsmerged—not measurednot measurednot measured—
factory-v3-093A Sysbox gate starts from an image that already holds the inner imagemerged—not measurednot measurednot measured—
factory-v3-094A full run reverts a task only on evidence against that taskmerged—not measurednot measurednot measured—
factory-v3-095A ruling on a failed test reaches the coder instead of retesting the same commitmerged—not measurednot measurednot measured—
factory-v3-096Git leaves no zombies in a coder's containermerged—not measurednot measurednot measured—
factory-v3-097The branch a repo builds on is a settingmerged—not measurednot measurednot measured—
factory-v3-098The daemon wait reads its timeout when it is calledready—not measurednot measurednot measured—
factory-v3-099A BLOCKED stop on the session path keeps the work toomerged—not measurednot measurednot measured—
factory-v3-100A merged task leaves no stale briefmerged—not measurednot measurednot measured—
factory-v3-101A merge push that loses a race is tried again before it holdsmerged—not measurednot measurednot measured—
factory-v3-102The timeout test looks only at containers it startedmerged—not measurednot measurednot measured—
factory-v3-103Generated read-only task pagecancelled—not measurednot measurednot measured—
factory-v3-104A task names the ask it serves, and the report groups by itmerged—not measurednot measurednot measured—
factory-v3-107Stop on the same failure repeating; a ruling buys rounds; the daily cap says so in the logacceptedO-380$0.12+6.3k in · 104k out · 3.7M cache29 min—
factory-v3-108`python3 -m loop.wait`: block until a task changes state (R2, event-driven wait)acceptedO-358$0.03+58 in · 25.2k out · 706k cache30 min—
factory-v3-probe-compactno titlestopped—$0.1022 in · 2.4k out · 896k cache<1 min—
factory-v3-probe-compact2no titlestopped—$0.0218.4k in · 5.2k out · 282k cache1 min—
linkexch-021Access-token claims `onboarded` and `phone_verified`merged—not measurednot measurednot measured—
linkexch-022files: services/id/ is the whole new package; the coder creates only the files named in Change.approved—not measurednot measurednot measured—
linkexch-023Browser tests for the id site: a fast tier on studio, a full-stack tier in CIapproved—not measurednot measurednot measured—
linkexch-024Sign in: emailed code (default), Google, and "text me a code" recoveryrework—not measurednot measurednot measured—
linkexch-025Sign up: phone once, then email (or email-first while sign-up is deferred)ready—not measurednot measurednot measured—
linkexch-026Passkeys, offered once and never required; sign outready—not measurednot measurednot measured—
linkexch-027The account page: passkeys, email, phone, sign out everywhereready—not measurednot measurednot measured—
linkexch-028Step-up: `/confirm` before high-impact actions, and an optional authenticator appready—not measurednot measurednot measured—
ministry-site-000Transcript text lives outside the repoapproved—not measurednot measurednot measured—
ministry-site-001Episodes from the Mac's diarized transcript.jsondraft—not measurednot measurednot measured—
ministry-site-002Local summaries + scripture refs for study episodesdraft—not measurednot measurednot measured—
ministry-site-003Name gate reads one shared denylistapproved—not measurednot measurednot measured—
ministry-site-004Wire the repo for the factory (opencode agents on OpenCode Go)done—not measurednot measurednot measured—
ministry-site-005Name gate in its own script, skipping binary filesapproved—not measurednot measurednot measured—
ministry-site-006Study guide → Bible reader: Strong's links and verse references open the readerapproved—not measurednot measurednot measured—
ministry-site-007Studies list → the Bible app's Study tabapproved—not measurednot measurednot measured—
ministry-site-008Drop the dead `npm run validate` scriptready—not measurednot measurednot measured—
ministry-site-009Kept word-audit script without its known misreadingsdraft—not measurednot measurednot measured—
ministry-site-010`guide build`: run-folder sources to guide HTML, same input same bytesdraft—not measurednot measurednot measured—
ministry-site-011`guide check`: every guide check as an exit codedraft—not measurednot measurednot measured—
ministry-site-012Retire the Drive steps from the nightly, back guides up to Nextclouddraft—not measurednot measurednot measured—
ministry-site-013Study pages fit a phone screendraft—not measurednot measurednot measured—
shared-workspaces-001Scaffold: Worker, room Durable Object with its schema, D1 directory, testsmerged—not measurednot measurednot measured—
shared-workspaces-002Sign-in: verify kit's token once, then a session cookiemerged—not measurednot measurednot measured—
shared-workspaces-003Rooms: a personal room, a pair room with an invite, accept or declinemerged—not measurednot measurednot measured—
shared-workspaces-004Sources with per-source visibility, enforced in the roommerged—not measurednot measurednot measured—
shared-workspaces-005Change who can see a source; delete it; leave the roomdraft—not measurednot measurednot measured—
shared-workspaces-006Files: upload to private R2, download only if allowed, delete for realmerged—not measurednot measurednot measured—
shared-workspaces-007Search inside a room: chunks, int8 vectors, keyword + vector, mergedmerged—not measurednot measurednot measured—
shared-workspaces-008Private chat over what you can see, with citations that follow the sharing rulesmerged—not measurednot measurednot measured—
shared-workspaces-009Notes: save an answer, keep it private, publish it to people or the roommerged—not measurednot measurednot measured—
shared-workspaces-010Change who can see a source: widen, narrow, re-sharemerged—not measurednot measurednot measured—
shared-workspaces-011Delete a source for real; leave a roommerged—not measurednot measurednot measured—
shared-workspaces-012Voice notes: record, transcribe, delete the audio at oncemerged—not measurednot measurednot measured—
shared-workspaces-013Live updates: a room tells its open tabs what changed, per readermerged—not measurednot measurednot measured—
shared-workspaces-014Search must work when someone can see more than 100 sourcesmerged—not measurednot measurednot measured—
shared-workspaces-015Split the room object and the router into small modules (no behaviour change)merged—not measurednot measurednot measured—
shared-workspaces-016Real model clients: chat and embeddings through OpenRouter, zero retention on every requestready—not measurednot measurednot measured—
srvo-io-077Battery research data: add charging limits (transcription only)merged—not measurednot measurednot measured—
srvo-io-078Battery tool: a "Charging heat" sectionmerged—not measurednot measurednot measured—
srvo-io-080Battery tool: a model registry, with the `lumped-1node` thermal model as its first entrymerged—not measurednot measurednot measured—
srvo-io-081Brand style guide: show the marks, add section navigationsuperseded—not measurednot measurednot measured—
srvo-io-082tstr models: battery life, sleep floor, halving leak, ride-throughmerged—not measurednot measurednot measured—
srvo-io-083tstr inputs: tags, grades, range check, and share-link statemerged—not measurednot measurednot measured—
srvo-io-084tstr page: landing, static sample report, and the four-step wizardsplit—not measurednot measurednot measured—
srvo-io-085tstr run: the three tests draw on real model outputdraft—not measurednot measurednot measured—
srvo-io-086tstr report: results, grades, fix dials, and saved readingsdraft—not measurednot measurednot measured—
srvo-io-087tstr email: the free sign-up sends the ranked fix plan and a link backdraft—not measurednot measurednot measured—
srvo-io-088tstr interest form: tell us you want this on real hardwaredraft—not measurednot measurednot measured—
srvo-io-089Tool routes: every tool hands its numbers to tstr or to the business doordraft—not measurednot measurednot measured—
srvo-io-090Homepage hero: plug your product into tstr; the keycap diorama moves to Servicesdraft—not measurednot measurednot measured—
srvo-io-091tstr page, part 1 of 3: the landing and the static sample reportmerged—not measurednot measurednot measured—
srvo-io-092tstr page, part 2 of 3: the script and wizard steps 1 and 2split—not measurednot measurednot measured—
srvo-io-093tstr page, part 3, after 094 and 095: wizard steps 3 and 4ready—not measurednot measurednot measured—
srvo-io-094tstr page, part 2a: the script and wizard step 1merged—not measurednot measurednot measured—
srvo-io-095tstr page, part 2b: wizard step 2, "Your product"split—not measurednot measurednot measured—
srvo-io-096tstr page, part 2b: step 2 fields (specs and prototype paths) srvo-io-v3accepted—$0.12+2.9k in · 90.1k out · 4.5M cache34 min—
srvo-io-097tstr page, part 2c: idea card, "I measured this", tooltip srvo-io-v3stopped—$0.054.4k in · 59.4k out · 950k cache6 min—
srvo-io-098Brand style guide: show the marks, add section navigation srvo-io-v3accepted—$0.05+2.4k in · 46.0k out · 1.4M cache6 min—
srvo-io-100Connect this repo to factory v3merged—not measurednot measurednot measured—
srvo-skills-001Worker scaffold: bundle skills at build time, serve list_skills / get_skill over MCPready—not measurednot measurednot measured—
srvo-skills-002Port build.py to the Worker: `renderDeck(deck)` with byte parity, exposed as `build_deck`draft—not measurednot measurednot measured—
symbol-map-001Wire the repo for the factory (opencode agents on OpenCode Go)done—not measurednot measurednot measured—
symbol-map-002KJV column back to verbatim; the divine name reads YAHUAHdone—not measurednot measurednot measured—
symbol-map-003Hebrew shown as consonants only: no vowel points, no cantillation, no switchdone—not measurednot measurednot measured—
symbol-map-004A quieter mark for the untranslated Greek article; the אֵת label reads "Aleph/Tau"; the letter is "Uau"done—not measurednot measurednot measured—
symbol-map-005Reviewer allow-list: build commands, every test script, pipe helpersdone—not measurednot measurednot measured—
symbol-map-006Divine name in lexicon-derived text: YHWH, Yahweh and Jehovah → YAHUAHdone—not measurednot measurednot measured—
symbol-map-007Pin TBESH, TBESG, CrossReferences.org and OpenBible in fetch-sources.shdone—not measurednot measurednot measured—
symbol-map-008build_lexicon.py: verse ordinals, data/kjv, data/conc (occurrences + KJV renderings), test_lexicon.pydone—not measurednot measurednot measured—
symbol-map-009English → original index, data/eng/done—not measurednot measurednot measured—
symbol-map-010unfoldingWord Hebrew Grammar slugs in terms.tsv and the grammar datadone—not measurednot measurednot measured—
symbol-map-011Definitions: data/lexd/ from TBESH/TBESG (part of speech, gloss, sub-meanings, meanings as rich-text tokens)done—not measurednot measurednot measured—
symbol-map-012Cross-references: data/xref/ (TSK phrase groups matched to this KJV's tokens + OpenBible top 20)done—not measurednot measurednot measured—
symbol-map-013Lexicon page at /lex/<n>: header, KJV renderings with counts, definitions; drawer "Full entry ›" link; creditsstopped—not measurednot measurednot measured—
symbol-map-014Concordance on the lexicon page: grouped by book with counts, book filter (?b=), rendering filter (?r=), verse text inline with the word highlightedapproved—not measurednot measurednot measured—
symbol-map-015The word card never covers verse text — right-gutter rail on wide screens, in-verse on narrow screensapproved—not measurednot measurednot measured—
symbol-map-016English → original list at /eng/<word>, one tap from the card (and from the drawer when Original is off)approved—not measurednot measurednot measured—
symbol-map-017Cross-refs tab in the drawer — opened by tapping a verse number; TSK phrase groups with verse text inline; OpenBible ranked extras; creditsready—not measurednot measurednot measured—
symbol-map-018unfoldingWord Hebrew Grammar links on terms and guides; Aleph/Tau reference links; hidden CWT note slot; creditsmerged—not measurednot measurednot measured—
symbol-map-019LSJ fetch line and data/lsj/ (sharded by n//10)merged—not measurednot measurednot measured—
symbol-map-020Collapsed LSJ section on Greek lexicon pages; credit linemerged—not measurednot measurednot measured—
symbol-map-021Cross-references cleanup: no empty words in the anchor matcher; malformed TSK rows counted, not crashingdone—not measurednot measurednot measured—
symbol-map-022Lexicon page at /lex/<n> (re-issue of 013): header, KJV renderings with counts, definitions; drawer "Full entry ›" link; creditsdone—not measurednot measurednot measured—
symbol-map-023Cross-references tab: markup, styles and wiring (from the finished 017 implementation)approved—not measurednot measurednot measured—
symbol-map-024Cross-references tab: CROSS-REFERENCES section in the browser checkapproved—not measurednot measurednot measured—
symbol-map-025deploy.sh skips its own rebuild when the factory gate just built and tested this exact treemerged—not measurednot measurednot measured—
symbol-map-026Wide screens: the side column is always there, so opening it never moves the textmerged—not measurednot measurednot measured—
symbol-map-027The verse number opens a study panel under the verse; Next keeps it in placemerged—not measurednot measurednot measured—
symbol-map-028The Interlinear tab: a compact word table with the verse pinned above itmerged—not measurednot measurednot measured—
symbol-map-029The reading page: plain verses, and an original line on request, never interleavedmerged—not measurednot measurednot measured—
symbol-map-030The word card lives in the side column, and the lexicon and concordance open there toomerged—not measurednot measurednot measured—
symbol-map-031On the phone: the panel opens inline, and the card rises no more than halfwaymerged—not measurednot measurednot measured—
symbol-map-032Word table order for untranslated parts; maqaf joins words on the reading pagemerged—not measurednot measurednot measured—
symbol-map-033The CWT store: a private database and API for the owner's text, rows, notes and historymerged—not measurednot measurednot measured—
symbol-map-034Retranslate in the word table; "My text" on the reading pagemerged—not measurednot measurednot measured—
symbol-map-035Margin notes on rows and verses, with how consistently a word is renderedmerged—not measurednot measurednot measured—
symbol-map-036Nightly export of the owner's text to Markdown in the repomerged—not measurednot measurednot measured—
symbol-map-037Import the owner's running books (Genesis, Leviticus, Numbers) as CWT textmerged—not measurednot measurednot measured—
symbol-map-038"Draft for me": Claude proposes renderings, on press or in batch, through the factory's relaymerged—not measurednot measurednot measured—
symbol-map-039Guest mode: anyone can read and study; only the owner sees editingmerged—not measurednot measurednot measured—
symbol-map-040The Study view: a chapter's study (tables, discussion questions) as a tab inside the Bible appmerged—not measurednot measurednot measured—
symbol-map-041The verse number toggles its panel; "Open full page" opens a new tabmerged—not measurednot measurednot measured—
symbol-map-042Search bar, part 1: references, and the search results pagemerged—not measurednot measurednot measured—
symbol-map-043Search bar, part 2: every KJV verse containing a wordmerged—not measurednot measurednot measured—
symbol-map-044Search bar, part 3: Strong's numbers, Hebrew/Greek words and glossesready—not measurednot measurednot measured—
symbol-map-045Study view: a contents panel on the left, and table sections that start collapsedstopped—not measurednot measurednot measured—
symbol-map-046The theme button becomes a compact icon with a tooltipmerged—not measurednot measurednot measured—
symbol-map-047Hovering an English word highlights its word-table row (and back)merged—not measurednot measurednot measured—
symbol-map-048Strong's numbers in a cool colour; every Aleph/Tav in the study guide's redmerged—not measurednot measurednot measured—
symbol-map-049The side column's lexicon keeps the word, its number and Back in viewmerged—not measurednot measurednot measured—
symbol-map-050Study as a side panel: the main column is always the chapter textmerged—not measurednot measurednot measured—
symbol-map-051Build the owner's translation (CWT) into public data from the study files and running booksmerged—not measurednot measurednot measured—
symbol-map-052A version picker by the chapter title: CWT or KJV, CWT by default where the chapter has itmerged—not measurednot measurednot measured—
symbol-map-053The verse panel's Study tab: the retranslation notes and discussion items for that versemerged—not measurednot measurednot measured—
symbol-map-054build_data.py also builds the grammar data, and no builder writes through a linked data foldermerged—not measurednot measurednot measured—
symbol-map-055The Discussion under the chapter text, and the study panel as one collapsed listmerged—not measurednot measurednot measured—
symbol-map-056The study panel can be dragged wider on desktopmerged—not measurednot measurednot measured—
symbol-map-057Dragging the study panel's grip past the window edge keeps the panel widedraft—not measurednot measurednot measured—
symbol-map-058The nightly export runs on fresh code and never fails its pushmerged—not measurednot measurednot measured—
symbol-map-059One spelling table the builds apply ("tent of meeting" in lower case), and no words glued where a tag wasmerged—not measurednot measurednot measured—
symbol-map-060Aleph/Tav appears as את in dark red; suffixes get their own colourmerged—not measurednot measurednot measured—
symbol-map-061The CWT/KJV version picker moves into the headermerged—not measurednot measurednot measured—
symbol-map-062A font setting for the Bible text, sans serif by defaultmerged—not measurednot measurednot measured—
symbol-map-063Build the owner's rendering counts per Strong's numbermerged—not measurednot measurednot measured—
symbol-map-064The side column's lexicon and concordance, structured like BLBmerged—not measurednot measurednot measured—
symbol-map-065Rendering history like Google Docs: every change kept, per verse and per word, with Restoreready—not measurednot measurednot measured—
symbol-map-066The verse panel's Strong's numbers show the H (or G) as a small capitalaccepted—$0.02+30 in · 14.4k out · 380k cache27 min—
symbol-map-067The owner's own entries for Aleph/Tav (את) and its forms, shown before the standard lexiconsready—not measurednot measurednot measured—
symbol-map-068The phone header: slim, out of the way while reading, settings in one ⋯ menuready—not measurednot measurednot measured—
symbol-map-069In CWT mode the word table and parsing panel follow the owner's text; headings no longer wrapmerged—not measurednot measurednot measured—
symbol-map-070Editing a word's rendering must never rebuild an imported verse line; CWT text gets normal line spacingmerged—not measurednot measurednot measured—
symbol-map-071The whole Aleph/Tav unit is dark red: prefix English, את, joined words (docs/aleph-tav-notation.md)merged—not measurednot measurednot measured—
symbol-map-072Word-letter markers: "signs" red, Gen 4:15 as prosemerged—not measurednot measurednot measured—
symbol-map-073Reports carry no run datemerged—not measurednot measurednot measured—
symbol-map-074Aleph/Tav units from the Hebrew, for every Old Testament verse (build data)merged—not measurednot measurednot measured—
symbol-map-075CWT for every Old Testament chapter: the KJV with the Aleph/Tav marks restoredmerged—not measurednot measurednot measured—
symbol-map-076One Aleph/Tav notation in every CWT chapter, and no unit missingready—not measurednot measurednot measured—
symbol-map-077Leviticus 23–26: the owner's reworked text becomes CWTready—not measurednot measurednot measured—
symbol-map-078CWT coverage page: what is fully translated, what is only symbolsready—not measurednot measurednot measured—
symbol-map-079Aleph/Tav table in every chapterready—not measurednot measurednot measured—
symbol-map-080Aleph/Tav master table for a whole book (and the whole Old Testament)ready—not measurednot measurednot measured—
symbol-map-081Alpha and Omega in the New Testament, in the Aleph/Tav colourready—not measurednot measurednot measured—
symbol-map-082Draft the owner's retranslation of every Old Testament verse that carries an Aleph/Tavdraft—not measurednot measurednot measured—
symbol-map-083CWT tags: a leading tag covers the whole phrase, not just its first small wordready—not measurednot measurednot measured—
symbol-map-084Aleph/Tav map data: what each את points at (build data)ready—not measurednot measurednot measured—
symbol-map-085Aleph/Tav map page: a graph of what each את points atready—not measurednot measurednot measured—
symbol-map-086"Points at" in the Aleph/Tav tables, linked to the mapready—not measurednot measurednot measured—
symbol-map-087A maqqef sits against the next word, and a word's parts have no dots between themmerged—not measurednot measurednot measured—
symbol-map-088The right pane is a floating card, and no pane shows when nothing is openmerged—not measurednot measurednot measured—
symbol-map-089CWT says you and yours, not thee and thoumerged—not measurednot measurednot measured—
symbol-map-090The Workbench gate runs in a sandbox with no networkaccepted—$0.02+40 in · 16.3k out · 595k cache33 min—
symbol-map-091The Study side panel is a floating card too, and keeps its width gripmerged—not measurednot measurednot measured—
symbol-map-092Drag either card by its title bar, and it stays where you left itmerged—not measurednot measurednot measured—
symbol-map-198The repo's default gate runs Chromium at both sizesmerged—not measurednot measurednot measured—
symbol-map-199Deploy only from a commit that passed the full browser runmerged—not measurednot measurednot measured—
symbol-map-200A /decisions page shows the rendering decisions file, for the owner onlystopped—not measurednot measurednot measured—
symbol-map-201A parser and an owner-only API route for the rendering decisions filemerged—not measurednot measurednot measured—
symbol-map-202A /decisions page shows the rendering decisions, for the owner onlystopped—not measurednot measurednot measured—
symbol-map-203A /decisions page shows the rendering decisions, for the owner onlymerged—not measurednot measurednot measured—
symbol-map-204Browser checks for the /decisions pagemerged—not measurednot measurednot measured—
symbol-map-205The Interlinear tab opens on Forward: one row per word, the original word first, with its root and transliterationstopped—not measurednot measurednot measured—
symbol-map-206In CWT, the verse panel and the other KJV-word surfaces show modern English toomerged—not measurednot measurednot measured—
symbol-map-207On a phone the header is one row, with the tools behind a ☰ menustopped—not measurednot measurednot measured—
symbol-map-208The Interlinear tab has Forward (default) and Reverse views, and the Original cell shows inflected form, root and transliterationmerged—not measurednot measurednot measured—
symbol-map-209Forward shows one row per word; a word's parts open as rows only while the Yours column is onmerged—not measurednot measurednot measured—
symbol-map-210The browser checks reach the header tools through one helpermerged—not measurednot measurednot measured—
symbol-map-211On a phone the header is one row, with the tools behind a ☰ menumerged—not measurednot measurednot measured—
symbol-map-212Browser checks prove the one-row phone header and its menumerged—not measurednot measurednot measured—
symbol-map-213Three browser checks wait for the state they readmerged—not measurednot measurednot measured—
symbol-map-214A precedent ties to its rule by its Source word, not its Referencemerged—not measurednot measurednot measured—
symbol-map-215In CWT, "this" from זאת becomes "cut from את"merged—not measurednot measurednot measured—
symbol-map-216Remove "this" beside "cut from" in the three verses of the owner's own CWT textmerged—not measurednot measurednot measured—
symbol-map-217Read both Aleph/Tav colours in one step, so a redraw cannot empty one of themmerged—not measurednot measurednot measured—
symbol-map-218The reader shows "extending את to", not "extending to את"merged—not measurednot measurednot measured—
symbol-map-219The default English text is Inter Light (weight 300)merged—not measurednot measurednot measured—
symbol-map-220Forward keeps one row per word with Yours on; an arrow opens the word's partssuperseded—not measurednot measurednot measured—
symbol-map-221ui_check: a helper that opens the first word's parts when a toggle existsmerged—not measurednot measurednot measured—
symbol-map-222Forward keeps one row per word with Yours on; an arrow opens the word's partsmerged—not measurednot measurednot measured—
symbol-map-223ui_check: new checks for Forward one row per word with the arrowmerged—not measurednot measurednot measured—
symbol-map-224An owner-only Changelog page, linked from the menumerged—not measurednot measurednot measured—
symbol-map-225Text size and weight in the Aa menumerged—not measurednot measurednot measured—
symbol-map-226The phone lexicon sheet: taller by default, and draggablemerged—not measurednot measurednot measured—
symbol-map-227Hide Retranslate and "Rebuild from rows" in the verse panel on a phonemerged—not measurednot measurednot measured—
symbol-map-228One small Forward/Reverse toggle in the verse panelmerged—not measurednot measurednot measured—
symbol-map-229Tapping a verse number puts that verse at the top of the screen (phone)merged—not measurednot measurednot measured—
symbol-map-230Desktop keeps the two Forward / Reverse buttons; the single toggle is phone onlydropped—not measurednot measurednot measured—
symbol-map-231Untranslated dashed boxes: off by default, a switch turns them onmerged—not measurednot measurednot measured—
symbol-map-232The verse panel's CWT bar: hidden by default, one quiet switch shows itmerged—not measurednot measurednot measured—
symbol-map-233The word table's Original cell: inflected form, root and transliteration, compactmerged—not measurednot measurednot measured—
symbol-map-234The divine names' transliteration: Ya.hu.ah, not Yah.weh; A.la.him, not E.lo.Himaccepted—$0.09+2.5k in · 68.7k out · 2.5M cache42 min—
symbol-map-235Strong's numbers that can be clicked show a pointer cursoraccepted—$0.06+100 in · 46.5k out · 1.8M cache13 min—
symbol-map-236A CWT phrase that contains את is one symbol: one highlight (English is task 238)accepted—$0.15+6.5k in · 127k out · 4.6M cache34 min—
symbol-map-237The letter's name is Alaph, not Alephaccepted—$0.06+3.6k in · 53.8k out · 1.1M cache9 min—
symbol-map-238CWT English shows the phrase with the Aleph/Tav markaccepted—$0.07+112 in · 52.6k out · 2.1M cache13 min—
symbol-map-239Link "unto"/"to" to the אל־ it renders, not to a ל prefixaccepted—$0.05+80 in · 37.7k out · 1.6M cache9 min—
symbol-map-240CWT connective text around an את shows in the verse panelaccepted—$0.56+26.4k in · 482k out · 13.8M cache11 h 47 min—
symbol-map-241CWT connective text around an את shows in the verse panelaccepted—$0.06+84 in · 50.3k out · 1.5M cache13 min—
symbol-map-242Verse panel English follows the published CWT textaccepted—$0.32+8.2k in · 263k out · 9.5M cache40 min—
symbol-map-243Verse panel word table: Hebrew right-aligned, transliteration and parts button in their own columnsvalidating—$0.20+12.0k in · 165k out · 5.1M cache27 min—
tessella-001Apply the Tessella brand to the press pagesmerged—not measurednot measurednot measured—
tessella-002Hero mosaic in the Tessella palette, never over the headlinemerged—not measurednot measurednot measured—
tessella-003Footer: the mark replaces the postal addressmerged—not measurednot measurednot measured—
tessella-004Hero mosaic: two carmine tiles where they can be seenmerged—not measurednot measurednot measured—
tessella-005Brand guide renderer: Markdown + tokens → one self-contained HTML (and PDF)merged—not measurednot measurednot measured—
tessella-006Brand guide renderer: right fonts, light artwork on light panels, honest PDF messagemerged—not measurednot measurednot measured—
tessella-007Body text in Inter, on the site and in the brand guidemerged—not measurednot measurednot measured—
tessella-008The intake flow as datamerged—not measurednot measurednot measured—
tessella-009Offer-by deadlinemerged—not measurednot measurednot measured—
tessella-010WhatsApp payloads in and outmerged—not measurednot measurednot measured—
tessella-011The intake conversation enginemerged—not measurednot measurednot measured—
tessella-012Hero mosaic: restore the 002 colours, keep the two carmine tilesmerged—not measurednot measurednot measured—
tessella-013"Get started": pinned header, a "What do you need?" form, and the wordmark in the footermerged—not measurednot measurednot measured—
tessella-014Contact form: checkboxes, "Leads", a short "Send" button; footer back to the markmerged—not measurednot measurednot measured—
tessella-015Theme switch shows icons; locked form pills look lockedmerged—not measurednot measurednot measured—
tessella-016How it works: three universal stepsmerged—not measurednot measurednot measured—
tessella-017Contact form becomes a 3-step goals wizardmerged—not measurednot measurednot measured—
tessella-018The "Support a business" doormerged—not measurednot measurednot measured—
tessella-019Lead store on D1merged—not measurednot measurednot measured—
tessella-020Send to WhatsApp through the Graph APImerged—not measurednot measurednot measured—
tessella-021The webhook Workermerged—not measurednot measurednot measured—
tessella-022The lead alert: re-send until acknowledgedmerged—not measurednot measurednot measured—
tessella-023Footer: mark plus labelled link columns, small print on a base rowmerged—not measurednot measurednot measured—
tessella-024The sweep: re-alerts and follow-upsmerged—not measurednot measurednot measured—
tessella-025Wire the alert and the sweep into the Workermerged—not measurednot measurednot measured—
tessella-026Owner reply module, and stop owner events counting as customer activitymerged—not measurednot measurednot measured—
tessella-027Lead alerts go to the owner's phone through ntfymerged—not measurednot measurednot measured—
tessella-028Follow-ups to the live wizard: "Get started", goal labels, five new goals, a thank-you panelmerged—not measurednot measurednot measured—
tessella-029Goals wizard step 1 becomes five front doors; step 2 fits the doors tickedmerged—not measurednot measurednot measured—
tessella-030tests 38merged—not measurednot measurednot measured—
tessella-031privacy whatsappmerged—not measurednot measurednot measured—
tessella-032Lead alerts go to the owner's phone through Pushovermerged—not measurednot measurednot measured—
tessella-033Lead alerts are served by our own Worker to the ntfy app on the owner's phonemerged—not measurednot measurednot measured—
tessella-034Every action the hub serves carries an id, so the ntfy app can parse itmerged—not measurednot measurednot measured—
tessella-035The WhatsApp opener's affiliate door reads "Influencer & affiliate"merged—not measurednot measurednot measured—
tessella-036"What do you want in return?" takes several picksmerged—not measurednot measurednot measured—
tessella-037The bot shows every answer and asks "Is this correct?" before it processes the leadmerged—not measurednot measurednot measured—
tessella-038A customer message after done, handoff or an owner reply alerts the ownermerged—not measurednot measurednot measured—
tessella-039Alert retries for one lead carry one sequence idmerged—not measurednot measurednot measured—

A cost ending in + is a lower bound. Share of subscription allowance: not measured yet.