Skip to content

v1.1.0 release prep#5

Merged
moonrunnerkc merged 6 commits into
mainfrom
v1-phase3d-release-prep
Apr 28, 2026
Merged

v1.1.0 release prep#5
moonrunnerkc merged 6 commits into
mainfrom
v1-phase3d-release-prep

Conversation

@moonrunnerkc
Copy link
Copy Markdown
Owner

Summary

  • Audit fixes for claims 1, 2, 3, 4, 5, 6, 8 (claim 7 reverted; cli.py left at pre-audit size after the helper-extraction attempt grew the file overall)
  • Exit-code semantics: warning-only runs return 0 again (reverses v1.0.1's "warnings exit 2" decision); 2 is reserved for tool-misuse / input errors; new --warnings-as-errors flag escalates warning-only runs to 1 for stricter CI gates
  • Description scorer rubric documented inline and stem-normalized; verb table collapsed from 86 entries to 42 base forms; corpus check against anthropics/skills shows zero score deltas across 17 files
  • Version bump to 1.1.0 (minor: exit-code semantics shift + new flag)
  • CHANGELOG.md 1.1.0 section and RELEASE_NOTES_v1.1.0.md added; rubric-change wording tightened to reflect the no-op-against-corpus finding instead of implying false positives in the wild

Test plan

  • CI green on the rebased branch
  • Inspect diff vs main
  • Confirm RELEASE_NOTES_v1.1.0.md and CHANGELOG wording matches the corpus-verification finding (no-op against current corpus; new tests are forward-looking guards)

moonrunnerkc and others added 6 commits April 28, 2026 14:22
Pin the GitHub Action's pip install to skillcheck>=1.0.1 so consumers fail
loudly on unpublished v1 features instead of silently running v0.2.0.
Replace seven gitignored runs/* path citations in the README with the
exact commands needed to reproduce each finding. Delete the unrelated
git-commit-crafter SKILL.md from the repo root (canonical example lives
at skills/skillcheck/SKILL.md). Drop the false @v0 tag claim from the
README (only @v0.2.0 was ever pushed) and update the CHANGELOG to point
at the action's pinned tag.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drop comprehensive, robust, and flexible from _VAGUE_WORDS. Each can
describe a concrete attribute when qualified ("comprehensive coverage of
N formats", "robust against malformed input"), so flagging them
penalizes legitimate descriptions. Document the inclusion rubric in a
comment so future additions stay grounded.

Collapse _ACTION_VERBS from 86 entries (base + 3rd-person duplicates)
to 42 base forms. Add _is_action_verb() to handle stem normalization
across -s, -es, and -ies endings, so adding a new verb only requires
the base form. Two regression tests guard the new rubric: comprehensive
alone no longer drops the score, and 3rd-person verbs still register
without explicit enumeration.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Exit code 2 was conflating tool-misuse errors (missing path, conflicting
flags) with valid runs that produced only warnings, leaving CI consumers
unable to tell them apart. Warning-only runs now exit 0 by default. The
new --warnings-as-errors flag escalates warnings to exit 1 for stricter
gates. Code 2 is now reserved for input errors only. The README exit-code
table and the affected tests are updated in the same commit.

main() previously ran 428 lines, far past the project's module-size
discipline. Extract the conflict checks, show-history dispatch, emit-mode
dispatch, validation pipeline, exit-code computation, history recording,
and report printing into named helpers (_check_flag_conflicts,
_handle_show_history, _dispatch_emit_mode, _run_validation,
_compute_exit_code, _record_history, _print_report, plus
_setup_io_encoding and _validate_arg_choices). main() is now 52 lines of
linear top-level dispatch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The audit's claim 7 stretch goal was main() under 100 lines and cli.py
under 700. Extracting nine helpers got main() to 52 lines but pushed
cli.py from 1127 to 1172 because each helper added a signature plus a
docstring without a corresponding inline-code reduction. The audit
explicitly allowed treating the file size as a deliberate choice rather
than refactoring; the helper extraction made the total-lines metric
worse, so revert it.

Restores main() to its pre-audit inline form. Keeps the --warnings-as-errors
flag and the exit-code split from claim 4 (warning-only -> 0 by default,
1 with --warnings-as-errors, code 2 reserved for input errors).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The v1.0.1 -> v1.1.0 jump captures: (a) the audit fixes from this
session (action.yml pin, README runs/* citations, top-level SKILL.md
deletion, false @v0 claim, description scorer rubric); (b) the exit-code
split which is a behavior reversal of v1.0.1 (warning-only is now 0,
not 2); (c) the new --warnings-as-errors flag. The first set is patch-
level housekeeping but the exit-code change and the new flag are
public-surface changes; semver demands a minor bump.

CHANGELOG entry consolidates the prior [Unreleased] section into 1.1.0.
RELEASE_NOTES_v1.1.0.md documents the migration path for any CI that
was depending on v1.0.1's "warnings exit 2" behavior.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@moonrunnerkc moonrunnerkc merged commit 44620cc into main Apr 28, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant