Skip to content

feat(skill-authoring): adopt Python plugin mechanics - #189

Merged
BjRo merged 10 commits into
mainfrom
feat/175-python-uv-mechanics
Sep 17, 2026
Merged

BjRo merged 10 commits into
mainfrom
feat/175-python-uv-mechanics

Conversation

@BjRo

@BjRo BjRo commented Sep 17, 2026 •

Copy link
Copy Markdown
Owner

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.
  • Direct-entrypoint integration and interpreter-routing suites passed after removing the two POSIX forwarding launchers.
  • Python change-scope and aggregate-result tests passed for unrelated, plugin-local, shared-infrastructure, forced-full, skipped, and failed-job cases.
  • The eight-case skill-authoring eval suite passes dry preparation.
  • respect-target-toolchain live 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.
  • GitHub Python quality previously 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 test run 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

  • I have read and followed CONTRIBUTING.md, including the contribution
    licensing terms.
  • I added or updated the applicable invariant before implementation, or
    this change does not affect a capability invariant.
  • I added or updated colocated evals, or this change does not affect skill
    behavior.
  • I confirmed that each changed plugin remains self-contained, or this
    change does not affect plugin content.
  • I ran bun run check:python, or this change does not affect registered
    Python packages or their repository quality infrastructure.

@BjRo
BjRo merged commit 3b3a222 into main Sep 17, 2026
30 checks passed
@BjRo
BjRo deleted the feat/175-python-uv-mechanics branch September 17, 2026 13:54
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.

Upgrade darrow-skill-authoring for Python + uv plugin mechanics

1 participant