Repository navigation
test: scenarios for the five group skills (#66) - #85
Merged
Merged
Conversation
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.
Closes #66.
What
triage-github-issues,implement-github-issues,review-github-prs,shepherd-github-prsandexplore-github-repo. Each has a round that fills the batch (with ineligible, stuck, leased or draft items that must not count toward it), anothing eligibleround, and a forwarding variant.expect.dispatches,resultsandlogfor group skills, andexpect.reconcilefor triage. It picks the batch itself from the real item skill's oracle, oldest first (createdAt), so a wrong selection or order fails. What a dispatch must carry is read from the real item contract:write_log=falseplus the run's inputs that the item lists inparams, and nothing else. This is the check the fix(skills): resolve the ten contract gaps (ADR 0011) #51 dispatch-forwarding fix lacked.scripts/skill-contracts.mjs(new) finds a skill's contract in any bucket, so the checker can read the item'sparamswithout a circular import. The coverage gate wants three scenarios per group skill, one that dispatches and one that does not.Acceptance criteria
dispatches:is supported for group skills. Yes.trusted_authorsfrom a dispatch fails. Tested.triage-github-issuesis covered including its call toreconcile-github-issues: the call's forwarded inputs and result lines are checked against reconcile's contract, and the log lists them.Things to look at
explore-github-repois a different kind of group. Its candidates are findings it ranks, not items in the world, and it callsfile-github-issuesonce withlimit, so the item-selection check does not apply. It has its own checker: findings best first, the forwarded inputs (limit, the shared inputsfile-github-issueslists, arun_id), onlyfiledandwould-filecounting toward the cap,deferred: over limitafter it, the count line and the deferred list (at most 20). The first time I wrote its scenario, the checker caught me forwardinglog_window_days, whichfile-github-issuesdoes not list.nothing eligibleline. Its contract's onlyreturnsis the count line, so its idle scenario expects0 filed, 0 commented, 0 droppedand no call. The skill never says outright that it skips the call when it found nothing (only "never invent work"), so that part is the scenario's reading of the contract. If you want it explicit, add a line to itsensures.returnsfor that case (nothing eligible?) is unclear.Checks
npm run checkpasses (371 Node tests, 154 shell tests),sync:checkis clean, and coverage is 70/70. 17 new tests show the checker rejecting each rule being broken. ADR 0012 records the design.Not covered, as the issue says: running the dispatched items.