Repository navigation
feat(artifact-delivery): add a model reading to each behavior match - #538
Merged
Merged
Conversation
395 registry Skills stop at the CLI's approval gate, and many matches are quotes: simota/agent-skills lists curl | bash as an attack to block in its linked _common/SECURITY.md. The user sees only PATH:LINE. A build now runs the same matcher over every file it packs, and sends the first five matches of each ask behavior to GPT-6 Luna: the matched line, its headings, its table header or lead-in, and its code block. Never the whole file. The model answers one verdict and a short reason per match under a strict schema, and anything outside it reads unclear. The readings ride in the new non-required behavior-review check result, under policy 2026-10-07.5, so nothing they say can block or unblock delivery. D1 keeps one review per Repository ID, commit, Skill folder and rules version. A build with the same model input copies a stored review, so a later commit or a Skill that links the same files costs no model call. Private Skill text never goes to the model.
Each SKILL.md match that needs approval now shows the model reading under it: the verdict and its reason, and a note that a language model wrote it and that it changes no approval. The page fetches the readings in the browser by the SKILL.md Git blob SHA, and drops a reading whose line text changed since the reviewed commit.
Proposes the term behavior reading, with the customer word model reading, and the panel and CLI strings. Records the measured cost and latency.
# Conflicts: # layers/artifact-delivery/server/utils/queue.ts
1 of 6 tasks
Collaborator
Author
|
Agent check (Claude, through Harlan Agent Kit). CI cannot show these.
|
1 of 6 tasks
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.
🔗 Linked issue
Related to skilld-dev/skilld#219, which prints the readings in the CLI approval message.
❓ Type of change
📚 Description
395 registry Skills stop at the CLI's approval gate, and many matches are quotes. Each
simota/agent-skillsSkill stops on the attacks its linked_common/SECURITY.mdlists to block. The user sees onlyPATH:LINE.An Artifact build now runs the CLI's matcher over every packed file. It sends the first five matches of each
askbehavior to GPT-6 Luna through the Workers AI binding. The model gets the matched line, its headings, its table header or lead-in, and its code block, never the whole file. It answers one verdict per match,instruction,quoted-example,prohibition,documentation, orunclear, with a reason of at most 20 words. The readings ride in a new non-requiredbehavior-reviewcheck result under policy2026-10-07.5. ADR-0016 records the design.unclear.behavior_reviewskeeps one review per Repository ID, commit, Skill folder, and rules version. A build with the same model input copies a stored review. Private Skill text never goes to the model.GET /api/behavior-readingsby the SKILL.md blob SHA.Measured over 52 gated Skills: $0.00015 a Skill and a median of 2.1 s a call. Reading the 395 gated Skills once costs about $0.06, and the current revision rate costs about $0.0013 a day. A gated Skill's first build at new matched lines waits for that call.
Term proposal.
GLOSSARY.mdaddsbehavior reading, with the customer word "model reading". It names a new concept and displaces no existing term.COPY.mdrecords the panel and CLI strings.