fix(core): the unknown-tool error links a broken manifest by its declared name - #265
Merged
Merged
Conversation
Max17190
changed the base branch from
receipt-truth-broken-not-removed
to
main
August 29, 2026 18:00
…ared name The did-NOT-load link matched a broken file by stem, but tools are keyed by DECLARED name: todo-scan.toml declaring name = "todo_scan" is exactly the file a caller of todo_scan means, and the error answered with a bare unknown, so the model concluded the file was never written. The match now goes through broken_tools (declared name, stem fallback - the registry's own key); the stem and SKILL.md matchers stay for manifest-restored registries, whose broken_tools list is empty.
broken_tools accumulates the global tier first, so a first-match lookup named the global file when both tiers' manifests for one name are broken; the project override is what actually withholds the tool. Reverse scan, with a regression test.
Max17190
force-pushed
the
unknown-tool-links-broken-by-declared-name
branch
from
August 29, 2026 18:02
128053d to
3ae74c1
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.
Why
Round-7 contract audit (F9). The unknown-tool error's "exists but did NOT load" link matched broken files by FILE STEM, while the registry keys tools on the DECLARED name, and the spec's own
<name>.tomlplaceholder invites the hyphen-file/underscore-tool split. A model callingtodo_scanafter itstodo-scan.tomlbroke got a bareunknown tooland concluded the file was never written. The refreeze receipt covers the writing turn; the gap was the resumed or externally-edited case.Stacked on #248, which introduced the
broken_tools(path, occupied name) list this match keys on.Summary
The broken-file link tries the occupied-name match first (declared name, stem fallback: the registry's own collision key), then falls back to the existing stem and SKILL.md matchers, which still serve manifest-restored registries whose
broken_toolsis empty.Test Plan
a_broken_manifest_is_named_when_its_declared_name_differs_from_its_stem: hyphen file declaring an underscore name, broken; calling the declared name returns the did-NOT-load error naming the file. Red against a disabled name-match (verified).Greptile Summary
The registry now identifies unavailable tools by their declared manifest name and reports the project-level manifest when it overrides an invalid global manifest. Focused coverage confirms both diagnostic paths behave as intended.
Confidence Score: 5/5
No blocking failure remains; the project override diagnostic behaves correctly.
The focused checks exercised both invalid-manifest resolution paths and confirmed that each reports the intended manifest.
What T-Rex did
Reviews (3): Last reviewed commit: "fix(core): a doubly broken name is linke..." | Re-trigger Greptile