Repository navigation
Fix the Fable review findings for today's audit PRs - #299
Merged
Merged
Conversation
- T3ToolBridge counts calls still inside their inline budget toward the per-thread cap, reserving the slot before the tool starts, so concurrent calls near the limit can no longer all pass the check (15 jobs + 8 concurrent calls accepted all 8 before; now one). - A negotiated helper whose stdin is already closed is stopped by signals right away instead of waiting a grace period for an undeliverable shutdown request. - coder-only.md: the web build carries the manifest again; note that on Windows the free-port probe may call a port free while another program listens on 0.0.0.0, which the gateway cannot detect within boundary 1 and its no-outbound-connection rule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Gateway: a config save no longer retries forward rules that failed (every Forward click and failure cleanup restarted them), matching the documented behaviour; startup and changed rules still start. - Forward reuses a rule another tab already saved for the same server instead of adding a second one, and never removes a rule it did not add. - A Forward whose tab the browser blocks shows the local address in a toast. - Coder: markers on the pingdotgg#26201 non-carry in composerThreadItems.ts and composerContextReferences.ts. - Docs: the @ workspace list needs Labs > Linked environments; rewrap the Servers paragraph; the seams entry names the kept readOnly prop and managementFailure reasons. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- sync-resolve-deleted.mjs finds keep candidates imported through the web app's ~/ alias or a @t3tools/<pkg>/... export, not only relative imports, so the documented bulk removal cannot delete such a file. - ThreadErrorBanner.tsx marks its ChatGPT usage-limit cut. - sync.md states the keep-candidate resolution and the lost check's scope (apps/ and packages/, outside tests). Co-Authored-By: Claude Opus 5.5 <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.
Fixes from the Fable 5.1 review of today's PRs (#290–#297): three read-only reviewers covering (A) the gateway, coder-cli, helper and bridge, (B) the four restored features, and (C) the upstream sync and seams tooling. No high findings, one medium per area, and no merge losses in the sync.
Fixed
docs/user/workspaces.md. A save now skips rules in the Failed state; startup and changed rules still start. Scratch test: on coder-only a save retried the rule (1 → 2 attempts), here it does not.sync-resolve-deleted.mjsresolves~/and@t3tools/<pkg>/...(through each package'sexports) when looking for keep candidates, not only relative imports. Checked against known specifiers in isolation.Coder:markers on the feat(web,mobile): the @ picker lists threads on linked machines pingdotgg/t3code#26201 non-carry (composerThreadItems.ts,composerContextReferences.ts) and the ChatGPT usage-limit cut (ThreadErrorBanner.tsx);coder-only.mdsays the web build carries the manifest again and names the keptreadOnlyprop andmanagementFailurereasons;docs/user/workspaces.mdnotes the Labs switch for@workspaces;sync.mdstates the keep-candidate resolution and thelostcheck's scope.Not changed, with reasons
boundaryGuard.test.ts's no-outbound-connection rule, and a wildcard bind would break boundary 1. Documented as a known limitation incoder-only.md.ensuringbreaks two existing tests; keeping the listeners is what lets a retry on the same child observe its exit. Reverted.readOnlyprop andmanagementFailurereasons in the Kilo sessions code stay as upstream has them (upstream's own browser test passes the prop); listed in the seams doc.Verification
pnpm test:coderpasses end to end (exit 0), including web unit 277/277 and browser 102/102 files and the server suite with no failures.pnpm build, all typechecks, knip,vp fmt --checkandseams-checkpass.🤖 Generated with Claude Code