fix(cli): Honor excluded_attributes from config file#306
Conversation
27ba226 to
641654b
Compare
AgentReady Code Review — PR #306fix(cli): Honor excluded_attributes from config file SummaryThis PR correctly fixes issue #302 by merging AgentReady Attribute Impact
No regressions to assessed attributes. Code Analysis✅ Correctness —
|
| Test | Scenario | Status |
|---|---|---|
test_run_assessment_excludes_attributes_from_config_issue_302 |
Config-only exclusion | ✓ |
test_run_assessment_merges_cli_and_config_exclusions_issue_302 |
CLI + Config merged | ✓ |
test_run_assessment_validates_config_excluded_attributes_issue_302 |
Invalid ID in config rejected | ✓ |
Test gap: The verbose logging condition was modified (removed the redundant and exclude guard), but no test validates that verbose=True echoes exclusions when they come from config alone. Low risk since the logic is simple, but the behavioral change is untested.
Security
No security concerns. Validation against valid_ids protects against arbitrary attribute IDs from config files. No shell execution, SQL, or untrusted data paths are involved in the changed code.
Verdict
Approve with minor notes. The bug fix is correct, well-tested (5:1 test-to-production-code ratio), and consistent with existing patterns in the codebase. Two non-blocking items:
click.BadParameteris semantically wrong for config file validation errors —click.ClickExceptionwould be more accurate- Verbose logging behavior change is untested (low risk)
Review generated by AgentReady code review skill • Self-assessment: 80.0/100 Gold
AgentReady Code Review: PR #306 — fix(cli): Honor excluded_attributes from config fileReviewer: AgentReady automated review SummaryThis PR fixes a real bug (#302): Code Quality
The logic change is clean and idiomatic: all_exclusions = set(exclude or [])
if config and config.excluded_attributes:
all_exclusions.update(config.excluded_attributes)
The verbose output change from Minor: Minor: Verbose output doesn't distinguish source. Note: Test CoverageThree regression tests added, all with clear docstrings explaining the issue context.
Minor: assessors = call_args[0][0] # First positional argumentIf AgentReady Attribute Compliance
SecurityNo security concerns. The validation path ( VerdictThe fix is correct, well-scoped, and meaningfully tested. The two minor issues (error type and fragile test indexing) are non-blocking. Recommend merging after the draft is finalized and integration tests are confirmed passing. |
641654b to
c640bde
Compare
📈 Test Coverage Report
Coverage calculated from unit tests only |
Code Review - Follow-up to Automated ReviewsThis review follows the two automated comments posted at 22:17Z and 22:19Z. The latest commit (pushed at 22:29Z) addressed the concerns raised in those earlier reviews, and the overall direction here is solid. The core bug fix is correct: What Was Addressed in the Latest Commit
Good follow-through on the review feedback. Remaining Issues1. Fragile mock call introspection (
|
The excluded_attributes option in configuration files was being ignored. Only the --exclude CLI flag worked. This fix merges exclusions from both sources (CLI and config) before filtering assessors, and adds validation so invalid attribute IDs in config files now produce clear error messages. Changes: - Merge CLI --exclude and config.excluded_attributes into a single set - Validate all exclusions against valid attribute IDs - Use ClickException for config errors (clearer than BadParameter) - Report errors from both sources together when both have invalid IDs - Add 4 regression tests for issue ambient-code#302 - Fix E2E test to use valid attribute ID (openapi_specs not repomix_config) - Use modern mock API (.args[0]) for more robust test introspection - Use CliRunner for reliable Click output capture in verbose test Fixes ambient-code#302 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
c640bde to
5cece06
Compare
Outdated review (click to expand)🤖 AgentReady Code ReviewPR: #306 fix(cli): Honor excluded_attributes from config file
What this PR does wellThe core fix is correct:
🟡 Major Issues (Confidence 80-89) - Manual Review Required1. Combined-error code path is untestedAttribute: Issue Details: Four tests cover these paths:
The untested path is the sub-clause inside if invalid_from_cli:
msg = f"Invalid attribute ID(s): {', '.join(sorted(invalid_from_cli))}."
if invalid_from_config: # ← this sub-clause has no test
msg += f" Also invalid in config file: {', '.join(sorted(invalid_from_config))}."
msg += f" Valid IDs: {', '.join(sorted(valid_ids))}"
raise click.BadParameter(msg)If this sub-clause is deleted or broken, no test will catch the regression. Remediation: # Add a 5th test for the mixed-source invalid ID case:
# def test_run_assessment_validates_mixed_source_invalid_attrs_issue_302
# Setup: config with "invalid_config_attr", CLI exclude=["invalid_cli_attr"]
# Assert: click.BadParameter raised
# Assert: "invalid_cli_attr" in error message
# Assert: "Also invalid in config file" in error message
# Assert: "invalid_config_attr" in error message
pytest tests/unit/cli/test_main.py::TestRunAssessmentCommand -v🔵 Minor Issues - Low Priority2. Verbose output does not distinguish exclusion sourceAttribute: N/A (UX improvement, not a scored attribute) The merged verbose message Low priority — the fix is functionally correct; this is a polish item for a follow-up. Summary
🤖 Generated with Claude Code If this review was useful, react with 👍. Otherwise, react with 👎. |
Code Review: fix(cli): Honor excluded_attributes from config fileOverall: This is a well-targeted bug fix that correctly addresses the root cause. The implementation is sound and the regression tests are thorough. A few minor issues worth addressing before merge. Issues1. Dead Code Guard (minor)
config_exclusions = set(config.excluded_attributes) if config else set()
config_exclusions = set(config.excluded_attributes)2. Untested Error Path (minor)The mixed invalid IDs case — where both CLI and config have invalid IDs simultaneously — has a specific code path (lines 286-291) that is never exercised by the 4 new tests. Specifically, the 3. Valid IDs Verbose in Error Messages (minor)Error messages include the full sorted list of all valid attribute IDs (31+ items), e.g.: This can produce multi-line terminal output. Consider appending Strengths
SummaryThe bug fix logic is correct and the tests cover the primary scenarios well. The three items above are all minor — the dead code guard is the easiest to clean up before merge. |
… test - Simplify set creation: use inline conditional instead of ternary - Unify error handling: use ClickException for all validation errors - Add test for mixed-source invalid IDs (CLI + config together) Addresses review feedback on PR ambient-code#306. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
🎉 This PR is included in version 2.28.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
# 1.0.0 (2026-03-05) ### Bug Fixes * add bounded retry logic for LLM rate limit handling ([ambient-code#205](https://github.com/patrickstrick/agentready/issues/205)) ([6ecb786](6ecb786)), closes [ambient-code#104](https://github.com/patrickstrick/agentready/issues/104) * Add comprehensive subprocess security guardrails (fixes [ambient-code#57](https://github.com/patrickstrick/agentready/issues/57)) ([ambient-code#66](https://github.com/patrickstrick/agentready/issues/66)) ([454b80e](454b80e)) * Add comprehensive YAML validation to prevent attacks (fixes [ambient-code#56](https://github.com/patrickstrick/agentready/issues/56)) ([ambient-code#63](https://github.com/patrickstrick/agentready/issues/63)) ([31ecb3a](31ecb3a)) * add repository checkout step to Claude Code Action workflow ([17aa0cf](17aa0cf)) * add uv.lock to recognized lockfiles ([ambient-code#143](https://github.com/patrickstrick/agentready/issues/143)) ([a98dc87](a98dc87)), closes [ambient-code#137](https://github.com/patrickstrick/agentready/issues/137) * address P1 code quality issues from code review ([ambient-code#36](https://github.com/patrickstrick/agentready/issues/36)) ([5976332](5976332)) * address P1 code quality issues from code review ([ambient-code#37](https://github.com/patrickstrick/agentready/issues/37)) ([4be1d5e](4be1d5e)) * address P1 code quality issues from code review ([ambient-code#38](https://github.com/patrickstrick/agentready/issues/38)) ([77f2300](77f2300)) * **assessors:** FileSizeLimitsAssessor now respects .gitignore ([ambient-code#248](https://github.com/patrickstrick/agentready/issues/248)) ([eaaecc2](eaaecc2)), closes [ambient-code#245](https://github.com/patrickstrick/agentready/issues/245) * **assessors:** search recursively for OpenAPI specification files ([ambient-code#127](https://github.com/patrickstrick/agentready/issues/127)) ([e2a5778](e2a5778)) * **assessors:** support project-named directories and test-only repos in standard_layout check ([ambient-code#322](https://github.com/patrickstrick/agentready/issues/322)) ([2fbb733](2fbb733)), closes [ambient-code#246](https://github.com/patrickstrick/agentready/issues/246) [ambient-code#305](https://github.com/patrickstrick/agentready/issues/305) * Check for all official commitlint config file formats ([ambient-code#308](https://github.com/patrickstrick/agentready/issues/308)) ([50588cf](50588cf)) * **ci:** add permissions for leaderboard PR comment posting ([ambient-code#276](https://github.com/patrickstrick/agentready/issues/276)) ([33252e4](33252e4)) * **ci:** use gh pr view for fork PR number lookup in coverage comment ([ambient-code#253](https://github.com/patrickstrick/agentready/issues/253)) ([1688362](1688362)) * **cli:** check .pre-commit-config.yaml for conventional commit ([ambient-code#310](https://github.com/patrickstrick/agentready/issues/310)) ([61c44d9](61c44d9)) * **cli:** Honor excluded_attributes from config file ([ambient-code#306](https://github.com/patrickstrick/agentready/issues/306)) ([ffda546](ffda546)), closes [ambient-code#302](https://github.com/patrickstrick/agentready/issues/302) [ambient-code#302](https://github.com/patrickstrick/agentready/issues/302) * **cli:** Use removesuffix instead of rstrip for .git URL stripping ([ambient-code#292](https://github.com/patrickstrick/agentready/issues/292)) ([6bd08cf](6bd08cf)) * consider renovate for dependency_security check ([ambient-code#317](https://github.com/patrickstrick/agentready/issues/317)) ([35bfbbf](35bfbbf)) * correct Assessment field name in demo command ([ambient-code#41](https://github.com/patrickstrick/agentready/issues/41)) ([b48622d](b48622d)), closes [ambient-code#12](https://github.com/patrickstrick/agentready/issues/12) * Correct datetime import pattern in RepomixService ([ambient-code#65](https://github.com/patrickstrick/agentready/issues/65)) ([517aa6e](517aa6e)) * correct GitHub repository link in site navigation ([5492278](5492278)) * correct Liquid syntax in developer-guide (elif -> elsif) ([75f3b1d](75f3b1d)) * Correct pre-commit template path in PrecommitHooksFixer ([ambient-code#269](https://github.com/patrickstrick/agentready/issues/269)) ([c42a3c9](c42a3c9)) * Create shared test fixtures and fix Assessment schema issues ([ambient-code#114](https://github.com/patrickstrick/agentready/issues/114)) ([46baa13](46baa13)) * disable attestations for Test PyPI to avoid conflict ([ambient-code#155](https://github.com/patrickstrick/agentready/issues/155)) ([a33e3cd](a33e3cd)), closes [pypa/#action-pypi-publish](https://github.com/patrickstrick/agentready/issues/action-pypi-publish) * downgrade docker/metadata-action to v5 and fix shellcheck warnings ([12f5509](12f5509)) * enable Harbor task filtering for smoketest support ([ambient-code#222](https://github.com/patrickstrick/agentready/issues/222)) ([f780188](f780188)) * Enable workflow_dispatch for leaderboard update and regenerate data ([ambient-code#299](https://github.com/patrickstrick/agentready/issues/299)) ([091d9dd](091d9dd)), closes [ambient-code#298](https://github.com/patrickstrick/agentready/issues/298) * exclude DEPLOYMENT.md and SETUP_SUMMARY.md from Jekyll build ([9611207](9611207)) * Improve CLAUDE.md generation prompt and add prompt loading for future LLM integrations [ambient-code#283](https://github.com/patrickstrick/agentready/issues/283) ([ambient-code#284](https://github.com/patrickstrick/agentready/issues/284)) ([c0aeae4](c0aeae4)) * Improve report metadata display with clean table format ([ca361a4](ca361a4)) * leaderboard workflow and SSH URL support ([ambient-code#147](https://github.com/patrickstrick/agentready/issues/147)) ([de28cd0](de28cd0)) * make E2E test timeouts configurable and add sensitive directory test ([ambient-code#206](https://github.com/patrickstrick/agentready/issues/206)) ([27e87e5](27e87e5)), closes [ambient-code#104](https://github.com/patrickstrick/agentready/issues/104) [ambient-code#192](https://github.com/patrickstrick/agentready/issues/192) * **metadata:** use Windows-compatible strftime token for human timestamp ([ambient-code#291](https://github.com/patrickstrick/agentready/issues/291)) ([faf536d](faf536d)) * P0 security and logic bugs from code review ([2af2346](2af2346)) * Prevent API key exposure in environment and logs (fixes [ambient-code#55](https://github.com/patrickstrick/agentready/issues/55)) ([ambient-code#64](https://github.com/patrickstrick/agentready/issues/64)) ([4d1d001](4d1d001)) * Prevent command injection in CommandFix.apply() (fixes [ambient-code#52](https://github.com/patrickstrick/agentready/issues/52)) ([ambient-code#60](https://github.com/patrickstrick/agentready/issues/60)) ([49be28e](49be28e)) * Prevent path traversal in LLM cache (fixes [ambient-code#53](https://github.com/patrickstrick/agentready/issues/53)) ([ambient-code#61](https://github.com/patrickstrick/agentready/issues/61)) ([2bf052d](2bf052d)) * prevent unauthorized message for non-command comments ([ambient-code#262](https://github.com/patrickstrick/agentready/issues/262)) ([84c6f69](84c6f69)) * Prevent XSS in HTML reports (fixes [ambient-code#54](https://github.com/patrickstrick/agentready/issues/54)) ([ambient-code#62](https://github.com/patrickstrick/agentready/issues/62)) ([7c60c69](7c60c69)) * properly indent multi-line fix previews in align output ([ambient-code#289](https://github.com/patrickstrick/agentready/issues/289)) ([4e36cb5](4e36cb5)), closes [ambient-code#285](https://github.com/patrickstrick/agentready/issues/285) * remove incorrect dbasunag/opendatahub-tests submission ([ambient-code#321](https://github.com/patrickstrick/agentready/issues/321)) ([e6aecf8](e6aecf8)), closes [ambient-code#301](https://github.com/patrickstrick/agentready/issues/301) * rename research report in data directory ([b8ddfdc](b8ddfdc)) * replace all remaining elif with elsif in developer-guide ([73f16fc](73f16fc)) * Resolve 35 pytest failures through model validation and path sanitization improvements ([ambient-code#115](https://github.com/patrickstrick/agentready/issues/115)) ([4fbfee0](4fbfee0)) * resolve all broken links failing CI lychee check ([ambient-code#288](https://github.com/patrickstrick/agentready/issues/288)) ([4412c27](4412c27)) * resolve all test suite failures - achieve zero failures ([ambient-code#180](https://github.com/patrickstrick/agentready/issues/180)) ([990fa2d](990fa2d)), closes [ambient-code#148](https://github.com/patrickstrick/agentready/issues/148) [ambient-code#147](https://github.com/patrickstrick/agentready/issues/147) [ambient-code#145](https://github.com/patrickstrick/agentready/issues/145) * resolve broken links and workflow failures ([ambient-code#160](https://github.com/patrickstrick/agentready/issues/160)) ([fbf5cf7](fbf5cf7)) * Resolve merge conflicts in CLI main module ([ambient-code#59](https://github.com/patrickstrick/agentready/issues/59)) ([9e0bf2d](9e0bf2d)) * resolve YAML syntax error in continuous-learning workflow ([ambient-code#172](https://github.com/patrickstrick/agentready/issues/172)) ([3d40fcc](3d40fcc)) * resolve YAML syntax error in update-docs workflow and add actionlint ([ambient-code#173](https://github.com/patrickstrick/agentready/issues/173)) ([97b06af](97b06af)) * Sanitize sensitive data in HTML reports (fixes [ambient-code#58](https://github.com/patrickstrick/agentready/issues/58)) ([ambient-code#67](https://github.com/patrickstrick/agentready/issues/67)) ([6fbac76](6fbac76)) * schema backwards compat for attributes_skipped key ([ambient-code#277](https://github.com/patrickstrick/agentready/issues/277)) ([841bcc4](841bcc4)) * **schema:** allow assessments with excluded attributes ([ambient-code#312](https://github.com/patrickstrick/agentready/issues/312)) ([81b999f](81b999f)), closes [ambient-code#301](https://github.com/patrickstrick/agentready/issues/301) [ambient-code#309](https://github.com/patrickstrick/agentready/issues/309) * **security:** replace pull_request_target with pull_request trigger ([ambient-code#328](https://github.com/patrickstrick/agentready/issues/328)) ([3c5d31b](3c5d31b)), closes [ambient-code#324](https://github.com/patrickstrick/agentready/issues/324) * set correct baseurl for GitHub Pages subdirectory deployment ([c4db765](c4db765)) * skip PR comments for external forks to prevent permission errors ([ambient-code#163](https://github.com/patrickstrick/agentready/issues/163)) ([2a29fb8](2a29fb8)) * update --version flag to show correct version and research report date ([ambient-code#221](https://github.com/patrickstrick/agentready/issues/221)) ([5a85abb](5a85abb)) * Update Claude workflow to trigger on [@claude](https://github.com/claude) mentions ([ambient-code#35](https://github.com/patrickstrick/agentready/issues/35)) ([a8a3fab](a8a3fab)) * Use GitHub URL instead of local one ([ambient-code#297](https://github.com/patrickstrick/agentready/issues/297)) ([5abc7c2](5abc7c2)) * **workflows:** ensure post-comment step runs after Claude Code Action ([b087e5c](b087e5c)) * **workflows:** handle all event types in agentready-dev workflow ([9b942bf](9b942bf)) * **workflows:** improve error handling and logging for comment posting ([9ea1e6b](9ea1e6b)) * **workflows:** improve issue number extraction and add debug step ([ecd896b](ecd896b)) * **workflows:** remove if:always() to test step execution ([ff0bb12](ff0bb12)) * **workflows:** simplify post-comment step condition ([1bbf40a](1bbf40a)) ### Features * add agentready-dev Claude agent specification ([ambient-code#44](https://github.com/patrickstrick/agentready/issues/44)) ([0f61f5c](0f61f5c)) * add ambient-code/agentready to leaderboard ([ambient-code#148](https://github.com/patrickstrick/agentready/issues/148)) ([621152e](621152e)) * Add automated demo command for AgentReady ([ambient-code#24](https://github.com/patrickstrick/agentready/issues/24)) ([f4e89d9](f4e89d9)), closes [ambient-code#1](https://github.com/patrickstrick/agentready/issues/1) [ambient-code#25](https://github.com/patrickstrick/agentready/issues/25) [hi#quality](https://github.com/hi/issues/quality) [hi#scoring](https://github.com/hi/issues/scoring) * add Claude Code GitHub Action for [@claude](https://github.com/claude) mentions ([3e7224d](3e7224d)) * Add comprehensive unit tests for utility modules (privacy.py and subprocess_utils.py) ([ambient-code#111](https://github.com/patrickstrick/agentready/issues/111)) ([9d3dece](9d3dece)) * Add customizable HTML report themes with runtime switching ([ambient-code#46](https://github.com/patrickstrick/agentready/issues/46)) ([7eeaf84](7eeaf84)), closes [hi#contrast](https://github.com/hi/issues/contrast) [ambient-code#10](https://github.com/patrickstrick/agentready/issues/10) * add dbasunag/opendatahub-tests to leaderboard ([ambient-code#301](https://github.com/patrickstrick/agentready/issues/301)) ([be7a55f](be7a55f)) * add dgutride/odh-dashboard to leaderboard ([ambient-code#268](https://github.com/patrickstrick/agentready/issues/268)) ([f4911b2](f4911b2)) * Add Doubleagent - specialized AgentReady development agent ([ambient-code#30](https://github.com/patrickstrick/agentready/issues/30)) ([0ab54cb](0ab54cb)) * add feast-dev/feast to leaderboard ([ambient-code#293](https://github.com/patrickstrick/agentready/issues/293)) ([c894ce9](c894ce9)) * add GitHub organization scanning to assess-batch command ([ambient-code#118](https://github.com/patrickstrick/agentready/issues/118)) ([e306314](e306314)) * add Harbor Terminal-Bench comparison for agent effectiveness ([ambient-code#199](https://github.com/patrickstrick/agentready/issues/199)) ([a56e318](a56e318)) * Add Interactive Dashboard backlog item ([adfc4c8](adfc4c8)) * add interactive heatmap visualization for batch assessments ([ambient-code#136](https://github.com/patrickstrick/agentready/issues/136)) ([4d44fc3](4d44fc3)) * Add interactive HTML report generation ([18664ea](18664ea)) * add Memory MCP server allow list to repository settings ([ambient-code#203](https://github.com/patrickstrick/agentready/issues/203)) ([41d87bb](41d87bb)) * add opendatahub-io/opendatahub-tests to leaderboard ([ambient-code#314](https://github.com/patrickstrick/agentready/issues/314)) ([7a52466](7a52466)) * add quay/quay to leaderboard ([ambient-code#162](https://github.com/patrickstrick/agentready/issues/162)) ([d6e8df0](d6e8df0)) * add Red-Hat-AI-Innovation-Team/sdg_hub to leaderboard ([ambient-code#279](https://github.com/patrickstrick/agentready/issues/279)) ([5b71392](5b71392)) * add release pipeline coldstart prompt ([ambient-code#19](https://github.com/patrickstrick/agentready/issues/19)) ([9a3880c](9a3880c)), closes [ambient-code#18](https://github.com/patrickstrick/agentready/issues/18) * Add Repomix integration for AI-friendly repository context generation ([ambient-code#29](https://github.com/patrickstrick/agentready/issues/29)) ([92bdde1](92bdde1)), closes [ambient-code#24](https://github.com/patrickstrick/agentready/issues/24) [ambient-code#1](https://github.com/patrickstrick/agentready/issues/1) [ambient-code#25](https://github.com/patrickstrick/agentready/issues/25) [hi#quality](https://github.com/hi/issues/quality) [hi#scoring](https://github.com/hi/issues/scoring) * add report header with repository metadata ([ambient-code#28](https://github.com/patrickstrick/agentready/issues/28)) ([7a8b34a](7a8b34a)) * Add research report management CLI commands ([ambient-code#45](https://github.com/patrickstrick/agentready/issues/45)) ([e1be488](e1be488)), closes [ambient-code#7](https://github.com/patrickstrick/agentready/issues/7) * Add security & quality improvements from code review ([ambient-code#40](https://github.com/patrickstrick/agentready/issues/40)) ([13cd3ca](13cd3ca)) * Add security & quality improvements from code review ([ambient-code#49](https://github.com/patrickstrick/agentready/issues/49)) ([889d6ed](889d6ed)) * Add SWE-bench experiment system for validating AgentReady impact ([ambient-code#124](https://github.com/patrickstrick/agentready/issues/124)) ([15edbba](15edbba)) * Add weekly research update skill and automation ([ambient-code#145](https://github.com/patrickstrick/agentready/issues/145)) ([7ba17a6](7ba17a6)) * **assessors:** implement File Size Limits assessor (Tier 2) ([ambient-code#141](https://github.com/patrickstrick/agentready/issues/141)) ([248467f](248467f)) * **assessors:** support AGENTS.md and @ references in CLAUDEmdAssessor ([ambient-code#265](https://github.com/patrickstrick/agentready/issues/265)) ([450ec25](450ec25)), closes [ambient-code#244](https://github.com/patrickstrick/agentready/issues/244) * Auto-sync CLAUDE.md during semantic-release ([ambient-code#101](https://github.com/patrickstrick/agentready/issues/101)) ([36b48cb](36b48cb)) * automate PyPI publishing with trusted publishing (OIDC) ([ambient-code#154](https://github.com/patrickstrick/agentready/issues/154)) ([71f4632](71f4632)), closes [pypa/#action-pypi-publish](https://github.com/patrickstrick/agentready/issues/action-pypi-publish) * Batch Report Enhancements + Bootstrap Template Inheritance (Phase 2 Task 5) ([ambient-code#133](https://github.com/patrickstrick/agentready/issues/133)) ([7762b23](7762b23)) * centralize Claude instructions via AGENTS.md and add init redirect tests ([ambient-code#273](https://github.com/patrickstrick/agentready/issues/273)) ([92c8f3f](92c8f3f)) * Community Leaderboard for AgentReady Scores ([ambient-code#146](https://github.com/patrickstrick/agentready/issues/146)) ([fea0b3e](fea0b3e)) * Complete Phases 5-7 - Markdown reports, testing, and polish ([7659623](7659623)) * consolidate GitHub Actions workflows by purpose ([ambient-code#217](https://github.com/patrickstrick/agentready/issues/217)) ([717ca6b](717ca6b)), closes [ambient-code#221](https://github.com/patrickstrick/agentready/issues/221) * container support ([ambient-code#171](https://github.com/patrickstrick/agentready/issues/171)) ([c6874ea](c6874ea)) * convert AgentReady assessment to on-demand workflow ([ambient-code#213](https://github.com/patrickstrick/agentready/issues/213)) ([b5a1ce0](b5a1ce0)), closes [ambient-code#191](https://github.com/patrickstrick/agentready/issues/191) * enhance assessors with multi-language support and security ([ambient-code#200](https://github.com/patrickstrick/agentready/issues/200)) ([85712f2](85712f2)), closes [ambient-code#10](https://github.com/patrickstrick/agentready/issues/10) * Harbor framework integration for Terminal-Bench evaluations ([ambient-code#202](https://github.com/patrickstrick/agentready/issues/202)) ([d73a8c8](d73a8c8)), closes [ambient-code#4](https://github.com/patrickstrick/agentready/issues/4) [ambient-code#178](https://github.com/patrickstrick/agentready/issues/178) * Implement AgentReady MVP with scoring engine ([54a96cb](54a96cb)) * Implement align subcommand for automated remediation (Issue [ambient-code#14](https://github.com/patrickstrick/agentready/issues/14)) ([ambient-code#34](https://github.com/patrickstrick/agentready/issues/34)) ([06f04dc](06f04dc)) * Implement ArchitectureDecisionsAssessor (fixes [ambient-code#81](https://github.com/patrickstrick/agentready/issues/81)) ([ambient-code#89](https://github.com/patrickstrick/agentready/issues/89)) ([9e782e5](9e782e5)) * implement automated semantic release pipeline ([ambient-code#20](https://github.com/patrickstrick/agentready/issues/20)) ([b579235](b579235)) * implement bootstrap command for GitHub infrastructure ([0af06c4](0af06c4)), closes [ambient-code#2](https://github.com/patrickstrick/agentready/issues/2) * Implement BranchProtectionAssessor stub (fixes [ambient-code#86](https://github.com/patrickstrick/agentready/issues/86)) ([ambient-code#98](https://github.com/patrickstrick/agentready/issues/98)) ([44c4b17](44c4b17)) * Implement CICDPipelineVisibilityAssessor (fixes [ambient-code#85](https://github.com/patrickstrick/agentready/issues/85)) ([ambient-code#91](https://github.com/patrickstrick/agentready/issues/91)) ([e68285c](e68285c)) * Implement CodeSmellsAssessor stub (fixes [ambient-code#87](https://github.com/patrickstrick/agentready/issues/87)) ([ambient-code#99](https://github.com/patrickstrick/agentready/issues/99)) ([f06b2a8](f06b2a8)) * Implement ConciseDocumentationAssessor (fixes [ambient-code#76](https://github.com/patrickstrick/agentready/issues/76)) ([ambient-code#93](https://github.com/patrickstrick/agentready/issues/93)) ([c356cd5](c356cd5)) * Implement InlineDocumentationAssessor (fixes [ambient-code#77](https://github.com/patrickstrick/agentready/issues/77)) ([ambient-code#94](https://github.com/patrickstrick/agentready/issues/94)) ([e56e570](e56e570)) * Implement IssuePRTemplatesAssessor (fixes [ambient-code#84](https://github.com/patrickstrick/agentready/issues/84)) ([ambient-code#90](https://github.com/patrickstrick/agentready/issues/90)) ([819d7b7](819d7b7)) * Implement multi-repository batch assessment (Phase 1 of issue [ambient-code#68](https://github.com/patrickstrick/agentready/issues/68)) ([ambient-code#74](https://github.com/patrickstrick/agentready/issues/74)) ([befc0d5](befc0d5)) * Implement OneCommandSetupAssessor (fixes [ambient-code#75](https://github.com/patrickstrick/agentready/issues/75)) ([ambient-code#88](https://github.com/patrickstrick/agentready/issues/88)) ([668ba1b](668ba1b)) * Implement OpenAPISpecsAssessor (fixes [ambient-code#80](https://github.com/patrickstrick/agentready/issues/80)) ([ambient-code#97](https://github.com/patrickstrick/agentready/issues/97)) ([45ae36e](45ae36e)) * implement Phase 2 multi-repository assessment reporting ([ambient-code#117](https://github.com/patrickstrick/agentready/issues/117)) ([8da56c2](8da56c2)), closes [ambient-code#69](https://github.com/patrickstrick/agentready/issues/69) * implement report schema versioning ([ambient-code#43](https://github.com/patrickstrick/agentready/issues/43)) ([4c4752c](4c4752c)) * Implement SemanticNamingAssessor (fixes [ambient-code#82](https://github.com/patrickstrick/agentready/issues/82)) ([ambient-code#95](https://github.com/patrickstrick/agentready/issues/95)) ([d87a280](d87a280)) * Implement SeparationOfConcernsAssessor (fixes [ambient-code#78](https://github.com/patrickstrick/agentready/issues/78)) ([ambient-code#92](https://github.com/patrickstrick/agentready/issues/92)) ([99bfe28](99bfe28)) * Implement StructuredLoggingAssessor (fixes [ambient-code#79](https://github.com/patrickstrick/agentready/issues/79)) ([ambient-code#96](https://github.com/patrickstrick/agentready/issues/96)) ([2b87ca7](2b87ca7)) * integrate ACL file with Claude Code Action allowed_users ([ambient-code#261](https://github.com/patrickstrick/agentready/issues/261)) ([fe52489](fe52489)) * Phase 1 Task 1 - Consolidate Security Validation Patterns ([ambient-code#129](https://github.com/patrickstrick/agentready/issues/129)) ([8580c45](8580c45)), closes [ambient-code#122](https://github.com/patrickstrick/agentready/issues/122) [ambient-code#122](https://github.com/patrickstrick/agentready/issues/122) [ambient-code#122](https://github.com/patrickstrick/agentready/issues/122) * Phase 1 Tasks 2-3 - Consolidate Reporter Base & Assessor Factory ([ambient-code#131](https://github.com/patrickstrick/agentready/issues/131)) ([8e12bf9](8e12bf9)), closes [ambient-code#122](https://github.com/patrickstrick/agentready/issues/122) [ambient-code#122](https://github.com/patrickstrick/agentready/issues/122) [ambient-code#122](https://github.com/patrickstrick/agentready/issues/122) [ambient-code#122](https://github.com/patrickstrick/agentready/issues/122) * Phase 2 Task 4 - Replace manual config validation with Pydantic ([ambient-code#134](https://github.com/patrickstrick/agentready/issues/134)) ([d83cf58](d83cf58)) * Redesign homepage features with two-column layout and research links ([ambient-code#189](https://github.com/patrickstrick/agentready/issues/189)) ([570087d](570087d)), closes [ambient-code#187](https://github.com/patrickstrick/agentready/issues/187) * redesign HTML report with dark theme and larger fonts ([ambient-code#39](https://github.com/patrickstrick/agentready/issues/39)) ([59f6702](59f6702)), closes [#8b5cf6](https://github.com/patrickstrick/agentready/issues/8b5cf6) [#XX](https://github.com/patrickstrick/agentready/issues/XX) * Rename 'learn' command to 'extract-skills' for clarity ([ambient-code#125](https://github.com/patrickstrick/agentready/issues/125)) ([64d6563](64d6563)), closes [hi#scoring](https://github.com/hi/issues/scoring) [ambient-code#123](https://github.com/patrickstrick/agentready/issues/123) * replace markdown-link-check with lychee for link validation ([ambient-code#177](https://github.com/patrickstrick/agentready/issues/177)) ([f1a4545](f1a4545)) * Standardize on Python 3.12+ with forward compatibility for 3.13 ([ambient-code#132](https://github.com/patrickstrick/agentready/issues/132)) ([84f2c46](84f2c46)) * **submit:** add --gh flag for gh CLI-based submission ([ambient-code#278](https://github.com/patrickstrick/agentready/issues/278)) ([48bb624](48bb624)) * Terminal-Bench eval harness (MVP Phase 1) ([ambient-code#178](https://github.com/patrickstrick/agentready/issues/178)) ([d06bab4](d06bab4)), closes [ambient-code#171](https://github.com/patrickstrick/agentready/issues/171) * **workflows:** add comment posting for [@agentready-dev](https://github.com/agentready-dev) agent ([5dff614](5dff614)) ### Performance Improvements * implement lazy loading for heavy CLI commands ([ambient-code#151](https://github.com/patrickstrick/agentready/issues/151)) ([6a7cd4e](6a7cd4e)) ### BREAKING CHANGES * Users must update scripts from 'agentready learn' to 'agentready extract-skills'. All flags and options remain identical.
Description
fix(cli): Honor excluded_attributes from config file
Type of Change
Related Issues
Fixes #302
Changes Made
The excluded_attributes option in configuration files was being ignored. Only the --exclude CLI flag worked. This fix merges exclusions from both sources (CLI and config) before filtering assessors, and adds validation so invalid attribute IDs in config files now produce clear error messages.
Testing
pytest)Checklist