Repository navigation
1.26.0 — a redactor that only spoke English, and the two releases before it #20
ArcticFox2029
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The last announcement here was 1.24.0. Two releases went out without one, so this covers the gap as well as the new one.
1.25.0 was about a number that was true and useless. Redaction recall was published as one blended figure, and blending is what let a whole class of leak sit inside a healthy-looking average — a bare credential with no key in front of it scored the same as one in an assignment, because the good cases carried the mean. It is reported per retrieval shape now: bare, assignment, prose, column, personal. The weakest row is the one worth reading, and it is visible instead of averaged away.
1.25.1 was one defect. A plugin can be installed more than once on the same machine — a host keeps one install per scope and the narrowest wins — so
claude plugin updatecould report success onuserwhile aprojectinstall kept answering with hooks, commands, agents and skills a release old. chamnan now names the install that actually answers, at session start.1.26.0 is out today.
The thing it leads with had been true for months without anyone noticing. The redactor caught a credential when the keyword was English and walked past it otherwise:
passwordyes,รหัสผ่านno,密码no,비밀번호no,كلمة المرورno, and six more. Three of thirty cases caught.The vocabulary was already in the file. It had been added for reading CSV header rows and was never wired to the patterns that read an assignment — the same words, one path covered, the identical path beside it missed.
The first fix grouped it by language and that was wrong. German, Italian, Dutch and Indonesian are not English and are plain ASCII; what actually decides the rule is the writing system. Thai, Chinese, Japanese and Korean put no spaces between words, so a keyword joined to the next word is ordinary writing there and has to be caught. Latin, Cyrillic, Arabic and Devanagari keep boundaries, so
passwordlesshas to be left alone. Thirty of thirty now.Then a second one, from asking the same question a different way: a variable called
secret, assigned the word secret, printed its value. So didcredential,apikey,passphrase,auth,cred,keypass,storepass,passwdandsecretkey. Onlypasswordwas caught — an earlier exemption answered "that's a label" for all of them and ran before the rule that would have caught it. A fix written for one member of a set of twelve.There is also a new command.
chamnan-schedule set 2h31m— or a wall-clock time, or the reset read out of a rate-limit response — and your work resumes then. It carries a pointer to where the work is written down rather than a command line, because "finish what you were doing" is not something a command line can say. A schedule and never an auto-renew: nothing detects a limit, nothing decides on its own to resume, nothing repeats unless you ask.Checking it rather than believing it:
5,081 checks, 5,081 passed, 0 failed here. Your total lands near that rather than on it — some checks need a developer setup a clone does not have and say they were skipped instead of running, and how many depends on your OS. The half that should be identical everywhere is the second one.
INDEX_CITED_IN_CODE.mdis attached to the release: every place in the shipped source where a defect a research round found got fixed, linked to the commit that fixed it. 21 in this release, 722 in total.One figure you cannot reproduce from a clone, and I would rather say so than let you discover it: the recall number is measured against a synthetic corpus built to be hard to index, and that corpus is not in this repository. The 5,081 is reproducible. The recall figure is not.
If you have found a way to test a language you do not read, I would like to hear it. That is the gap this release closed by accident rather than by design.
All reactions