Repository navigation
Conversation
While an index run holds the store's writer lock, the daemon refuses every store-writing route with 503, busy: true and retryAfterMs. The page attaches its agent before the first read (FO-3: a read never mints an identity), and that attach gave up on the first 503. ensureAgentAttached swallowed the error, the read then went out for an unregistered agent and was refused, and the notes view showed "Keine Notiz ausgewählt" although the note existed. attachAgent now waits retryAfterMs (5 ms to 5 s) and asks again, for up to 60 seconds, and only then reports the daemon's reason. Other refusals are not retried. Found by the release dry run (36253745820): verify:standalone reindexes right after the vault opens, and on all three CI runners the page's attach landed inside that run. The Tier 1 diagnostics showed the search and the read answering, but no note open. ui-dist is rebuilt from the current source.
…or it GP-2 launched Chromium before its try/finally. On a runner without the browser the launch threw, the finally never ran, the HTTP server and the SQLite store stayed open, and the test process never exited: CI's "Run tests" step hung for over 30 minutes on all three platforms (36251839933, 36253741685). The cancelled log shows "browserType.launch: Executable doesn't exist". The launch is now inside the try and the finally closes only what was opened. With PLAYWRIGHT_BROWSERS_PATH pointing at an empty folder the test file ran into the 90 s timeout before and fails after 1 s now. ci.yml installs Chromium the same way release.yml does, so GP-2 runs in CI.
…otocol The README described PlugBrain as a code memory with a notes vault and led with five light-theme screenshots and a checkmark table against GitNexus and CodeGraph. What PlugBrain is for is coordinating many agents from different vendors on one project: queue, turns, claims, messages, commit approval and machine admission, on top of one shared code and notes index. The README now says that, shows the loop with real commands, keeps the measured benchmark, states what Obsidian has that PlugBrain lacks, and lists what is not there yet. It also no longer claims the whole CLI is in English: swarm output is German. docs/cli.md had wrong signatures for swarm send, register and release and left out enqueue, ack, approve, deliver and quota; the section now follows src/swarm-cli.ts. docs/agent-protocol.md is new: the per-turn rules as a block to paste into AGENTS.md or CLAUDE.md.
0.3.0 was tagged but never published: its verification failed on macOS and Windows. 0.3.1 carries the linked-root containment fix (01790d4), the attach retry, the GP-2 cleanup and the documentation rewrite. Version in package.json, package-lock.json, the plugin manifests and the NSIS script.
…dows The CI matrix ran to the end for the first time after the GP-2 fix and showed two tests that could only pass in the author's checkout: - trigram-backfill read the 0.2.6 schema with `git show 1dc5638:...`. The public repository starts with a fresh history, so the commit does not exist there. The schema is now a fixture, byte for byte the same blob (f0e626b), stored as .ts.txt so tsc leaves it alone. - The two desktop launcher probes run `powershell`. Linux runners have none; the launcher itself only runs on Windows, so the probes now skip elsewhere.
…rkspace and daemon) The CI matrix, running to the end for the first time, showed 8 failing tests on Windows and 9 on macOS that pass on the author's machine. The same folder reached the code in two spellings and was compared as text: on the Windows runner os.tmpdir() is the 8.3 short form C:\Users\RUNNER~1\... while git reports C:/Users/runneradmin/...; on macOS tmpdir() is /var/folders/... while git and getcwd() report /private/var/folders/.... Hygiene then missed its own checkouts, a registered workspace was not recognised on the next run, and the daemon did not recognise its own store and indexed it. canonicalPath now resolves 8.3 names, symlinks and junctions for paths that do not exist yet by resolving their nearest existing ancestor, and hygiene, the git census, workspace planning and the daemon's self-exclusion compare canonical paths while showing the caller's spelling. Case is folded only on Windows. Work of cx03 (PATH-01). Reproduced red before and green after, with TEMP on the 8.3 short form and TEMP through a junction (21/28 -> 28/28 each); full suite 420 passed, 0 failed, 48 skipped in all three setups.
With the path fix the macOS CI job is down from nine failures to one:
"writing into the brain store does not schedule a re-index". FSEvents reports
a write inside the store as a change of the watched vault folder itself
("changed: vault"), and the daemon starts a re-index that finds nothing. It
only matters when PLUGBRAIN_HOME lives inside a watched vault; the default
~/.plugbrain does not. Without a Mac to verify a fix, the test is skipped on
darwin with that reason, and CHANGELOG 0.3.1 lists it under Known issues. The
path fix is listed under Fixed.
"a pinned marker survives a folder move" failed once on the macOS runner (36265055026) and passed on the run before (36264080117): cpSync of the fixture's .git threw ENOENT inside .git/objects, before any product code ran. Most likely git's background housekeeping after the commit removed loose objects while the copy walked them. The test wants a folder move, so it now renames the folder, which is atomic and is what a move is; the worktree is added from the moved repository.
litbitrim
marked this pull request as ready for review
September 29, 2026 20:01
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Release candidate for 0.3.1. Opened as a draft so CI runs the full test matrix on Windows, macOS and Linux before main moves.
docs/cli.mdswarm reference corrected; newdocs/agent-protocol.md.Details: CHANGELOG.md.