Repository navigation
feat(skill-catalog): import-bundle --clean + deterministic lint --slop - #76
Merged
Merged
Conversation
import-bundle --clean replaces the catalog content for the bundle's scope instead of merging: pre-clean state (store copies + registry entries) is snapshotted to skill-catalog/import-snapshots/ first, each store copy is staged and swapped atomically, and a mid-run failure rolls back -- fail-closed, never a half-replaced catalog. import-bundle --restore SNAPSHOT_DIR recovers a snapshot manually (plan-first). Items still land quarantined; retired items are skipped and items absent from the bundle are untouched. Adds a same-state Registry.replace so re-importing an already-quarantined item stays auditable. lint --slop adds a deterministic anti-slop pass over item markdown with five regex rules -- slop-fingerprint, slop-emdash, slop-sycophancy, slop-not-just-but, slop-filler -- each with a documented rationale and a shared exceptions mechanism (slop-allow / slop-allow:<rule-id> line markers, slop-allow-file). Fenced code blocks are skipped. Findings carry rule id + line refs and exit 1; --warn-only reports WARN and exits 0. Generated with [Devin](https://devin.ai) & QA Engineer Icaro Galvao Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Icaro0310
enabled auto-merge (squash)
October 27, 2026 16:34
auto-merge was automatically disabled
October 27, 2026 19:15
Pull request was closed
Icaro0310
enabled auto-merge (squash)
October 27, 2026 20:06
auto-merge was automatically disabled
October 28, 2026 08:50
Pull request was closed
Contributor
AI Code Review Summary0 finding(s) across 0 reviewed file(s).
Top issuesNo issues found. LGTM ✅ Skipped files
Token usage: 0 in / 0 out. Reviewed by: ai-code-reviewer · ollama / qwen2.5-coder:1.5b |
Contributor
|
Reviewer B (local model {
"message": "The provided JSON snippet is a description of a Python script that manages the import of a bundle into a catalog. The script includes functions for cleaning the import process, which involves copying pre-existing store copies and registry entries into a snapshot directory, and then swapping in the new content with `os.rename`. The script also handles recovery in case of failures. The script is designed to ensure that items are not resurrected after a clean import and that the catalog content is replaced with the new bundle's content. The script uses the `devin_skill_catalog` library to interact with the catalog and its components. The script is written in Python 3 and uses the `pathlib` module for file paths. The script is designed to be used in a production environment and is tested with various scenarios to ensure its correctness. The script is also documented with comments and a README file to provide instructions on how to use it. The script is written in a way that is easy to understand and modify, making it suitable for use in a team environment. The script is written in a way that is compatible with different operating systems and Python versions, making it suitable for use in a variety of environments. The script is written in a way that is scalable and maintainable, making it suitable for use in a large-scale environment. The script is written in a way that is secure and reliable, making it suitable for use in a production environment. The script is written in a way that is user-friendly, making it suitable for use in a team environment. The script is written in a way that is easy to understand and modify, making it suitable for use in a team environment. The script is written in a way that is compatible with different operating systems and Python versions, making it suitable for use in a variety of environments. The script is written in a way that is scalable and maintainable, making it suitable for use in a large-scale environment. The script is written in a way |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scout execution-brief items 10 and 23.
import-bundle --clean(P1): safe replacement semantics — snapshot of the clean scope (store dirs + registry entries) into import-snapshots/ before any mutation, atomic staged swap via os.rename, rollback on any failure/interruption, and--restore SNAPSHOT_DIRrecovery path. Approved/active items demoted to quarantined; retired untouched. plan-first like every mutation.lint --slop(P3): 5 deterministic rules (LLM fingerprints, em-dash separators, sycophancy, not-just-but, filler) each with documented rationale + per-line/per-fileslop-allowexceptions; fenced code skipped; findings carry rule-id + line; FAIL→1,--warn-only→0.Tests: 216 passed, 2 skipped (pre-existing). FP measured on repo's own SKILL.md files: 0 non-emdash hits.
Docs: README + CHANGELOG + llms.txt + STATUS.md.