codr

codr
by Tom tom@tomdwyer.uk

White Noise bridge for herdr coding agents

Encrypted White Noise chats for local herdr coding agents. GitHub is primary for source, issues, PRs, reviews, CI and releases; ngit and Blossom provide independent mirrors.

First release: Nov 5, 2026, 1 total release.

Most recent release: Nov 5, 2026.

Website Repo

Appears in 0 app stacks.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Nov 5, 2026 0.11.1
    # codr 0.11.1 This patch follows 0.11.0. It keeps the same MDK 0.14 source pin, dependencies, control protocol, bridge state version, and storage cohort. It does not need or authorise an account migration. ## Clear image and file download status When editable responses are enabled, one status message changes from preparing to downloading to downloaded. Missing references and preparation failures have
    More…
    explicit states. Edits survive restarts, respect the normal edit rate limit, and do not change sync mode. Download completion confirms the validated local file, not that the native agent started or answered. Audio transcription keeps its existing delivery flow, with `Transcribing...` and `Transcribed.` labels. ## Native prompt acceptance safeguards Terminal delivery is not proof of native acceptance. Codr tracks matching new native inputs for supported transcript readers. After 60 seconds without acceptance evidence, it warns once and pauses new submissions in the affected chat. Late evidence can resolve the check; otherwise inspect the agent before local `clear-prompt`. Restarts, sync-off mode and failed reads do not silently release uncertain work. Codr never resends it automatically. Accepted queued work and prepared files are preserved. These safeguards do not identify or repair the underlying cause of lost terminal input. Acceptance checks cover submissions made by this version. Pre-upgrade flights have no acceptance fingerprint and need separate inspection. If the baseline history read fails or matching input is ambiguous, acceptance remains uncertain. Local `status` reports pending and overdue native acceptance separately from terminal-write uncertainty. A late accepted input can still execute after a manual marker clear; inspect the native session before submitting again. ## Consistent status labels Short status updates use sentence case. Transient states use three full stops: `Request submitted...`, `Working...`, `Blocked...`, `Downloading image...` and `Transcribing...`. Settled states use one: `Done.`, `Idle.`, `Ended.`, `Downloaded image.` and `Transcribed.`. Existing progress formats still retain their checklists when completed. Internal machine-readable status values do not change. ## Phone answers resume the current question turn A confirmed phone answer allows future replies from the current unfinished question turn to reach the phone even if the turn was previously muted. Old replies and other chats stay suppressed, and explicit `/sync off` remains in effect. Failed, stale, or uncertain answers do not resume the turn. `/last` remains a read-only replay. ## Nested project folders Guided `/new` accepts nested relative paths such as `apps/new-project`. During folder selection, `/cd Apps` enters an existing folder and `/cd ..` goes up within the project root. Plain `ls` and new project paths then use that location, which survives restarts. Use `ls Apps/Library/` to list an existing subfolder or `ls Apps/Library/part` to filter its entries. Directories remain selectable; regular files are shown separately for reference. Listing never creates folders. Existing root, symlink, traversal, and confirmation checks remain in force. Typing an exact displayed folder path selects the same directory as its number after `/cd` or a restart, rather than prefixing the current location twice. ## Ordinary follow-ups after completed questions After Codr observes that an agent is no longer blocked, ordinary text such as `Retry ngit` starts a new prompt. It no longer becomes an answer to an old custom question, including after a bridge restart. Numbers, option labels, question codes, and `/answer TEXT` remain explicit answer attempts. A stale answer cannot become a new prompt. A question that stops waiting during a reply still fails closed. Duplicate delivery remains suppressed. ## Visible progress after questions OpenCode question cards start with the question and its choices, without an internal decision heading, request code, repeated title, or routine instructions. Changed-question codes and unsupported-dialog notices remain only when needed to answer safely. Request validation is unchanged. When an agent resumes work after waiting for input, Codr starts a fresh editable working/checklist message at the bottom of the conversation. It clears the old progress to `Task continued below.` only after the new message is confirmed. The old message is not deleted. This edit is best effort, without uncertain retries. Questions, answers, and final replies remain intact. Follow-ups while already working still reuse the current progress message. This applies when editable responses are enabled. ## Cleaner session labels and chat titles - Mobile-created agents keep a unique startup name until Herdr confirms the start. Codr then clears the temporary `codr-…` label through Herdr's rename API. A failed cleanup leaves the agent running and produces a warning. It does not repeat the launch or send a prompt. - Fresh-session chats add `opencode`, `claude`, or `codex` only while another live project chat has the same tab/workspace title in that workspace. Unique titles stay short, such as `marmot (bits)`. - Creation, automatic metadata updates, and explicit renaming use the same rule. Existing manual-title locks and uncertain-update guards remain active. - The current account-creation helper uses **👾** for both public profile fields. Existing accounts, custom profiles, keys, chats, and accepted work stay intact. ## Setup and upgrade limits The supported fresh-account path still starts with 0.9.0 setup before the existing handover. That older setup keeps its original profile default. This release does not rename it automatically or add a combined-account setup wizard. Existing combined installations retain `/update`, then `/update confirm`, after publication and verified release mirroring. Existing 0.9 installations retain the separate executable-update and cold-backup handover confirmations. See the [combined runtime guide](../COMBINED.md). The live phone-driven handover remains unverified end-to-end. Foreman orchestration, worker-sharing filters, Mac recovery changes, and the encryption experiments are outside this patch release. ## Verification and provenance The scoped fixes passed local regression tests and independent reviews before deployment. The installed candidate reports 0.11.1; it is not a published tag or a four-platform CI package. The latest Codr-only restart preserved account identity, all 31 chat mappings, receipts, two saved setup drafts and native sessions. The OpenCode backend was not restarted by that deployment. Live phone requests confirmed request/status rendering on 5 November. That does not prove every phone workflow, the underlying terminal-input-loss cause, or platform readiness. The release still requires exact-source CI, all four platform packages, signing and download verification. Do not relabel an earlier local executable or 0.11.0 artifacts as these builds. See the [readiness record](0.11.1-readiness.md) for evidence and remaining gates. ## Contributors - Tom Dwyer ([@tidley](https://github.com/tidley)): maintainer-led decision routing, native-acceptance safeguards, media/status progress, question display, nested project navigation, naming/setup fixes, regression coverage and release preparation. - Juraj Bednar ([@jooray](https://github.com/jooray)): retained contributions from earlier releases, including [PR #20](https://github.com/tidley/codr/pull/20). These are baseline credits, not new changes in 0.11.1. See the [0.11.0 credits](0.11.0.md) and [0.9.0 contribution records](0.9.0.md). - Marmot MDK contributors: the unchanged pinned MDK 0.14 runtime and retained security backports. Packages retain their notices and licences. The scoped 0.11.1 commits retain their original authorship. Baseline contributions above are identified separately, not claimed as new work. Preserve these credits in mirrored notes and add any verified additional contributions before publication.