-
Notifications
You must be signed in to change notification settings - Fork 0
feat(PACC-39): Add Claude Code Memory Fragments - PACC 1.1.0 Release #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…CC-22, PACC-23, PACC-24] Complete overhaul of the validation system fixing all critical P0/P1 bugs: PACC-22: Fix Validation Function Signatures - Updated validate_extension_directory() to accept optional extension_type parameter - Added proper type hints and documentation - Maintained backward compatibility for existing callers - Added comprehensive test suite with 16 test cases PACC-23: Fix Validate Command for Directories - Fixed TypeError in CLI validate command when processing directories - Added proper dictionary flattening logic in CLI - Updated ValidationRunner to pass project_dir parameter - Supports --type flag for filtered validation - Performance optimized for <2s on typical directories PACC-24: Fix Extension Type Detection - Implemented hierarchical detection: pacc.json > directory > content keywords - Integrated with ProjectConfigManager for pacc.json awareness - Fixed PACC-18 issue where slash commands were misclassified as agents - Detection accuracy improved to >95% with fallback logic - Added 11 comprehensive test cases PACC-20: Verification Complete - All directory validation commands now work without errors - Verified: pacc validate apps/, pacc validate --type commands, etc. - No more TypeErrors, proper error handling throughout All acceptance criteria met with 100% test coverage on new code. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
…plete PACC 1.0 [PACC-25, PACC-19, PACC-26] Complete implementation of folder structure configuration and comprehensive testing for PACC 1.0: PACC-25 & PACC-19: Folder Structure Specification - Extended ExtensionSpec with targetDir and preserveStructure fields - Implemented InstallationPathResolver for custom path resolution - Added security validation preventing path traversal attacks - Maintained full backward compatibility with existing configurations - Cross-platform path handling for Windows/Mac/Linux PACC-34: Schema Extension - Updated pacc.json schema with new folder structure fields - Added comprehensive validation for custom paths - Support for both camelCase and snake_case formats PACC-35: InstallationPathResolver - Custom directory resolution with security checks - Structure preservation logic for complex installations - Path normalization across all platforms PACC-26: Integration Testing & Documentation - 49 comprehensive integration test cases covering all scenarios - Performance benchmarks: 6,787 files/second validation speed - Strategic test coverage of critical integration points - Complete documentation suite for PACC 1.0 PACC-36: Integration Test Suite - S01 fixes integration testing (directory validation, detection hierarchy) - Folder structure feature testing with security validations - Cross-feature integration and performance optimization testing PACC-37: Documentation Complete - Validation command usage guide - Folder structure configuration guide - Extension detection hierarchy documentation - PACC 1.0 migration guide with examples All features production-ready with comprehensive test coverage and enterprise-grade security. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
PACC is now ready for its first major release with: - Critical validation bug fixes complete - Folder structure configuration support - Comprehensive integration testing - Complete documentation suite - Full backward compatibility 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- CommandsValidator: Remove incorrect requirement for 'name' field in frontmatter (fixes PR #3) - CommandsValidator: Frontmatter is now correctly optional per Claude Code docs - AgentsValidator: Fix 'tools' field to expect comma-separated string, not list - AgentsValidator: Remove invalid optional fields not in Claude Code specification - Both validators now warn about unknown fields instead of failing These changes align PACC validators with actual Claude Code documentation, preventing false validation errors and improving user experience. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- pacc info now correctly handles directory arguments - When given a directory with one file, shows info for that file - When given a directory with multiple files, shows a summary - Consistent behavior with pacc validate command This fixes the discrepancy where 'pacc info dir/**' would fail while 'pacc validate dir/**' would succeed. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
…mmand frontmatter - Add specific detection for square bracket YAML parsing errors - Provide actionable suggestions to quote values with brackets - Maintain backward compatibility while improving UX - Resolves validation issues with commands containing [--flag] syntax Fixes: Commands with unquoted square brackets in argument-hint fields Example: argument-hint: [--team <name>] now suggests proper quoting Co-authored-by: M. <[email protected]>
- Add scan_single_file() method for individual file conversion - Enhance scan_extensions() to handle various directory structures - Fix convert_extension() to properly detect file vs directory input - Support loose extensions without .claude directory requirement 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Fixed validator test mock issue: changed from class method to instance method patching in test_validate_file_accessibility_os_error - Fixed error accumulation test: made filename matching more specific to prevent false matches - Fixed URL downloader async mock setup: corrected aiohttp ClientSession mocking pattern for all failing tests - Updated iter_chunked method mocking instead of deprecated content.read approach 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: M. <[email protected]>
…sing - Created parse_claude_frontmatter() for lenient YAML handling - Preserves unquoted square brackets as per Claude Code spec - Special handling for argument-hint to keep as string (not list) - Updated CommandsValidator and AgentsValidator to use lenient parser - Fixed CLI to pass verbose flag for displaying suggestions - Resolved circular import with late loading in ValidatorFactory Fixes validation errors for valid Claude Code frontmatter like: - argument-hint: [message] - argument-hint: [--team <name>] [--project <name>] These formats are documented in official Claude Code docs and should validate without requiring quotes. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Added model field support (optional model string like claude-3-opus) - Added color field support (optional terminal color like cyan, red) - Aligns with official Claude Code API reference documentation - Resolves false positive warnings on valid agent files Per Claude Code docs, agents support these optional frontmatter fields: - model: for model selection - color: for terminal display color 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Resolved conflicts: - pacc/__init__.py: Keep version 1.0.0 for release - pyproject.toml: Keep version 1.0.0 for release Added from main branch: - GitHub Actions workflows for Claude Code integration All Sprint S01/S02 deliverables complete and ready for 1.0.0 release.
- Update both README files to show pip install pacc-cli as primary method - Add pipx as alternative for isolated environments - Move development/source installation to secondary option - PACC is now available on PyPI, making installation much simpler 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
|
Claude finished @memyselfandm's task —— View job Code Review CompleteSummaryThis PR successfully updates PACC's documentation to reflect PyPI availability and includes substantial improvements to the codebase. The changes are well-structured and maintain high code quality standards. ✅ StrengthsDocumentation Updates
Code Quality
Testing & Performance
|
…ents (PACC-39.S01) - PACC-45: Fragment Validator Implementation - Created FragmentValidator class extending BaseValidator - Added YAML frontmatter parsing with metadata extraction - Implemented advanced security scanning (20+ patterns) - Added intelligent fragment detection heuristics - 50 comprehensive tests with 95% coverage - PACC-46: CLAUDE.md Manager Implementation - Built CLAUDEmdManager with atomic file operations - Section management using HTML comment boundaries - @reference path resolution and validation - Backup/rollback mechanisms with thread safety - 43 comprehensive tests covering all scenarios - PACC-47: Fragment Storage System - Created FragmentStorageManager for organized storage - Project-level (.claude/pacc/fragments/) and user-level storage - Collection support for grouped fragments - Automatic gitignore management - Cross-platform path handling - 27 comprehensive tests All three foundation components implemented in parallel for maximum efficiency. Sprint PACC-39.S01 complete with 100% parallelization.
…unctionality This sprint implements the complete core functionality for Claude Code Memory Fragments, enabling users to discover, install, and manage fragments through the PACC CLI. Features implemented: 🔍 PACC-48: Fragment Discovery Engine - Extended PluginScanner for fragment detection in repositories - Support for /fragments/ directories and individual .md files - Collection discovery (folders with multiple fragments) - YAML frontmatter metadata extraction - pacc.json integration for custom specifications - Nested directory scanning with caching optimization 🎯 PACC-49: Fragment CLI Commands - Complete CLI command suite: install, list, info, remove - Argument parsing following existing plugin patterns - Interactive multi-select for collections - Multiple output formats (table, list, json) - Comprehensive error handling and help text - Dry-run mode and confirmation prompts ⚙️ PACC-50: Fragment Installation Workflow - End-to-end installation pipeline implementation - Source resolution for Git repos, local paths, collections - CLAUDE.md integration with @reference syntax - pacc.json tracking with complete metadata - Atomic operations with rollback capability - Project and user-level storage support Files added/modified: - pacc/plugins/discovery.py (fragment discovery integration) - pacc/cli.py (complete fragment command handlers) - pacc/fragments/installation_manager.py (installation pipeline) - pacc/fragments/__init__.py (updated exports) - pacc/validators/fragment_validator.py (metadata extraction fix) - tests/ (comprehensive test suites for all features) All features are fully tested with >90% coverage and ready for user adoption. Memory Fragments transforms from foundation-only to complete user experience. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Completed comprehensive collection management system for memory fragments: Core Features: - Collection-as-folder recognition and support - Selective file installation from collections - Collection versioning (Git commits, semver, metadata) - Dependency resolution with circular detection - Metadata support via pacc.json and frontmatter - Partial update capabilities for efficiency - SHA256 integrity validation - Atomic operations with automatic rollback CLI Commands Added: - pacc fragment discover (enhanced for collections) - pacc fragment install-collection - pacc fragment update-collection - pacc fragment collection-status - pacc fragment remove-collection Additional Features: - Multiple output formats (table, JSON, YAML) - Dry-run preview mode - Optional file inclusion - Force operations override - Storage location selection (project/user) - Comprehensive error handling Tests: - 75+ unit and integration tests - 100% coverage for collection manager - All tests passing This completes the PACC-39.S03 sprint (Advanced Features) bringing it to 100% completion. 🤖 Generated with Claude Code Co-Authored-By: Claude <[email protected]>
…ation & polish PACC-54: Fragment Git Repository Integration - Add FragmentRepositoryManager for Git-based fragment distribution - Support branch/tag selection and commit SHA pinning - Implement shallow cloning and repository caching - Add comprehensive error handling and recovery - 36 new unit tests, all passing PACC-55: Essential Fragment UX Improvements - Add --dry-run mode for all destructive fragment operations - Add --verbose mode for detailed debugging output - Enhance preview functionality with metadata display - Implement consistent CLI argument patterns - 5 new tests covering verbose and dry-run functionality PACC-56: Fragment Integration Testing with Sample Fragments - Create deterministic sample fragment collections (16 fragments) - Build comprehensive integration test infrastructure - Add performance benchmarking suite - Implement reliable test fixtures for consistent behavior - Complete testing documentation and patterns 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
## Security Fixes ### PACC-61: Fixed critical path traversal vulnerability in fragment remove - Added input sanitization to reject path separators (/, \, ..) - Implemented boundary validation using is_relative_to() - Enhanced path validation to prevent absolute path attacks - Prevents arbitrary file deletion outside fragment storage ### PACC-60: Fixed fragment install to update CLAUDE.md references - Replaced handle_fragment_install to use FragmentInstallationManager - Now properly updates CLAUDE.md with fragment references - Added pacc.json tracking for team collaboration - Provides atomic operations with rollback on failure ## Files Changed - pacc/fragments/storage_manager.py: Secured find_fragment method - pacc/core/file_utils.py: Hardened path validation - pacc/fragments/installation_manager.py: Relaxed source validation - pacc/cli.py: Complete rewrite of handle_fragment_install - docs/SECURITY_FIXES.md: Comprehensive security documentation - README.md: Added security features section ## Testing - Added comprehensive security test suite (test_fragment_security.py) - Added CLI fix tests (test_fragment_cli_fixes.py) - 22 new security tests covering path traversal prevention - All tests passing with full attack vector coverage 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
🚀 Major Feature: Claude Code Memory Fragments
This PR introduces the complete Memory Fragments system for PACC 1.1.0, enabling developers to share and manage reusable Claude Code instructions across projects.
📋 Epic Summary
Epic: PACC-39 - Claude Code Memory Fragments
Sprints Completed: 4/4 (S01-S04)
Linear Project: PACC-39.S04
✨ Key Features Implemented
🏗️ Foundation Infrastructure (S01)
⚙️ Core Functionality (S02)
🔄 Advanced Features (S03)
🔧 Integration & Polish (S04)
📊 Implementation Stats
🧪 Test Coverage
🔒 Quality Assurance
📚 Documentation Updates
🎯 Future Epics Prepared
Deferred for focused delivery:
🔄 Breaking Changes
None - Fully backward compatible with PACC 1.0
✅ Testing
📦 Release Readiness
This PR completes the Memory Fragments epic and is ready for PACC 1.1.0 release.
📝 Key Commits
4b72068feat(fragments): Implement foundation infrastructure for memory fragments (PACC-39.S01)a9a6339Implement PACC-48, PACC-49, PACC-50: Complete Memory Fragments Core Functionalitycdef2bcAdd project-level fragment configurations and testing artifactsd7810fbImplement PACC-53: Fragment Collection Management5856454Implement PACC-54, PACC-55, PACC-56: Complete memory fragments integration & polish🤖 Generated with Claude Code