Repository navigation
Fix issue #8 guard guidance, note projection, and IPC waiting - #9
Merged
Merged
Conversation
Fixed: - Document fingerprint guards as Context-filled rather than hand-copied, and mark the guard fields optional so sv_describe stops listing them as required. A write without both a contextId and an explicit guard now fails in TypeScript instead of reaching the SynthV host. - sv_query.fields documents that it filters only top-level keys of the result root, and a projection matching no root key returns projectionWarning with the available keys instead of a silent empty object. - Describe the sv_describe.action parameter on the public facade schema. Changed: - get_track_notes compacts and densifies its nested groups[].notes on the sv_query projection path. Measured against a live SynthV 2.2.1 host, the same 29-note page drops from 15932 to 5966 characters. - Raise the default response timeout to 30 s and the stale-recovery age to 60 s so a cold host can answer its first request. - Wait up to SYNTHV_AGENT_BRIDGE_LOCK_WAIT_MS (1 s by default, clamped to the response timeout) for the single-writer IPC lock before reporting BRIDGE_BUSY. Two concurrent clients now both complete. - Document the batch write path measured on the host: at most about 60 note edits per call, one writeIntent contextId reused across disjoint batches, and a fresh read only after a note changes or an add/delete shifts indices. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Record what issue #8 reported, what changed and why, and the executable re-verification cases with the values measured against a live SynthV 2.2.1 host, so another agent can reproduce the run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Summary
Fixes all eight documentation, projection, timeout, batching, and IPC-lock issues reported in #8 while preserving IPC protocol v3 and the six-tool public MCP surface.
What changed
sv_query.fieldsmisses every result-root keysv_describe.actionget_track_notes groups[].notesRoot cause
The v3 façade and internal action schemas exposed inconsistent guidance, nested note projection only handled root-level notes, and lock acquisition failed immediately for a second process. This caused unnecessary round trips, silent empty projections, oversized note responses, and avoidable
BRIDGE_BUSYfailures.Validation
npm run check: 246/247 locally; the only failure is the known Doctor host-profile check caused by deliberately emptied local.mcp.jsonand.codex/config.toml. These files are not part of this PR.luacandluac54: passedsv_status5 ms; firstlist_tracks33 msdense:"never": 12,217 charsBRIDGE_BUSYper pair across 20 roundsCloses #8