Repository navigation
Use Ruby for local task inventory and pack validation - #803
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Reviewed the Python→Ruby port of the audit-chats local inventory helper. No correctness, security, or scope issues found. Notes from the review:
Nice work on a faithful, well-tested port. |
* origin/main: Disable CodeRabbit incremental reviews (#805)
ReviewWent through the Python→Ruby port line-by-line against the deleted Code quality / correctness: This is a careful, faithful port. Notably it correctly handles the trickiest Python→Ruby semantic gap: SQLite stores booleans as integers, and Command construction uses I checked candidate_ids dedup ( Scope: Matches the stated Why — swap Python for Ruby in this one helper, no drive-by features. The test file grew relative to the Python version, but the additions target real risk in a language port (0/1 truthiness, UTF-8 validation from subprocess output, readonly enforcement, no-Python-on-PATH), not padding. No functional bugs, security issues, or scope creep found. |
…very * origin/main: Remove Python from pack validation (#803)
|
Post-merge verification is clean. The merged tree at An independent integration check with companion PR #800 passed all 51 focused tests (248 assertions), including the Ruby inventory suite and both recovery suites. Full CI for that updated companion remains pending. Changelog handling remains |
…data-trust-boundary * origin/main: Remove Python from pack validation (#803)
Why
The pack validation suite requires Python solely to run the local task-inventory helper's tests. Using Ruby for that helper and its tests keeps shared tooling on the runtime already used by the rest of the suite.
What changed
sqlite3command in read-only mode, with startup configuration disabled. No Ruby gem is added.bin/validate; document the SQLite prerequisite and the preference for Ruby in new shared helpers and validation tests.This is separate from the recovery-helper conversion in #800. Python-based
yamllintand historical benchmark scripts remain outside this change. The larger diff replaces both the implementation and its fixture suite together so the migration remains independently testable.How to review and verify
ruby skills/audit-chats/scripts/local_chat_inventory_test.rb. All 17 tests / 123 assertions pass, including execution without Python on PATH, read-only enforcement, unchanged database checksums, startup-file isolation, special-character paths, and catalog fallback.bin/validateinvokes the Ruby suite and has no Python requirement.Test plan
6dc366c20739d73c11a610a9c03e30b37fd12d80after updating from main. The previous full run passed atc86437782d2800518c59ec1a26afec37d653977a.deferred_to_update_changelog.Agent details
Commands and results
ruby skills/audit-chats/scripts/local_chat_inventory_test.rb: 17 tests / 123 assertions passed.rubocop _1.87.0_ skills/audit-chats/scripts/local_chat_inventory.rb skills/audit-chats/scripts/local_chat_inventory_test.rb: passed.bash -n bin/validateandgit diff --check: passed.6dc366c20739d73c11a610a9c03e30b37fd12d80; the independent integration audit verified equivalence to the tested implementation. Normal and C-locale inventory suites each passed.Review
Independent
codex review --uncommittedfound no actionable regressions. It independently ran the 17-test suite and RuboCop. Tests use isolated SQLite fixtures; no private task database was read.Before the base update, full CI and lint passed, and the hosted Claude review found no actionable issues, and no review threads remain open. CodeRabbit skipped automatic review and is advisory. Merged by guarded squash submission at
a71885395892319ac8f77c508df4a4a1d9494c2eon 2026-09-09 at 10:40 UTC. Full CI and actual reviewer artifacts were complete before merge; no open review threads remained. An independent integration review verified that the PR patch is byte-for-byte unchanged against the new base543a620668a9eea8d5e770acecab0684e2ca423d; only the upstream CodeRabbit setting changed.Decision log
The existing SQLite CLI provides read-only JSON queries without a new Ruby gem. A separate YAML lint migration would change lint policy and is not included here.
QA Evidence