Skip to content

feat: establish installable CLI foundation and CI gates - #38

Merged
Dyu20705 merged 2 commits into
mainfrom
dev
Aug 2, 2026
Merged

feat: establish installable CLI foundation and CI gates#38
Dyu20705 merged 2 commits into
mainfrom
dev

Conversation

@Dyu20705

@Dyu20705 Dyu20705 commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Establish an installable, typed src/ Python package and minimal runsift CLI.
  • Add reproducible uv tooling, package metadata, focused tests, package build verification, and installed-wheel smoke tests.
  • Rebase the work onto current main while preserving the maintained documentation, label automation, and GitHub project setup scripts.
  • Fix repository hygiene: standard Python .gitignore, tests/ layout, discoverable CONTRIBUTING.md, valid Markdown pull request template, MIT license, one package-version source, and local Markdown-link validation.

Related issues

Scope

Included

  • Python package metadata and Hatchling build configuration.
  • src/runsift/ typed package and console entry point.
  • Implemented root --help and --version behavior.
  • Unit and subprocess integration tests.
  • Formatting, linting, strict typing, tests, documentation-link validation, package build, and clean-install smoke gates in CI.
  • Python 3.11 development baseline and CI tests on Python 3.11 and 3.14.

Explicitly out of scope

Design and contract impact

  • Contract impact: adds the installable runsift command with root help and --version only.
  • Compatibility impact: requires Python 3.11 or newer.
  • Migration required: none; this is the initial package foundation.

Verification

Check Command Result
Locked environment uv sync --frozen Passed in CI
Formatting uv run --frozen ruff format --check . Passed in CI
Linting uv run --frozen ruff check . Passed in CI
Type checking uv run --frozen mypy src Passed in CI
Tests uv run --frozen pytest Passed on Python 3.11 and 3.14
Documentation links uv run --frozen python scripts/check_markdown_links.py Passed in CI
Package build uv build --no-sources Wheel and sdist passed in CI
Installed-wheel smoke runsift --help and runsift --version outside the repository Passed in CI

Local pre-push verification also parsed pyproject.toml, compiled src, tests, and scripts, passed 5 tests, and passed the Markdown-link checker.

Security and data handling

  • Workflow permissions are limited to contents: read.
  • Checkout credentials are not persisted.
  • Third-party actions are pinned to immutable commit SHAs.
  • No runtime network dependency or credential handling is introduced.
  • The smoke test executes only the installed RunSift entry point with static arguments.

Risks

Rollback

  • Restore dev to 890f36b8c3739a47f89d2240cc67250cc1abe54f, preserved as backup/pr-38-dev-20260802.

Reviewer focus

Copilot AI review requested due to automatic review settings August 2, 2026 03:14

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Rebase the foundation work onto current main, preserve repository automation and documentation, add the package and CLI skeleton, fix repository hygiene, and introduce progressive quality, test, documentation, and package gates.
@Dyu20705 Dyu20705 changed the title Dev feat: establish installable CLI foundation and CI gates Aug 2, 2026
@Dyu20705 Dyu20705 added area:cli CLI commands, configuration, and local execution area:infra CI/CD, packaging, release, and developer tooling area:testing Fixtures, automated tests, QA, and validation priority:high Important work planned for the current milestone size:m Medium estimate type:feature User-facing product capability labels Aug 2, 2026 — with ChatGPT Codex Connector
@Dyu20705
Dyu20705 merged commit e93e298 into main Aug 2, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:cli CLI commands, configuration, and local execution area:infra CI/CD, packaging, release, and developer tooling area:testing Fixtures, automated tests, QA, and validation priority:high Important work planned for the current milestone size:m Medium estimate type:feature User-facing product capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Foundation] Create installable package, source layout, and reproducible toolchain

2 participants