Correct the migration skill's refresh order and its update invocation - #42
Merged
Merged
Conversation
Both defects were found by running the skill against a real repository minutes after release; neither is reachable by reading it. The self-refresh deadlocked. Step 0 refreshed a stale skill, Step 2 required a clean working tree, and the refresh writes a tracked file -- so following the steps in order produced a tree the next step rejected. Detection is now Step 0 and read-only; the fix is Step 3.5, after branch isolation, where the refreshed skill belongs in the migration commit. The invocation did not exist. The skill, the doctor remedy and the design's own check table all said `agents update --apply`, which the CLI rejects: --all is required. RefreshInfrastructuralSkills is reachable only from the --all path and `agents wire` does not refresh skills, so there is no single-repository form and the refresh necessarily touches every registered repository. The skill now says so. TestLivingDocumentsSpellUpdateWithAll closes the gap. Neither existing check could see this: the command exists and --apply is registered, and what was wrong is an absent required flag. Its own first version could not fail either -- it scanned inline code spans while the real command sits in a fenced block, so the control passed with the bug reintroduced. It now scans both, verified against a fenced and an inline sabotage. TestMigrationSkillCoversItsSpecifiedProtocol asserted the invalid form, having been written from the same spec as the skill. Corrected with it.
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.
Found by running the skill from #41 against
coworkon v0.5.0. Neither defect is reachable by reading it.The self-refresh deadlocked
Step 0 refreshed a stale skill; Step 2 required a clean working tree. The refresh writes a tracked file, so following the steps in order produced a tree the next step rejected. Detection is now Step 0 and read-only; the fix is Step 3.5, after branch isolation, where the refreshed skill belongs in the migration commit.
The invocation did not exist
The skill, the doctor remedy, and the original design's §6 check table all said
agents update --apply. The CLI answers:RefreshInfrastructuralSkillsis reachable from exactly one call site, the--allpath incmd_fleet.go:150, andagents wiredoes not refresh skills — so there is no single-repository form, and the refresh necessarily rewrites the skill in every registered repository. The skill now says so and tells the reader how to handle the other repos.The gates
TestLivingDocumentsSpellUpdateWithAllcloses a real gap. Neither existing check could see this one:updateexists and--applyis a registered flag — what is wrong is an absent required flag, which no existence check detects. A bareagents updateis prose naming the command and passes; a flag-bearing span without--allfails.Two things worth flagging about it:
TestMigrationSkillCoversItsSpecifiedProtocolasserted the skill containsagents update --apply— it required the invalid command, having been written from the same spec as the skill. A green suite proved only that the two agreed.Amendment 1a records both defects in the design.