Repository navigation
feat(skill-authoring): adopt Python plugin mechanics - #189
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.
Why
The skill-authoring inspector and shell-test coordinator had outgrown portable Bash and could not run through the same native entrypoints on Windows. Closes #175.
What changed
Moves substantial deterministic helpers into a contained, UV-locked Python package and exposes them through the package's native console entrypoints. Updates the skill contract, Python inventory and CI matrices, fresh-copy tests for Linux, macOS, and native Windows, the cross-platform authoring eval, repository documentation, and ADR-0009. Both plugin manifests advance to 0.2.0.
The installed authoring skill now derives executable mechanics, package commands, dependency conventions, and shell compatibility from the target repository. Python and UV remain implementation details of this plugin's own inspector and shell-test coordinator; they are no longer prescribed for authored skills.
The Python-quality workflow now detects changes by plugin. Package matrices, native-Windows checks, fresh-install jobs, and performance checks run only for the affected plugin or shared Python-quality infrastructure; manual dispatch still runs every scope, and the stable aggregate check validates intentional skips.
Verification
bun run check:python— passed the complete registered-package gate; after the final platform fixes, the focused skill-authoring gate passed 70 tests with 97.80% line coverage and 95.31% branch coverage.bun run lint && bun run lint:ts && bun run typecheck— passed.bun run lint:shell && bun run check:docs && bun run check:decisions— passed.bash plugins/foundation/darrow-skill-authoring/tests/fresh-install.test.sh— passed from a copied artifact with runtime-only dependencies.respect-target-toolchainlive task checks passed: a pnpm/Node fixture produced JavaScript mechanics and package-owned tests, rejected the complete manifest counterexample set, and introduced no Python, UV, or shell artifacts. One earlier final-form trial passed both task and activation; the final two task runs passed while activation remained unverified because the observer retained only a partial mounted-skill read.Python qualitypreviously passed Linux and macOS on Python 3.10–3.13, native Windows skill-authoring quality on Python 3.10–3.13, all fresh copied-plugin jobs, inventory, performance, and the aggregate check. The updated run passed every selected Linux, macOS, native-Windows, fresh-install, inventory, performance, and aggregate job.Review notes
The installed skill follows the target repository conventions; it does not encode Darrow package paths, runtime choices, quality thresholds, shell-version policy, or CI structure. Native Windows paths are normalized only at the boundary where this plugin's native Python backend invokes Git Bash.
A full local
bun testrun reached 603 passing tests and 7 failures in unchanged eval-runner fixtures: five real-commit scenarios and one discovery scenario exceeded their fixed five-second timeout, and the following discovery assertion had no semantic-grader result. Focused reruns reproduced those environment-sensitive failures; none of the failing files are changed by this PR.Checklist
CONTRIBUTING.md, including the contributionlicensing terms.
this change does not affect a capability invariant.
behavior.
change does not affect plugin content.
bun run check:python, or this change does not affect registeredPython packages or their repository quality infrastructure.