chore: land the pending REPL commit, backfill the changelog, repair stale doc links - #253
Merged
Merged
Conversation
Piped input was one line per turn, so a prompt containing newlines silently became several turns — and worse, a blank line inside it was skipped by the REPL loop and a line reading `exit` ended the session. There was no other way in: `Event::Paste` strips newlines out of the buffer and only fires under raw mode, one-shot carries newlines on argv but passes `None` for its prompter so it can never show a permission gate, and no slash command reads a file into a turn. A piped line reading exactly `<<<CLAUDETTE-PROMPT` now opens a block that runs as ONE turn when a line reading exactly `CLAUDETTE-PROMPT>>>` closes it. Line endings inside a block are normalised to `\n`, blank lines are kept, and an unterminated block is an error rather than a partial prompt: half a prompt still produces a fluent answer, so it has to be loud. Interactive input is untouched — raw mode reads key events, not lines, so it never sees a sentinel. Blocks are kept out of `repl_history`, which is one entry per line and recalled into a single-line buffer. The sentinels are hyphenated rather than underscored so `main.rs`'s doc-drift guard does not read them as an undocumented env var; they are not one. Confirmed by running it against qwen3.6-35b-a3b-mtp@iq3_s, not by reading it: a 6-line body containing a bare `exit` ran as one turn and the model answered in a format dictated only by the final line, while the same body without sentinels ran as two turns and then ended the session at `exit`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The piped-multiline commit landed unformatted, so `cargo fmt --all --check` failed on it — the rustfmt job is a required check, so the commit could not have merged as it stood. Formatting only; no behaviour change. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WBTQNHWbko1wpeBrcmL3de
Two pieces of rot that only show up to someone arriving from outside. CHANGELOG: 38 of the 39 commits since v0.17.0 never reached it. The `[Unreleased]` section listed one entry (`--research` scope control) while main had, among others, a proxy-leak fix that defeated `--offline`, three `apply_diff` bugs that corrupted files while reporting `ok: true`, an ungated `write_file` overwrite path, `/undo` silently doing nothing after the three editors, a post-edit check that read a timeout as a pass, and the empty-turn cluster. Backfilled under Security / Added / Fixed / Docs, written from the commit bodies so each entry says what broke and what changed rather than restating the subject line. Links: 16 relative links across tracked markdown pointed at files that had moved and now 404 on github.com. - `.github/CONTRIBUTING.md` kept root-relative `docs/*.md` links after the move into `.github/`, so all three resolved to `.github/docs/`. This is the file a would-be contributor opens first. - `crates/claudette/examples/*.md` reached for the repo root as `../`, which is `crates/claudette/`. Three levels up, and `docs/life_agent.md` is now `docs/archive/life_agent.md`. - Historical CHANGELOG entries pointing at `CONTRIBUTING.md`, `SECURITY.md` and `CODE_OF_CONDUCT.md` (now under `.github/`), `examples/` (now under `crates/claudette/`) and `docs/life_agent.md` (now archived). A scan of all 65 tracked markdown files, code fences excluded, now reports zero broken relative links. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WBTQNHWbko1wpeBrcmL3de
mrdushidush
force-pushed
the
chore/repo-health-2026-09-05
branch
from
September 5, 2026 07:16
c9c4d2f to
c207c20
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Repo-health pass, prompted by the repo starting to pick up outside traffic. Three commits, in the order they need reading.
1.
feat(repl): let piped input carry a multi-line prompt as one turnThis commit is @mrdushidush's, unpushed on local
mainsince 2026-08-08. It is carried here unchanged because branch protection makes a PR the only way it can land. Nothing about it was reviewed or altered.2.
style(repl): rustfmt line_editor.rsThat commit was never formatted, so
cargo fmt --all --checkfails on it — andrustfmtis a required check, so it could not have merged as it stood. Formatting only.3.
docs: backfill the changelog since v0.17.0 and repair stale doc linksChangelog. 38 of the 39 commits since
v0.17.0never reachedCHANGELOG.md.[Unreleased]listed one entry whilemainhad, among others:--offlineproxy leak (is_allowed_hostvetted the URL host, but reqwest'sauto_sys_proxystill sent the socket to$HTTP_PROXY),apply_diffbugs that corrupted files while reportingok: true,write_fileoverwriting an existing file with no prompt and no preview,/undosilently doing nothing afterapply_diff/apply_patch/edit_file,Backfilled under Security / Added / Fixed / Docs, written from the commit bodies so each entry says what broke, not just what the subject line said.
Links. 16 relative links across tracked markdown pointed at files that had moved, and 404 on github.com today:
.github/CONTRIBUTING.mddocs/*.md(×3)../docs/*.mdcrates/claudette/examples/*.md../README.md,../docs/*(×6)../../../…CHANGELOG.mdhistoryCONTRIBUTING.md,SECURITY.md,CODE_OF_CONDUCT.md,examples/,docs/life_agent.md.github/…,crates/claudette/examples/,docs/archive/….github/CONTRIBUTING.mdis the one that matters most — it is what a would-be contributor opens first, and all three of its doc links were dead.Gate
Run locally on 1.98.1, matching CI's
dtolnay/rust-toolchain@stable(the local default toolchain had drifted to 1.95 and was quietly a weaker gate than CI):cargo fmt --all --check— passcargo clippy --all-targets --no-deps -- -D warnings— passcargo clippy --all-targets --all-features --no-deps -- -D warnings— passcargo test -p claudette --lib— 1155 passed, 0 failed, 6 ignoredNo source behaviour changes: commit 1 is @mrdushidush's, commit 2 is whitespace, commit 3 is markdown.
🤖 Generated with Claude Code
https://claude.ai/code/session_01WBTQNHWbko1wpeBrcmL3de