001 collection consistency audit - #63
Conversation
Signed-off-by: Roddie Kieley <rkieley@redhat.com>
Signed-off-by: Roddie Kieley <rkieley@redhat.com>
Signed-off-by: Roddie Kieley <rkieley@redhat.com>
Signed-off-by: Roddie Kieley <rkieley@redhat.com>
…ration check Signed-off-by: Roddie Kieley <rkieley@redhat.com>
Re-run the consistency audit workflow after rebasing the 001 branch onto current main and update generated JSON/Markdown findings. Made-with: Cursor
Gemini Code Review1. SummaryThis PR introduces a comprehensive "Collection Consistency Audit" framework to ensure metadata, versioning, style tokens, and documentation claims remain aligned across the repository. It adds Python-based audit scripts, updates CI workflows to enforce these checks, standardizes skill frontmatter ( 2. Project Rules Compliance
3. Code Quality IssuesThe code quality is excellent. The audit framework is modular, well-structured, and relies on the standard library, avoiding unnecessary external dependencies. One minor observation regarding repository hygiene:
4. Suggestions
5. VerdictAPPROVE — The PR is exceptionally well-designed, implements a highly valuable consistency framework, and correctly aligns existing skills with the project's frontmatter policies. Consider the suggestion regarding the Automated review by Gemini 3.1 Pro | Rules: CLAUDE.md, SKILL_DESIGN_PRINCIPLES.md |
dmartinol
left a comment
There was a problem hiding this comment.
Thank you for your first contribution!
Let's discuss offline how we can integrate these changes. Main concerns:
- Adoption of
spec-kitwhich was not used before (at least document the install and howtos) - The audit reported some issues that need to be addressed, which was the main goal of the task
- If we really want a continuous audit, shouldn't we integrate these new checks into the existing Make targets?
| |---|---|---|---|---|---| | ||
| | `VER-001` | marketplace | blocking | computed | false | `marketplace/rh-agentic-collection.yml` | | ||
| | `VER-002` | pack | high | computed | true | `README.md`, `<pack>/README.md` | | ||
| | `VER-003` | pack | medium | schema | true | `<pack>/.claude-plugin/plugin.json` (if present) | |
There was a problem hiding this comment.
these plugin.json were deleted from the repo since when we adopted lola
There was a problem hiding this comment.
on the other hand, we must have a collection.yaml file under the .catalog folder (but this is already checked by the collection_validate python script)
| ], | ||
| "findings": [ | ||
| { | ||
| "finding_id": "VER-001-rh-support-engineer", |
There was a problem hiding this comment.
rh-support-engineer has been removed from the repo, where does this come from?
| "rule_id": "VIS-003", | ||
| "severity": "high", | ||
| "artifact_path": "docs/data.json", | ||
| "message": "Documentation site data file is missing or has not yet been generated", |
There was a problem hiding this comment.
this is in the .gitignore list because it's only generated in the GH pages
# Generated Documentation
docs/data.json
|
|
||
| ## Matrix | ||
|
|
||
| | Pack | Registration | Version | Model | Claims | Style | Overall | |
There was a problem hiding this comment.
not clear where the warns come from: we should add the explanation to the findings section.
|
|
||
| - [informational] `VER-001` Pack 'rh-support-engineer' is not listed in marketplace modules (marketplace/rh-agentic-collection.yml) | ||
| - [high] `VER-002` Pack README missing for 'rh-support-engineer' (rh-support-engineer/README.md) | ||
| - [high] `CLM-001` Root README total skill count is out of sync with repository reality (README.md) |
There was a problem hiding this comment.
probably CLM-001 is the only real issue, the other will disappear as we integrate the previous comments
| - NEVER execute playbooks using ansible-playbook CLI | ||
| - ALWAYS delegate execution to /playbook-executor skill | ||
| model: inherit | ||
| color: green |
There was a problem hiding this comment.
this is not a read-only skill, so I think the color severity should be raised (maybe not red but at least yellow, WDYT?)
| result.errors.append(f"Frontmatter missing required field: {field_name}") | ||
|
|
||
| if "model" in frontmatter: | ||
| valid_models = {"inherit", "sonnet", "haiku"} |
There was a problem hiding this comment.
This is one thing I wanted to verify with this consistency audit: is it really worth to have model values different from inherit?
| | `medium` | warn | warn (optionally fail on changed scope later) | | ||
| | `informational` | report | report | | ||
|
|
||
| ## 5) Rh-Support-Engineer Decision Branch Model |
There was a problem hiding this comment.
this can be completely removed IMO
| | green | Success, deployment | | ||
| | yellow | Caution, validation | | ||
| | red | Critical, security, remediation | | ||
| | magenta | Creative, generation | |
There was a problem hiding this comment.
should we restore this line?
The spec-kit is not itself included as it is in the .specify directory as well as skill entries that are in directories .claude/skills/speckit-*. That being said the result of using spec-kit which is the output found in the included specs directory. While that does create some noise for humans I have found it to be useful in providing context over time when you further use ai to do something and you are double digit specs into development within a project.
Indeed there were some issues but unfortunately I took the title of APPENG-4927, "Consistency check of all collections (e.g. using same version, model, color, etc etc)" literally and took a pass to undo some of the changes. That being said we should update the title to be action oriented, identify the changes required, and get them implemented.
Those were some of the changes that were undone and not included. There were new make targets however I backed off to a check and providing an audit. |
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
Signed-off-by: Roddie Kieley <rkieley@redhat.com>
Signed-off-by: Roddie Kieley <rkieley@redhat.com>
…012 completed post latest main rebase. Signed-off-by: Roddie Kieley <rkieley@redhat.com>
…ass and update. Signed-off-by: Roddie Kieley <rkieley@redhat.com>
dmartinol
left a comment
There was a problem hiding this comment.
generally speaking, a great job in terms of problem analysis and 360-degree solution.
anyway, since we're planning to move the skill content to a different repo, or maybe even to separate repos, I'd avoid adding new cross-packs validations.
can we keep the Makefile and script changes for another run and just take the minimal changes to ensure consistent definition of the skills?
roughly, this means to keep all files apart from those under .cursor/, .github/, scripts/, specs/ and the Makefile.
ack
Yes, should be able to split up the work with the automated script updates separated from the actual content updates.
Good guidance, will check. |
Revert .cursor/.github/scripts/specs/Makefile changes to origin/main and keep only pack/docs metadata and skill-definition consistency updates.
|
@dmartinol Hopefully this is reduced to the valuable pieces that are able to be committed so that we can complete this PR #63 . I simply added another commit with the reduction, so the branch history should have the other content available when required. |
dmartinol
left a comment
There was a problem hiding this comment.
Thank you! I will remove extra references to make validate-consistency-audit later
Summary
This was created for APPENG-4927, checking the consistency of the agentic-collections pack. It is very much DRAFT and needs review to see what is valuable information versus what might be valuable to actually commit to the project repository itself.
Pack(s) affected
rh-srerh-developerocp-adminrh-virtrh-ai-engineerChange type
mcps.json)CLAUDE.md compliance
${VAR}referencesValidation
make validatepasses locallyname,description)name,description)