Skip to content

ci+ops: unified automation rollout#43

Merged
racmac57 merged 1 commit into
mainfrom
claude/review-automation-plan-o9Lbn
Apr 22, 2026
Merged

ci+ops: unified automation rollout#43
racmac57 merged 1 commit into
mainfrom
claude/review-automation-plan-o9Lbn

Conversation

@racmac57
Copy link
Copy Markdown
Owner

Land the automation plan from /root/.claude/plans/review-this-repo-and-proud-rossum.md
as a single commit so each surface stays coherent with its siblings.

Local ops

  • Start-Watcher.ps1: resolve KB_Shared via config.json output_dir first,
    then OneDriveCommercial / OneDrive / OneDriveConsumer. Task Scheduler
    no longer silently fails when $env:OneDriveCommercial is unset.
  • Stop-Watcher.ps1: release the Global\KB_Chunker_Watcher mutex and
    clean up stale watcher_pid.txt so a crashed run does not block restart.
  • New Run-WeeklyDedupe.ps1 + Register-DeduperTask.ps1. KB_Weekly_Dedupe.xml
    rewritten to call the driver script (no more nested powershell -Command
    double-spawn) and templatized with REPO_ROOT in place of the
    hardcoded C:_chunker working directory.

CI

  • Split into test-fast (single 3.12 runner on push/PR) and test-full
    (3.11/3.12/3.13 matrix on schedule + workflow_dispatch). Cuts Windows
    runner minutes ~3x on PR feedback while keeping nightly compat coverage.
  • Add ruff lint step (continue-on-error for now).
  • Add explicit pytest -m smoke gate so a broken smoke test fails CI
    even when the main run collects no tests.

Smoke test

  • tests/test_smoke.py replaces assert True with an end-to-end pipeline
    test: chunk_and_tag.process_file + ChunkerDatabase.log_processing
    against a temp directory. Stdlib-only, runs on Linux in <50ms.
  • New tests/fixtures/smoke_sample.md fixture.
  • pytest.ini registers the smoke marker.

Dependabot + PR review

  • Group pip and github-actions patch/minor bumps into one PR per week.
  • New dependabot-automerge.yml auto-merges patch/minor Dependabot PRs
    once CI is green; majors still need human review.
  • CODEOWNERS: default to single reviewer; keep both-maintainer rule on
    config.json, chroma_db/, 03_archive/, 04_output/, requirements.txt,
    and .github/ to protect the guardrails.

npm

  • Add test, test:smoke, kb:register:watcher, kb:register:dedupe.

Land the automation plan from /root/.claude/plans/review-this-repo-and-proud-rossum.md
as a single commit so each surface stays coherent with its siblings.

Local ops
- Start-Watcher.ps1: resolve KB_Shared via config.json output_dir first,
  then OneDriveCommercial / OneDrive / OneDriveConsumer. Task Scheduler
  no longer silently fails when $env:OneDriveCommercial is unset.
- Stop-Watcher.ps1: release the Global\KB_Chunker_Watcher mutex and
  clean up stale watcher_pid.txt so a crashed run does not block restart.
- New Run-WeeklyDedupe.ps1 + Register-DeduperTask.ps1. KB_Weekly_Dedupe.xml
  rewritten to call the driver script (no more nested powershell -Command
  double-spawn) and templatized with __REPO_ROOT__ in place of the
  hardcoded C:\_chunker working directory.

CI
- Split into test-fast (single 3.12 runner on push/PR) and test-full
  (3.11/3.12/3.13 matrix on schedule + workflow_dispatch). Cuts Windows
  runner minutes ~3x on PR feedback while keeping nightly compat coverage.
- Add ruff lint step (continue-on-error for now).
- Add explicit `pytest -m smoke` gate so a broken smoke test fails CI
  even when the main run collects no tests.

Smoke test
- tests/test_smoke.py replaces `assert True` with an end-to-end pipeline
  test: chunk_and_tag.process_file + ChunkerDatabase.log_processing
  against a temp directory. Stdlib-only, runs on Linux in <50ms.
- New tests/fixtures/smoke_sample.md fixture.
- pytest.ini registers the `smoke` marker.

Dependabot + PR review
- Group pip and github-actions patch/minor bumps into one PR per week.
- New dependabot-automerge.yml auto-merges patch/minor Dependabot PRs
  once CI is green; majors still need human review.
- CODEOWNERS: default to single reviewer; keep both-maintainer rule on
  config.json, chroma_db/, 03_archive/, 04_output/, requirements.txt,
  and .github/ to protect the guardrails.

npm
- Add `test`, `test:smoke`, `kb:register:watcher`, `kb:register:dedupe`.
@racmac57 racmac57 requested a review from hy5guy as a code owner April 22, 2026 21:47
@racmac57 racmac57 merged commit 8e1864b into main Apr 22, 2026
5 checks passed
@racmac57 racmac57 deleted the claude/review-automation-plan-o9Lbn branch April 22, 2026 22:16
racmac57 pushed a commit that referenced this pull request Apr 22, 2026
The previous two commits on this branch shipped files with cascading
indent corruption. yaml.safe_load rejects ci.yml outright, so GitHub
silently skipped this workflow — that's why only the `automerge` job
appeared on PR #50 and `test-fast` never ran. Merging as-is would have
overwritten the working ci.yml on main and disabled CI repo-wide.

- .github/workflows/ci.yml: rewritten from the post-#43 main baseline,
  with `continue-on-error: true` removed from the Lint (ruff) step
  (the one intended change of this PR).
- ruff.toml: rewritten with clean indentation and an ignore list that
  actually covers every rule currently tripped by the repo
  (E402/E501/E722/E741/F401/F541/F811/F821/F841/W292). `ruff check .`
  now reports "All checks passed!" on HEAD.

F821 stays ignored deliberately — it flags 4 pre-existing latent bugs
(missing imports of TaskCoordinator / process_file_task in
enhanced_watchdog.py and an undefined module-level `config` in
langchain_rag_handler.py). Those want their own PR; removing F821 from
the ignore list without fixing them would break this step immediately.

Follow-up (separate PRs):
  * fix the 4 F821 sites
  * shrink the ignore list (118 of 210 findings auto-fix with
    `ruff check --fix`)
racmac57 added a commit that referenced this pull request Apr 22, 2026
* ci: add ruff.toml config and promote lint to blocking

Added linter configuration for chunker_Web with specific rules and exclusions.

* ci: remove continue-on-error from ruff lint step (make blocking)

* docs: add Windows shakedown runbook (4 tests, preconditions, result table)

This document outlines the manual verification process for Windows-side CI rows, including preconditions, tests, expected outputs, and result recording.

* fix(ci): repair corrupted ci.yml + widen ruff ignore baseline

The previous two commits on this branch shipped files with cascading
indent corruption. yaml.safe_load rejects ci.yml outright, so GitHub
silently skipped this workflow — that's why only the `automerge` job
appeared on PR #50 and `test-fast` never ran. Merging as-is would have
overwritten the working ci.yml on main and disabled CI repo-wide.

- .github/workflows/ci.yml: rewritten from the post-#43 main baseline,
  with `continue-on-error: true` removed from the Lint (ruff) step
  (the one intended change of this PR).
- ruff.toml: rewritten with clean indentation and an ignore list that
  actually covers every rule currently tripped by the repo
  (E402/E501/E722/E741/F401/F541/F811/F821/F841/W292). `ruff check .`
  now reports "All checks passed!" on HEAD.

F821 stays ignored deliberately — it flags 4 pre-existing latent bugs
(missing imports of TaskCoordinator / process_file_task in
enhanced_watchdog.py and an undefined module-level `config` in
langchain_rag_handler.py). Those want their own PR; removing F821 from
the ignore list without fixing them would break this step immediately.

Follow-up (separate PRs):
  * fix the 4 F821 sites
  * shrink the ignore list (118 of 210 findings auto-fix with
    `ruff check --fix`)

---------

Co-authored-by: Claude <noreply@anthropic.com>
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.

2 participants