From 9267c33e7363c97bcb63f356aa66fe4ba1d3d8b0 Mon Sep 17 00:00:00 2001 From: Yesol Heo | Creative Developer <86992002+Yesol-Pilot@users.noreply.github.com> Date: Sun, 12 Jul 2026 13:07:18 +0900 Subject: [PATCH 1/3] add cross-platform CI and package checks --- .github/workflows/ci.yml | 94 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..ab99067 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,94 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + name: Python ${{ matrix.python-version }} on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest] + python-version: ["3.9", "3.12", "3.13"] + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install package and test dependencies + run: python -m pip install -e ".[dev]" + + - name: Run tests + run: python -m pytest -q + + - name: Verify CLI exit-code contract + shell: bash + run: | + neo-evidence-gate examples/good.md + if neo-evidence-gate examples/bad.md; then + echo "examples/bad.md unexpectedly passed" >&2 + exit 1 + fi + + evidence-gate: + name: Dogfood evidence gate on PR description + if: github.event_name == 'pull_request' + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install local package + run: python -m pip install . + + - name: Check PR description + env: + PR_BODY: ${{ github.event.pull_request.body }} + shell: bash + run: printf '%s' "$PR_BODY" | neo-evidence-gate - + + package: + name: Build and inspect distribution + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install packaging tools + run: python -m pip install build twine + + - name: Build distributions + run: python -m build + + - name: Check package metadata + run: python -m twine check dist/* + From f81e439e5382adb76d6df9e5192be21ecc1950a4 Mon Sep 17 00:00:00 2001 From: Yesol Heo | Creative Developer <86992002+Yesol-Pilot@users.noreply.github.com> Date: Sun, 12 Jul 2026 13:07:19 +0900 Subject: [PATCH 2/3] fix install instructions and add CI badge --- README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 706764c..a938300 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # neo-evidence-gate +[![CI](https://github.com/Yesol-Pilot/neo-evidence-gate/actions/workflows/ci.yml/badge.svg)](https://github.com/Yesol-Pilot/neo-evidence-gate/actions/workflows/ci.yml) + **An honesty linter for completion claims.** It flags lines that say a task is *done* — `DONE`, `PASS`, `READY`, `VERIFIED`, `fixed`, `works now`, `shipped` — when there is **no evidence** next to the claim. @@ -35,10 +37,12 @@ turned into a command you can run. ## Install ```bash -pip install neo-evidence-gate +python -m pip install "git+https://github.com/Yesol-Pilot/neo-evidence-gate.git@21330b9" ``` -Requires Python 3.9+. No third-party runtime dependencies. +The project is not published on PyPI yet. The commit pin above keeps installs +reproducible until the first package release. Requires Python 3.9+. No +third-party runtime dependencies. ## Use @@ -75,9 +79,11 @@ for f in result.findings: # [] (nothing unsupported) ```yaml - name: Evidence gate on the PR body + env: + PR_BODY: ${{ github.event.pull_request.body }} run: | - pip install neo-evidence-gate - printf '%s' "${{ github.event.pull_request.body }}" | neo-evidence-gate - + python -m pip install "git+https://github.com/Yesol-Pilot/neo-evidence-gate.git@21330b9" + printf '%s' "$PR_BODY" | neo-evidence-gate - ``` ### As a pre-commit hook @@ -133,3 +139,4 @@ option. Contributions are accepted under the same terms. `neo-evidence-gate` is part of [Neo Genesis](https://neogenesis.app), where the same principle governs the agent runtime itself: no `DONE` without evidence. + From 645778a2ba7ab4366c978b8620194897a6cfa80e Mon Sep 17 00:00:00 2001 From: Yesol Heo | Creative Developer <86992002+Yesol-Pilot@users.noreply.github.com> Date: Sun, 12 Jul 2026 13:07:21 +0900 Subject: [PATCH 3/3] add evidence-first pull request template --- .github/pull_request_template.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..02ef7f3 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,20 @@ +## Summary + + + +## Evidence + + + +- [ ] `python -m pytest -q` +- [ ] Relevant CLI example or regression case + +```text +command: +output: +``` + +## Scope and limitations + + +