Repository navigation
chore(release): merge release/0.2.0 into main - #119
Merged
Merged
Conversation
chore: merge main v0.1.0 into develop
… in the Skill Refs: #17
…eval matrix - review.md: make the round copy in its own tool call, and put no other tool call in the message that saves a report. - SKILL.md: add the entry-format vs "do not omit words" case to the conflict table. - agent-skills-spec.md: a description that gives an instruction is procedural text (20-word limit). - evals.json: give test 5 an action for the Guidance line, and make [5.1] name the 3 lines it checks. Refs: #17
A copy in project/.agents/skills/ goes out of date, and the eval runner copies it into without_skill runs.
Add the breaking-change "!" setting, the rule to read commit-policy.md first, agent execution, and the pre-merge deletion of this prototype. Refs: #56
Add skills/engineering/git-commit/SKILL.md. Before the first git add, it reads a well-formed Commit policy. It stages only the task files, writes a Conventional Commits 1.0.0 message that obeys each Setting, and reports the short SHA, header, and file stat of each commit. The Commit policy wins over other skills, project instructions, and platform defaults. Add the output-test runner in tests/skills/engineering/git-commit/: a sample project with a local bare origin per run, setup steps from evals.json, a git-command audit with a unit test, and a grader prompt. Output tests 1, 2, 3, 4, and 18 pass with the Skill, each with a baseline run. Add the GLOSSARY.md entries Operator, Commit policy, Setting, and Commit review, and the .agents and .claude symlinks to the Skill. Refs: #68
The Skill now examines each line of docs/agents/commit-policy.md before the first git add. A line that is not the title, a blank line, or a known Setting with a valid value is an incorrect line, and so is a repeated Setting name. On an incorrect line the Skill stops with no git add, no commit, no file change, and no question. Its report gives the number and text of each incorrect line and tells the Operator to rewrite or delete the file. When no line is incorrect and a Setting is missing, the Skill asks one question with the default value recommended. With no question tool it uses the default value. It writes the line back and commits the Commit policy alone as "chore: update commit policy" before the task commit. The Setting table gets a Default value column. Add output test 9 (missing Push line) and test 19 (free-prose Commit policy), and manual check M6 in the test README. With the Skill, tests 1, 2, 3, 4, 9, 18, and 19 pass every statement. Baselines without the Skill: 9 passes 6 of 10, 19 passes 4 of 11. Refs: #69
With Commit approval confirm, the Skill records the staged tree ID, shows the Commit review (stat, diff, message, other changed files), and asks one question: Commit, Request changes, or Reject. Only the Operator approves, once for each Commit review. An approval given before the review does not count. Commit checks the tree ID again before the commit and after it. When a Git hook changed the commit, the Skill undoes it with git reset --soft and shows a new review. Reject unstages the task files and keeps the changes. A subagent puts the review in its report, and the agent that started it asks the Operator. With no question tool, the Skill shows the question as text and stops. A failing hook stops the Skill with the hook error, and the Skill never uses or recommends --no-verify. Add output test 5 (confirm, no human) and test 17 (failing pre-commit hook), and manual checks M1, M2, M3, M9, and M10 in the test README. With the Skill, tests 5 and 17 pass every statement, and the regression runs of 1, 2, 3, 4, 9, 18, and 19 still pass every statement. Baselines without the Skill: 5 passes 4 of 12, 17 passes 8 of 9. Refs: #70
When docs/agents/commit-policy.md is not there, the Skill shows the default file and asks one question: Use defaults or Choose each setting. Choose each setting asks the 10 Settings one at a time, in table order, each with the default recommended. The Skill writes the file, makes docs/agents/ when it is missing, commits it alone as "chore: add commit policy" under its own Commit approval, and then does the task commit. When the prompt says "use the default commit policy" or gives all 10 values, the Skill asks nothing. With no question tool and no such answers, it writes and commits nothing and lists the Settings that have no answer. With confirm and no human, it stages only the Commit policy, shows its Commit review, and stops with the task files unstaged. When a Setting forbids a part of "chore: add commit policy" or "chore: update commit policy", the Skill changes or adds only that part, for example "chore: Add commit policy." for sentence case with a full stop. The incorrect-line report now says that a deleted Commit policy starts the setup at the next commit. Add setup.remove to the eval runner, output tests 6, 7, and 8, and manual checks M4 and M5 in the test README. With the Skill, tests 6, 7, and 8 pass every statement, and the regression runs of 1, 2, 3, 4, 5, 9, 17, 18, and 19 still pass every statement. Baselines without the Skill: 6 passes 4 of 9, 7 passes 2 of 11, 8 passes 6 of 10. Refs: #71
Move the 2 Commit policy setup sections to references/commit-policy-setup.md, so that SKILL.md has space for later tickets (14,996 bytes of 20,000). Put the amend, revert, local merge, and gh pr merge rules in references/amend-revert-merge.md. The description now loads the Skill before git merge and gh pr merge. Add output tests 10 to 14, a stub command on PATH for gh, and manual check M8. The start commit now comes before the setup steps, so git-before.md shows the commits that a step makes. Refs: #72
Put the push steps in references/push.md: off never pushes, confirm asks Push / Don't push with the branch and the commits that the push sends, and automatic pushes and reports. No force push; a rejected push is reported and stops the Skill. After a subagent's Commit review, the parent agent now reads the Push Setting itself. The Push Setting covers only the commits that the Skill makes in the task. SKILL.md is 15,251 bytes of 20,000. Add output tests 15 and 16 and manual check M7. Refs: #73
Add load-requests.json with the 20 load requests of the spec. The request "merge PR #42 with gh pr merge" is a must-load request, because the description now names gh pr merge (#72). Add run-load-test.ts, which runs each request 3 times with claude -p in a test repository that fits each request, and loadDecision in eval-lib.ts with its unit test. Move the stream line reader to the shared eval-lib.ts of the agent-instructions tests. Round 1 with claude-opus-5-5: 19 of 20 requests correct. Refs: #74
Replace the prose commit policy with the default Commit policy, so that the installed git-commit Skill reads it and does not stop. Remove the Commits pointer from AGENTS.md, add the merge commit header rule to the Merging line, and say "operator" where these files said "user". Refs: #75
A Commit policy also holds its title, and a Commit review of a diff of more than 500 lines gives the command that shows the diff, as the Skill does. Refs: #75
The git-commit Skill is built, so the brief has no further use. Refs: #75
feat(git-commit): add the git-commit Skill and move this repo to it
chore: turn on automatic commit and push in the Commit policy
Start the reviewers of a review round and the readers of a reader-test round at the same time, at most 3, and correct the file only after the last report of the round. A failed subagent gets one new start; after a second failure, "When no subagent is available" applies to that check and all later checks. Statements [1] and [3] and the grader now check the shared rounds. Refs: #112
On Claude Code, a background Agent start returns an "Async agent launched" result at once. The report is the last subagent text block. Refs: #112
In the write job, the author now moves templates, prompts, examples, long policy or background text, and condition sections with 3 or more rules from a new SKILL.md or new entry-file text into reference files, before the self-check. Over the size limit it moves more condition sections, largest first, or warns with the measured size and the limit. "When you recommend text to move" and the Extraction candidates part now apply only to the edit job. Tests 1 and 2 get the spec's added request text and statements [1.5], [2.4], and [2.5]. Refs: #113
Test 2 split the user's Before-a-release rules into two files, and test 1 kept a failure-rules section in SKILL.md because it can occur at each step. Keep the rules that the user gives under one condition in one file, keep numbered steps in place, and move a conditional rule section also when its condition can occur at each step. Refs: #113
Test 9 now expects the run to move whole sections, largest first and without changes, until AGENTS.md has 200 lines or less, and to list each move with the size reason. Statement [10] permits these moved sections. Test 3 gets a Before-a-release section in its fixture and statement [3.2], which expects it as an extraction candidate that stays in place. The grader measures the section sizes for [9.2]. Refs: #114
In the edit job, the author now applies the write-job move rules only to the text that the edit adds or changes. If the file is still over its size limit, it moves whole sections with a condition from unchanged parts, largest first and without changes, and the Summary gives each move with the measured size and the limit. A new conflict-table row lets the size limit win over "change only the changed part". An extraction candidate is now a section of an unchanged part that the move rules would move. The loading reviewer gives a finding for a missed or wrong move in editable text, and its candidate list holds only sections that the author cannot edit. The write-job prompt omits that list. Refs: #114
Make the fallback, the move rules, and the report rules agree: - The no-subagent warning and the fallback steps cover a partial fallback that starts part-way through a round. - A failed subagent gets a new start only after all other reports of the round. Its group is complete without its report. - Write-job item 2 keeps steps, terms, pointers, and sections with 1 or 2 rules; condition sections with 3 or more rules move. Only the file-size rules and an approved move can move kept text. - A heading or a sentence at the start of a section gives its condition, so the Deploy section of fixture 09 qualifies. - Define the changed part and the unchanged part, use the spec text for the conflict-table row, and quote it in step 5. - Keep each rule in one place: moves and their reasons in the Summary, the size warning, and the candidate unit and exclusions. Refs: #111
The Claude Code message now reads "hit your 5-hour limit", so the runners wrote no LIMIT_HIT file for runs that stopped at the limit. Refs: #115
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.
Summary
Brings 6 merged PRs from
developintomain(#53, #54, #55, #90, #93, #118). Minor bump: new Skill and new features, no breaking changes.Evidence
v0.1.0;mainatfd16846.After: check the
releaserun: tagv0.2.0, releasev0.2.0, and the back-merge PR intodevelop.Merge Danger
Door: one-way
Other projects install Skills from
main, and the tagv0.2.0is public once made.Blast Radius: repo-wide
All Skills, docs, and tooling on
developreachmain.