Skip to content

Close validate.sh / CI lint gate parity gap#3

Merged
Gimpleberry merged 1 commit into
mainfrom
validate-lint-parity
Apr 29, 2026
Merged

Close validate.sh / CI lint gate parity gap#3
Gimpleberry merged 1 commit into
mainfrom
validate-lint-parity

Conversation

@Gimpleberry
Copy link
Copy Markdown
Owner

validate.sh item #1 now runs ruff format --check in addition to ruff check, matching .github/workflows/lint.yml exactly. Adds tests/unit/test_validate_script_lint_parity.py as a regression guard against future drift in either direction.

BACKLOG: closes 'validate.sh: extend item #1 to include ruff format check'

Summary

validate.sh item #1 now runs ruff format --check in addition to ruff check, matching .github/workflows/lint.yml exactly. Closes the local-vs-CI gate parity gap caught during Phase 1.1 and 1.2 rollouts. New tests/unit/test_validate_script_lint_parity.py regression-guards the invariant against future drift in either direction.

Changes

  • path/to/file.py — what changed and why

Linked work

validate.sh: extend item #1 to include ruff format check

  • Closes #
  • Backlog: <name of phase + item>
  • ADR: (if this introduces an architectural change)

Validation checklist (Tenet 5)

  • 1. Lint — ruff clean on every modified file
  • 2. shared.py uniqueness — no symbol duplicated outside shared.py
  • 3. Encoding sweep — no non-ASCII in Python source
  • 4. Plugin registry — every entry has start()/stop()
  • 5. Import chain — no circular imports
  • 6. Lifecyclemain.py --check passes
  • 7. Docs present — README/CHANGELOG/DECISIONS/BACKLOG/PROJECT_KNOWLEDGE
  • 8. Config validkai validate-taxonomy passes
  • 9. Unit tests — all green
  • 10. Integration bootmain.py --boot-order works

scripts/validate.sh summary:

Passed: __ / 10

Documentation updated

  • CHANGELOG.md entry added under appropriate version
  • PROJECT_KNOWLEDGE.txt updated if architecture or folder map changed
  • DECISIONS.md ADR added if this is a non-trivial architectural choice
  • BACKLOG.md updated (phase items moved/completed/added)
  • In-app Help section added/updated if user-facing behavior changed

Screenshots / log excerpts

Risk + rollback plan

Tooling-only change. Pure git revert undoes it cleanly — no data, schema, or behavior changes. The local validation gate would briefly drift back from CI; that's the pre-patch state, and was survivable for the prior two PRs

validate.sh item #1 now runs ruff format --check in addition to
ruff check, matching .github/workflows/lint.yml exactly. Adds
tests/unit/test_validate_script_lint_parity.py as a regression
guard against future drift in either direction.

BACKLOG: closes 'validate.sh: extend item #1 to include ruff format check'
@Gimpleberry Gimpleberry merged commit f734297 into main Apr 29, 2026
4 checks passed
@Gimpleberry Gimpleberry deleted the validate-lint-parity branch April 29, 2026 03:55
Gimpleberry added a commit that referenced this pull request Apr 29, 2026
Captures three patch-script-template improvements surfaced during the
validate.sh / CI lint parity rollout (PR #3):

1. Sandbox must include kai.shared so Tenet 1 violations in generated
   Python files surface during pre-delivery QC.
2. Patch scripts that create Python files should run ruff format on
   them as a final edit step.
3. Parity-test pattern generalizes per CI workflow with a local mirror;
   defer meta-test until 2nd pair exists.

All three are PRIORITY: triggered by next applicable patch, not by
clock time.
Gimpleberry added a commit that referenced this pull request Apr 29, 2026
Captures three patch-script-template improvements surfaced during the
validate.sh / CI lint parity rollout (PR #3):

1. Sandbox must include kai.shared so Tenet 1 violations in generated
   Python files surface during pre-delivery QC.
2. Patch scripts that create Python files should run ruff format on
   them as a final edit step.
3. Parity-test pattern generalizes per CI workflow with a local mirror;
   defer meta-test until 2nd pair exists.

All three are PRIORITY: triggered by next applicable patch, not by
clock time.
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.

1 participant