diff --git a/LEGAL_INVENTORY_GUIDE.md b/LEGAL_INVENTORY_GUIDE.md new file mode 100644 index 00000000..1c7c15c2 --- /dev/null +++ b/LEGAL_INVENTORY_GUIDE.md @@ -0,0 +1,250 @@ +# Legal File Inventory Guide + +## Overview + +This guide documents the comprehensive file inventory script created for Basic Memory's legal documentation needs, including copyright assignments and company agreement exhibits. + +## Repository Analysis Summary + +### Repository Structure +- **Primary Language**: Python (3,958 files) +- **License**: GNU Affero General Public License v3.0 +- **Total Contributors**: 12 identified contributors +- **Main Contributors**: + - `phernandez@basicmachines.co` / `paul@basicmachines.co` (Paul Hernandez) - 700+ commits + - `groksrc@gmail.com` / `groksrc@users.noreply.github.com` (Drew Cain) - 18+ commits + - Various AI bots and automated systems + +### File Type Distribution +Based on the analysis, the repository contains: + +| Extension | Count | Purpose | +|-----------|-------|---------| +| `.py` | 3,958 | Python source code | +| `.pyi` | 4,536 | Python type stubs (dependencies) | +| `.pyc` | 1,435 | Compiled Python (excluded from inventory) | +| `.md` | 34 | Documentation files | +| `.toml` | 179 | Configuration files | +| `.html` | 119 | Coverage reports and documentation | +| `.txt` | 127 | Various text files | + +### Contributors by Email Domain + +**Basic Machines Contributors:** +- `phernandez@basicmachines.co` - 547 commits (Primary maintainer) +- `paul@basicmachines.co` / `paulmh@gmail.com` - 170 commits (Paul Hernandez) +- `claude@basicmachines.co` - 3 commits (AI assistant) + +**External Contributors:** +- `groksrc@gmail.com` / `groksrc@users.noreply.github.com` - 18 commits (Drew Cain) +- Various one-time contributors (1-2 commits each) + +**Automated Systems:** +- GitHub Actions, semantic-release, and other bots + +## Legal Inventory Script Features + +### What It Includes + +**Source Files:** +- All Python source code (`.py` files) +- Configuration files (`.toml`, `.yaml`, `.json`, etc.) +- Documentation (`.md`, `.rst`, `.txt`) +- Build and deployment scripts +- Database migrations and SQL files +- Legal and license files + +**Metadata for Each File:** +- File path, size, and creation/modification dates +- Git history (creation date, last modified, commit count) +- Contributors and their line contributions +- Primary author identification +- File categorization +- SHA-256 hash for integrity verification + +### What It Excludes + +**Generated/Build Artifacts:** +- `__pycache__/` and `.pyc` files +- Build directories (`build/`, `dist/`, `htmlcov/`) +- Coverage reports and cache files + +**Dependencies:** +- Virtual environment files (`.venv/`, `venv/`) +- Third-party packages (`site-packages/`, `*.dist-info/`) +- Lock files (`uv.lock`, `package-lock.json`) + +**IDE/Editor Files:** +- `.idea/`, `.vscode/`, `.DS_Store` +- Temporary and swap files + +**Version Control:** +- `.git/` directory contents +- Git configuration files + +## Usage Instructions + +### Basic Usage + +```bash +# Generate CSV inventory (default) +python3 legal_file_inventory.py + +# Generate Markdown report +python3 legal_file_inventory.py --format markdown --output legal_report.md + +# Generate JSON with full metadata +python3 legal_file_inventory.py --format json --output legal_data.json + +# Specify different repository path +python3 legal_file_inventory.py --repo-path /path/to/repo --output inventory.csv +``` + +### Command Line Options + +- `--output`, `-o`: Output file path (default: `basic_memory_legal_inventory.csv`) +- `--format`, `-f`: Output format - `csv`, `json`, or `markdown` (default: `csv`) +- `--repo-path`, `-r`: Repository path (default: current directory) + +### Output Formats + +**CSV Format:** +- Suitable for spreadsheet applications +- Contains all metadata fields +- Contributors stored as JSON string in separate column + +**JSON Format:** +- Complete structured data +- Includes summary statistics and detailed file information +- Best for programmatic processing + +**Markdown Format:** +- Human-readable report +- Summary statistics and contributor rankings +- Detailed table of all files + +## Legal Documentation Applications + +### Copyright Assignment Use Cases + +1. **Contributor Identification**: The script identifies all contributors to each file based on git blame analysis +2. **Primary Author Recognition**: Determines the primary author of each file (contributor with most lines) +3. **Contribution Metrics**: Provides line counts and commit counts per contributor +4. **File Categorization**: Groups files by purpose (source code, documentation, configuration, etc.) + +### Company Agreement Exhibits + +The inventory provides comprehensive documentation of: + +1. **Intellectual Property Scope**: All source code files and their origins +2. **Contributor Tracking**: Complete list of all individuals who have contributed code +3. **File Integrity**: SHA-256 hashes for verification of file contents +4. **Historical Documentation**: Git creation dates and modification history + +### Due Diligence Documentation + +The script generates data suitable for: + +1. **Legal Review**: Comprehensive file listing with contributor information +2. **IP Audit**: Identification of all copyright holders +3. **License Compliance**: Verification of file ownership and licensing +4. **Asset Documentation**: Complete inventory of company code assets + +## Integration with Legal Processes + +### Recommended Workflow + +1. **Generate Inventory**: Run the script to create current file inventory +2. **Legal Review**: Have legal counsel review the contributor list and file categorization +3. **Copyright Assignment**: Use contributor data to ensure proper copyright assignments +4. **Document Attachment**: Include inventory as exhibit in company agreements +5. **Regular Updates**: Re-run inventory for significant releases or legal milestones + +### Key Legal Considerations + +**AGPL-3.0 License:** +- All files are under AGPL-3.0 unless otherwise specified +- Contributors retain copyright but license under AGPL-3.0 terms +- Company needs proper copyright assignments for proprietary licensing + +**Contributor Rights:** +- External contributors may retain rights to their contributions +- Proper contributor license agreements (CLAs) should be in place +- AI-generated content may have different legal status + +**File Categories for Legal Review:** +- **Source Code**: Core IP, requires copyright assignment +- **Configuration**: May contain proprietary deployment information +- **Documentation**: Usually less sensitive but may contain trade secrets +- **Legal/License**: Critical for compliance verification + +## Maintenance and Updates + +### When to Regenerate Inventory + +- Before major releases +- During legal document preparation +- After significant contributor additions +- For annual compliance reviews +- During acquisition or investment processes + +### Validation Steps + +1. Verify contributor email mapping is accurate +2. Check that file categorization makes sense +3. Ensure excluded files are appropriate +4. Review contributor counts against expectations +5. Validate file hashes for integrity + +## Technical Implementation Notes + +### Git Integration +- Uses `git blame --line-porcelain` for detailed contributor analysis +- Tracks file history with `git log --follow` +- Handles renamed files and complex git histories + +### Performance Considerations +- Scans repository incrementally to handle large codebases +- Excludes binary dependencies to reduce processing time +- Caches git operations where possible + +### Error Handling +- Gracefully handles files not in git +- Continues processing if individual files fail +- Provides detailed error reporting + +## Security and Privacy + +### Data Sensitivity +- Contains contributor names and email addresses +- May reveal internal file structure and organization +- Should be treated as confidential legal documentation + +### Recommended Handling +- Limit access to legal and executive team +- Store in secure, access-controlled systems +- Consider redacting contributor emails for external sharing +- Regular cleanup of generated inventory files + +## Troubleshooting + +### Common Issues + +**Git Not Available:** +- Ensure git is installed and repository is initialized +- Check that the script is run from within the repository + +**Permission Errors:** +- Ensure read access to all repository files +- Check write permissions for output directory + +**Large Repository Performance:** +- Consider running on subsets of files for very large repositories +- Use `--repo-path` to target specific subdirectories + +**Contributor Mapping Issues:** +- Git usernames may not match real identities +- Consider post-processing to normalize contributor names +- Review .mailmap files for git identity consolidation + +This comprehensive legal file inventory system provides the foundation for proper intellectual property documentation and legal compliance for the Basic Memory project. \ No newline at end of file diff --git a/create_csv_exhibits.py b/create_csv_exhibits.py new file mode 100644 index 00000000..68f1ac77 --- /dev/null +++ b/create_csv_exhibits.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python3 +""" +Create CSV exhibits for individual contributors +""" + +import json +import csv +from pathlib import Path + +def create_csv_exhibits(): + """Create CSV Exhibit A files for each contributor.""" + + # Read the JSON inventory + inventory_files = list(Path("legal_inventory_main").glob("*.json")) + if not inventory_files: + print("Error: No JSON inventory files found") + return + + inventory_file = inventory_files[0] # Use the most recent one + print(f"Using inventory file: {inventory_file}") + + with open(inventory_file, 'r') as f: + data = json.load(f) + + files = data['files'] + + # Create output directory + output_dir = Path("legal_exhibits") + output_dir.mkdir(exist_ok=True) + + # Contributors we need exhibits for + target_contributors = { + 'jope-bm': 'joe_exhibit_a.csv', + 'Drew Cain': 'drew_cain_exhibit_a.csv' + } + + print("Creating CSV exhibits for contributors...") + + for contributor_key, filename in target_contributors.items(): + # Find files for this contributor + contributor_files = [] + + for file_info in files: + # Check if this contributor is listed in the file's contributors + for contrib in file_info.get('contributors', []): + if contributor_key in contrib['name']: + contributor_files.append(file_info) + break + + if not contributor_files: + print(f"No files found for {contributor_key}") + continue + + # Sort files by path + contributor_files.sort(key=lambda x: x['path']) + + # Create CSV file + csv_file = output_dir / filename + + with open(csv_file, 'w', newline='', encoding='utf-8') as csvfile: + fieldnames = [ + 'file_path', 'file_name', 'category', 'size_bytes', + 'modified_date', 'primary_author', 'all_contributors', 'sha256_hash' + ] + + writer = csv.DictWriter(csvfile, fieldnames=fieldnames) + writer.writeheader() + + for file_info in contributor_files: + contributors_list = '; '.join([c['name'] for c in file_info['contributors']]) + + writer.writerow({ + 'file_path': file_info['path'], + 'file_name': file_info['name'], + 'category': file_info['category'], + 'size_bytes': file_info['size_bytes'], + 'modified_date': file_info['modified_time'][:10], + 'primary_author': file_info['primary_author'], + 'all_contributors': contributors_list, + 'sha256_hash': file_info['sha256_hash'] + }) + + print(f"Created CSV exhibit for {contributor_key}: {csv_file}") + print(f" - {len(contributor_files)} files") + print(f" - {sum(f['size_bytes'] for f in contributor_files):,} bytes") + +if __name__ == '__main__': + create_csv_exhibits() \ No newline at end of file diff --git a/create_individual_exhibits.py b/create_individual_exhibits.py new file mode 100644 index 00000000..4c4cea14 --- /dev/null +++ b/create_individual_exhibits.py @@ -0,0 +1,208 @@ +#!/usr/bin/env python3 +""" +Create individual Exhibit A files for copyright assignments +""" + +import json +from pathlib import Path +from datetime import datetime + +def create_individual_exhibits(): + """Create individual Exhibit A files for each contributor.""" + + # Read the JSON inventory + inventory_file = Path("legal_inventory_main/basic_memory_inventory_20250730_101521.json") + + if not inventory_file.exists(): + print(f"Error: {inventory_file} not found") + return + + with open(inventory_file, 'r') as f: + data = json.load(f) + + files = data['files'] + + # Create output directory + output_dir = Path("legal_exhibits") + output_dir.mkdir(exist_ok=True) + + # Contributors we need exhibits for (based on copyright assignments) + target_contributors = { + 'jope-bm': 'Joseph "Joe" [Last Name]', # Need to get his full name + 'Drew Cain': 'Drew Cain' + } + + print("Creating individual contributor exhibits...") + + for contributor_key, full_name in target_contributors.items(): + # Find files for this contributor + contributor_files = [] + + for file_info in files: + # Check if this contributor is listed in the file's contributors + for contrib in file_info.get('contributors', []): + if contributor_key in contrib['name']: + contributor_files.append(file_info) + break + + if not contributor_files: + print(f"No files found for {contributor_key}") + continue + + # Sort files by path + contributor_files.sort(key=lambda x: x['path']) + + # Create exhibit markdown + exhibit_content = f"""# Exhibit A - Assigned Works +## Copyright Assignment: {full_name} to Basic Memory LLC + +**Date:** [To be filled] +**Assignor:** {full_name} +**Assignee:** Basic Memory LLC + +## Summary +- **Total Files:** {len(contributor_files)} +- **Total Size:** {sum(f['size_bytes'] for f in contributor_files):,} bytes +- **Categories:** {', '.join(set(f['category'] for f in contributor_files))} + +## Detailed File List + +""" + + # Group by category + categories = {} + for file_info in contributor_files: + category = file_info['category'] + if category not in categories: + categories[category] = [] + categories[category].append(file_info) + + # Add files by category + for category, category_files in sorted(categories.items()): + exhibit_content += f"### {category.replace('_', ' ').title()}\n\n" + + for file_info in category_files: + exhibit_content += f"**{file_info['path']}**\n" + exhibit_content += f"- Size: {file_info['size_bytes']:,} bytes\n" + exhibit_content += f"- Modified: {file_info['modified_time'][:10]}\n" + exhibit_content += f"- Primary Author: {file_info['primary_author']}\n" + + # Show all contributors for this file + if len(file_info['contributors']) > 1: + contributors_list = ', '.join([c['name'] for c in file_info['contributors']]) + exhibit_content += f"- All Contributors: {contributors_list}\n" + + exhibit_content += f"- SHA-256: `{file_info['sha256_hash']}`\n\n" + + # Add verification section + exhibit_content += f""" +## Verification +This exhibit lists all files in the Basic Memory repository where {full_name} is identified as a contributor based on git commit history analysis. + +**Analysis Date:** {datetime.now().strftime('%Y-%m-%d')} +**Repository State:** Basic Memory main branch +**Method:** Git history analysis via `git log --follow` for each file + +## Legal Representation +{full_name} hereby represents and warrants that they are the author of the contributions listed above and have the right to assign copyright in these works to Basic Memory LLC. + +--- + +*This exhibit is attached to and forms part of the Copyright Assignment Agreement between {full_name} and Basic Memory LLC.* +""" + + # Write exhibit file + safe_name = contributor_key.replace(' ', '_').replace('-', '_').lower() + exhibit_file = output_dir / f"exhibit_a_{safe_name}.md" + + with open(exhibit_file, 'w') as f: + f.write(exhibit_content) + + print(f"Created exhibit for {full_name}: {exhibit_file}") + print(f" - {len(contributor_files)} files") + print(f" - {sum(f['size_bytes'] for f in contributor_files):,} bytes") + + # Create overall summary exhibit (for Paul's assignment to Basic Machines LLC) + create_overall_summary_exhibit(data, output_dir) + +def create_overall_summary_exhibit(data, output_dir): + """Create overall summary exhibit for Company Agreement.""" + + files = data['files'] + summary = data['summary'] + contributors = data['contributors'] + + summary_content = f"""# Basic Memory Repository - Complete IP Inventory +## For Basic Memory LLC Company Agreement + +**Analysis Date:** {summary['scan_date'][:10]} +**Repository:** {summary['repository_path']} + +## Executive Summary +- **Total Files:** {summary['total_files']:,} +- **Total Size:** {summary['total_size_bytes']:,} bytes +- **Contributors:** {summary['contributor_count']} +- **Primary Author:** Paul Hernandez ({len(contributors.get('Paul Hernandez', {}).get('files', []))} files) + +## File Categories +""" + + for category, count in sorted(summary['categories'].items()): + summary_content += f"- **{category.replace('_', ' ').title()}:** {count} files\n" + + summary_content += f""" + +## Contributor Summary +""" + + for contrib in summary['top_contributors']: + summary_content += f"- **{contrib['name']}** ({contrib['email']}): {contrib['file_count']} files, {contrib['commit_count']} commits\n" + + summary_content += f""" + +## Legal Significance +This inventory represents the complete codebase of Basic Memory as licensed from Basic Machines LLC to Basic Memory LLC under the copyright license agreement dated [DATE]. + +### IP Rights Chain +1. **Paul Hernandez** → Basic Machines LLC (copyright assignment) +2. **Basic Machines LLC** → Basic Memory LLC (15% royalty license) +3. **Co-founders** → Basic Memory LLC (direct copyright assignments) + +### Due Diligence Documentation +This comprehensive file inventory serves as: +- **Company Agreement Exhibit:** Original codebase licensed to Basic Memory LLC +- **Acquisition Documentation:** Complete IP inventory for due diligence +- **Copyright Verification:** Establishes chain of title for all repository contents + +## Repository Contents by Category + +""" + + # Add sample files by category (first 10 in each category) + for category in sorted(summary['categories'].keys()): + category_files = [f for f in files if f['category'] == category][:10] + if category_files: + summary_content += f"### {category.replace('_', ' ').title()} (Sample)\n\n" + for file_info in category_files: + summary_content += f"- `{file_info['path']}` ({file_info['size_bytes']:,} bytes)\n" + + if len([f for f in files if f['category'] == category]) > 10: + remaining = len([f for f in files if f['category'] == category]) - 10 + summary_content += f"- *... and {remaining} more files*\n" + summary_content += "\n" + + summary_content += f""" +--- + +*This inventory was generated automatically from git repository analysis and represents the complete intellectual property foundation of Basic Memory as of {summary['scan_date'][:10]}.* +""" + + # Write summary file + summary_file = output_dir / "basic_memory_complete_inventory.md" + with open(summary_file, 'w') as f: + f.write(summary_content) + + print(f"Created complete inventory summary: {summary_file}") + +if __name__ == '__main__': + create_individual_exhibits() \ No newline at end of file diff --git a/legal_exhibits/drew_cain_exhibit_a.csv b/legal_exhibits/drew_cain_exhibit_a.csv new file mode 100644 index 00000000..3ef9c157 --- /dev/null +++ b/legal_exhibits/drew_cain_exhibit_a.csv @@ -0,0 +1,31 @@ +file_path,file_name,category,size_bytes,modified_date,primary_author,all_contributors,sha256_hash +.github/workflows/release.yml,release.yml,configuration,2479,2025-07-03,Drew Cain,Drew Cain; Paul Hernandez,163307a99e2f3d317af6ae8927e1537654d88bf574a6958ac0bcd2d4de266b2a +CLAUDE.md,CLAUDE.md,legal,12310,2025-07-03,Drew Cain,Drew Cain; Paul Hernandez; bm-claudeai (AI Assistant); Ikko Eltociear Ashimine,751f10c1a9a9c0ba2054d9c9cd36cf0989d6a347491fd505bb6504ee74b12900 +README.md,README.md,documentation,16261,2025-07-03,Drew Cain,Drew Cain; Paul Hernandez; Jason Noble; Marc Baiza; Matias Forbord; bm-claudeai (AI Assistant),2c4b82b30f49ab465617034fda999157450ed168f8e097fe8e9ca7ac65a197a7 +justfile,justfile,other,5496,2025-07-30,jope-bm,jope-bm; Paul Hernandez; Drew Cain,a8df6c73ee8cf3eaa48e4cba193dffbc2821b843a8cc0c0cd58b8517f2252907 +pyproject.toml,pyproject.toml,configuration,3279,2025-07-30,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant); semantic-release,428a5d64d4555dc7cd2a81b89a3444bdb1d2f3017257fbc9160bd0ae982718e1 +src/basic_memory/__init__.py,__init__.py,source_code,256,2025-07-06,Paul Hernandez,Paul Hernandez; Drew Cain; semantic-release,c946490ab9d64957d25df37f721392024916f8a81ed838f70a8e938b1c2637db +src/basic_memory/alembic/env.py,env.py,source_code,2838,2025-07-08,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant),e241d987eadfcd5011cbd9ddbecb833d306de87937759d81c08d37d04a6906b0 +src/basic_memory/api/routers/utils.py,utils.py,source_code,5159,2025-07-03,Drew Cain,Drew Cain; bm-claudeai (AI Assistant),9e60f57da24e1dc9d64236c26a7a2353003dc618a77fbeb853c494aa3357a57c +src/basic_memory/cli/commands/mcp.py,mcp.py,source_code,2593,2025-07-08,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant),3e1be3d27b18ef4743204b7cf8a37fbc2a1a91fc1636c468e08cefcd8597bac6 +src/basic_memory/config.py,config.py,source_code,12487,2025-07-30,jope-bm,jope-bm; Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant); github-actions[bot] (AI Assistant),86341330a041b94d38f5e4f1b94f3509d74351c67cc826af1a4ff57313e5f726 +src/basic_memory/db.py,db.py,source_code,7428,2025-07-08,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant),25e053b0b3f9e8fa823b05fc099001efe8a3a4f6e0f80728e5079ba45aa406d8 +src/basic_memory/mcp/server.py,server.py,source_code,1248,2025-07-08,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant),0a910cae27d61ea923e90fbe2d4b5c7cacf3b29d3e156f0b7f77872ab973c761 +src/basic_memory/mcp/tools/__init__.py,__init__.py,source_code,1619,2025-07-03,Drew Cain,Drew Cain; Paul Hernandez,872b771dd52ec3b763645a2baf6e10a70f049ce3106830a6d3f053b3e09a5fe6 +src/basic_memory/mcp/tools/project_management.py,project_management.py,source_code,12944,2025-07-06,Drew Cain,Drew Cain; Paul Hernandez,cdac736d65129f689a85c6b82f8e043bc84a31657ead7a8331771171eeaa860f +src/basic_memory/mcp/tools/search.py,search.py,source_code,15883,2025-07-03,Drew Cain,Drew Cain; Paul Hernandez; bm-claudeai (AI Assistant); github-actions[bot] (AI Assistant),8519b0057468c4450eb543a2f561bcd0d7cb96e1ce1b95e948e02b309ba6b7ca +src/basic_memory/repository/entity_repository.py,entity_repository.py,source_code,10405,2025-07-03,Drew Cain,Drew Cain; bm-claudeai (AI Assistant); Paul Hernandez,e2a8d1eba6c8d64bc61d7168df0fe8c29a670858bf9daeac464a0f440273fae0 +src/basic_memory/schemas/memory.py,memory.py,source_code,5833,2025-07-03,Drew Cain,Drew Cain; Paul Hernandez; bm-claudeai (AI Assistant),acb4a953a553feca672c4895798a7d948ec51f922f75b66dd7d55716e3bebed3 +src/basic_memory/services/entity_service.py,entity_service.py,source_code,30440,2025-07-03,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant); github-actions[bot] (AI Assistant),7cd5163eca6b8a0772e838c8c869e478166763cd6a2d745b0b9aa5c25a65baee +src/basic_memory/services/initialization.py,initialization.py,source_code,6715,2025-07-08,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant),4dde58b799cf4ac90631e59949b55b3355a93bdf99df0d9c2408c0cea67e10c4 +src/basic_memory/templates/prompts/continue_conversation.hbs,continue_conversation.hbs,templates,3076,2025-07-01,Drew Cain,Drew Cain; bm-claudeai (AI Assistant),b6bac31d25c0e52d0909b2273285092f4e31bc219107f92ed511cd407b65e992 +src/basic_memory/utils.py,utils.py,source_code,8654,2025-07-30,jope-bm,jope-bm; Paul Hernandez; Drew Cain; andyxinweiminicloud; github-actions[bot] (AI Assistant),111f343e3367339730e081c08acf4613667be574f946126513b5d82da3086bed +tests/mcp/test_tool_edit_note.py,test_tool_edit_note.py,source_code,13503,2025-07-03,Drew Cain,Drew Cain; Paul Hernandez,dd441969aa54b3739f2d9202d3feaf46aee807ec51e01a13ef41eda52743944f +tests/mcp/test_tool_search.py,test_tool_search.py,source_code,10959,2025-07-03,Drew Cain,Drew Cain; Paul Hernandez; github-actions[bot] (AI Assistant),07839cf8e89d74ba05ec1dc55fa842444c1f0cc3d1587823b0ac3458ad89e87c +tests/mcp/test_tool_write_note.py,test_tool_write_note.py,source_code,35136,2025-07-30,jope-bm,jope-bm; Drew Cain; Paul Hernandez,45172de20cfc4f4436287573b4f5a94b8b616a360647af67ba1c6c343ccd41b8 +tests/repository/test_entity_repository_upsert.py,test_entity_repository_upsert.py,source_code,16983,2025-07-03,Paul Hernandez,Paul Hernandez; Drew Cain,ee0ecd6f4ff8b31838bd6de6fb1018af437e02813d8315c06f4e20a6b78a0572 +tests/schemas/test_schemas.py,test_schemas.py,source_code,16880,2025-07-03,Drew Cain,Drew Cain; Paul Hernandez; bm-claudeai (AI Assistant),2c746a00c340f063c160ace67569955a300a294040949695c79fd4ae124fb611 +tests/services/test_entity_service.py,test_entity_service.py,source_code,59278,2025-07-03,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant),d7d495756faa10b415d705cf26b69d2efbc5f190a834b6767386ff296629ea71 +tests/test_config.py,test_config.py,source_code,3680,2025-07-03,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant),6a246431cff739274efda895dfa28f38710289a73e645312f5fa05fce0885ec8 +tests/test_db_migration_deduplication.py,test_db_migration_deduplication.py,source_code,6166,2025-07-08,Paul Hernandez,Paul Hernandez; Drew Cain,ab768e061531ca2edcd598c101b5d884e549f90c7a4b305a23713a199d263fbb +uv.lock,uv.lock,other,232710,2025-07-30,Paul Hernandez,Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant),caa1e3f6e66464b884a78cab77df2fe303fa3c0dc573be0196474b6d3c150581 diff --git a/legal_exhibits/joe_exhibit_a.csv b/legal_exhibits/joe_exhibit_a.csv new file mode 100644 index 00000000..5981bb02 --- /dev/null +++ b/legal_exhibits/joe_exhibit_a.csv @@ -0,0 +1,28 @@ +file_path,file_name,category,size_bytes,modified_date,primary_author,all_contributors,sha256_hash +CONTRIBUTING.md,CONTRIBUTING.md,documentation,7329,2025-07-30,jope-bm,jope-bm; Paul Hernandez,ca822fe39cc529bfc3822d317ab8a20fd141ec3ecb8c20de9e2eca3edce1c282 +justfile,justfile,other,5496,2025-07-30,jope-bm,jope-bm; Paul Hernandez; Drew Cain,a8df6c73ee8cf3eaa48e4cba193dffbc2821b843a8cc0c0cd58b8517f2252907 +src/basic_memory/api/routers/project_router.py,project_router.py,source_code,8444,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),6539c69f1d506c65d14cc2c151876b19057f37d84d51a9e6f464ed47a4692648 +src/basic_memory/cli/commands/import_memory_json.py,import_memory_json.py,source_code,3013,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),7ea193f6720b2672290ad16c79a143a31d88a1d567838f12b9ebf9110a7c0338 +src/basic_memory/cli/commands/project.py,project.py,source_code,13836,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),af3e6f30410ab48355f4b1a46aaa3aa5423cb0a0490f51447db1d25e09f39916 +src/basic_memory/config.py,config.py,source_code,12487,2025-07-30,jope-bm,jope-bm; Paul Hernandez; Drew Cain; bm-claudeai (AI Assistant); github-actions[bot] (AI Assistant),86341330a041b94d38f5e4f1b94f3509d74351c67cc826af1a4ff57313e5f726 +src/basic_memory/importers/memory_json_importer.py,memory_json_importer.py,source_code,4631,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),bc7d045299f17ed9ad5cebff7b1423250ec28a11130e47a0ac48d3ab82bdeafc +src/basic_memory/mcp/async_client.py,async_client.py,source_code,925,2025-07-30,jope-bm,jope-bm; Paul Hernandez,6531f4387f30a30a322197ff51d6eacae4b25a58c648095931b3d1145d1da303 +src/basic_memory/mcp/tools/move_note.py,move_note.py,source_code,17541,2025-07-30,jope-bm,jope-bm; Paul Hernandez,5ef27d9baaebc2c5656fc49c4798a4e4e40a70b6cd9d1e761dbcae021bad558c +src/basic_memory/mcp/tools/read_content.py,read_content.py,source_code,9125,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),96a13addac507fd874394dfa2e1e5ed71af5eb89d0872c1d68cacf9cac3f8724 +src/basic_memory/mcp/tools/read_note.py,read_note.py,source_code,8132,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant); Amadeusz Wieczorek; github-actions[bot] (AI Assistant),dff53ce02b16d9c5fca315b3f09bb70867a89d614b0ef3f0548dce87978048ee +src/basic_memory/mcp/tools/write_note.py,write_note.py,source_code,6612,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),771396fb49d397feb5f7e36321d4d233c22c4d1b53414912c849957c6e96fc83 +src/basic_memory/repository/project_repository.py,project_repository.py,source_code,3803,2025-07-30,jope-bm,jope-bm; bm-claudeai (AI Assistant),9083ba214b2bcaaf98164d9c33cda7add52bc77f7269ecb6e43cdd5088728b7c +src/basic_memory/schemas/importer.py,importer.py,source_code,693,2025-07-30,jope-bm,jope-bm; bm-claudeai (AI Assistant),ac33df423ca32b28ce7b6ea9c29d541f8783a86c0c29f78db35163bf93f139cd +src/basic_memory/services/project_service.py,project_service.py,source_code,30125,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),bce95c00aa9a1da0a8c8090ee34b5b1494207f8c99e6c25de4ec43fddc38f6be +src/basic_memory/utils.py,utils.py,source_code,8654,2025-07-30,jope-bm,jope-bm; Paul Hernandez; Drew Cain; andyxinweiminicloud; github-actions[bot] (AI Assistant),111f343e3367339730e081c08acf4613667be574f946126513b5d82da3086bed +tests/api/test_async_client.py,test_async_client.py,source_code,1382,2025-07-30,jope-bm,jope-bm; Paul Hernandez,a2f96226a75e5cff2326ca48ddccea4915964d83e529f7b99958bc233ccdc31a +tests/api/test_project_router.py,test_project_router.py,source_code,13288,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),af85d0870069d3831a9214372853994e5d12dc910e37298eb9958f72f6a8bb31 +tests/cli/test_import_memory_json.py,test_import_memory_json.py,source_code,4891,2025-07-30,jope-bm,jope-bm; bm-claudeai (AI Assistant); Paul Hernandez,d6734ce059dacf97bc764d848b2e2a6ba52fa96871bc331ec9d2ddc60b766bb6 +tests/cli/test_project_commands.py,test_project_commands.py,source_code,6578,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),51e2ac7ff44b0d1a1db6da406c5c2e6aebceb1b63a1e8d5ab51bbaa834507157 +tests/mcp/test_tool_move_note.py,test_tool_move_note.py,source_code,25851,2025-07-30,jope-bm,jope-bm; Paul Hernandez,c9f95158503fa42e37532aaa35027538fa49cea718d059d570cf547d31f01043 +tests/mcp/test_tool_read_content.py,test_tool_read_content.py,source_code,19442,2025-07-30,jope-bm,jope-bm,1817e32f997b06dbdabf02864d0c70584c1cd80bf1fae8dfbef649de79434bc5 +tests/mcp/test_tool_read_note.py,test_tool_read_note.py,source_code,22991,2025-07-30,jope-bm,jope-bm; Paul Hernandez; Amadeusz Wieczorek; github-actions[bot] (AI Assistant),4e13ea9ff977525aa62b6a8c22505ffe989329dc3e7d07b71e044cf43ef3ddfd +tests/mcp/test_tool_write_note.py,test_tool_write_note.py,source_code,35136,2025-07-30,jope-bm,jope-bm; Drew Cain; Paul Hernandez,45172de20cfc4f4436287573b4f5a94b8b616a360647af67ba1c6c343ccd41b8 +tests/repository/test_project_repository.py,test_project_repository.py,source_code,10511,2025-07-30,jope-bm,jope-bm; bm-claudeai (AI Assistant),279a3324635b1b515c18003bd1875cf230fef1192cadef9ca426846783717e75 +tests/services/test_project_service.py,test_project_service.py,source_code,28152,2025-07-30,jope-bm,jope-bm; Paul Hernandez; bm-claudeai (AI Assistant),430868ed796518937a3b0bed4d8c33be53264a6100d61d54b0745bb2b58bf29a +tests/utils/test_validate_project_path.py,test_validate_project_path.py,source_code,15346,2025-07-30,jope-bm,jope-bm,27a4bf2a9d277e6cd773619e5241b20175d211ec60c284361bec404fd99143f3 diff --git a/legal_file_inventory.py b/legal_file_inventory.py new file mode 100644 index 00000000..c13f51c3 --- /dev/null +++ b/legal_file_inventory.py @@ -0,0 +1,440 @@ +#!/usr/bin/env python3 +""" +Legal File Inventory Generator for Basic Memory + +This script generates a comprehensive file inventory for legal documentation purposes, +including copyright assignments and company agreement exhibits. + +The inventory includes: +- All source code files and their contributors +- Documentation and configuration files +- License and legal files +- Excludes generated files, dependencies, and temporary files + +Usage: + python legal_file_inventory.py [--output inventory.csv] [--format csv|json|markdown] +""" + +import os +import sys +import json +import csv +import subprocess +from pathlib import Path +from datetime import datetime +from typing import Dict, List, Set, Optional, Tuple +import argparse +import hashlib + +class FileInventoryGenerator: + def __init__(self, repo_path: str = "."): + self.repo_path = Path(repo_path).resolve() + self.inventory = [] + + # File patterns to exclude from legal inventory + self.exclude_patterns = { + # Version control and git + '.git', '.gitignore', '.gitmodules', + + # Python compiled and cache files + '__pycache__', '*.pyc', '*.pyo', '*.pyd', '.pytest_cache', + + # Virtual environments and dependencies + '.venv', 'venv', '.env', 'env', 'ENV', + '*.dist-info', 'site-packages', + + # IDE and editor files + '.idea', '.vscode', '*.swp', '*.swo', '.DS_Store', + + # Build and distribution artifacts + 'build', 'dist', 'htmlcov', '.coverage', '.coverage.*', + '*.egg-info', '.eggs', 'wheels', + + # Cache and temporary files + '.ruff_cache', '.mypy_cache', '.tox', + 'node_modules', '.npm', + + # Documentation build artifacts (but keep source docs) + '.obsidian', + + # Lock files (these are generated) + 'uv.lock', 'Pipfile.lock', 'poetry.lock', 'package-lock.json' + } + + # File extensions that are definitely source/authored content + self.source_extensions = { + '.py', '.md', '.rst', '.txt', '.toml', '.yaml', '.yml', + '.json', '.cfg', '.ini', '.conf', '.sh', '.sql', + '.js', '.ts', '.jsx', '.tsx', '.css', '.scss', '.sass', + '.html', '.htm', '.xml', '.svg', '.dockerfile', '.Dockerfile' + } + + # License file patterns + self.license_patterns = { + 'LICENSE', 'LICENCE', 'COPYING', 'COPYRIGHT', + 'license.txt', 'LICENSE.txt', 'LICENSE.md', + 'CITATION.cff', 'CLA.md' + } + + def run_git_command(self, command: List[str]) -> str: + """Run a git command and return the output.""" + try: + result = subprocess.run( + ['git'] + command, + cwd=self.repo_path, + capture_output=True, + text=True, + check=True + ) + return result.stdout.strip() + except subprocess.CalledProcessError: + return "" + + def get_file_contributors(self, file_path: str) -> Dict[str, int]: + """Get contributors and their line contributions for a file.""" + try: + blame_output = self.run_git_command(['blame', '--line-porcelain', file_path]) + contributors = {} + + current_commit = None + for line in blame_output.split('\n'): + if line.startswith('author '): + author = line[7:] # Remove 'author ' prefix + contributors[author] = contributors.get(author, 0) + 1 + + return contributors + except: + return {} + + def get_file_history(self, file_path: str) -> Dict[str, any]: + """Get file creation date, last modification, and total commits.""" + try: + # Get creation date (first commit) + first_commit = self.run_git_command([ + 'log', '--follow', '--format=%ad', '--date=iso', + '--reverse', file_path + ]).split('\n')[0] if self.run_git_command([ + 'log', '--follow', '--format=%ad', '--date=iso', + '--reverse', file_path + ]) else None + + # Get last modification date + last_commit = self.run_git_command([ + 'log', '-1', '--format=%ad', '--date=iso', file_path + ]) + + # Get total commits for this file + commit_count = len(self.run_git_command([ + 'log', '--follow', '--oneline', file_path + ]).split('\n')) if self.run_git_command([ + 'log', '--follow', '--oneline', file_path + ]) else 0 + + return { + 'created': first_commit or 'Unknown', + 'last_modified': last_commit or 'Unknown', + 'commit_count': commit_count + } + except: + return { + 'created': 'Unknown', + 'last_modified': 'Unknown', + 'commit_count': 0 + } + + def should_exclude_file(self, file_path: Path) -> bool: + """Determine if a file should be excluded from the inventory.""" + str_path = str(file_path) + + # Check if any part of the path matches exclude patterns + for pattern in self.exclude_patterns: + if pattern in str_path or file_path.match(pattern): + return True + + # Exclude files in virtual environment paths + if '/.venv/' in str_path or '/venv/' in str_path: + return True + + # Exclude binary files that are likely dependencies + if file_path.suffix in {'.so', '.dylib', '.dll', '.pyd'}: + return True + + return False + + def calculate_file_hash(self, file_path: Path) -> str: + """Calculate SHA-256 hash of file content.""" + try: + with open(file_path, 'rb') as f: + return hashlib.sha256(f.read()).hexdigest() + except: + return "" + + def categorize_file(self, file_path: Path) -> str: + """Categorize the file based on its path and extension.""" + str_path = str(file_path).lower() + + # License and legal files + if any(pattern.lower() in file_path.name.lower() for pattern in self.license_patterns): + return "Legal/License" + + # Documentation + if file_path.suffix.lower() in {'.md', '.rst', '.txt'} and any( + doc_dir in str_path for doc_dir in ['doc', 'readme', 'changelog', 'contributing'] + ): + return "Documentation" + + # Configuration files + if file_path.suffix.lower() in {'.toml', '.yaml', '.yml', '.json', '.cfg', '.ini', '.conf'}: + return "Configuration" + + # Source code + if file_path.suffix.lower() in {'.py', '.js', '.ts', '.jsx', '.tsx'}: + return "Source Code" + + # Tests + if 'test' in str_path and file_path.suffix.lower() == '.py': + return "Test Code" + + # Build and deployment + if file_path.name.lower() in {'dockerfile', 'justfile', 'makefile'} or file_path.suffix.lower() in {'.sh'}: + return "Build/Deployment" + + # Database and migrations + if 'migration' in str_path or 'alembic' in str_path or file_path.suffix.lower() == '.sql': + return "Database/Migration" + + # Templates and resources + if file_path.suffix.lower() in {'.hbs', '.j2', '.jinja', '.template'}: + return "Templates/Resources" + + return "Other" + + def scan_repository(self): + """Scan the repository and build the file inventory.""" + print(f"Scanning repository: {self.repo_path}") + + for root, dirs, files in os.walk(self.repo_path): + # Skip excluded directories + dirs[:] = [d for d in dirs if not any(pattern in d for pattern in self.exclude_patterns)] + + for file in files: + file_path = Path(root) / file + relative_path = file_path.relative_to(self.repo_path) + + # Skip excluded files + if self.should_exclude_file(relative_path): + continue + + # Get file stats + try: + stat_info = file_path.stat() + file_size = stat_info.st_size + modified_time = datetime.fromtimestamp(stat_info.st_mtime) + except: + file_size = 0 + modified_time = datetime.now() + + # Get git information + contributors = self.get_file_contributors(str(relative_path)) + history = self.get_file_history(str(relative_path)) + + # Calculate file hash for integrity verification + file_hash = self.calculate_file_hash(file_path) + + # Build inventory entry + entry = { + 'file_path': str(relative_path), + 'full_path': str(file_path), + 'file_name': file_path.name, + 'file_extension': file_path.suffix, + 'file_size_bytes': file_size, + 'category': self.categorize_file(relative_path), + 'fs_modified_date': modified_time.isoformat(), + 'git_created_date': history['created'], + 'git_last_modified': history['last_modified'], + 'git_commit_count': history['commit_count'], + 'contributors': contributors, + 'primary_author': max(contributors.items(), key=lambda x: x[1])[0] if contributors else 'Unknown', + 'contributor_count': len(contributors), + 'total_author_lines': sum(contributors.values()) if contributors else 0, + 'sha256_hash': file_hash, + 'scan_timestamp': datetime.now().isoformat() + } + + self.inventory.append(entry) + + print(f"Scanned {len(self.inventory)} files") + + def get_summary_statistics(self) -> Dict: + """Generate summary statistics for the inventory.""" + if not self.inventory: + return {} + + # Collect all contributors + all_contributors = set() + for entry in self.inventory: + all_contributors.update(entry['contributors'].keys()) + + # Category breakdown + categories = {} + for entry in self.inventory: + cat = entry['category'] + categories[cat] = categories.get(cat, 0) + 1 + + # File extension breakdown + extensions = {} + for entry in self.inventory: + ext = entry['file_extension'] or 'no_extension' + extensions[ext] = extensions.get(ext, 0) + 1 + + # Contributor statistics + contributor_files = {} + contributor_lines = {} + for entry in self.inventory: + for contributor, lines in entry['contributors'].items(): + contributor_files[contributor] = contributor_files.get(contributor, 0) + 1 + contributor_lines[contributor] = contributor_lines.get(contributor, 0) + lines + + return { + 'total_files': len(self.inventory), + 'total_contributors': len(all_contributors), + 'categories': categories, + 'file_extensions': extensions, + 'contributor_file_counts': contributor_files, + 'contributor_line_counts': contributor_lines, + 'scan_date': datetime.now().isoformat(), + 'repository_path': str(self.repo_path) + } + + def export_csv(self, output_file: str): + """Export inventory to CSV format.""" + with open(output_file, 'w', newline='', encoding='utf-8') as f: + if not self.inventory: + return + + fieldnames = list(self.inventory[0].keys()) + # Convert complex fields to strings for CSV + fieldnames = [f for f in fieldnames if f != 'contributors'] + fieldnames.append('contributors_json') + + writer = csv.DictWriter(f, fieldnames=fieldnames) + writer.writeheader() + + for entry in self.inventory: + row = {k: v for k, v in entry.items() if k != 'contributors'} + row['contributors_json'] = json.dumps(entry['contributors']) + writer.writerow(row) + + def export_json(self, output_file: str): + """Export inventory to JSON format.""" + export_data = { + 'metadata': self.get_summary_statistics(), + 'files': self.inventory + } + + with open(output_file, 'w', encoding='utf-8') as f: + json.dump(export_data, f, indent=2, ensure_ascii=False) + + def export_markdown(self, output_file: str): + """Export inventory to Markdown format.""" + stats = self.get_summary_statistics() + + with open(output_file, 'w', encoding='utf-8') as f: + f.write("# Basic Memory - Legal File Inventory\n\n") + f.write(f"**Generated:** {datetime.now().isoformat()}\n\n") + f.write(f"**Repository:** {stats.get('repository_path', 'Unknown')}\n\n") + + # Summary statistics + f.write("## Summary Statistics\n\n") + f.write(f"- **Total Files:** {stats.get('total_files', 0)}\n") + f.write(f"- **Total Contributors:** {stats.get('total_contributors', 0)}\n\n") + + # Categories + if 'categories' in stats: + f.write("### Files by Category\n\n") + for category, count in sorted(stats['categories'].items()): + f.write(f"- **{category}:** {count} files\n") + f.write("\n") + + # Top contributors + if 'contributor_file_counts' in stats: + f.write("### Top Contributors by Files Modified\n\n") + sorted_contributors = sorted( + stats['contributor_file_counts'].items(), + key=lambda x: x[1], + reverse=True + )[:10] + for contributor, count in sorted_contributors: + f.write(f"- **{contributor}:** {count} files\n") + f.write("\n") + + # Detailed file listing + f.write("## Detailed File Inventory\n\n") + f.write("| File Path | Category | Size (bytes) | Primary Author | Contributors |\n") + f.write("|-----------|----------|--------------|----------------|-------------|\n") + + for entry in sorted(self.inventory, key=lambda x: x['file_path']): + contributors_str = ', '.join(entry['contributors'].keys())[:50] + if len(contributors_str) == 50: + contributors_str += "..." + + f.write(f"| {entry['file_path']} | {entry['category']} | " + f"{entry['file_size_bytes']} | {entry['primary_author']} | " + f"{contributors_str} |\n") + +def main(): + parser = argparse.ArgumentParser( + description="Generate legal file inventory for Basic Memory repository" + ) + parser.add_argument( + '--output', '-o', + default='basic_memory_legal_inventory.csv', + help='Output file path (default: basic_memory_legal_inventory.csv)' + ) + parser.add_argument( + '--format', '-f', + choices=['csv', 'json', 'markdown'], + default='csv', + help='Output format (default: csv)' + ) + parser.add_argument( + '--repo-path', '-r', + default='.', + help='Path to repository (default: current directory)' + ) + + args = parser.parse_args() + + # Initialize and run the inventory generator + generator = FileInventoryGenerator(args.repo_path) + generator.scan_repository() + + # Export in requested format + if args.format == 'csv': + generator.export_csv(args.output) + elif args.format == 'json': + generator.export_json(args.output) + elif args.format == 'markdown': + generator.export_markdown(args.output) + + # Print summary + stats = generator.get_summary_statistics() + print(f"\n=== Legal File Inventory Complete ===") + print(f"Repository: {stats.get('repository_path', 'Unknown')}") + print(f"Total files inventoried: {stats.get('total_files', 0)}") + print(f"Total contributors identified: {stats.get('total_contributors', 0)}") + print(f"Output written to: {args.output}") + + # Show top contributors + if 'contributor_file_counts' in stats: + print(f"\nTop 5 contributors by files modified:") + sorted_contributors = sorted( + stats['contributor_file_counts'].items(), + key=lambda x: x[1], + reverse=True + )[:5] + for i, (contributor, count) in enumerate(sorted_contributors, 1): + print(f" {i}. {contributor}: {count} files") + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/legal_inventory/basic_memory_inventory_20250730_110133.csv b/legal_inventory/basic_memory_inventory_20250730_110133.csv new file mode 100644 index 00000000..2dd08bf7 --- /dev/null +++ b/legal_inventory/basic_memory_inventory_20250730_110133.csv @@ -0,0 +1,272 @@ +path,name,category,size_bytes,modified_time,primary_author,contributor_count,contributors_list,sha256_hash +.claude/commands/release/beta.md,beta.md,documentation,3103,2025-07-01T08:33:22.037438,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),345f06e3f304470a8892e96979355919c8e5d8f4212ebbe543c3272fd15a5cbe +.claude/commands/release/changelog.md,changelog.md,documentation,4648,2025-07-03T18:43:10.075727,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),ea2484352f4f881aa71f546dcf84b0882d60c96673a88406aa2f7e12a282a1f4 +.claude/commands/release/release-check.md,release-check.md,documentation,3344,2025-07-01T08:33:22.040060,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),7dd41a40e95c89153936c4ea60a3c989eccd5973fff9f6caef156de82f12bd04 +.claude/commands/release/release.md,release.md,documentation,2925,2025-07-01T08:33:22.043674,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),0e4afd788fcf85fbe46094452e9b92a4290c3e23702283e72ee56aa9288476e5 +.claude/commands/test-live.md,test-live.md,documentation,18720,2025-07-03T18:43:10.076403,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),21a9edeefb3e5673d833151a2fd0464087c0f0a9d056fdd7fca474c1d177d6fc +.dockerignore,.dockerignore,other,623,2025-07-01T08:33:22.048301,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),b3079bffad89d07186c9166725075524ffc07ceea6dc1d53fdbea6dca9585684 +.github/ISSUE_TEMPLATE/bug_report.md,bug_report.md,documentation,967,2025-03-01T14:22:50.968994,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),0d34443ddda84a5e9726c8268083c9646d2cc64ff9c5ebf56c89587cef4c7706 +.github/ISSUE_TEMPLATE/config.yml,config.yml,configuration,374,2025-03-01T14:23:26.936836,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),f4e21bb9b7f053509b6c08548a2649a5d62f44f0106810aa8c915d2f29acc623 +.github/ISSUE_TEMPLATE/documentation.md,documentation.md,documentation,557,2025-03-01T14:23:40.020117,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),78f80a6b9a2b954695f74a847a068e0b780da6020572401c13c931555a4a9db5 +.github/ISSUE_TEMPLATE/feature_request.md,feature_request.md,documentation,786,2025-03-01T14:23:06.344081,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),cee834de442221d53f3d2eeb85b81f3a641b3a7cb587ef8a169452305007439d +.github/dependabot.yml,dependabot.yml,configuration,529,2025-03-15T10:40:16.936258,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),8c6c2ef9a1417da63adb49c70f45524129bd5c46bbd7452b6b97cfe65205f89d +.github/workflows/claude.yml,claude.yml,legal,4628,2025-07-03T18:43:10.076958,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),d026f1756310781b85abc491b454cc31b52dfce4b951cdf8a4a555b6b047604c +.github/workflows/dev-release.yml,dev-release.yml,configuration,1405,2025-06-03T08:31:42.915367,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),58bcfc9e11e210e02dee76aabe7d1378da4edafb7f61857049ee6ccee9d45ffa +.github/workflows/docker.yml,docker.yml,configuration,1621,2025-07-01T08:33:22.049870,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),c918a86f2b16ebb45182a73c45272bcd6cea7022cc6e0eaeb2b2a24d8eebfe4d +.github/workflows/pr-title.yml,pr-title.yml,configuration,887,2025-02-17T16:29:35.733646,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),b6df62a20235496feba4d9419c85d6e8446c4d447ad69e7f57b51cc8953f68f4 +.github/workflows/release.yml,release.yml,configuration,2479,2025-07-03T18:43:10.077261,Drew Cain,2,Drew Cain (groksrc@gmail.com); Paul Hernandez (paul@basicmachines.co),163307a99e2f3d317af6ae8927e1537654d88bf574a6958ac0bcd2d4de266b2a +.github/workflows/test.yml,test.yml,configuration,1426,2025-07-01T08:33:22.054430,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),ab09084a11be8adfc83fc6285c652fbe44a4584aa7d7d3658fcf0c57112d1640 +.gitignore,.gitignore,other,566,2025-07-01T08:33:22.055006,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),358658b0faa8c3145e539421deba4ad0bac4a8ea2e608b2c2f867a822c67b36f +.python-version,.python-version,other,5,2024-12-02T16:41:37.012830,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),7b55f8e67b5623c4bef3fa691288da9437d79d3aba156de48d481db32ac7d16d +CHANGELOG.md,CHANGELOG.md,documentation,53647,2025-07-06T10:34:45.550847,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); semantic-release (semantic-release),0b165eb18975ff253cde08f4687b7808ac6ce63b6d8c10912c495a76c9058d1a +CITATION.cff,CITATION.cff,other,302,2025-02-17T16:29:35.735146,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),bc4878cf6f80bb64655f3f93a5821ffe0924ad8311c784b5f81a36093fcffdda +CLA.md,CLA.md,legal,1342,2025-03-01T14:12:38.435132,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),c238c7ff4f2b8451c6bba1bbacd10b04fb7d41d9a9cd76a62644d8193791d169 +CLAUDE.md,CLAUDE.md,legal,12310,2025-07-03T18:43:10.078147,Drew Cain,4,Drew Cain (groksrc@gmail.com); Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co); Ikko Eltociear Ashimine (eltociear@gmail.com),751f10c1a9a9c0ba2054d9c9cd36cf0989d6a347491fd505bb6504ee74b12900 +CODE_OF_CONDUCT.md,CODE_OF_CONDUCT.md,documentation,509,2025-02-17T16:29:35.735238,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),b276b464e85eb1e5d9f09d90bba9573508a7bf81d2eeb38d0f25bd9f2fa66198 +CONTRIBUTING.md,CONTRIBUTING.md,documentation,7329,2025-07-30T09:39:36.607158,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (paul@basicmachines.co),ca822fe39cc529bfc3822d317ab8a20fd141ec3ecb8c20de9e2eca3edce1c282 +Dockerfile,Dockerfile,other,856,2025-07-01T08:33:22.056908,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),c45501905423990e31ffdb8ae4e976eca6423c6784905c1036bcc7795b70feef +LICENSE,LICENSE,legal,34523,2024-12-02T16:41:20.739392,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef +README.md,README.md,documentation,16261,2025-07-03T18:43:10.078281,Drew Cain,6,Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); Jason Noble (github+jasonn@jasonnoble.org); Marc Baiza (43151891+mbaiza27@users.noreply.github.com); Matias Forbord (codeluggage@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),2c4b82b30f49ab465617034fda999157450ed168f8e097fe8e9ca7ac65a197a7 +SECURITY.md,SECURITY.md,documentation,303,2025-03-12T16:04:01.989927,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),96932268b8fe737577941b49e9dff5ff8ad59c11cc3f9a016989589ef5c98c1f +docker-compose.yml,docker-compose.yml,configuration,2534,2025-07-01T08:33:22.059281,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),4a9fdfd2f0d42b148fe021eee77fd5e772c7ba9c2fe5d0cc310c8c7a64257417 +docs/AI Assistant Guide.md,AI Assistant Guide.md,documentation,16423,2025-07-01T08:33:22.060491,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),c717869a3d356852077026591364ecb0589a6d53f9764af027c57d142ea7ff55 +docs/Docker.md,Docker.md,documentation,9088,2025-07-01T08:33:22.060976,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),e13d3f50148353046b52d9d493986880f76f2914ef4efe1a759b2cc9d10913a4 +justfile,justfile,other,5496,2025-07-30T09:39:36.608008,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com),a8df6c73ee8cf3eaa48e4cba193dffbc2821b843a8cc0c0cd58b8517f2252907 +llms-install.md,llms-install.md,documentation,2307,2025-06-29T14:19:28.826375,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),674105eb85c8f1d59fc2ddc6840f2a2a3e293358687a305c37dffc8144304f97 +memory.json,memory.json,configuration,90075,2025-06-29T14:19:28.827172,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),22d5eee995ca0548b7d9dd152f9a3690c42a514cbf38fea750b3ed2a17dd99c5 +pyproject.toml,pyproject.toml,configuration,3279,2025-07-30T09:39:36.608791,Paul Hernandez,4,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); semantic-release (semantic-release),428a5d64d4555dc7cd2a81b89a3444bdb1d2f3017257fbc9160bd0ae982718e1 +smithery.yaml,smithery.yaml,configuration,433,2025-03-11T16:36:03.389716,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),63f13499cf4fee0751b5005f5bd85597dc1c7f9a881f4ec8147cc23e95e75c2d +src/basic_memory/__init__.py,__init__.py,source_code,256,2025-07-06T10:34:45.551291,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@gmail.com); semantic-release (semantic-release),c946490ab9d64957d25df37f721392024916f8a81ed838f70a8e938b1c2637db +src/basic_memory/alembic/alembic.ini,alembic.ini,configuration,3733,2025-02-23T17:31:23.198433,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),20466c9c5f026db66793006bebb2f328a3686c7bb34da40d52f33c3eca29e717 +src/basic_memory/alembic/env.py,env.py,source_code,2838,2025-07-08T20:39:18.336650,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),e241d987eadfcd5011cbd9ddbecb833d306de87937759d81c08d37d04a6906b0 +src/basic_memory/alembic/migrations.py,migrations.py,source_code,718,2025-06-21T00:01:59.613806,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),96b8873d70dd04b48d5c45b7413a54d1224ab9577557ef0dad5929377a9fb144 +src/basic_memory/alembic/script.py.mako,script.py.mako,other,635,2025-02-17T16:29:35.739659,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),304a8bfb6a804e5493f5300e79882c70c9f5bb2e87512f4d16f0e097dddd323f +src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py,3dae7c7b1564_initial_schema.py,source_code,4363,2025-06-21T00:01:59.595762,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),9536d69409ddd5eb3bc54f7d0e82607da45ed7f2ad7bc4cbf7cae2a9e28657cd +src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py,502b60eaa905_remove_required_from_entity_permalink.py,source_code,1840,2025-06-21T00:01:59.604717,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),93ac584e660f33d468b3eec203b070641298c282bf82655d0beda7f050237681 +src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py,5fe1ab1ccebe_add_projects_table.py,source_code,4379,2025-06-21T00:01:59.601299,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),d82098f5aca3cdbada60c7229ea4ac262f527349eed9ef9e864509bacfaccf7e +src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py,647e7a75e2cd_project_constraint_fix.py,source_code,4210,2025-07-01T08:33:22.063463,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),604ac5908a5976272f52297866d13abb14a99390590935d9fd37cf13e32049fa +src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py,b3c3938bacdb_relation_to_name_unique_index.py,source_code,1428,2025-06-21T00:01:59.598551,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),46c1b2990cdf4575752d234a8b28b494c8a54f15b5360c12f6347aef27b66a92 +src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py,cc7172b46608_update_search_index_schema.py,source_code,3679,2025-06-21T00:01:59.610909,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),9036af47d42ac7dc12bb93f7a9de1266aff0688b031b550c4e0d92983a24b4c5 +src/basic_memory/api/__init__.py,__init__.py,source_code,72,2025-06-21T00:01:59.579981,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),c02a63fb6d63d43d0acca97d425eae9cb055158d0ad6e1a9fc57926512adaa99 +src/basic_memory/api/app.py,app.py,source_code,2897,2025-07-08T20:39:18.337081,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ad673ac2c09410af5830f6afdffaa28b0040480dacd52ff01750b8b2c066e8cf +src/basic_memory/api/routers/__init__.py,__init__.py,source_code,398,2025-06-21T00:01:59.549416,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),4443b908a43dea8e6fb4658009cb08c48a56c9b21449e29773cdd159b59cf014 +src/basic_memory/api/routers/directory_router.py,directory_router.py,source_code,2054,2025-06-21T00:01:59.567371,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ac1407beec1f7d43a4d222af704b3642559c960bebf2eaf6e1ffe91f7fac5514 +src/basic_memory/api/routers/importer_router.py,importer_router.py,source_code,4513,2025-06-21T00:01:59.561600,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),c45502a2b90f5a8f00174c9ad14adc2e65cd7fc0a33d9740a9d750207f0f3bea +src/basic_memory/api/routers/knowledge_router.py,knowledge_router.py,source_code,9738,2025-07-01T08:33:22.064119,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),e1d0ffb4fa5c246582ba844a11b417092de1a173567be55b7060bbc55fbc5681 +src/basic_memory/api/routers/management_router.py,management_router.py,source_code,2730,2025-07-08T20:39:18.337438,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),cdbce294dcec6146c56c4dae15744cdf77039fd21b23eef7cbc0b5f9bfb5f4ee +src/basic_memory/api/routers/memory_router.py,memory_router.py,source_code,3003,2025-07-01T08:33:22.064510,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),6bd0a7c775e0c1290efb6001173237c0cdcfa0c1b1bb27c9145a7b35f1596a97 +src/basic_memory/api/routers/project_router.py,project_router.py,source_code,8444,2025-07-30T09:39:45.721369,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),6539c69f1d506c65d14cc2c151876b19057f37d84d51a9e6f464ed47a4692648 +src/basic_memory/api/routers/prompt_router.py,prompt_router.py,source_code,9948,2025-07-01T08:33:22.065221,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),e30c6aebe35112054933c37d0b462c3750005030fc9e44c23b35b2cd2a93485c +src/basic_memory/api/routers/resource_router.py,resource_router.py,source_code,8058,2025-06-21T00:01:59.570399,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),584244a84698ff24ca8f9f94fab5b891740a51c25f972920c08ebf83f478d5c9 +src/basic_memory/api/routers/search_router.py,search_router.py,source_code,1226,2025-06-21T00:01:59.543020,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),183eb68e50904e22ff54db1d89b8be6f57fa1f8d0a096a3d497d8297b607e105 +src/basic_memory/api/routers/utils.py,utils.py,source_code,5159,2025-07-03T18:43:10.079143,Drew Cain,2,Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),9e60f57da24e1dc9d64236c26a7a2353003dc618a77fbeb853c494aa3357a57c +src/basic_memory/api/template_loader.py,template_loader.py,source_code,8607,2025-06-21T00:01:59.576132,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),7b16d3797c89460c8b1664a335eae8c634fb5f60d6166d97e6a5156b776b6d83 +src/basic_memory/cli/__init__.py,__init__.py,source_code,33,2025-06-21T00:01:59.456735,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),6ab70a2c05910e13c3ef1e6df34325be265e633c076741998a0cb2dcd295a069 +src/basic_memory/cli/app.py,app.py,source_code,2268,2025-07-08T20:39:18.337708,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),f710670380d707c4458ad881f7a25bb3c5cdb2bcff59f139f37421264fe8f2f8 +src/basic_memory/cli/commands/__init__.py,__init__.py,source_code,393,2025-07-08T20:39:18.338070,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),de8a23702f98fb844fa9f7fdbedc16ce24ff4f8baf05589c2f4a521cd8a55645 +src/basic_memory/cli/commands/db.py,db.py,source_code,1480,2025-07-08T20:39:18.338326,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),704a1096d80ab9d12e247d029fe6223e935a0d0ceee7e615c020f46a720828e0 +src/basic_memory/cli/commands/import_chatgpt.py,import_chatgpt.py,source_code,2856,2025-07-08T20:39:18.338787,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),8957cca3acab6351335624a518bdc19d956487e93d86dd1b6c2309e9d5850ae5 +src/basic_memory/cli/commands/import_claude_conversations.py,import_claude_conversations.py,legal,2946,2025-07-08T20:39:18.339053,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),7bc97838732bf00f4fb4a80e3ba4fdfbce8971ae85cc2ac902c3b3a3e110ae57 +src/basic_memory/cli/commands/import_claude_projects.py,import_claude_projects.py,legal,2891,2025-07-08T20:39:18.339310,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),6321577075801c99ad47a0cdc13b5aa3c9ca102a05ca8f06ae2a51125a8c43bc +src/basic_memory/cli/commands/import_memory_json.py,import_memory_json.py,source_code,3013,2025-07-30T09:39:45.721637,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),7ea193f6720b2672290ad16c79a143a31d88a1d567838f12b9ebf9110a7c0338 +src/basic_memory/cli/commands/mcp.py,mcp.py,source_code,2593,2025-07-08T20:39:18.340025,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),3e1be3d27b18ef4743204b7cf8a37fbc2a1a91fc1636c468e08cefcd8597bac6 +src/basic_memory/cli/commands/project.py,project.py,source_code,13836,2025-07-30T09:39:45.721838,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),af3e6f30410ab48355f4b1a46aaa3aa5423cb0a0490f51447db1d25e09f39916 +src/basic_memory/cli/commands/status.py,status.py,source_code,5809,2025-07-08T20:39:18.340324,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),b6d0ea237d714d054f69b24a2058beba74e224a2fa4a80a525d62a2aa2ea2d70 +src/basic_memory/cli/commands/sync.py,sync.py,source_code,8213,2025-07-08T20:39:18.340627,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),703b3e73c4c33850c27f6f4c07abbf5d4ce5dc43f706bf0c43264bbb45f8b213 +src/basic_memory/cli/commands/tool.py,tool.py,source_code,9540,2025-07-01T08:33:22.070903,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),9b2fa400b9f7921bf55b602f8bbdfa36b1ec7e4a5bc8fe7b9838b92e31f0a9ed +src/basic_memory/cli/main.py,main.py,source_code,465,2025-07-08T20:39:18.340868,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),7a405b12bff98e319968526238ae15859df0362bba5a3857562fecca47b5c70d +src/basic_memory/config.py,config.py,source_code,12487,2025-07-30T09:39:45.722031,jope-bm,5,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),86341330a041b94d38f5e4f1b94f3509d74351c67cc826af1a4ff57313e5f726 +src/basic_memory/db.py,db.py,source_code,7428,2025-07-08T20:39:18.341550,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),25e053b0b3f9e8fa823b05fc099001efe8a3a4f6e0f80728e5079ba45aa406d8 +src/basic_memory/deps.py,deps.py,source_code,12144,2025-07-08T20:39:18.341870,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),bce28cd9ca549b8afce0bc689cc1fb2dc80cd5b929f85114aa682bb8ae82411d +src/basic_memory/file_utils.py,file_utils.py,source_code,6700,2025-06-21T00:01:59.587200,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),79ac5328b2c46d3232fcc6ff22ffc39ade085c0252ad91958be2a7ae9c9c8b71 +src/basic_memory/importers/__init__.py,__init__.py,source_code,795,2025-06-21T00:01:59.295471,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),0537015bdecfded85cb166b9c3db50b2f3aef329c70e0c36fbcb4f824099a21f +src/basic_memory/importers/base.py,base.py,source_code,2531,2025-06-21T00:01:59.305335,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),6b0c1efd4f827f348834aa0cea2ae8eebbb842a2e5b1f5f3747ced0ef79b9f13 +src/basic_memory/importers/chatgpt_importer.py,chatgpt_importer.py,source_code,7372,2025-06-21T00:01:59.308956,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),dfa540b196ab23b5c4e6bfcac4da567873351cf7c78fa35f4c3b87e84c58e218 +src/basic_memory/importers/claude_conversations_importer.py,claude_conversations_importer.py,legal,5725,2025-06-21T00:01:59.288540,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),a7bc9e872f4f81ce5f79fe9dd1a6fd0f00a6f020a2cb2664184a97f14eeb1dbc +src/basic_memory/importers/claude_projects_importer.py,claude_projects_importer.py,legal,5389,2025-06-21T00:01:59.291737,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),a452675fd9bb18ebf64eb4bd7f69ccd7e993b617931015a3c4ab700d67493863 +src/basic_memory/importers/memory_json_importer.py,memory_json_importer.py,source_code,4631,2025-07-30T09:39:45.722316,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),bc7d045299f17ed9ad5cebff7b1423250ec28a11130e47a0ac48d3ab82bdeafc +src/basic_memory/importers/utils.py,utils.py,source_code,1792,2025-06-21T00:01:59.298428,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),ee7e22fd4812362394f62ed8944abe80738c1e3ab88131faf639f4a8ccfd6c89 +src/basic_memory/markdown/__init__.py,__init__.py,source_code,501,2025-06-21T00:01:59.316337,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),0ddce2a025ad0e729aab4e411d82e02ffefc15ac041cba4b5e7a7e90f4957c87 +src/basic_memory/markdown/entity_parser.py,entity_parser.py,source_code,4516,2025-06-21T00:01:59.321461,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),1b0d1177358645ccbadd170b3f62760dc9bd838d38c741978ab0da5836234d68 +src/basic_memory/markdown/markdown_processor.py,markdown_processor.py,source_code,4968,2025-06-21T00:01:59.325241,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),4b99f2ebdceed9d96a3bbb562682eba4b4b383c7a64080eaec3bbba25a4952c9 +src/basic_memory/markdown/plugins.py,plugins.py,source_code,6639,2025-06-21T00:01:59.312733,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),82d2332918e866ccaf06a2e954d9eb9b397f71b4d9e591a7f2472e5f1423464a +src/basic_memory/markdown/schemas.py,schemas.py,source_code,1896,2025-06-21T00:01:59.329982,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),7b2c580abd615725a62267257b46ac13922dfc30fa01192a681658bb528ae67e +src/basic_memory/markdown/utils.py,utils.py,source_code,3410,2025-07-03T18:43:10.079889,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),1b757f0d06e60e3ea276c0b2ea44fe1a156a895e093c1e607d6286e702bf4ae4 +src/basic_memory/mcp/__init__.py,__init__.py,source_code,35,2025-06-21T00:01:59.404757,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),76c0ce84aaa361e21b0942db1c8c5f708b536eab9d12e120d4da7ce9eab41844 +src/basic_memory/mcp/async_client.py,async_client.py,source_code,925,2025-07-30T09:39:45.722547,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),6531f4387f30a30a322197ff51d6eacae4b25a58c648095931b3d1145d1da303 +src/basic_memory/mcp/project_session.py,project_session.py,source_code,4203,2025-07-08T20:39:18.342906,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),4da403ec93dec9063eeb8b05246e3501740d162cc77a067d3ce54ba43d690819 +src/basic_memory/mcp/prompts/__init__.py,__init__.py,source_code,615,2025-07-08T20:39:18.343263,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),f8197d0e08f64c3f4f50b8f38203ea5eebcf123582472ed2f58834de1dbe53b0 +src/basic_memory/mcp/prompts/ai_assistant_guide.py,ai_assistant_guide.py,source_code,821,2025-06-21T00:13:53.262832,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),f13239c4e6e2455730bfac3d6f2d71407957d3086fc84efe2c6b22a833114c58 +src/basic_memory/mcp/prompts/continue_conversation.py,continue_conversation.py,source_code,1998,2025-06-21T00:13:53.263309,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),aec9a50b657b7bb1ba0c02b42bcdb9bc5b0f2a0b1143bd361c5ce7ea59076833 +src/basic_memory/mcp/prompts/recent_activity.py,recent_activity.py,source_code,3311,2025-07-01T08:33:22.073986,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),d2fd5cddbd927430f15d5b85f1e3a3368a18cb4e2e4587a5d29749d2b9e0830e +src/basic_memory/mcp/prompts/search.py,search.py,source_code,1692,2025-06-21T00:13:53.264093,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),9dbf3c319cbdb5d5bf32608b51522d8ae92b2dd6f7c441d62efd0954b525738a +src/basic_memory/mcp/prompts/utils.py,utils.py,source_code,5431,2025-06-21T00:01:59.425042,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),55a72b6eac18b724a9225608aca1e8e6cea3b684ccb1c609aab1511f7ce90ba4 +src/basic_memory/mcp/resources/ai_assistant_guide.md,ai_assistant_guide.md,documentation,14777,2025-03-28T19:12:38.653627,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),aa76160e46256fe2662ae3a86799659916acfede1d5835c1fe2f0b136efb2e0b +src/basic_memory/mcp/resources/project_info.py,project_info.py,source_code,1906,2025-06-21T00:13:53.264918,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),2dc5244f1e225c17d4e8ba784d5721efc3aa2e8a5b3b2e258f22a77ebe155eca +src/basic_memory/mcp/server.py,server.py,source_code,1248,2025-07-08T20:39:18.343419,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),0a910cae27d61ea923e90fbe2d4b5c7cacf3b29d3e156f0b7f77872ab973c761 +src/basic_memory/mcp/tools/__init__.py,__init__.py,source_code,1619,2025-07-03T18:43:10.080029,Drew Cain,2,Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (paul@basicmachines.co),872b771dd52ec3b763645a2baf6e10a70f049ce3106830a6d3f053b3e09a5fe6 +src/basic_memory/mcp/tools/build_context.py,build_context.py,source_code,4611,2025-07-03T18:43:10.080426,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),724280b77b8f5f3e61cd3fdeebc3ee66e2bcfedaaea3638e6a2e2e33fcb1978e +src/basic_memory/mcp/tools/canvas.py,canvas.py,source_code,3738,2025-07-01T08:33:22.076204,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),db617d1bd81f3dbfa5f22d41e6b6b825afe1f73618f37acf63d9830390b98246 +src/basic_memory/mcp/tools/delete_note.py,delete_note.py,source_code,7346,2025-07-01T08:33:22.076726,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),b52c9173f5600662f255e7a70a5c17d5293ef8b29c19a8403334d7da62b65c8b +src/basic_memory/mcp/tools/edit_note.py,edit_note.py,source_code,13570,2025-07-01T08:33:22.077181,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),ab8c7e7fbfa3fe5fb0ce6d7bf805454f5fd6182a340aae25237b1e6127b6d5a6 +src/basic_memory/mcp/tools/list_directory.py,list_directory.py,source_code,5236,2025-06-21T00:13:53.267453,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),f85c43b02aeee580f4d8ce2a9100c0bab1095b245a0bb608e1847ace0d1ab51f +src/basic_memory/mcp/tools/move_note.py,move_note.py,source_code,17541,2025-07-30T09:39:45.722919,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),5ef27d9baaebc2c5656fc49c4798a4e4e40a70b6cd9d1e761dbcae021bad558c +src/basic_memory/mcp/tools/project_management.py,project_management.py,source_code,12944,2025-07-06T10:34:45.552403,Drew Cain,2,Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (paul@basicmachines.co),cdac736d65129f689a85c6b82f8e043bc84a31657ead7a8331771171eeaa860f +src/basic_memory/mcp/tools/read_content.py,read_content.py,source_code,9125,2025-07-30T09:39:45.723469,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),96a13addac507fd874394dfa2e1e5ed71af5eb89d0872c1d68cacf9cac3f8724 +src/basic_memory/mcp/tools/read_note.py,read_note.py,source_code,8132,2025-07-30T09:39:45.723828,jope-bm,5,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); Amadeusz Wieczorek (git@amadeusw.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),dff53ce02b16d9c5fca315b3f09bb70867a89d614b0ef3f0548dce87978048ee +src/basic_memory/mcp/tools/recent_activity.py,recent_activity.py,source_code,4833,2025-06-21T00:13:53.269120,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),5d58cd2402679b1bf3c7dfcbb3503e40e776c9347ba499524d3b91c528af98de +src/basic_memory/mcp/tools/search.py,search.py,source_code,15883,2025-07-03T18:43:10.081557,Drew Cain,4,Drew Cain (groksrc@gmail.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),8519b0057468c4450eb543a2f561bcd0d7cb96e1ce1b95e948e02b309ba6b7ca +src/basic_memory/mcp/tools/sync_status.py,sync_status.py,source_code,10517,2025-07-08T20:39:18.344231,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),73dd73b186eaec8b82e6b17e39a67c27082d24e0653dc4e4b35712bd83b80a22 +src/basic_memory/mcp/tools/utils.py,utils.py,source_code,20892,2025-07-30T09:39:36.616253,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),a95004911e276822eba88a3fef15c5b9ba861b1ca9a2ecfe0c1e3fb2f4ef0116 +src/basic_memory/mcp/tools/view_note.py,view_note.py,source_code,2499,2025-07-01T08:33:22.080024,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),75d357c72113b1d0394987e521a4158ff09b77b23b08b56cddab5144331b1a68 +src/basic_memory/mcp/tools/write_note.py,write_note.py,source_code,6612,2025-07-30T09:39:45.723985,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),771396fb49d397feb5f7e36321d4d233c22c4d1b53414912c849957c6e96fc83 +src/basic_memory/models/__init__.py,__init__.py,source_code,333,2025-06-21T00:01:59.437212,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),8f40b876d162f85384690291f1d416106f9d26d750d793414e2260e276c85cd5 +src/basic_memory/models/base.py,base.py,source_code,225,2025-06-21T00:01:59.447249,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),e2101727c084d519e32a16f6de53ddf9033b1bf15721d4e8c0c27d6d18b1b295 +src/basic_memory/models/knowledge.py,knowledge.py,source_code,7087,2025-06-21T00:01:59.444376,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),005c5f292f1f45ae372aadc48c9080b9fa6d7b854d0bb7ecf587ec843ac1e28d +src/basic_memory/models/project.py,project.py,source_code,2773,2025-07-01T08:33:22.080907,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),a14ad06943aeeff9ae4a5fa2dfc0e1d07ce6085acc02dc20c402c3513b7d9397 +src/basic_memory/models/search.py,search.py,source_code,1300,2025-06-21T00:01:59.440923,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),3e143cc38b5a0294af8e1d43a4f841e1c1fd193b76136a68f83159ce19e86646 +src/basic_memory/repository/__init__.py,__init__.py,source_code,327,2025-06-21T00:01:59.256363,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),3162bea3c42292accea5ee52c8f6ca4368a8079056034529cfae6d820f84d035 +src/basic_memory/repository/entity_repository.py,entity_repository.py,source_code,10405,2025-07-03T18:43:10.082570,Drew Cain,3,Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),e2a8d1eba6c8d64bc61d7168df0fe8c29a670858bf9daeac464a0f440273fae0 +src/basic_memory/repository/observation_repository.py,observation_repository.py,source_code,2943,2025-06-21T00:01:59.269646,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (phernandez@basicmachines.co),aa132f1cb4a36a84f715afdc40e2ac4f98d83e3eba1974b2b4404cc0b020ca04 +src/basic_memory/repository/project_info_repository.py,project_info_repository.py,source_code,338,2025-06-21T00:01:59.252582,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),f172d50182a405643a19b2a3d62a80f4e2b41463c775394eb3b66d7de51ff6df +src/basic_memory/repository/project_repository.py,project_repository.py,source_code,3803,2025-07-30T09:39:45.724344,jope-bm,2,jope-bm (joe@basicmemory.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),9083ba214b2bcaaf98164d9c33cda7add52bc77f7269ecb6e43cdd5088728b7c +src/basic_memory/repository/relation_repository.py,relation_repository.py,source_code,3179,2025-06-21T00:01:59.246745,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),cfb3a8e59cff27e063e91bd00e949647bdd92e4d9fc46edeee3acc6de15e26f4 +src/basic_memory/repository/repository.py,repository.py,source_code,15224,2025-06-21T00:01:59.273355,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),3096fe71bf106506cbf86aeafe2aafe0aabbe5a5f6c90a212c8aa1e53e1f171c +src/basic_memory/repository/search_repository.py,search_repository.py,source_code,21936,2025-07-03T18:43:10.082844,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),a972f73d1b71dac5770e8eb3793c6c9ac44e4e792f9dab528f8c4e6c6a80bcaa +src/basic_memory/schemas/__init__.py,__init__.py,source_code,1674,2025-06-21T00:01:59.514555,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),98480815c75379bfafe32d2090e87fa40e73caa19b664fbd5db5ea9528ba58cb +src/basic_memory/schemas/base.py,base.py,source_code,6738,2025-07-01T08:33:22.082193,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),171f7b0c4ab33abef2f7379eb1e3bda950586ce7edff83907fd12255f84e267e +src/basic_memory/schemas/delete.py,delete.py,source_code,1180,2025-06-21T00:01:59.502563,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),50047624af7d58c8f780ffb2a065a51c3dde64492f9534917fc42860813e59fc +src/basic_memory/schemas/directory.py,directory.py,source_code,881,2025-06-21T00:01:59.529023,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),17dfcbac9a91a9bfe43b4f060ca2735cb6f69e16d81b63dd554a397830ff29fe +src/basic_memory/schemas/importer.py,importer.py,source_code,693,2025-07-30T09:39:45.724633,jope-bm,2,jope-bm (joe@basicmemory.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ac33df423ca32b28ce7b6ea9c29d541f8783a86c0c29f78db35163bf93f139cd +src/basic_memory/schemas/memory.py,memory.py,source_code,5833,2025-07-03T18:43:10.083167,Drew Cain,3,Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),acb4a953a553feca672c4895798a7d948ec51f922f75b66dd7d55716e3bebed3 +src/basic_memory/schemas/project_info.py,project_info.py,source_code,7047,2025-07-01T08:33:22.083248,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),7dc3635297b6e7fe6e3262b2d78da26f7a79a846a4cecd5624f2e4828979cf2c +src/basic_memory/schemas/prompt.py,prompt.py,source_code,3648,2025-06-21T00:01:59.525753,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),4a92157d9a6b413f04e6e3f8d23dc2a417369c729f9703a8de2643ec114f2071 +src/basic_memory/schemas/request.py,request.py,source_code,3760,2025-06-21T00:01:59.511789,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),32fe44beb2d99452223ebf1d3a3a3fe105ef92c79885023b71dfd7db30ecc503 +src/basic_memory/schemas/response.py,response.py,source_code,6450,2025-07-03T18:43:10.083478,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),5eea4660a2abe48d83ed083d1c2483fdcfb403e0b504f03c14d22f1cae866abb +src/basic_memory/schemas/search.py,search.py,source_code,3657,2025-06-21T00:01:59.522804,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),cb032c0c60102b6b0ed934f995cf9d6bf93aece296d71d537a75e8ae61c75afe +src/basic_memory/services/__init__.py,__init__.py,source_code,259,2025-06-21T00:01:59.655059,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),5c6b7c597ddf5ffd0af4bdfb32ccbc1c5f2794c658206dee43a9945fafe226d8 +src/basic_memory/services/context_service.py,context_service.py,source_code,14462,2025-06-21T00:01:59.672086,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (paulmh@gmail.com),e1178b005e6a89f03d6b239e3c6b152aeb30d535a3f280734440a3aec16228f2 +src/basic_memory/services/directory_service.py,directory_service.py,source_code,6017,2025-06-21T00:01:59.648501,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),fd838f5ec79033892777b3c8140868f4b57f13e1658d513959524a434b9f959b +src/basic_memory/services/entity_service.py,entity_service.py,source_code,30440,2025-07-03T18:43:10.083956,Paul Hernandez,4,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),7cd5163eca6b8a0772e838c8c869e478166763cd6a2d745b0b9aa5c25a65baee +src/basic_memory/services/exceptions.py,exceptions.py,source_code,390,2025-06-21T00:01:59.668908,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),a158d0af9d1742a9c5ab5f8c34a062948d9286d1c3c72a5abf20e4d547b21e1c +src/basic_memory/services/file_service.py,file_service.py,source_code,10059,2025-06-21T00:01:59.641785,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),8c2ae69c4913438b7d1c5ecbfcce812fbb5d0ea8e3cedcbd8694e8f40cf086f3 +src/basic_memory/services/initialization.py,initialization.py,source_code,6715,2025-07-08T20:39:18.344482,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),4dde58b799cf4ac90631e59949b55b3355a93bdf99df0d9c2408c0cea67e10c4 +src/basic_memory/services/link_resolver.py,link_resolver.py,source_code,4594,2025-07-01T08:33:22.084908,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),d7efd516cbea753e6b5411def09aeaeb7539f5743487119ecf163c736e138a8c +src/basic_memory/services/project_service.py,project_service.py,source_code,30125,2025-07-30T09:39:45.725079,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),bce95c00aa9a1da0a8c8090ee34b5b1494207f8c99e6c25de4ec43fddc38f6be +src/basic_memory/services/search_service.py,search_service.py,source_code,12782,2025-06-21T00:01:59.665439,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),7392b2d2e7f3ed83c5807855ccd450e0e79c17f254aedee700bce9323a1b5b83 +src/basic_memory/services/service.py,service.py,source_code,336,2025-06-21T00:01:59.636167,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),57e77ff20395d3bcc62100e92fe2acaacdd937d977a9fdc764e2b57ff60d4da8 +src/basic_memory/services/sync_status_service.py,sync_status_service.py,source_code,7504,2025-07-03T18:43:10.084229,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),0a025d689e8e16f1632872104952105fc904537f3d32bcff592eb1f1dc76fbb7 +src/basic_memory/sync/__init__.py,__init__.py,source_code,156,2025-06-21T00:01:59.621137,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),0951e0b981f8e7b876bb6c6833c2af3a29490bbd5726567ea9487c947723623e +src/basic_memory/sync/background_sync.py,background_sync.py,source_code,726,2025-07-08T20:39:18.345062,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),549af64ae91128b76c6df07ef517b82de85ca4ad796be44b5c0141fac01d4513 +src/basic_memory/sync/sync_service.py,sync_service.py,source_code,23387,2025-07-01T08:33:22.086507,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),0310b927561370f593980d07773bce641b618b8fbf2d9e3890d174290a0344fc +src/basic_memory/sync/watch_service.py,watch_service.py,source_code,15316,2025-06-26T09:28:51.859209,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),240ba6ac7523575945f4db442b7da3820d26c9605f2d7a2d357c4e35e215f523 +src/basic_memory/templates/prompts/continue_conversation.hbs,continue_conversation.hbs,templates,3076,2025-07-01T08:33:22.086792,Drew Cain,2,Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),b6bac31d25c0e52d0909b2273285092f4e31bc219107f92ed511cd407b65e992 +src/basic_memory/templates/prompts/search.hbs,search.hbs,templates,3098,2025-05-25T10:07:54.520119,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),1f570222c1caa78542d46ac7d8a79407ca467b9bd714fa9bd953e8b72a667820 +src/basic_memory/utils.py,utils.py,source_code,8654,2025-07-30T09:39:45.725428,jope-bm,5,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); andyxinweiminicloud (andyxinweimin263@icloud.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),111f343e3367339730e081c08acf4613667be574f946126513b5d82da3086bed +test-int/conftest.py,conftest.py,source_code,8203,2025-07-08T20:39:18.345735,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),7231e1bc76cddc7c94433e853825dc0165b103bedf996c2c24eda6ae32fff5ad +test-int/mcp/test_build_context_validation.py,test_build_context_validation.py,source_code,6469,2025-07-08T20:39:18.346021,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),ee61d6b15cee0194fd74c1bcf9361d5a839f6081c7d571ef081da8fcefe1bbf2 +test-int/mcp/test_delete_note_integration.py,test_delete_note_integration.py,source_code,13175,2025-07-08T20:39:18.346366,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),497495249b8bcf0af177d8705c6899875460707697980434e560cfe56f86feb3 +test-int/mcp/test_edit_note_integration.py,test_edit_note_integration.py,source_code,19822,2025-07-08T20:39:18.346730,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),9ba704badd05808aee0b5a686b7e250e1c865229ec92dab561cba5287b6f6fc6 +test-int/mcp/test_list_directory_integration.py,test_list_directory_integration.py,source_code,14744,2025-07-08T20:39:18.347106,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),2c4336a59de63f17ed252bb52d1330ebca901ad83bfebc9e5aa67f132a3c77c6 +test-int/mcp/test_move_note_integration.py,test_move_note_integration.py,source_code,19825,2025-07-08T20:39:18.347344,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),cbb17688d0f9551306a7520b059ace7f7dfba70fc20bf0ec98b1148000d7ad7d +test-int/mcp/test_project_management_integration.py,test_project_management_integration.py,source_code,33175,2025-07-08T20:39:18.347658,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),93a43cd699453a7602a5def839740ba5027ab914eba3e7b66a026860ed6bd567 +test-int/mcp/test_project_state_sync_integration.py,test_project_state_sync_integration.py,source_code,7728,2025-07-08T20:39:18.347907,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),80b0f5b5cd359498dcbd3af7dcb6194afa4582d8efb3faa38d28675ee45e0748 +test-int/mcp/test_read_content_integration.py,test_read_content_integration.py,source_code,11187,2025-07-08T20:39:18.348233,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),6955dd343b40df088ac79175e52723501d83796335a16e43b7f58e16e757e1b8 +test-int/mcp/test_read_note_integration.py,test_read_note_integration.py,source_code,1381,2025-07-08T20:39:18.348463,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),b93050da68d0e9d47d46879a386567f688399e28390f4eb31ee37353dc27514b +test-int/mcp/test_search_integration.py,test_search_integration.py,source_code,14690,2025-07-08T20:39:18.348959,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),e0957ada9dd9b12eae5843a37d241ec9293ca929f18281e31197dae36bff589d +test-int/mcp/test_write_note_integration.py,test_write_note_integration.py,source_code,9472,2025-07-08T20:39:18.349398,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),b2b56fee8351168d0c65640c295d969dc4575d9bea87927b2dc07e591cabdff3 +tests/Non-MarkdownFileSupport.pdf,Non-MarkdownFileSupport.pdf,other,106751,2025-02-23T17:31:23.206428,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),4aa96f9d0ee830ef6a1ec92243f302bbe2fa8971b84945f4eb5e276bf1ffde96 +tests/Screenshot.png,Screenshot.png,other,190076,2025-02-23T17:31:23.207771,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),dd82612fe013c39810d28ae0f2bbcca6ab2c9925b035d7720bb02493ddf5d0a9 +tests/__init__.py,__init__.py,source_code,141,2025-06-21T00:01:46.216456,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),2ac5605e69ad8829e96b3689632536539f1cdd3149a29c1903f25af0793a5d65 +tests/api/conftest.py,conftest.py,source_code,1404,2025-06-21T00:01:46.359728,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),ea46cde47a37c1f43fe079e48f5d0de8007155a0187f4445abc4f2ffde9c1791 +tests/api/test_async_client.py,test_async_client.py,source_code,1382,2025-07-30T09:39:45.725666,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),a2f96226a75e5cff2326ca48ddccea4915964d83e529f7b99958bc233ccdc31a +tests/api/test_continue_conversation_template.py,test_continue_conversation_template.py,source_code,5152,2025-06-21T00:01:46.390901,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),cca08b0291db0ad693c60d8dc203660021feab46d9eb530be7f67e0ebb52c1d3 +tests/api/test_directory_router.py,test_directory_router.py,source_code,9376,2025-06-21T00:01:46.356659,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),428626589f0010512481ba495368b0bf2b9617b22764e588eaa3562e86da4d37 +tests/api/test_importer_router.py,test_importer_router.py,source_code,16578,2025-06-21T00:01:46.368070,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),03edf6e7404c7350afe76e54ea2bf0d66f668bcdb49f59702067a67b3694309d +tests/api/test_knowledge_router.py,test_knowledge_router.py,source_code,45771,2025-07-01T08:33:22.090490,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),43a5f91ae1fb9038e65c09701336fbdc4dbf40c8319c94727e6312fda9d6d56e +tests/api/test_management_router.py,test_management_router.py,source_code,6220,2025-06-21T00:01:46.402764,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),f6a3f41f263f10c08281525571e2e39fc9ae818ebb7e9895e3f3f3115ea05677 +tests/api/test_memory_router.py,test_memory_router.py,source_code,5555,2025-06-21T00:01:46.399667,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (phernandez@basicmachines.co),2b8782015c893081fc67b7f13a7255d4e3dc45b27705a524f94918a339e2d486 +tests/api/test_project_router.py,test_project_router.py,source_code,13288,2025-07-30T09:39:45.725847,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),af85d0870069d3831a9214372853994e5d12dc910e37298eb9958f72f6a8bb31 +tests/api/test_project_router_operations.py,test_project_router_operations.py,source_code,1812,2025-06-21T00:01:46.381705,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),afd40879de3d7c508cca0feeae3cb7a8f3afcfbb06f59a6104189b1e3291376a +tests/api/test_prompt_router.py,test_prompt_router.py,source_code,5046,2025-06-21T00:01:46.396588,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),9115995b7dd8b44d8a9c06c5e1bbb177618286675a769889e35ac16f26fd9897 +tests/api/test_resource_router.py,test_resource_router.py,source_code,13960,2025-06-21T00:01:46.384919,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ad3cb2cabaeab82a7e64253ceede7c1791e2bd70c92f60bc5f3be939292ca22d +tests/api/test_search_router.py,test_search_router.py,source_code,6409,2025-06-21T00:01:46.375427,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (phernandez@basicmachines.co),ba3e3809795e72db9dd9c8c729048bdbbbdb897c2a5aa8b175112b5d4b56d152 +tests/api/test_search_template.py,test_search_template.py,source_code,5258,2025-06-21T00:01:46.378721,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),8f0d16a1de947d0466d96afed02e695f7648adac70b9ba99753250068207a686 +tests/api/test_template_loader.py,test_template_loader.py,source_code,8035,2025-06-21T00:01:46.406694,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),4fd7c6c4862cc0d877d29244ecdc0b52a0693fc4574a9667663bee36bfd36b62 +tests/api/test_template_loader_helpers.py,test_template_loader_helpers.py,source_code,7445,2025-06-21T00:01:46.372114,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),8dd35f11c9b3f2d96ac36263edf4430308728c04c9da543b1cb845b96ab20aa7 +tests/cli/conftest.py,conftest.py,source_code,1185,2025-07-01T08:33:22.090848,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),c3c73da7ad73224931e1fba4ebd70792221be607bfb1488bb5c9420bba03bdb8 +tests/cli/test_cli_tools.py,test_cli_tools.py,source_code,13528,2025-06-21T00:01:46.318964,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),befb8cab50132e26a1b13b82ce8e93a3258282cf157a4230214bfcefeae65102 +tests/cli/test_import_chatgpt.py,test_import_chatgpt.py,source_code,6719,2025-07-08T20:39:18.350234,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),df447335545248e2fb2417af33f8cc2f0143bd413a1783e41f89605de305b7c8 +tests/cli/test_import_claude_conversations.py,test_import_claude_conversations.py,legal,5028,2025-07-08T20:39:18.350607,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ac4b3b9dfc331fa7fa32a2941c027ff8b6585a94a5ccfaaf0a4affe5cf19c00c +tests/cli/test_import_claude_projects.py,test_import_claude_projects.py,legal,4585,2025-07-08T20:39:18.350885,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),7eaab3d491d50ca59c8ba015ecd5740a5feae94d970ee17559c6df9d8558c2cc +tests/cli/test_import_memory_json.py,test_import_memory_json.py,source_code,4891,2025-07-30T09:39:45.726290,jope-bm,3,jope-bm (joe@basicmemory.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),d6734ce059dacf97bc764d848b2e2a6ba52fa96871bc331ec9d2ddc60b766bb6 +tests/cli/test_project_commands.py,test_project_commands.py,source_code,6578,2025-07-30T09:39:45.726703,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),51e2ac7ff44b0d1a1db6da406c5c2e6aebceb1b63a1e8d5ab51bbaa834507157 +tests/cli/test_project_info.py,test_project_info.py,source_code,3874,2025-07-01T08:33:22.091600,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),0b08950e95a5f276f14c56f6fe99af4d41b8f04548e9b7746f807c5ac4155578 +tests/cli/test_status.py,test_status.py,source_code,4160,2025-07-01T08:33:22.091978,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),a1ff89fdac4bf57ba03be92ac79b8ca3210af0b1132d5a2bd0fc0c253fcbf988 +tests/cli/test_sync.py,test_sync.py,source_code,3864,2025-07-08T20:43:47.816788,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),77e0f6b42b584a5acfda3c2ff194ff5e71ca57a40cb4484d563f5482bbbb4c0f +tests/cli/test_version.py,test_version.py,source_code,289,2025-06-21T00:01:46.305368,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),db95665178a32d391bd83011d073db269cefba9da8a4dc4d3e392d47bc0e0a8f +tests/conftest.py,conftest.py,source_code,15286,2025-07-08T20:39:18.351368,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),c6f38f103ce58144ffe4562f0c47dad849974e96327f02805e854447e19bc411 +tests/importers/test_importer_base.py,test_importer_base.py,source_code,4329,2025-07-08T20:39:00.549594,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),da872a073f2b90fda3c98c9f44cf45884f4f682d91ec1b1f931d42c34eee1939 +tests/importers/test_importer_utils.py,test_importer_utils.py,source_code,1827,2025-06-21T00:01:46.184343,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),cbee630c855ceb1de764ac0cdb1d5d781c16cd3a934d67166adc235c98f363d7 +tests/markdown/__init__.py,__init__.py,source_code,0,2025-06-21T00:01:46.196570,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +tests/markdown/test_entity_parser.py,test_entity_parser.py,source_code,8669,2025-06-21T00:01:46.206579,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),496fdab6fe164634f8223f827585a4c0dedd30ccea7b0b69dc79004ad0996de2 +tests/markdown/test_markdown_plugins.py,test_markdown_plugins.py,source_code,5139,2025-06-21T00:01:46.200759,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),9624d73462aadcd47fb0edd0d87880959a8982eecfa39529f21e3b292c34cb83 +tests/markdown/test_markdown_processor.py,test_markdown_processor.py,source_code,5728,2025-06-21T00:01:46.194175,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),35042aa57dd2aeed848c624aa7f69decfb18e83c3b217eca1fdacfc4a10831db +tests/markdown/test_observation_edge_cases.py,test_observation_edge_cases.py,source_code,4295,2025-06-21T00:01:46.209598,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),6f1ab7684bfa8b02af0e0c42b3d7aed91fcd0b1c6288cbc9b6d6943c166979fa +tests/markdown/test_parser_edge_cases.py,test_parser_edge_cases.py,source_code,5142,2025-06-21T00:01:46.213291,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),d511d7d1187e3c1d3a8d3e0ab9efc9e68e84115c46811e7a9dc21eca9a87d520 +tests/markdown/test_relation_edge_cases.py,test_relation_edge_cases.py,source_code,3952,2025-06-21T00:01:46.203846,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),f8e2016308f84139342cc37ec6e389ffe52d7eb46f998ee327c7f0d5bba3ad9b +tests/markdown/test_task_detection.py,test_task_detection.py,source_code,401,2025-06-21T00:01:46.191444,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),37fe91a689742033a0eb76723557e31c2a85e591133383b3887572cb714db2a5 +tests/mcp/conftest.py,conftest.py,source_code,1761,2025-07-08T20:39:18.351554,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),350b2ca42c52ef76e002deddb65fc0eccb9f8989bd26078ea1c100e3b93bae3f +tests/mcp/test_prompts.py,test_prompts.py,source_code,5989,2025-07-01T08:33:22.093691,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),e3b2ee5b4bc120b5043225ebdbf73eadd71be9c3d9d8e1fdd66a24a8ff11a780 +tests/mcp/test_resource_project_info.py,test_resource_project_info.py,source_code,4885,2025-07-01T08:33:22.094085,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),6a043736789b239c8d4ae00d1a5332a0fc3bed4038fe3388970ba97dc7431a93 +tests/mcp/test_resources.py,test_resources.py,source_code,549,2025-07-01T08:33:22.094481,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),77a6396b9b8a9d3b3d202e438243ca6178d87fd7680c9fc063ee013f2042aa4c +tests/mcp/test_tool_build_context.py,test_tool_build_context.py,source_code,3714,2025-07-01T08:33:22.094661,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),5f0a39fdb652605335ed54aa91fe994262441bb7ba46f381c46ebca882fc23f2 +tests/mcp/test_tool_canvas.py,test_tool_canvas.py,source_code,7997,2025-07-01T08:33:22.094982,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),c517bb1f9edc77b76fbeb483dfcb2dd57de9f0b80a10738708bc90cbe388dc9e +tests/mcp/test_tool_delete_note.py,test_tool_delete_note.py,source_code,4208,2025-07-01T08:33:22.095578,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),4cbf3ba4313438651b0608d5b25faf1400f7bd6a78af630351aecd4457800895 +tests/mcp/test_tool_edit_note.py,test_tool_edit_note.py,source_code,13503,2025-07-03T18:43:10.084890,Drew Cain,2,Drew Cain (groksrc@gmail.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),dd441969aa54b3739f2d9202d3feaf46aee807ec51e01a13ef41eda52743944f +tests/mcp/test_tool_list_directory.py,test_tool_list_directory.py,source_code,7730,2025-07-01T08:33:22.096737,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),cfbb5c06bcfe74ea60f31051eb9b03ac80b86232b053c188bf3b172132f7c0f5 +tests/mcp/test_tool_move_note.py,test_tool_move_note.py,source_code,25851,2025-07-30T09:39:45.727347,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (paul@basicmachines.co),c9f95158503fa42e37532aaa35027538fa49cea718d059d570cf547d31f01043 +tests/mcp/test_tool_read_content.py,test_tool_read_content.py,source_code,19442,2025-07-30T09:39:45.727526,jope-bm,1,jope-bm (joe@basicmemory.com),1817e32f997b06dbdabf02864d0c70584c1cd80bf1fae8dfbef649de79434bc5 +tests/mcp/test_tool_read_note.py,test_tool_read_note.py,source_code,22991,2025-07-30T09:39:45.727746,jope-bm,4,jope-bm (joe@basicmemory.com); Paul Hernandez (paul@basicmachines.co); Amadeusz Wieczorek (git@amadeusw.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),4e13ea9ff977525aa62b6a8c22505ffe989329dc3e7d07b71e044cf43ef3ddfd +tests/mcp/test_tool_recent_activity.py,test_tool_recent_activity.py,source_code,3983,2025-07-01T08:33:22.098561,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),45414152cd45334b84df56f653146b7bd2939907548e7245a37207fdccfc4c87 +tests/mcp/test_tool_resource.py,test_tool_resource.py,source_code,6782,2025-07-01T08:33:22.098948,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),3916ae1c4d458eee53d2c570b9bbb708ecd617de5a145c3a7552389954bc9195 +tests/mcp/test_tool_search.py,test_tool_search.py,source_code,10959,2025-07-03T18:43:10.085177,Drew Cain,3,Drew Cain (groksrc@gmail.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),07839cf8e89d74ba05ec1dc55fa842444c1f0cc3d1587823b0ac3458ad89e87c +tests/mcp/test_tool_sync_status.py,test_tool_sync_status.py,source_code,6331,2025-07-01T08:33:22.100021,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),3f3566df5b9f3c66bb9b3bd77d4c05825480d0e85015305cb1b7ab9429c7a7ec +tests/mcp/test_tool_utils.py,test_tool_utils.py,source_code,9228,2025-07-01T08:33:22.100561,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),b50789f7a78b0169f52dc8bd16e262510ed4a0ac130fce698d4be84af1fe2d31 +tests/mcp/test_tool_view_note.py,test_tool_view_note.py,source_code,10004,2025-07-01T08:33:22.101164,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),385535ce791c3ab55db827cbcf27ea25ae85faf3a027f52df4eea052cede7f36 +tests/mcp/test_tool_write_note.py,test_tool_write_note.py,source_code,35136,2025-07-30T09:39:45.728137,jope-bm,3,jope-bm (joe@basicmemory.com); Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),45172de20cfc4f4436287573b4f5a94b8b616a360647af67ba1c6c343ccd41b8 +tests/repository/test_entity_repository.py,test_entity_repository.py,source_code,15498,2025-06-21T00:01:46.176265,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),8f5d1ff6cff7b640993ff73f463b1e7801a4dd69640fc55fa23dc58b865e9943 +tests/repository/test_entity_repository_upsert.py,test_entity_repository_upsert.py,source_code,16983,2025-07-03T18:43:10.085482,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@users.noreply.github.com),ee0ecd6f4ff8b31838bd6de6fb1018af437e02813d8315c06f4e20a6b78a0572 +tests/repository/test_observation_repository.py,test_observation_repository.py,source_code,11786,2025-06-21T00:01:46.158862,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (phernandez@basicmachines.co),3006d392ad94dcc9b3ae031d63a1af6935624534389dd025de70d4c9e112aa0b +tests/repository/test_project_info_repository.py,test_project_info_repository.py,source_code,1186,2025-06-21T00:01:46.161876,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),dbce7ae7350403cbc37343c2e3e68e4d2255e247006aaa6c495a7ce8bfddea7d +tests/repository/test_project_repository.py,test_project_repository.py,source_code,10511,2025-07-30T09:39:45.728536,jope-bm,2,jope-bm (joe@basicmemory.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),279a3324635b1b515c18003bd1875cf230fef1192cadef9ca426846783717e75 +tests/repository/test_relation_repository.py,test_relation_repository.py,source_code,11980,2025-06-21T00:01:46.167567,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (phernandez@basicmachines.co),fcdbdf40f7b56145b98eedde5ead64ef6187e859adde48cc09f5a97754757428 +tests/repository/test_repository.py,test_repository.py,source_code,5996,2025-06-21T00:01:46.152691,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),3a6d4ca0b7a438a30ae504f5eac22874d4e1a937a4246e90efad46c90f0e1c95 +tests/repository/test_search_repository.py,test_search_repository.py,source_code,25471,2025-07-03T18:43:10.086041,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),805b5cc55a53ae9d6e86c0de735c7f38ac9fd92c23194b0150fa3e7f5507a146 +tests/schemas/test_memory_url.py,test_memory_url.py,source_code,2000,2025-06-21T00:01:46.346515,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),946fa6c48534f41c8b9cc27bbad164d3e3673a79afa84fbb439fae4cd26c504b +tests/schemas/test_memory_url_validation.py,test_memory_url_validation.py,source_code,9338,2025-07-01T08:33:22.103247,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),7054c3a3cdb8e05d2ffd254ed298908ff3d48a0a3927d960975eae1ab9beeb38 +tests/schemas/test_schemas.py,test_schemas.py,source_code,16880,2025-07-03T18:43:10.086337,Drew Cain,3,Drew Cain (groksrc@gmail.com); Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),2c746a00c340f063c160ace67569955a300a294040949695c79fd4ae124fb611 +tests/schemas/test_search.py,test_search.py,source_code,3264,2025-06-21T00:01:46.343685,github-actions[bot] (AI Assistant),2,github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),7437775d1b4a61a438cbabe3dbb1becd2adc4dbcc0c24595830c0843fa7a3166 +tests/services/test_context_service.py,test_context_service.py,source_code,8833,2025-06-21T00:01:46.446200,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),ab49d21a05d5364e7e8a2f00b07aabe1109b7417698e0acd92792e2cb5f22732 +tests/services/test_directory_service.py,test_directory_service.py,source_code,6854,2025-06-21T00:01:46.457258,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),a0c765fb6bd1a75b6ba4592b1df344c48273b6ab03ba6bd15d2b5e840eb2d521 +tests/services/test_entity_service.py,test_entity_service.py,source_code,59278,2025-07-03T18:43:10.086674,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),d7d495756faa10b415d705cf26b69d2efbc5f190a834b6767386ff296629ea71 +tests/services/test_file_service.py,test_file_service.py,source_code,5243,2025-06-21T00:01:46.460141,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),83e6e9a7584b7baeccbc84865d8c1d3e2a0223e7d2b9c066d3799c289196ab7d +tests/services/test_initialization.py,test_initialization.py,source_code,6939,2025-07-08T20:39:18.351946,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ebb8d11ff37dcb36c4844c68f873c8e0e8aa6ab1b82abb22ee96c4233e6ab287 +tests/services/test_link_resolver.py,test_link_resolver.py,source_code,13618,2025-07-01T08:33:22.105766,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),c9fc56d0c3572770e95ca6175c213ed8b44c2a6ddddc298b5662cc2d8f41014e +tests/services/test_project_service.py,test_project_service.py,source_code,28152,2025-07-30T09:39:45.728920,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),430868ed796518937a3b0bed4d8c33be53264a6100d61d54b0745bb2b58bf29a +tests/services/test_project_service_operations.py,test_project_service_operations.py,source_code,4679,2025-06-21T00:01:46.442141,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),d4103b6c5fff7e74ba84b86033537b8522aa60fc75aec4974d52e1dfec68b1b4 +tests/services/test_search_service.py,test_search_service.py,source_code,25299,2025-06-21T00:01:46.439133,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),b3e58258db2b727ab8a1792e52fcb038d3a0779bcd1b70f2d295a9d06e5e2513 +tests/services/test_sync_status_service.py,test_sync_status_service.py,source_code,9926,2025-07-03T18:43:10.087266,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),00245ca356e33fc7afcd2d42cb5ec082038c95383d738067821cf1e8d23c9a4b +tests/sync/test_sync_service.py,test_sync_service.py,source_code,39659,2025-07-01T08:33:22.107088,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),0609aee9906549f27fc4289b5ac2d46a50e53e12a0615a2701f17fbe9a74e169 +tests/sync/test_sync_wikilink_issue.py,test_sync_wikilink_issue.py,source_code,1959,2025-06-21T00:01:46.420370,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),db4b98dd7008a1a26b0fd02b9a2d03bca950b281efc19d98a91b017c500b23a5 +tests/sync/test_tmp_files.py,test_tmp_files.py,source_code,5930,2025-06-21T00:01:46.424277,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),cead95a07b29f6c1ab933abe67f9648122f5f33d33753c8e4ab4934af96cbc25 +tests/sync/test_watch_service.py,test_watch_service.py,source_code,14076,2025-06-26T09:28:51.860679,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),e324a4127f8bfe59798f3a08125488c701e88239b7482d87a0394b91c55b893e +tests/sync/test_watch_service_edge_cases.py,test_watch_service_edge_cases.py,source_code,2169,2025-06-21T00:01:46.409830,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),b87c5015330e9b551630aab7ef95ac1e7663f0ce46e912d8155b319e139559aa +tests/test_config.py,test_config.py,source_code,3680,2025-07-03T18:43:10.087558,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),6a246431cff739274efda895dfa28f38710289a73e645312f5fa05fce0885ec8 +tests/test_db_migration_deduplication.py,test_db_migration_deduplication.py,source_code,6166,2025-07-08T20:39:18.352690,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com),ab768e061531ca2edcd598c101b5d884e549f90c7a4b305a23713a199d263fbb +tests/utils/test_file_utils.py,test_file_utils.py,source_code,6199,2025-06-21T00:01:46.219673,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),4615bb20b92b8a79d9e086301f852b34c3360f17ecc209920d68528268ddeed4 +tests/utils/test_parse_tags.py,test_parse_tags.py,source_code,1691,2025-06-21T00:01:46.223400,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),b83afdf18dac8b3411bd0fab1301683217d3d1abceaf2d22c09e79c709efd8eb +tests/utils/test_permalink_formatting.py,test_permalink_formatting.py,source_code,4193,2025-06-21T00:01:46.225738,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),d998a4ca846c78679728a918b6f71df67c30b6961ede3cffa609f2cf6ad160eb +tests/utils/test_utf8_handling.py,test_utf8_handling.py,source_code,5791,2025-06-21T00:01:46.228483,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),50ec792e572af51cd2d996d4ddacbcfd3bbd79aa928818a90c42117451ea829f +tests/utils/test_validate_project_path.py,test_validate_project_path.py,source_code,15346,2025-07-30T09:39:45.729224,jope-bm,1,jope-bm (joe@basicmemory.com),27a4bf2a9d277e6cd773619e5241b20175d211ec60c284361bec404fd99143f3 +uv.lock,uv.lock,other,232710,2025-07-30T09:39:36.619155,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),caa1e3f6e66464b884a78cab77df2fe303fa3c0dc573be0196474b6d3c150581 diff --git a/legal_inventory_git/basic_memory_inventory_20250729_200145.md b/legal_inventory_git/basic_memory_inventory_20250729_200145.md new file mode 100644 index 00000000..3aa60abe --- /dev/null +++ b/legal_inventory_git/basic_memory_inventory_20250729_200145.md @@ -0,0 +1,1936 @@ +# Basic Memory - Legal File Inventory + +## Summary + +**Scan Date:** 2025-07-29T20:01:45.749024 +**Repository:** /Users/phernandez/dev/basicmachines/basic-memory +**Total Files:** 270 +**Total Size:** 2,502,013 bytes +**Contributors:** 17 + +## File Categories + +- **Configuration:** 12 files +- **Documentation:** 17 files +- **Legal:** 10 files +- **Other:** 10 files +- **Source Code:** 219 files +- **Templates:** 2 files + +## Contributors + +- **Paul Hernandez** (paul@basicmachines.co): 243 files, 65 commits +- **bm-claudeai (AI Assistant)** (claude@basicmachines.co): 144 files, 7 commits +- **Drew Cain** (groksrc@users.noreply.github.com): 30 files, 23 commits +- **github-actions[bot] (AI Assistant)** (41898282+github-actions[bot]@users.noreply.github.com): 24 files, 7 commits +- **semantic-release** (semantic-release): 3 files, 44 commits +- **Amadeusz Wieczorek** (git@amadeusw.com): 2 files, 1 commits +- **Ikko Eltociear Ashimine** (eltociear@gmail.com): 1 files, 1 commits +- **Jason Noble** (github+jasonn@jasonnoble.org): 1 files, 2 commits +- **Marc Baiza** (43151891+mbaiza27@users.noreply.github.com): 1 files, 2 commits +- **Matias Forbord** (codeluggage@users.noreply.github.com): 1 files, 1 commits + +## Detailed File Inventory + +### Configuration + +**.github/ISSUE_TEMPLATE/config.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 374 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f4e21bb9b7f053509b6c08548a2649a5d62f44f0106810aa8c915d2f29acc623` + +**.github/dependabot.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 529 bytes +- All Contributors: Paul Hernandez +- SHA-256: `8c6c2ef9a1417da63adb49c70f45524129bd5c46bbd7452b6b97cfe65205f89d` + +**.github/workflows/dev-release.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,405 bytes +- All Contributors: Paul Hernandez +- SHA-256: `58bcfc9e11e210e02dee76aabe7d1378da4edafb7f61857049ee6ccee9d45ffa` + +**.github/workflows/docker.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,621 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c918a86f2b16ebb45182a73c45272bcd6cea7022cc6e0eaeb2b2a24d8eebfe4d` + +**.github/workflows/pr-title.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 887 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b6df62a20235496feba4d9419c85d6e8446c4d447ad69e7f57b51cc8953f68f4` + +**.github/workflows/release.yml** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 2,479 bytes +- All Contributors: Drew Cain, Paul Hernandez +- SHA-256: `163307a99e2f3d317af6ae8927e1537654d88bf574a6958ac0bcd2d4de266b2a` + +**.github/workflows/test.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,426 bytes +- All Contributors: Paul Hernandez +- SHA-256: `ab09084a11be8adfc83fc6285c652fbe44a4584aa7d7d3658fcf0c57112d1640` + +**docker-compose.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,534 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4a9fdfd2f0d42b148fe021eee77fd5e772c7ba9c2fe5d0cc310c8c7a64257417` + +**memory.json** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 90,075 bytes +- All Contributors: Paul Hernandez +- SHA-256: `22d5eee995ca0548b7d9dd152f9a3690c42a514cbf38fea750b3ed2a17dd99c5` + +**pyproject.toml** +- Primary Author: Paul Hernandez +- Contributors: 4 +- Size: 3,279 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant), semantic-release +- SHA-256: `5721f830a4fa4c804f82038bcc0edc614a353b9f676abf33fbb73a9a1b70064e` + +**smithery.yaml** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 433 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `63f13499cf4fee0751b5005f5bd85597dc1c7f9a881f4ec8147cc23e95e75c2d` + +**src/basic_memory/alembic/alembic.ini** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,733 bytes +- All Contributors: Paul Hernandez +- SHA-256: `20466c9c5f026db66793006bebb2f328a3686c7bb34da40d52f33c3eca29e717` + +### Documentation + +**.claude/commands/release/beta.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,103 bytes +- All Contributors: Paul Hernandez +- SHA-256: `345f06e3f304470a8892e96979355919c8e5d8f4212ebbe543c3272fd15a5cbe` + +**.claude/commands/release/changelog.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,648 bytes +- All Contributors: Paul Hernandez +- SHA-256: `ea2484352f4f881aa71f546dcf84b0882d60c96673a88406aa2f7e12a282a1f4` + +**.claude/commands/release/release-check.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,344 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7dd41a40e95c89153936c4ea60a3c989eccd5973fff9f6caef156de82f12bd04` + +**.claude/commands/release/release.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,925 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0e4afd788fcf85fbe46094452e9b92a4290c3e23702283e72ee56aa9288476e5` + +**.claude/commands/test-live.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 18,720 bytes +- All Contributors: Paul Hernandez +- SHA-256: `21a9edeefb3e5673d833151a2fd0464087c0f0a9d056fdd7fca474c1d177d6fc` + +**.github/ISSUE_TEMPLATE/bug_report.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 967 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0d34443ddda84a5e9726c8268083c9646d2cc64ff9c5ebf56c89587cef4c7706` + +**.github/ISSUE_TEMPLATE/documentation.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 557 bytes +- All Contributors: Paul Hernandez +- SHA-256: `78f80a6b9a2b954695f74a847a068e0b780da6020572401c13c931555a4a9db5` + +**.github/ISSUE_TEMPLATE/feature_request.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 786 bytes +- All Contributors: Paul Hernandez +- SHA-256: `cee834de442221d53f3d2eeb85b81f3a641b3a7cb587ef8a169452305007439d` + +**CHANGELOG.md** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 53,647 bytes +- All Contributors: Paul Hernandez, semantic-release +- SHA-256: `0b165eb18975ff253cde08f4687b7808ac6ce63b6d8c10912c495a76c9058d1a` + +**CODE_OF_CONDUCT.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 509 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b276b464e85eb1e5d9f09d90bba9573508a7bf81d2eeb38d0f25bd9f2fa66198` + +**CONTRIBUTING.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 7,241 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f0c532c952cc7e8c3231bf74f29e1575abf4428bdbb7452c134e2a2b5637be1e` + +**README.md** +- Primary Author: Drew Cain +- Contributors: 6 +- Size: 16,261 bytes +- All Contributors: Drew Cain, Paul Hernandez, Jason Noble, Marc Baiza, Matias Forbord, bm-claudeai (AI Assistant) +- SHA-256: `2c4b82b30f49ab465617034fda999157450ed168f8e097fe8e9ca7ac65a197a7` + +**SECURITY.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 303 bytes +- All Contributors: Paul Hernandez +- SHA-256: `96932268b8fe737577941b49e9dff5ff8ad59c11cc3f9a016989589ef5c98c1f` + +**docs/AI Assistant Guide.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 16,423 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c717869a3d356852077026591364ecb0589a6d53f9764af027c57d142ea7ff55` + +**docs/Docker.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 9,088 bytes +- All Contributors: Paul Hernandez +- SHA-256: `e13d3f50148353046b52d9d493986880f76f2914ef4efe1a759b2cc9d10913a4` + +**llms-install.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,307 bytes +- All Contributors: Paul Hernandez +- SHA-256: `674105eb85c8f1d59fc2ddc6840f2a2a3e293358687a305c37dffc8144304f97` + +**src/basic_memory/mcp/resources/ai_assistant_guide.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 14,777 bytes +- All Contributors: Paul Hernandez +- SHA-256: `aa76160e46256fe2662ae3a86799659916acfede1d5835c1fe2f0b136efb2e0b` + +### Legal + +**.github/workflows/claude.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,628 bytes +- All Contributors: Paul Hernandez +- SHA-256: `d026f1756310781b85abc491b454cc31b52dfce4b951cdf8a4a555b6b047604c` + +**CLA.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,342 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c238c7ff4f2b8451c6bba1bbacd10b04fb7d41d9a9cd76a62644d8193791d169` + +**CLAUDE.md** +- Primary Author: Drew Cain +- Contributors: 4 +- Size: 12,310 bytes +- All Contributors: Drew Cain, Paul Hernandez, bm-claudeai (AI Assistant), Ikko Eltociear Ashimine +- SHA-256: `751f10c1a9a9c0ba2054d9c9cd36cf0989d6a347491fd505bb6504ee74b12900` + +**LICENSE** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 34,523 bytes +- All Contributors: Paul Hernandez +- SHA-256: `8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef` + +**src/basic_memory/cli/commands/import_claude_conversations.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,946 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7bc97838732bf00f4fb4a80e3ba4fdfbce8971ae85cc2ac902c3b3a3e110ae57` + +**src/basic_memory/cli/commands/import_claude_projects.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,891 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `6321577075801c99ad47a0cdc13b5aa3c9ca102a05ca8f06ae2a51125a8c43bc` + +**src/basic_memory/importers/claude_conversations_importer.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,725 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `a7bc9e872f4f81ce5f79fe9dd1a6fd0f00a6f020a2cb2664184a97f14eeb1dbc` + +**src/basic_memory/importers/claude_projects_importer.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,389 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `a452675fd9bb18ebf64eb4bd7f69ccd7e993b617931015a3c4ab700d67493863` + +**tests/cli/test_import_claude_conversations.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,028 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ac4b3b9dfc331fa7fa32a2941c027ff8b6585a94a5ccfaaf0a4affe5cf19c00c` + +**tests/cli/test_import_claude_projects.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,585 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7eaab3d491d50ca59c8ba015ecd5740a5feae94d970ee17559c6df9d8558c2cc` + +### Other + +**.dockerignore** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 623 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b3079bffad89d07186c9166725075524ffc07ceea6dc1d53fdbea6dca9585684` + +**.gitignore** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 566 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `358658b0faa8c3145e539421deba4ad0bac4a8ea2e608b2c2f867a822c67b36f` + +**.python-version** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7b55f8e67b5623c4bef3fa691288da9437d79d3aba156de48d481db32ac7d16d` + +**CITATION.cff** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 302 bytes +- All Contributors: Paul Hernandez +- SHA-256: `bc4878cf6f80bb64655f3f93a5821ffe0924ad8311c784b5f81a36093fcffdda` + +**Dockerfile** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 856 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `c45501905423990e31ffdb8ae4e976eca6423c6784905c1036bcc7795b70feef` + +**justfile** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,371 bytes +- All Contributors: Paul Hernandez, Drew Cain +- SHA-256: `f2f9b253ddf9b4b2970e544b719a6282bf792f9db387f4d96f781b4c839f94bf` + +**src/basic_memory/alembic/script.py.mako** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 635 bytes +- All Contributors: Paul Hernandez +- SHA-256: `304a8bfb6a804e5493f5300e79882c70c9f5bb2e87512f4d16f0e097dddd323f` + +**tests/Non-MarkdownFileSupport.pdf** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 106,751 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4aa96f9d0ee830ef6a1ec92243f302bbe2fa8971b84945f4eb5e276bf1ffde96` + +**tests/Screenshot.png** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 190,076 bytes +- All Contributors: Paul Hernandez +- SHA-256: `dd82612fe013c39810d28ae0f2bbcca6ab2c9925b035d7720bb02493ddf5d0a9` + +**uv.lock** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 253,206 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `25db9068fe866d6554c732b1ec206f0f7009e47e62f7fac419d96e81bdad075f` + +### Source Code + +**src/basic_memory/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 256 bytes +- All Contributors: Paul Hernandez, Drew Cain, semantic-release +- SHA-256: `c946490ab9d64957d25df37f721392024916f8a81ed838f70a8e938b1c2637db` + +**src/basic_memory/alembic/env.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 2,838 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `e241d987eadfcd5011cbd9ddbecb833d306de87937759d81c08d37d04a6906b0` + +**src/basic_memory/alembic/migrations.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 718 bytes +- All Contributors: Paul Hernandez +- SHA-256: `96b8873d70dd04b48d5c45b7413a54d1224ab9577557ef0dad5929377a9fb144` + +**src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,363 bytes +- All Contributors: Paul Hernandez +- SHA-256: `9536d69409ddd5eb3bc54f7d0e82607da45ed7f2ad7bc4cbf7cae2a9e28657cd` + +**src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,840 bytes +- All Contributors: Paul Hernandez +- SHA-256: `93ac584e660f33d468b3eec203b070641298c282bf82655d0beda7f050237681` + +**src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 4,379 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `d82098f5aca3cdbada60c7229ea4ac262f527349eed9ef9e864509bacfaccf7e` + +**src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,210 bytes +- All Contributors: Paul Hernandez +- SHA-256: `604ac5908a5976272f52297866d13abb14a99390590935d9fd37cf13e32049fa` + +**src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,428 bytes +- All Contributors: Paul Hernandez +- SHA-256: `46c1b2990cdf4575752d234a8b28b494c8a54f15b5360c12f6347aef27b66a92` + +**src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,679 bytes +- All Contributors: Paul Hernandez +- SHA-256: `9036af47d42ac7dc12bb93f7a9de1266aff0688b031b550c4e0d92983a24b4c5` + +**src/basic_memory/api/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 72 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c02a63fb6d63d43d0acca97d425eae9cb055158d0ad6e1a9fc57926512adaa99` + +**src/basic_memory/api/app.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,897 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ad673ac2c09410af5830f6afdffaa28b0040480dacd52ff01750b8b2c066e8cf` + +**src/basic_memory/api/routers/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 398 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `4443b908a43dea8e6fb4658009cb08c48a56c9b21449e29773cdd159b59cf014` + +**src/basic_memory/api/routers/directory_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,054 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ac1407beec1f7d43a4d222af704b3642559c960bebf2eaf6e1ffe91f7fac5514` + +**src/basic_memory/api/routers/importer_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 4,513 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `c45502a2b90f5a8f00174c9ad14adc2e65cd7fc0a33d9740a9d750207f0f3bea` + +**src/basic_memory/api/routers/knowledge_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,738 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `e1d0ffb4fa5c246582ba844a11b417092de1a173567be55b7060bbc55fbc5681` + +**src/basic_memory/api/routers/management_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,730 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `cdbce294dcec6146c56c4dae15744cdf77039fd21b23eef7cbc0b5f9bfb5f4ee` + +**src/basic_memory/api/routers/memory_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,003 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `6bd0a7c775e0c1290efb6001173237c0cdcfa0c1b1bb27c9145a7b35f1596a97` + +**src/basic_memory/api/routers/project_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 8,239 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7171b1e9564c83aee3773322d577fc4a876db9e108d38c51c2d8aff7281fd818` + +**src/basic_memory/api/routers/prompt_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,948 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `e30c6aebe35112054933c37d0b462c3750005030fc9e44c23b35b2cd2a93485c` + +**src/basic_memory/api/routers/resource_router.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 8,058 bytes +- All Contributors: Paul Hernandez +- SHA-256: `584244a84698ff24ca8f9f94fab5b891740a51c25f972920c08ebf83f478d5c9` + +**src/basic_memory/api/routers/search_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 1,226 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `183eb68e50904e22ff54db1d89b8be6f57fa1f8d0a096a3d497d8297b607e105` + +**src/basic_memory/api/routers/utils.py** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 5,159 bytes +- All Contributors: Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `9e60f57da24e1dc9d64236c26a7a2353003dc618a77fbeb853c494aa3357a57c` + +**src/basic_memory/api/template_loader.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 8,607 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `7b16d3797c89460c8b1664a335eae8c634fb5f60d6166d97e6a5156b776b6d83` + +**src/basic_memory/cli/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 33 bytes +- All Contributors: Paul Hernandez +- SHA-256: `6ab70a2c05910e13c3ef1e6df34325be265e633c076741998a0cb2dcd295a069` + +**src/basic_memory/cli/app.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,268 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `f710670380d707c4458ad881f7a25bb3c5cdb2bcff59f139f37421264fe8f2f8` + +**src/basic_memory/cli/commands/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 393 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `de8a23702f98fb844fa9f7fdbedc16ce24ff4f8baf05589c2f4a521cd8a55645` + +**src/basic_memory/cli/commands/db.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,480 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `704a1096d80ab9d12e247d029fe6223e935a0d0ceee7e615c020f46a720828e0` + +**src/basic_memory/cli/commands/import_chatgpt.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,856 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `8957cca3acab6351335624a518bdc19d956487e93d86dd1b6c2309e9d5850ae5` + +**src/basic_memory/cli/commands/import_memory_json.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,947 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `b3a92a4b42fab1353f58ab7dbfac361029fe5d4a3a8efc6f754eb07665768ab8` + +**src/basic_memory/cli/commands/mcp.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 2,593 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `3e1be3d27b18ef4743204b7cf8a37fbc2a1a91fc1636c468e08cefcd8597bac6` + +**src/basic_memory/cli/commands/project.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 12,252 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `f4e256a15f644a42de3c44d43f136cd2fe5871e5cb80f58ed9f538e598a73fd8` + +**src/basic_memory/cli/commands/status.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,809 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `b6d0ea237d714d054f69b24a2058beba74e224a2fa4a80a525d62a2aa2ea2d70` + +**src/basic_memory/cli/commands/sync.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 8,213 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `703b3e73c4c33850c27f6f4c07abbf5d4ce5dc43f706bf0c43264bbb45f8b213` + +**src/basic_memory/cli/commands/tool.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,540 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `9b2fa400b9f7921bf55b602f8bbdfa36b1ec7e4a5bc8fe7b9838b92e31f0a9ed` + +**src/basic_memory/cli/main.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 465 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7a405b12bff98e319968526238ae15859df0362bba5a3857562fecca47b5c70d` + +**src/basic_memory/config.py** +- Primary Author: Paul Hernandez +- Contributors: 4 +- Size: 12,620 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `00e9046df1b70878be146837d441640b4d9882a4e346bea525f3c2158de73cfa` + +**src/basic_memory/db.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 7,428 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `25e053b0b3f9e8fa823b05fc099001efe8a3a4f6e0f80728e5079ba45aa406d8` + +**src/basic_memory/deps.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 12,144 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `bce28cd9ca549b8afce0bc689cc1fb2dc80cd5b929f85114aa682bb8ae82411d` + +**src/basic_memory/file_utils.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,700 bytes +- All Contributors: Paul Hernandez +- SHA-256: `79ac5328b2c46d3232fcc6ff22ffc39ade085c0252ad91958be2a7ae9c9c8b71` + +**src/basic_memory/importers/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 795 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `0537015bdecfded85cb166b9c3db50b2f3aef329c70e0c36fbcb4f824099a21f` + +**src/basic_memory/importers/base.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 2,531 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `6b0c1efd4f827f348834aa0cea2ae8eebbb842a2e5b1f5f3747ced0ef79b9f13` + +**src/basic_memory/importers/chatgpt_importer.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 7,372 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `dfa540b196ab23b5c4e6bfcac4da567873351cf7c78fa35f4c3b87e84c58e218` + +**src/basic_memory/importers/memory_json_importer.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,986 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `8cd348a547ac4332ae7e7778e74f6be9de4539be89187619ed1bf008d2a8f4f7` + +**src/basic_memory/importers/utils.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 1,792 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `ee7e22fd4812362394f62ed8944abe80738c1e3ab88131faf639f4a8ccfd6c89` + +**src/basic_memory/markdown/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 501 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0ddce2a025ad0e729aab4e411d82e02ffefc15ac041cba4b5e7a7e90f4957c87` + +**src/basic_memory/markdown/entity_parser.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,516 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `1b0d1177358645ccbadd170b3f62760dc9bd838d38c741978ab0da5836234d68` + +**src/basic_memory/markdown/markdown_processor.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,968 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4b99f2ebdceed9d96a3bbb562682eba4b4b383c7a64080eaec3bbba25a4952c9` + +**src/basic_memory/markdown/plugins.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,639 bytes +- All Contributors: Paul Hernandez +- SHA-256: `82d2332918e866ccaf06a2e954d9eb9b397f71b4d9e591a7f2472e5f1423464a` + +**src/basic_memory/markdown/schemas.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,896 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7b2c580abd615725a62267257b46ac13922dfc30fa01192a681658bb528ae67e` + +**src/basic_memory/markdown/utils.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,410 bytes +- All Contributors: Paul Hernandez +- SHA-256: `1b757f0d06e60e3ea276c0b2ea44fe1a156a895e093c1e607d6286e702bf4ae4` + +**src/basic_memory/mcp/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 35 bytes +- All Contributors: Paul Hernandez +- SHA-256: `76c0ce84aaa361e21b0942db1c8c5f708b536eab9d12e120d4da7ce9eab41844` + +**src/basic_memory/mcp/async_client.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 925 bytes +- All Contributors: Paul Hernandez +- SHA-256: `6531f4387f30a30a322197ff51d6eacae4b25a58c648095931b3d1145d1da303` + +**src/basic_memory/mcp/project_session.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,203 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4da403ec93dec9063eeb8b05246e3501740d162cc77a067d3ce54ba43d690819` + +**src/basic_memory/mcp/prompts/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 615 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f8197d0e08f64c3f4f50b8f38203ea5eebcf123582472ed2f58834de1dbe53b0` + +**src/basic_memory/mcp/prompts/ai_assistant_guide.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 821 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f13239c4e6e2455730bfac3d6f2d71407957d3086fc84efe2c6b22a833114c58` + +**src/basic_memory/mcp/prompts/continue_conversation.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 1,998 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `aec9a50b657b7bb1ba0c02b42bcdb9bc5b0f2a0b1143bd361c5ce7ea59076833` + +**src/basic_memory/mcp/prompts/recent_activity.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,311 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `d2fd5cddbd927430f15d5b85f1e3a3368a18cb4e2e4587a5d29749d2b9e0830e` + +**src/basic_memory/mcp/prompts/search.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 1,692 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `9dbf3c319cbdb5d5bf32608b51522d8ae92b2dd6f7c441d62efd0954b525738a` + +**src/basic_memory/mcp/prompts/utils.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 5,431 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `55a72b6eac18b724a9225608aca1e8e6cea3b684ccb1c609aab1511f7ce90ba4` + +**src/basic_memory/mcp/resources/project_info.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,906 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `2dc5244f1e225c17d4e8ba784d5721efc3aa2e8a5b3b2e258f22a77ebe155eca` + +**src/basic_memory/mcp/server.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 1,248 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `0a910cae27d61ea923e90fbe2d4b5c7cacf3b29d3e156f0b7f77872ab973c761` + +**src/basic_memory/mcp/tools/__init__.py** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 1,619 bytes +- All Contributors: Drew Cain, Paul Hernandez +- SHA-256: `872b771dd52ec3b763645a2baf6e10a70f049ce3106830a6d3f053b3e09a5fe6` + +**src/basic_memory/mcp/tools/auth.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,231 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c2f9bebec2fe32a844101621b659652008896d37ef09475a53584f795228f400` + +**src/basic_memory/mcp/tools/build_context.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,611 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `724280b77b8f5f3e61cd3fdeebc3ee66e2bcfedaaea3638e6a2e2e33fcb1978e` + +**src/basic_memory/mcp/tools/canvas.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,738 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `db617d1bd81f3dbfa5f22d41e6b6b825afe1f73618f37acf63d9830390b98246` + +**src/basic_memory/mcp/tools/delete_note.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 7,346 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `b52c9173f5600662f255e7a70a5c17d5293ef8b29c19a8403334d7da62b65c8b` + +**src/basic_memory/mcp/tools/edit_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 13,570 bytes +- All Contributors: Paul Hernandez +- SHA-256: `ab8c7e7fbfa3fe5fb0ce6d7bf805454f5fd6182a340aae25237b1e6127b6d5a6` + +**src/basic_memory/mcp/tools/list_directory.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,236 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f85c43b02aeee580f4d8ce2a9100c0bab1095b245a0bb608e1847ace0d1ab51f` + +**src/basic_memory/mcp/tools/move_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 16,708 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b88fd166fa366ac99399c1ebe38fbcbd770e4eac203ea31545b72461e63233cc` + +**src/basic_memory/mcp/tools/project_management.py** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 12,944 bytes +- All Contributors: Drew Cain, Paul Hernandez +- SHA-256: `cdac736d65129f689a85c6b82f8e043bc84a31657ead7a8331771171eeaa860f` + +**src/basic_memory/mcp/tools/read_content.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 8,596 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `e054f0d7707c523555851efc34907d1ca7896ff9c0ebe0464f559d1ad7a43794` + +**src/basic_memory/mcp/tools/read_note.py** +- Primary Author: Paul Hernandez +- Contributors: 4 +- Size: 7,614 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant), Amadeusz Wieczorek, github-actions[bot] (AI Assistant) +- SHA-256: `574f0d741a9663c634438ceec0afbeccddd52bb7e6b821f598e6192b02f5213e` + +**src/basic_memory/mcp/tools/recent_activity.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,833 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `5d58cd2402679b1bf3c7dfcbb3503e40e776c9347ba499524d3b91c528af98de` + +**src/basic_memory/mcp/tools/search.py** +- Primary Author: Drew Cain +- Contributors: 4 +- Size: 15,883 bytes +- All Contributors: Drew Cain, Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `8519b0057468c4450eb543a2f561bcd0d7cb96e1ce1b95e948e02b309ba6b7ca` + +**src/basic_memory/mcp/tools/sync_status.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 10,517 bytes +- All Contributors: Paul Hernandez +- SHA-256: `73dd73b186eaec8b82e6b17e39a67c27082d24e0653dc4e4b35712bd83b80a22` + +**src/basic_memory/mcp/tools/utils.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 21,426 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `78326b840c5c2690e46fd4b0bc97dbeafda39e7b7fc98193521f60340739b396` + +**src/basic_memory/mcp/tools/view_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,499 bytes +- All Contributors: Paul Hernandez +- SHA-256: `75d357c72113b1d0394987e521a4158ff09b77b23b08b56cddab5144331b1a68` + +**src/basic_memory/mcp/tools/write_note.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,178 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `185997fd52c9bdca8adbdf800d30839cf8016b0780abff480460acf7d9b0153c` + +**src/basic_memory/models/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 333 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `8f40b876d162f85384690291f1d416106f9d26d750d793414e2260e276c85cd5` + +**src/basic_memory/models/base.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 225 bytes +- All Contributors: Paul Hernandez +- SHA-256: `e2101727c084d519e32a16f6de53ddf9033b1bf15721d4e8c0c27d6d18b1b295` + +**src/basic_memory/models/knowledge.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 7,087 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `005c5f292f1f45ae372aadc48c9080b9fa6d7b854d0bb7ecf587ec843ac1e28d` + +**src/basic_memory/models/project.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,773 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `a14ad06943aeeff9ae4a5fa2dfc0e1d07ce6085acc02dc20c402c3513b7d9397` + +**src/basic_memory/models/search.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 1,300 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `3e143cc38b5a0294af8e1d43a4f841e1c1fd193b76136a68f83159ce19e86646` + +**src/basic_memory/repository/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 327 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `3162bea3c42292accea5ee52c8f6ca4368a8079056034529cfae6d820f84d035` + +**src/basic_memory/repository/entity_repository.py** +- Primary Author: Drew Cain +- Contributors: 3 +- Size: 10,405 bytes +- All Contributors: Drew Cain, bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `e2a8d1eba6c8d64bc61d7168df0fe8c29a670858bf9daeac464a0f440273fae0` + +**src/basic_memory/repository/observation_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 2,943 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `aa132f1cb4a36a84f715afdc40e2ac4f98d83e3eba1974b2b4404cc0b020ca04` + +**src/basic_memory/repository/project_info_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 338 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `f172d50182a405643a19b2a3d62a80f4e2b41463c775394eb3b66d7de51ff6df` + +**src/basic_memory/repository/project_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 3,159 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `b2074ac4a4d28a23994f3001c1436a962ecae666d788f890100739af4443fe34` + +**src/basic_memory/repository/relation_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 3,179 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `cfb3a8e59cff27e063e91bd00e949647bdd92e4d9fc46edeee3acc6de15e26f4` + +**src/basic_memory/repository/repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 15,224 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `3096fe71bf106506cbf86aeafe2aafe0aabbe5a5f6c90a212c8aa1e53e1f171c` + +**src/basic_memory/repository/search_repository.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 21,936 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `a972f73d1b71dac5770e8eb3793c6c9ac44e4e792f9dab528f8c4e6c6a80bcaa` + +**src/basic_memory/schemas/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 1,674 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `98480815c75379bfafe32d2090e87fa40e73caa19b664fbd5db5ea9528ba58cb` + +**src/basic_memory/schemas/base.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,738 bytes +- All Contributors: Paul Hernandez +- SHA-256: `171f7b0c4ab33abef2f7379eb1e3bda950586ce7edff83907fd12255f84e267e` + +**src/basic_memory/schemas/delete.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,180 bytes +- All Contributors: Paul Hernandez +- SHA-256: `50047624af7d58c8f780ffb2a065a51c3dde64492f9534917fc42860813e59fc` + +**src/basic_memory/schemas/directory.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 881 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `17dfcbac9a91a9bfe43b4f060ca2735cb6f69e16d81b63dd554a397830ff29fe` + +**src/basic_memory/schemas/importer.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 663 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `14087e446c6e8455b6af3dc7171c0bcc43493a21a06d3476854797659a4cdce0` + +**src/basic_memory/schemas/memory.py** +- Primary Author: Drew Cain +- Contributors: 3 +- Size: 5,833 bytes +- All Contributors: Drew Cain, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `acb4a953a553feca672c4895798a7d948ec51f922f75b66dd7d55716e3bebed3` + +**src/basic_memory/schemas/project_info.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 7,047 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7dc3635297b6e7fe6e3262b2d78da26f7a79a846a4cecd5624f2e4828979cf2c` + +**src/basic_memory/schemas/prompt.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 3,648 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `4a92157d9a6b413f04e6e3f8d23dc2a417369c729f9703a8de2643ec114f2071` + +**src/basic_memory/schemas/request.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,760 bytes +- All Contributors: Paul Hernandez +- SHA-256: `32fe44beb2d99452223ebf1d3a3a3fe105ef92c79885023b71dfd7db30ecc503` + +**src/basic_memory/schemas/response.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,450 bytes +- All Contributors: Paul Hernandez +- SHA-256: `5eea4660a2abe48d83ed083d1c2483fdcfb403e0b504f03c14d22f1cae866abb` + +**src/basic_memory/schemas/search.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 3,657 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `cb032c0c60102b6b0ed934f995cf9d6bf93aece296d71d537a75e8ae61c75afe` + +**src/basic_memory/services/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 259 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `5c6b7c597ddf5ffd0af4bdfb32ccbc1c5f2794c658206dee43a9945fafe226d8` + +**src/basic_memory/services/context_service.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 14,462 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `e1178b005e6a89f03d6b239e3c6b152aeb30d535a3f280734440a3aec16228f2` + +**src/basic_memory/services/directory_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,017 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `fd838f5ec79033892777b3c8140868f4b57f13e1658d513959524a434b9f959b` + +**src/basic_memory/services/entity_service.py** +- Primary Author: Paul Hernandez +- Contributors: 4 +- Size: 30,440 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `7cd5163eca6b8a0772e838c8c869e478166763cd6a2d745b0b9aa5c25a65baee` + +**src/basic_memory/services/exceptions.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 390 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `a158d0af9d1742a9c5ab5f8c34a062948d9286d1c3c72a5abf20e4d547b21e1c` + +**src/basic_memory/services/file_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 10,059 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `8c2ae69c4913438b7d1c5ecbfcce812fbb5d0ea8e3cedcbd8694e8f40cf086f3` + +**src/basic_memory/services/initialization.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 6,715 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `4dde58b799cf4ac90631e59949b55b3355a93bdf99df0d9c2408c0cea67e10c4` + +**src/basic_memory/services/link_resolver.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 4,594 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `d7efd516cbea753e6b5411def09aeaeb7539f5743487119ecf163c736e138a8c` + +**src/basic_memory/services/project_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 28,386 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `68eeaed353b09655abc92aac8a118a9e9e6e633eeead75dc5bc44a5ce361c44d` + +**src/basic_memory/services/search_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 12,782 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7392b2d2e7f3ed83c5807855ccd450e0e79c17f254aedee700bce9323a1b5b83` + +**src/basic_memory/services/service.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 336 bytes +- All Contributors: Paul Hernandez +- SHA-256: `57e77ff20395d3bcc62100e92fe2acaacdd937d977a9fdc764e2b57ff60d4da8` + +**src/basic_memory/services/sync_status_service.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 7,504 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0a025d689e8e16f1632872104952105fc904537f3d32bcff592eb1f1dc76fbb7` + +**src/basic_memory/sync/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 156 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0951e0b981f8e7b876bb6c6833c2af3a29490bbd5726567ea9487c947723623e` + +**src/basic_memory/sync/background_sync.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 726 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `549af64ae91128b76c6df07ef517b82de85ca4ad796be44b5c0141fac01d4513` + +**src/basic_memory/sync/sync_service.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 23,387 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `0310b927561370f593980d07773bce641b618b8fbf2d9e3890d174290a0344fc` + +**src/basic_memory/sync/watch_service.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 15,316 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `240ba6ac7523575945f4db442b7da3820d26c9605f2d7a2d357c4e35e215f523` + +**src/basic_memory/utils.py** +- Primary Author: Paul Hernandez +- Contributors: 4 +- Size: 7,657 bytes +- All Contributors: Paul Hernandez, Drew Cain, andyxinweiminicloud, github-actions[bot] (AI Assistant) +- SHA-256: `cb57b95c19f0d8ae51091705b80e8b968230e3e99d12e7554008b65ecb218aa2` + +**test-int/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 8,203 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7231e1bc76cddc7c94433e853825dc0165b103bedf996c2c24eda6ae32fff5ad` + +**test-int/mcp/test_build_context_validation.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,469 bytes +- All Contributors: Paul Hernandez +- SHA-256: `ee61d6b15cee0194fd74c1bcf9361d5a839f6081c7d571ef081da8fcefe1bbf2` + +**test-int/mcp/test_delete_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 13,175 bytes +- All Contributors: Paul Hernandez +- SHA-256: `497495249b8bcf0af177d8705c6899875460707697980434e560cfe56f86feb3` + +**test-int/mcp/test_edit_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 19,822 bytes +- All Contributors: Paul Hernandez +- SHA-256: `9ba704badd05808aee0b5a686b7e250e1c865229ec92dab561cba5287b6f6fc6` + +**test-int/mcp/test_list_directory_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 14,744 bytes +- All Contributors: Paul Hernandez +- SHA-256: `2c4336a59de63f17ed252bb52d1330ebca901ad83bfebc9e5aa67f132a3c77c6` + +**test-int/mcp/test_move_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 19,825 bytes +- All Contributors: Paul Hernandez +- SHA-256: `cbb17688d0f9551306a7520b059ace7f7dfba70fc20bf0ec98b1148000d7ad7d` + +**test-int/mcp/test_project_management_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 33,175 bytes +- All Contributors: Paul Hernandez +- SHA-256: `93a43cd699453a7602a5def839740ba5027ab914eba3e7b66a026860ed6bd567` + +**test-int/mcp/test_project_state_sync_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 7,728 bytes +- All Contributors: Paul Hernandez +- SHA-256: `80b0f5b5cd359498dcbd3af7dcb6194afa4582d8efb3faa38d28675ee45e0748` + +**test-int/mcp/test_read_content_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 11,187 bytes +- All Contributors: Paul Hernandez +- SHA-256: `6955dd343b40df088ac79175e52723501d83796335a16e43b7f58e16e757e1b8` + +**test-int/mcp/test_read_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,381 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b93050da68d0e9d47d46879a386567f688399e28390f4eb31ee37353dc27514b` + +**test-int/mcp/test_search_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 14,690 bytes +- All Contributors: Paul Hernandez +- SHA-256: `e0957ada9dd9b12eae5843a37d241ec9293ca929f18281e31197dae36bff589d` + +**test-int/mcp/test_write_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 9,472 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b2b56fee8351168d0c65640c295d969dc4575d9bea87927b2dc07e591cabdff3` + +**tests/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 141 bytes +- All Contributors: Paul Hernandez +- SHA-256: `2ac5605e69ad8829e96b3689632536539f1cdd3149a29c1903f25af0793a5d65` + +**tests/api/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,404 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ea46cde47a37c1f43fe079e48f5d0de8007155a0187f4445abc4f2ffde9c1791` + +**tests/api/test_async_client.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,382 bytes +- All Contributors: Paul Hernandez +- SHA-256: `a2f96226a75e5cff2326ca48ddccea4915964d83e529f7b99958bc233ccdc31a` + +**tests/api/test_continue_conversation_template.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,152 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `cca08b0291db0ad693c60d8dc203660021feab46d9eb530be7f67e0ebb52c1d3` + +**tests/api/test_directory_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,376 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `428626589f0010512481ba495368b0bf2b9617b22764e588eaa3562e86da4d37` + +**tests/api/test_importer_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 16,578 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `03edf6e7404c7350afe76e54ea2bf0d66f668bcdb49f59702067a67b3694309d` + +**tests/api/test_knowledge_router.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 45,771 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `43a5f91ae1fb9038e65c09701336fbdc4dbf40c8319c94727e6312fda9d6d56e` + +**tests/api/test_management_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 6,220 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `f6a3f41f263f10c08281525571e2e39fc9ae818ebb7e9895e3f3f3115ea05677` + +**tests/api/test_memory_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 5,555 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `2b8782015c893081fc67b7f13a7255d4e3dc45b27705a524f94918a339e2d486` + +**tests/api/test_project_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,201 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `47275a6e534e1db9ce2e48ceb6b22b4fb0f0110c464dae20d345aeab57470766` + +**tests/api/test_project_router_operations.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,812 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `afd40879de3d7c508cca0feeae3cb7a8f3afcfbb06f59a6104189b1e3291376a` + +**tests/api/test_prompt_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,046 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `9115995b7dd8b44d8a9c06c5e1bbb177618286675a769889e35ac16f26fd9897` + +**tests/api/test_resource_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 13,960 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ad3cb2cabaeab82a7e64253ceede7c1791e2bd70c92f60bc5f3be939292ca22d` + +**tests/api/test_search_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 6,409 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `ba3e3809795e72db9dd9c8c729048bdbbbdb897c2a5aa8b175112b5d4b56d152` + +**tests/api/test_search_template.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,258 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `8f0d16a1de947d0466d96afed02e695f7648adac70b9ba99753250068207a686` + +**tests/api/test_template_loader.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 8,035 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `4fd7c6c4862cc0d877d29244ecdc0b52a0693fc4574a9667663bee36bfd36b62` + +**tests/api/test_template_loader_helpers.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 7,445 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `8dd35f11c9b3f2d96ac36263edf4430308728c04c9da543b1cb845b96ab20aa7` + +**tests/cli/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,185 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c3c73da7ad73224931e1fba4ebd70792221be607bfb1488bb5c9420bba03bdb8` + +**tests/cli/test_cli_tools.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 13,528 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `befb8cab50132e26a1b13b82ce8e93a3258282cf157a4230214bfcefeae65102` + +**tests/cli/test_import_chatgpt.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,719 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `df447335545248e2fb2417af33f8cc2f0143bd413a1783e41f89605de305b7c8` + +**tests/cli/test_import_memory_json.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 3,532 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `50260dbfc648be4e0dc7ee6b550d140a3ac083fc9a0bcae15ea48781820d8c6d` + +**tests/cli/test_project_commands.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,143 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `74a27c3a70e4aa564d2fe0ff4f96c5cfe238738163e61e04afeecaa4d7586466` + +**tests/cli/test_project_info.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,874 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `0b08950e95a5f276f14c56f6fe99af4d41b8f04548e9b7746f807c5ac4155578` + +**tests/cli/test_status.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,160 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `a1ff89fdac4bf57ba03be92ac79b8ca3210af0b1132d5a2bd0fc0c253fcbf988` + +**tests/cli/test_sync.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,864 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `77e0f6b42b584a5acfda3c2ff194ff5e71ca57a40cb4484d563f5482bbbb4c0f` + +**tests/cli/test_version.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 289 bytes +- All Contributors: Paul Hernandez +- SHA-256: `db95665178a32d391bd83011d073db269cefba9da8a4dc4d3e392d47bc0e0a8f` + +**tests/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 15,286 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `c6f38f103ce58144ffe4562f0c47dad849974e96327f02805e854447e19bc411` + +**tests/importers/test_importer_base.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 4,329 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `da872a073f2b90fda3c98c9f44cf45884f4f682d91ec1b1f931d42c34eee1939` + +**tests/importers/test_importer_utils.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 1,827 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `cbee630c855ceb1de764ac0cdb1d5d781c16cd3a934d67166adc235c98f363d7` + +**tests/markdown/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 0 bytes +- All Contributors: Paul Hernandez +- SHA-256: `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855` + +**tests/markdown/test_entity_parser.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 8,669 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `496fdab6fe164634f8223f827585a4c0dedd30ccea7b0b69dc79004ad0996de2` + +**tests/markdown/test_markdown_plugins.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,139 bytes +- All Contributors: Paul Hernandez +- SHA-256: `9624d73462aadcd47fb0edd0d87880959a8982eecfa39529f21e3b292c34cb83` + +**tests/markdown/test_markdown_processor.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,728 bytes +- All Contributors: Paul Hernandez +- SHA-256: `35042aa57dd2aeed848c624aa7f69decfb18e83c3b217eca1fdacfc4a10831db` + +**tests/markdown/test_observation_edge_cases.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,295 bytes +- All Contributors: Paul Hernandez +- SHA-256: `6f1ab7684bfa8b02af0e0c42b3d7aed91fcd0b1c6288cbc9b6d6943c166979fa` + +**tests/markdown/test_parser_edge_cases.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,142 bytes +- All Contributors: Paul Hernandez +- SHA-256: `d511d7d1187e3c1d3a8d3e0ab9efc9e68e84115c46811e7a9dc21eca9a87d520` + +**tests/markdown/test_relation_edge_cases.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,952 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f8e2016308f84139342cc37ec6e389ffe52d7eb46f998ee327c7f0d5bba3ad9b` + +**tests/markdown/test_task_detection.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 401 bytes +- All Contributors: Paul Hernandez +- SHA-256: `37fe91a689742033a0eb76723557e31c2a85e591133383b3887572cb714db2a5` + +**tests/mcp/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,761 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `350b2ca42c52ef76e002deddb65fc0eccb9f8989bd26078ea1c100e3b93bae3f` + +**tests/mcp/test_prompts.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,989 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `e3b2ee5b4bc120b5043225ebdbf73eadd71be9c3d9d8e1fdd66a24a8ff11a780` + +**tests/mcp/test_resource_project_info.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,885 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `6a043736789b239c8d4ae00d1a5332a0fc3bed4038fe3388970ba97dc7431a93` + +**tests/mcp/test_resources.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 549 bytes +- All Contributors: Paul Hernandez +- SHA-256: `77a6396b9b8a9d3b3d202e438243ca6178d87fd7680c9fc063ee013f2042aa4c` + +**tests/mcp/test_tool_build_context.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,714 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `5f0a39fdb652605335ed54aa91fe994262441bb7ba46f381c46ebca882fc23f2` + +**tests/mcp/test_tool_canvas.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 7,997 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c517bb1f9edc77b76fbeb483dfcb2dd57de9f0b80a10738708bc90cbe388dc9e` + +**tests/mcp/test_tool_delete_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,208 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4cbf3ba4313438651b0608d5b25faf1400f7bd6a78af630351aecd4457800895` + +**tests/mcp/test_tool_edit_note.py** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 13,503 bytes +- All Contributors: Drew Cain, Paul Hernandez +- SHA-256: `dd441969aa54b3739f2d9202d3feaf46aee807ec51e01a13ef41eda52743944f` + +**tests/mcp/test_tool_list_directory.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 7,730 bytes +- All Contributors: Paul Hernandez +- SHA-256: `cfbb5c06bcfe74ea60f31051eb9b03ac80b86232b053c188bf3b172132f7c0f5` + +**tests/mcp/test_tool_move_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 16,346 bytes +- All Contributors: Paul Hernandez +- SHA-256: `3f7a0205aa7d85d5b5f2747f05e13e989cb5d407f700f3ccab9ac9f1c20a83cd` + +**tests/mcp/test_tool_read_note.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 9,741 bytes +- All Contributors: Paul Hernandez, Amadeusz Wieczorek, github-actions[bot] (AI Assistant) +- SHA-256: `fcc6735afa9a129d63c20fc7b80a64234a6ca7f7cabe7582357ebd0b3dd89cd0` + +**tests/mcp/test_tool_recent_activity.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,983 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `45414152cd45334b84df56f653146b7bd2939907548e7245a37207fdccfc4c87` + +**tests/mcp/test_tool_resource.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,782 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `3916ae1c4d458eee53d2c570b9bbb708ecd617de5a145c3a7552389954bc9195` + +**tests/mcp/test_tool_search.py** +- Primary Author: Drew Cain +- Contributors: 3 +- Size: 10,959 bytes +- All Contributors: Drew Cain, Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `07839cf8e89d74ba05ec1dc55fa842444c1f0cc3d1587823b0ac3458ad89e87c` + +**tests/mcp/test_tool_sync_status.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,331 bytes +- All Contributors: Paul Hernandez +- SHA-256: `3f3566df5b9f3c66bb9b3bd77d4c05825480d0e85015305cb1b7ab9429c7a7ec` + +**tests/mcp/test_tool_utils.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,228 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `b50789f7a78b0169f52dc8bd16e262510ed4a0ac130fce698d4be84af1fe2d31` + +**tests/mcp/test_tool_view_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 10,004 bytes +- All Contributors: Paul Hernandez +- SHA-256: `385535ce791c3ab55db827cbcf27ea25ae85faf3a027f52df4eea052cede7f36` + +**tests/mcp/test_tool_write_note.py** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 19,537 bytes +- All Contributors: Drew Cain, Paul Hernandez +- SHA-256: `29843d00f7cc5f643855b5585ad016dd39bb3d795dd08cf02ab3e5743cb129b7` + +**tests/repository/test_entity_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 15,498 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `8f5d1ff6cff7b640993ff73f463b1e7801a4dd69640fc55fa23dc58b865e9943` + +**tests/repository/test_entity_repository_upsert.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 16,983 bytes +- All Contributors: Paul Hernandez, Drew Cain +- SHA-256: `ee0ecd6f4ff8b31838bd6de6fb1018af437e02813d8315c06f4e20a6b78a0572` + +**tests/repository/test_observation_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 11,786 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `3006d392ad94dcc9b3ae031d63a1af6935624534389dd025de70d4c9e112aa0b` + +**tests/repository/test_project_info_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 1,186 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `dbce7ae7350403cbc37343c2e3e68e4d2255e247006aaa6c495a7ce8bfddea7d` + +**tests/repository/test_project_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 9,455 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `db5f6446fabc246bdb296b9880f509f7dae470468b6f62dbecbe1c56f890a7c6` + +**tests/repository/test_relation_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 11,980 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `fcdbdf40f7b56145b98eedde5ead64ef6187e859adde48cc09f5a97754757428` + +**tests/repository/test_repository.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,996 bytes +- All Contributors: Paul Hernandez +- SHA-256: `3a6d4ca0b7a438a30ae504f5eac22874d4e1a937a4246e90efad46c90f0e1c95` + +**tests/repository/test_search_repository.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 25,471 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `805b5cc55a53ae9d6e86c0de735c7f38ac9fd92c23194b0150fa3e7f5507a146` + +**tests/schemas/test_memory_url.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,000 bytes +- All Contributors: Paul Hernandez +- SHA-256: `946fa6c48534f41c8b9cc27bbad164d3e3673a79afa84fbb439fae4cd26c504b` + +**tests/schemas/test_memory_url_validation.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 9,338 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7054c3a3cdb8e05d2ffd254ed298908ff3d48a0a3927d960975eae1ab9beeb38` + +**tests/schemas/test_schemas.py** +- Primary Author: Drew Cain +- Contributors: 3 +- Size: 16,880 bytes +- All Contributors: Drew Cain, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `2c746a00c340f063c160ace67569955a300a294040949695c79fd4ae124fb611` + +**tests/schemas/test_search.py** +- Primary Author: github-actions[bot] (AI Assistant) +- Contributors: 2 +- Size: 3,264 bytes +- All Contributors: github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `7437775d1b4a61a438cbabe3dbb1becd2adc4dbcc0c24595830c0843fa7a3166` + +**tests/services/test_context_service.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 8,833 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `ab49d21a05d5364e7e8a2f00b07aabe1109b7417698e0acd92792e2cb5f22732` + +**tests/services/test_directory_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,854 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `a0c765fb6bd1a75b6ba4592b1df344c48273b6ab03ba6bd15d2b5e840eb2d521` + +**tests/services/test_entity_service.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 59,278 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `d7d495756faa10b415d705cf26b69d2efbc5f190a834b6767386ff296629ea71` + +**tests/services/test_file_service.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,243 bytes +- All Contributors: Paul Hernandez +- SHA-256: `83e6e9a7584b7baeccbc84865d8c1d3e2a0223e7d2b9c066d3799c289196ab7d` + +**tests/services/test_initialization.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,939 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ebb8d11ff37dcb36c4844c68f873c8e0e8aa6ab1b82abb22ee96c4233e6ab287` + +**tests/services/test_link_resolver.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 13,618 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `c9fc56d0c3572770e95ca6175c213ed8b44c2a6ddddc298b5662cc2d8f41014e` + +**tests/services/test_project_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 23,576 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `882a9b1dd7ee435492089b353549ec5ae62c0bac6c11a8a60c896196f2e0cefe` + +**tests/services/test_project_service_operations.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,679 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `d4103b6c5fff7e74ba84b86033537b8522aa60fc75aec4974d52e1dfec68b1b4` + +**tests/services/test_search_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 25,299 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `b3e58258db2b727ab8a1792e52fcb038d3a0779bcd1b70f2d295a9d06e5e2513` + +**tests/services/test_sync_status_service.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 9,926 bytes +- All Contributors: Paul Hernandez +- SHA-256: `00245ca356e33fc7afcd2d42cb5ec082038c95383d738067821cf1e8d23c9a4b` + +**tests/sync/test_sync_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 39,659 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `0609aee9906549f27fc4289b5ac2d46a50e53e12a0615a2701f17fbe9a74e169` + +**tests/sync/test_sync_wikilink_issue.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,959 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `db4b98dd7008a1a26b0fd02b9a2d03bca950b281efc19d98a91b017c500b23a5` + +**tests/sync/test_tmp_files.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,930 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `cead95a07b29f6c1ab933abe67f9648122f5f33d33753c8e4ab4934af96cbc25` + +**tests/sync/test_watch_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 14,076 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `e324a4127f8bfe59798f3a08125488c701e88239b7482d87a0394b91c55b893e` + +**tests/sync/test_watch_service_edge_cases.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,169 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `b87c5015330e9b551630aab7ef95ac1e7663f0ce46e912d8155b319e139559aa` + +**tests/test_config.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 3,680 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `6a246431cff739274efda895dfa28f38710289a73e645312f5fa05fce0885ec8` + +**tests/test_db_migration_deduplication.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,166 bytes +- All Contributors: Paul Hernandez, Drew Cain +- SHA-256: `ab768e061531ca2edcd598c101b5d884e549f90c7a4b305a23713a199d263fbb` + +**tests/utils/test_file_utils.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,199 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4615bb20b92b8a79d9e086301f852b34c3360f17ecc209920d68528268ddeed4` + +**tests/utils/test_parse_tags.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,691 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `b83afdf18dac8b3411bd0fab1301683217d3d1abceaf2d22c09e79c709efd8eb` + +**tests/utils/test_permalink_formatting.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,193 bytes +- All Contributors: Paul Hernandez +- SHA-256: `d998a4ca846c78679728a918b6f71df67c30b6961ede3cffa609f2cf6ad160eb` + +**tests/utils/test_utf8_handling.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,791 bytes +- All Contributors: Paul Hernandez +- SHA-256: `50ec792e572af51cd2d996d4ddacbcfd3bbd79aa928818a90c42117451ea829f` + +### Templates + +**src/basic_memory/templates/prompts/continue_conversation.hbs** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 3,076 bytes +- All Contributors: Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `b6bac31d25c0e52d0909b2273285092f4e31bc219107f92ed511cd407b65e992` + +**src/basic_memory/templates/prompts/search.hbs** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 3,098 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `1f570222c1caa78542d46ac7d8a79407ca467b9bd714fa9bd953e8b72a667820` + diff --git a/legal_inventory_main/basic_memory_inventory_20250730_094006.csv b/legal_inventory_main/basic_memory_inventory_20250730_094006.csv new file mode 100644 index 00000000..2dd08bf7 --- /dev/null +++ b/legal_inventory_main/basic_memory_inventory_20250730_094006.csv @@ -0,0 +1,272 @@ +path,name,category,size_bytes,modified_time,primary_author,contributor_count,contributors_list,sha256_hash +.claude/commands/release/beta.md,beta.md,documentation,3103,2025-07-01T08:33:22.037438,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),345f06e3f304470a8892e96979355919c8e5d8f4212ebbe543c3272fd15a5cbe +.claude/commands/release/changelog.md,changelog.md,documentation,4648,2025-07-03T18:43:10.075727,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),ea2484352f4f881aa71f546dcf84b0882d60c96673a88406aa2f7e12a282a1f4 +.claude/commands/release/release-check.md,release-check.md,documentation,3344,2025-07-01T08:33:22.040060,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),7dd41a40e95c89153936c4ea60a3c989eccd5973fff9f6caef156de82f12bd04 +.claude/commands/release/release.md,release.md,documentation,2925,2025-07-01T08:33:22.043674,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),0e4afd788fcf85fbe46094452e9b92a4290c3e23702283e72ee56aa9288476e5 +.claude/commands/test-live.md,test-live.md,documentation,18720,2025-07-03T18:43:10.076403,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),21a9edeefb3e5673d833151a2fd0464087c0f0a9d056fdd7fca474c1d177d6fc +.dockerignore,.dockerignore,other,623,2025-07-01T08:33:22.048301,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),b3079bffad89d07186c9166725075524ffc07ceea6dc1d53fdbea6dca9585684 +.github/ISSUE_TEMPLATE/bug_report.md,bug_report.md,documentation,967,2025-03-01T14:22:50.968994,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),0d34443ddda84a5e9726c8268083c9646d2cc64ff9c5ebf56c89587cef4c7706 +.github/ISSUE_TEMPLATE/config.yml,config.yml,configuration,374,2025-03-01T14:23:26.936836,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),f4e21bb9b7f053509b6c08548a2649a5d62f44f0106810aa8c915d2f29acc623 +.github/ISSUE_TEMPLATE/documentation.md,documentation.md,documentation,557,2025-03-01T14:23:40.020117,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),78f80a6b9a2b954695f74a847a068e0b780da6020572401c13c931555a4a9db5 +.github/ISSUE_TEMPLATE/feature_request.md,feature_request.md,documentation,786,2025-03-01T14:23:06.344081,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),cee834de442221d53f3d2eeb85b81f3a641b3a7cb587ef8a169452305007439d +.github/dependabot.yml,dependabot.yml,configuration,529,2025-03-15T10:40:16.936258,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),8c6c2ef9a1417da63adb49c70f45524129bd5c46bbd7452b6b97cfe65205f89d +.github/workflows/claude.yml,claude.yml,legal,4628,2025-07-03T18:43:10.076958,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),d026f1756310781b85abc491b454cc31b52dfce4b951cdf8a4a555b6b047604c +.github/workflows/dev-release.yml,dev-release.yml,configuration,1405,2025-06-03T08:31:42.915367,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),58bcfc9e11e210e02dee76aabe7d1378da4edafb7f61857049ee6ccee9d45ffa +.github/workflows/docker.yml,docker.yml,configuration,1621,2025-07-01T08:33:22.049870,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),c918a86f2b16ebb45182a73c45272bcd6cea7022cc6e0eaeb2b2a24d8eebfe4d +.github/workflows/pr-title.yml,pr-title.yml,configuration,887,2025-02-17T16:29:35.733646,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),b6df62a20235496feba4d9419c85d6e8446c4d447ad69e7f57b51cc8953f68f4 +.github/workflows/release.yml,release.yml,configuration,2479,2025-07-03T18:43:10.077261,Drew Cain,2,Drew Cain (groksrc@gmail.com); Paul Hernandez (paul@basicmachines.co),163307a99e2f3d317af6ae8927e1537654d88bf574a6958ac0bcd2d4de266b2a +.github/workflows/test.yml,test.yml,configuration,1426,2025-07-01T08:33:22.054430,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),ab09084a11be8adfc83fc6285c652fbe44a4584aa7d7d3658fcf0c57112d1640 +.gitignore,.gitignore,other,566,2025-07-01T08:33:22.055006,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),358658b0faa8c3145e539421deba4ad0bac4a8ea2e608b2c2f867a822c67b36f +.python-version,.python-version,other,5,2024-12-02T16:41:37.012830,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),7b55f8e67b5623c4bef3fa691288da9437d79d3aba156de48d481db32ac7d16d +CHANGELOG.md,CHANGELOG.md,documentation,53647,2025-07-06T10:34:45.550847,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); semantic-release (semantic-release),0b165eb18975ff253cde08f4687b7808ac6ce63b6d8c10912c495a76c9058d1a +CITATION.cff,CITATION.cff,other,302,2025-02-17T16:29:35.735146,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),bc4878cf6f80bb64655f3f93a5821ffe0924ad8311c784b5f81a36093fcffdda +CLA.md,CLA.md,legal,1342,2025-03-01T14:12:38.435132,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),c238c7ff4f2b8451c6bba1bbacd10b04fb7d41d9a9cd76a62644d8193791d169 +CLAUDE.md,CLAUDE.md,legal,12310,2025-07-03T18:43:10.078147,Drew Cain,4,Drew Cain (groksrc@gmail.com); Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co); Ikko Eltociear Ashimine (eltociear@gmail.com),751f10c1a9a9c0ba2054d9c9cd36cf0989d6a347491fd505bb6504ee74b12900 +CODE_OF_CONDUCT.md,CODE_OF_CONDUCT.md,documentation,509,2025-02-17T16:29:35.735238,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),b276b464e85eb1e5d9f09d90bba9573508a7bf81d2eeb38d0f25bd9f2fa66198 +CONTRIBUTING.md,CONTRIBUTING.md,documentation,7329,2025-07-30T09:39:36.607158,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (paul@basicmachines.co),ca822fe39cc529bfc3822d317ab8a20fd141ec3ecb8c20de9e2eca3edce1c282 +Dockerfile,Dockerfile,other,856,2025-07-01T08:33:22.056908,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),c45501905423990e31ffdb8ae4e976eca6423c6784905c1036bcc7795b70feef +LICENSE,LICENSE,legal,34523,2024-12-02T16:41:20.739392,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef +README.md,README.md,documentation,16261,2025-07-03T18:43:10.078281,Drew Cain,6,Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); Jason Noble (github+jasonn@jasonnoble.org); Marc Baiza (43151891+mbaiza27@users.noreply.github.com); Matias Forbord (codeluggage@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),2c4b82b30f49ab465617034fda999157450ed168f8e097fe8e9ca7ac65a197a7 +SECURITY.md,SECURITY.md,documentation,303,2025-03-12T16:04:01.989927,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),96932268b8fe737577941b49e9dff5ff8ad59c11cc3f9a016989589ef5c98c1f +docker-compose.yml,docker-compose.yml,configuration,2534,2025-07-01T08:33:22.059281,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),4a9fdfd2f0d42b148fe021eee77fd5e772c7ba9c2fe5d0cc310c8c7a64257417 +docs/AI Assistant Guide.md,AI Assistant Guide.md,documentation,16423,2025-07-01T08:33:22.060491,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),c717869a3d356852077026591364ecb0589a6d53f9764af027c57d142ea7ff55 +docs/Docker.md,Docker.md,documentation,9088,2025-07-01T08:33:22.060976,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),e13d3f50148353046b52d9d493986880f76f2914ef4efe1a759b2cc9d10913a4 +justfile,justfile,other,5496,2025-07-30T09:39:36.608008,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com),a8df6c73ee8cf3eaa48e4cba193dffbc2821b843a8cc0c0cd58b8517f2252907 +llms-install.md,llms-install.md,documentation,2307,2025-06-29T14:19:28.826375,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),674105eb85c8f1d59fc2ddc6840f2a2a3e293358687a305c37dffc8144304f97 +memory.json,memory.json,configuration,90075,2025-06-29T14:19:28.827172,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),22d5eee995ca0548b7d9dd152f9a3690c42a514cbf38fea750b3ed2a17dd99c5 +pyproject.toml,pyproject.toml,configuration,3279,2025-07-30T09:39:36.608791,Paul Hernandez,4,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); semantic-release (semantic-release),428a5d64d4555dc7cd2a81b89a3444bdb1d2f3017257fbc9160bd0ae982718e1 +smithery.yaml,smithery.yaml,configuration,433,2025-03-11T16:36:03.389716,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),63f13499cf4fee0751b5005f5bd85597dc1c7f9a881f4ec8147cc23e95e75c2d +src/basic_memory/__init__.py,__init__.py,source_code,256,2025-07-06T10:34:45.551291,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@gmail.com); semantic-release (semantic-release),c946490ab9d64957d25df37f721392024916f8a81ed838f70a8e938b1c2637db +src/basic_memory/alembic/alembic.ini,alembic.ini,configuration,3733,2025-02-23T17:31:23.198433,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),20466c9c5f026db66793006bebb2f328a3686c7bb34da40d52f33c3eca29e717 +src/basic_memory/alembic/env.py,env.py,source_code,2838,2025-07-08T20:39:18.336650,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),e241d987eadfcd5011cbd9ddbecb833d306de87937759d81c08d37d04a6906b0 +src/basic_memory/alembic/migrations.py,migrations.py,source_code,718,2025-06-21T00:01:59.613806,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),96b8873d70dd04b48d5c45b7413a54d1224ab9577557ef0dad5929377a9fb144 +src/basic_memory/alembic/script.py.mako,script.py.mako,other,635,2025-02-17T16:29:35.739659,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),304a8bfb6a804e5493f5300e79882c70c9f5bb2e87512f4d16f0e097dddd323f +src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py,3dae7c7b1564_initial_schema.py,source_code,4363,2025-06-21T00:01:59.595762,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),9536d69409ddd5eb3bc54f7d0e82607da45ed7f2ad7bc4cbf7cae2a9e28657cd +src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py,502b60eaa905_remove_required_from_entity_permalink.py,source_code,1840,2025-06-21T00:01:59.604717,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),93ac584e660f33d468b3eec203b070641298c282bf82655d0beda7f050237681 +src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py,5fe1ab1ccebe_add_projects_table.py,source_code,4379,2025-06-21T00:01:59.601299,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),d82098f5aca3cdbada60c7229ea4ac262f527349eed9ef9e864509bacfaccf7e +src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py,647e7a75e2cd_project_constraint_fix.py,source_code,4210,2025-07-01T08:33:22.063463,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),604ac5908a5976272f52297866d13abb14a99390590935d9fd37cf13e32049fa +src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py,b3c3938bacdb_relation_to_name_unique_index.py,source_code,1428,2025-06-21T00:01:59.598551,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),46c1b2990cdf4575752d234a8b28b494c8a54f15b5360c12f6347aef27b66a92 +src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py,cc7172b46608_update_search_index_schema.py,source_code,3679,2025-06-21T00:01:59.610909,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),9036af47d42ac7dc12bb93f7a9de1266aff0688b031b550c4e0d92983a24b4c5 +src/basic_memory/api/__init__.py,__init__.py,source_code,72,2025-06-21T00:01:59.579981,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),c02a63fb6d63d43d0acca97d425eae9cb055158d0ad6e1a9fc57926512adaa99 +src/basic_memory/api/app.py,app.py,source_code,2897,2025-07-08T20:39:18.337081,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ad673ac2c09410af5830f6afdffaa28b0040480dacd52ff01750b8b2c066e8cf +src/basic_memory/api/routers/__init__.py,__init__.py,source_code,398,2025-06-21T00:01:59.549416,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),4443b908a43dea8e6fb4658009cb08c48a56c9b21449e29773cdd159b59cf014 +src/basic_memory/api/routers/directory_router.py,directory_router.py,source_code,2054,2025-06-21T00:01:59.567371,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ac1407beec1f7d43a4d222af704b3642559c960bebf2eaf6e1ffe91f7fac5514 +src/basic_memory/api/routers/importer_router.py,importer_router.py,source_code,4513,2025-06-21T00:01:59.561600,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),c45502a2b90f5a8f00174c9ad14adc2e65cd7fc0a33d9740a9d750207f0f3bea +src/basic_memory/api/routers/knowledge_router.py,knowledge_router.py,source_code,9738,2025-07-01T08:33:22.064119,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),e1d0ffb4fa5c246582ba844a11b417092de1a173567be55b7060bbc55fbc5681 +src/basic_memory/api/routers/management_router.py,management_router.py,source_code,2730,2025-07-08T20:39:18.337438,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),cdbce294dcec6146c56c4dae15744cdf77039fd21b23eef7cbc0b5f9bfb5f4ee +src/basic_memory/api/routers/memory_router.py,memory_router.py,source_code,3003,2025-07-01T08:33:22.064510,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),6bd0a7c775e0c1290efb6001173237c0cdcfa0c1b1bb27c9145a7b35f1596a97 +src/basic_memory/api/routers/project_router.py,project_router.py,source_code,8444,2025-07-30T09:39:45.721369,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),6539c69f1d506c65d14cc2c151876b19057f37d84d51a9e6f464ed47a4692648 +src/basic_memory/api/routers/prompt_router.py,prompt_router.py,source_code,9948,2025-07-01T08:33:22.065221,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),e30c6aebe35112054933c37d0b462c3750005030fc9e44c23b35b2cd2a93485c +src/basic_memory/api/routers/resource_router.py,resource_router.py,source_code,8058,2025-06-21T00:01:59.570399,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),584244a84698ff24ca8f9f94fab5b891740a51c25f972920c08ebf83f478d5c9 +src/basic_memory/api/routers/search_router.py,search_router.py,source_code,1226,2025-06-21T00:01:59.543020,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),183eb68e50904e22ff54db1d89b8be6f57fa1f8d0a096a3d497d8297b607e105 +src/basic_memory/api/routers/utils.py,utils.py,source_code,5159,2025-07-03T18:43:10.079143,Drew Cain,2,Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),9e60f57da24e1dc9d64236c26a7a2353003dc618a77fbeb853c494aa3357a57c +src/basic_memory/api/template_loader.py,template_loader.py,source_code,8607,2025-06-21T00:01:59.576132,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),7b16d3797c89460c8b1664a335eae8c634fb5f60d6166d97e6a5156b776b6d83 +src/basic_memory/cli/__init__.py,__init__.py,source_code,33,2025-06-21T00:01:59.456735,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),6ab70a2c05910e13c3ef1e6df34325be265e633c076741998a0cb2dcd295a069 +src/basic_memory/cli/app.py,app.py,source_code,2268,2025-07-08T20:39:18.337708,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),f710670380d707c4458ad881f7a25bb3c5cdb2bcff59f139f37421264fe8f2f8 +src/basic_memory/cli/commands/__init__.py,__init__.py,source_code,393,2025-07-08T20:39:18.338070,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),de8a23702f98fb844fa9f7fdbedc16ce24ff4f8baf05589c2f4a521cd8a55645 +src/basic_memory/cli/commands/db.py,db.py,source_code,1480,2025-07-08T20:39:18.338326,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),704a1096d80ab9d12e247d029fe6223e935a0d0ceee7e615c020f46a720828e0 +src/basic_memory/cli/commands/import_chatgpt.py,import_chatgpt.py,source_code,2856,2025-07-08T20:39:18.338787,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),8957cca3acab6351335624a518bdc19d956487e93d86dd1b6c2309e9d5850ae5 +src/basic_memory/cli/commands/import_claude_conversations.py,import_claude_conversations.py,legal,2946,2025-07-08T20:39:18.339053,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),7bc97838732bf00f4fb4a80e3ba4fdfbce8971ae85cc2ac902c3b3a3e110ae57 +src/basic_memory/cli/commands/import_claude_projects.py,import_claude_projects.py,legal,2891,2025-07-08T20:39:18.339310,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),6321577075801c99ad47a0cdc13b5aa3c9ca102a05ca8f06ae2a51125a8c43bc +src/basic_memory/cli/commands/import_memory_json.py,import_memory_json.py,source_code,3013,2025-07-30T09:39:45.721637,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),7ea193f6720b2672290ad16c79a143a31d88a1d567838f12b9ebf9110a7c0338 +src/basic_memory/cli/commands/mcp.py,mcp.py,source_code,2593,2025-07-08T20:39:18.340025,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),3e1be3d27b18ef4743204b7cf8a37fbc2a1a91fc1636c468e08cefcd8597bac6 +src/basic_memory/cli/commands/project.py,project.py,source_code,13836,2025-07-30T09:39:45.721838,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),af3e6f30410ab48355f4b1a46aaa3aa5423cb0a0490f51447db1d25e09f39916 +src/basic_memory/cli/commands/status.py,status.py,source_code,5809,2025-07-08T20:39:18.340324,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),b6d0ea237d714d054f69b24a2058beba74e224a2fa4a80a525d62a2aa2ea2d70 +src/basic_memory/cli/commands/sync.py,sync.py,source_code,8213,2025-07-08T20:39:18.340627,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),703b3e73c4c33850c27f6f4c07abbf5d4ce5dc43f706bf0c43264bbb45f8b213 +src/basic_memory/cli/commands/tool.py,tool.py,source_code,9540,2025-07-01T08:33:22.070903,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),9b2fa400b9f7921bf55b602f8bbdfa36b1ec7e4a5bc8fe7b9838b92e31f0a9ed +src/basic_memory/cli/main.py,main.py,source_code,465,2025-07-08T20:39:18.340868,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),7a405b12bff98e319968526238ae15859df0362bba5a3857562fecca47b5c70d +src/basic_memory/config.py,config.py,source_code,12487,2025-07-30T09:39:45.722031,jope-bm,5,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),86341330a041b94d38f5e4f1b94f3509d74351c67cc826af1a4ff57313e5f726 +src/basic_memory/db.py,db.py,source_code,7428,2025-07-08T20:39:18.341550,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),25e053b0b3f9e8fa823b05fc099001efe8a3a4f6e0f80728e5079ba45aa406d8 +src/basic_memory/deps.py,deps.py,source_code,12144,2025-07-08T20:39:18.341870,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),bce28cd9ca549b8afce0bc689cc1fb2dc80cd5b929f85114aa682bb8ae82411d +src/basic_memory/file_utils.py,file_utils.py,source_code,6700,2025-06-21T00:01:59.587200,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),79ac5328b2c46d3232fcc6ff22ffc39ade085c0252ad91958be2a7ae9c9c8b71 +src/basic_memory/importers/__init__.py,__init__.py,source_code,795,2025-06-21T00:01:59.295471,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),0537015bdecfded85cb166b9c3db50b2f3aef329c70e0c36fbcb4f824099a21f +src/basic_memory/importers/base.py,base.py,source_code,2531,2025-06-21T00:01:59.305335,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),6b0c1efd4f827f348834aa0cea2ae8eebbb842a2e5b1f5f3747ced0ef79b9f13 +src/basic_memory/importers/chatgpt_importer.py,chatgpt_importer.py,source_code,7372,2025-06-21T00:01:59.308956,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),dfa540b196ab23b5c4e6bfcac4da567873351cf7c78fa35f4c3b87e84c58e218 +src/basic_memory/importers/claude_conversations_importer.py,claude_conversations_importer.py,legal,5725,2025-06-21T00:01:59.288540,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),a7bc9e872f4f81ce5f79fe9dd1a6fd0f00a6f020a2cb2664184a97f14eeb1dbc +src/basic_memory/importers/claude_projects_importer.py,claude_projects_importer.py,legal,5389,2025-06-21T00:01:59.291737,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),a452675fd9bb18ebf64eb4bd7f69ccd7e993b617931015a3c4ab700d67493863 +src/basic_memory/importers/memory_json_importer.py,memory_json_importer.py,source_code,4631,2025-07-30T09:39:45.722316,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),bc7d045299f17ed9ad5cebff7b1423250ec28a11130e47a0ac48d3ab82bdeafc +src/basic_memory/importers/utils.py,utils.py,source_code,1792,2025-06-21T00:01:59.298428,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),ee7e22fd4812362394f62ed8944abe80738c1e3ab88131faf639f4a8ccfd6c89 +src/basic_memory/markdown/__init__.py,__init__.py,source_code,501,2025-06-21T00:01:59.316337,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),0ddce2a025ad0e729aab4e411d82e02ffefc15ac041cba4b5e7a7e90f4957c87 +src/basic_memory/markdown/entity_parser.py,entity_parser.py,source_code,4516,2025-06-21T00:01:59.321461,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),1b0d1177358645ccbadd170b3f62760dc9bd838d38c741978ab0da5836234d68 +src/basic_memory/markdown/markdown_processor.py,markdown_processor.py,source_code,4968,2025-06-21T00:01:59.325241,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),4b99f2ebdceed9d96a3bbb562682eba4b4b383c7a64080eaec3bbba25a4952c9 +src/basic_memory/markdown/plugins.py,plugins.py,source_code,6639,2025-06-21T00:01:59.312733,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),82d2332918e866ccaf06a2e954d9eb9b397f71b4d9e591a7f2472e5f1423464a +src/basic_memory/markdown/schemas.py,schemas.py,source_code,1896,2025-06-21T00:01:59.329982,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),7b2c580abd615725a62267257b46ac13922dfc30fa01192a681658bb528ae67e +src/basic_memory/markdown/utils.py,utils.py,source_code,3410,2025-07-03T18:43:10.079889,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),1b757f0d06e60e3ea276c0b2ea44fe1a156a895e093c1e607d6286e702bf4ae4 +src/basic_memory/mcp/__init__.py,__init__.py,source_code,35,2025-06-21T00:01:59.404757,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),76c0ce84aaa361e21b0942db1c8c5f708b536eab9d12e120d4da7ce9eab41844 +src/basic_memory/mcp/async_client.py,async_client.py,source_code,925,2025-07-30T09:39:45.722547,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),6531f4387f30a30a322197ff51d6eacae4b25a58c648095931b3d1145d1da303 +src/basic_memory/mcp/project_session.py,project_session.py,source_code,4203,2025-07-08T20:39:18.342906,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),4da403ec93dec9063eeb8b05246e3501740d162cc77a067d3ce54ba43d690819 +src/basic_memory/mcp/prompts/__init__.py,__init__.py,source_code,615,2025-07-08T20:39:18.343263,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),f8197d0e08f64c3f4f50b8f38203ea5eebcf123582472ed2f58834de1dbe53b0 +src/basic_memory/mcp/prompts/ai_assistant_guide.py,ai_assistant_guide.py,source_code,821,2025-06-21T00:13:53.262832,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),f13239c4e6e2455730bfac3d6f2d71407957d3086fc84efe2c6b22a833114c58 +src/basic_memory/mcp/prompts/continue_conversation.py,continue_conversation.py,source_code,1998,2025-06-21T00:13:53.263309,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),aec9a50b657b7bb1ba0c02b42bcdb9bc5b0f2a0b1143bd361c5ce7ea59076833 +src/basic_memory/mcp/prompts/recent_activity.py,recent_activity.py,source_code,3311,2025-07-01T08:33:22.073986,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),d2fd5cddbd927430f15d5b85f1e3a3368a18cb4e2e4587a5d29749d2b9e0830e +src/basic_memory/mcp/prompts/search.py,search.py,source_code,1692,2025-06-21T00:13:53.264093,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),9dbf3c319cbdb5d5bf32608b51522d8ae92b2dd6f7c441d62efd0954b525738a +src/basic_memory/mcp/prompts/utils.py,utils.py,source_code,5431,2025-06-21T00:01:59.425042,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),55a72b6eac18b724a9225608aca1e8e6cea3b684ccb1c609aab1511f7ce90ba4 +src/basic_memory/mcp/resources/ai_assistant_guide.md,ai_assistant_guide.md,documentation,14777,2025-03-28T19:12:38.653627,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),aa76160e46256fe2662ae3a86799659916acfede1d5835c1fe2f0b136efb2e0b +src/basic_memory/mcp/resources/project_info.py,project_info.py,source_code,1906,2025-06-21T00:13:53.264918,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),2dc5244f1e225c17d4e8ba784d5721efc3aa2e8a5b3b2e258f22a77ebe155eca +src/basic_memory/mcp/server.py,server.py,source_code,1248,2025-07-08T20:39:18.343419,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),0a910cae27d61ea923e90fbe2d4b5c7cacf3b29d3e156f0b7f77872ab973c761 +src/basic_memory/mcp/tools/__init__.py,__init__.py,source_code,1619,2025-07-03T18:43:10.080029,Drew Cain,2,Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (paul@basicmachines.co),872b771dd52ec3b763645a2baf6e10a70f049ce3106830a6d3f053b3e09a5fe6 +src/basic_memory/mcp/tools/build_context.py,build_context.py,source_code,4611,2025-07-03T18:43:10.080426,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),724280b77b8f5f3e61cd3fdeebc3ee66e2bcfedaaea3638e6a2e2e33fcb1978e +src/basic_memory/mcp/tools/canvas.py,canvas.py,source_code,3738,2025-07-01T08:33:22.076204,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),db617d1bd81f3dbfa5f22d41e6b6b825afe1f73618f37acf63d9830390b98246 +src/basic_memory/mcp/tools/delete_note.py,delete_note.py,source_code,7346,2025-07-01T08:33:22.076726,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),b52c9173f5600662f255e7a70a5c17d5293ef8b29c19a8403334d7da62b65c8b +src/basic_memory/mcp/tools/edit_note.py,edit_note.py,source_code,13570,2025-07-01T08:33:22.077181,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),ab8c7e7fbfa3fe5fb0ce6d7bf805454f5fd6182a340aae25237b1e6127b6d5a6 +src/basic_memory/mcp/tools/list_directory.py,list_directory.py,source_code,5236,2025-06-21T00:13:53.267453,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),f85c43b02aeee580f4d8ce2a9100c0bab1095b245a0bb608e1847ace0d1ab51f +src/basic_memory/mcp/tools/move_note.py,move_note.py,source_code,17541,2025-07-30T09:39:45.722919,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),5ef27d9baaebc2c5656fc49c4798a4e4e40a70b6cd9d1e761dbcae021bad558c +src/basic_memory/mcp/tools/project_management.py,project_management.py,source_code,12944,2025-07-06T10:34:45.552403,Drew Cain,2,Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (paul@basicmachines.co),cdac736d65129f689a85c6b82f8e043bc84a31657ead7a8331771171eeaa860f +src/basic_memory/mcp/tools/read_content.py,read_content.py,source_code,9125,2025-07-30T09:39:45.723469,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),96a13addac507fd874394dfa2e1e5ed71af5eb89d0872c1d68cacf9cac3f8724 +src/basic_memory/mcp/tools/read_note.py,read_note.py,source_code,8132,2025-07-30T09:39:45.723828,jope-bm,5,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); Amadeusz Wieczorek (git@amadeusw.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),dff53ce02b16d9c5fca315b3f09bb70867a89d614b0ef3f0548dce87978048ee +src/basic_memory/mcp/tools/recent_activity.py,recent_activity.py,source_code,4833,2025-06-21T00:13:53.269120,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),5d58cd2402679b1bf3c7dfcbb3503e40e776c9347ba499524d3b91c528af98de +src/basic_memory/mcp/tools/search.py,search.py,source_code,15883,2025-07-03T18:43:10.081557,Drew Cain,4,Drew Cain (groksrc@gmail.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),8519b0057468c4450eb543a2f561bcd0d7cb96e1ce1b95e948e02b309ba6b7ca +src/basic_memory/mcp/tools/sync_status.py,sync_status.py,source_code,10517,2025-07-08T20:39:18.344231,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),73dd73b186eaec8b82e6b17e39a67c27082d24e0653dc4e4b35712bd83b80a22 +src/basic_memory/mcp/tools/utils.py,utils.py,source_code,20892,2025-07-30T09:39:36.616253,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),a95004911e276822eba88a3fef15c5b9ba861b1ca9a2ecfe0c1e3fb2f4ef0116 +src/basic_memory/mcp/tools/view_note.py,view_note.py,source_code,2499,2025-07-01T08:33:22.080024,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),75d357c72113b1d0394987e521a4158ff09b77b23b08b56cddab5144331b1a68 +src/basic_memory/mcp/tools/write_note.py,write_note.py,source_code,6612,2025-07-30T09:39:45.723985,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),771396fb49d397feb5f7e36321d4d233c22c4d1b53414912c849957c6e96fc83 +src/basic_memory/models/__init__.py,__init__.py,source_code,333,2025-06-21T00:01:59.437212,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),8f40b876d162f85384690291f1d416106f9d26d750d793414e2260e276c85cd5 +src/basic_memory/models/base.py,base.py,source_code,225,2025-06-21T00:01:59.447249,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),e2101727c084d519e32a16f6de53ddf9033b1bf15721d4e8c0c27d6d18b1b295 +src/basic_memory/models/knowledge.py,knowledge.py,source_code,7087,2025-06-21T00:01:59.444376,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),005c5f292f1f45ae372aadc48c9080b9fa6d7b854d0bb7ecf587ec843ac1e28d +src/basic_memory/models/project.py,project.py,source_code,2773,2025-07-01T08:33:22.080907,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),a14ad06943aeeff9ae4a5fa2dfc0e1d07ce6085acc02dc20c402c3513b7d9397 +src/basic_memory/models/search.py,search.py,source_code,1300,2025-06-21T00:01:59.440923,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),3e143cc38b5a0294af8e1d43a4f841e1c1fd193b76136a68f83159ce19e86646 +src/basic_memory/repository/__init__.py,__init__.py,source_code,327,2025-06-21T00:01:59.256363,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),3162bea3c42292accea5ee52c8f6ca4368a8079056034529cfae6d820f84d035 +src/basic_memory/repository/entity_repository.py,entity_repository.py,source_code,10405,2025-07-03T18:43:10.082570,Drew Cain,3,Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),e2a8d1eba6c8d64bc61d7168df0fe8c29a670858bf9daeac464a0f440273fae0 +src/basic_memory/repository/observation_repository.py,observation_repository.py,source_code,2943,2025-06-21T00:01:59.269646,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (phernandez@basicmachines.co),aa132f1cb4a36a84f715afdc40e2ac4f98d83e3eba1974b2b4404cc0b020ca04 +src/basic_memory/repository/project_info_repository.py,project_info_repository.py,source_code,338,2025-06-21T00:01:59.252582,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),f172d50182a405643a19b2a3d62a80f4e2b41463c775394eb3b66d7de51ff6df +src/basic_memory/repository/project_repository.py,project_repository.py,source_code,3803,2025-07-30T09:39:45.724344,jope-bm,2,jope-bm (joe@basicmemory.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),9083ba214b2bcaaf98164d9c33cda7add52bc77f7269ecb6e43cdd5088728b7c +src/basic_memory/repository/relation_repository.py,relation_repository.py,source_code,3179,2025-06-21T00:01:59.246745,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),cfb3a8e59cff27e063e91bd00e949647bdd92e4d9fc46edeee3acc6de15e26f4 +src/basic_memory/repository/repository.py,repository.py,source_code,15224,2025-06-21T00:01:59.273355,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),3096fe71bf106506cbf86aeafe2aafe0aabbe5a5f6c90a212c8aa1e53e1f171c +src/basic_memory/repository/search_repository.py,search_repository.py,source_code,21936,2025-07-03T18:43:10.082844,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),a972f73d1b71dac5770e8eb3793c6c9ac44e4e792f9dab528f8c4e6c6a80bcaa +src/basic_memory/schemas/__init__.py,__init__.py,source_code,1674,2025-06-21T00:01:59.514555,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),98480815c75379bfafe32d2090e87fa40e73caa19b664fbd5db5ea9528ba58cb +src/basic_memory/schemas/base.py,base.py,source_code,6738,2025-07-01T08:33:22.082193,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),171f7b0c4ab33abef2f7379eb1e3bda950586ce7edff83907fd12255f84e267e +src/basic_memory/schemas/delete.py,delete.py,source_code,1180,2025-06-21T00:01:59.502563,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),50047624af7d58c8f780ffb2a065a51c3dde64492f9534917fc42860813e59fc +src/basic_memory/schemas/directory.py,directory.py,source_code,881,2025-06-21T00:01:59.529023,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),17dfcbac9a91a9bfe43b4f060ca2735cb6f69e16d81b63dd554a397830ff29fe +src/basic_memory/schemas/importer.py,importer.py,source_code,693,2025-07-30T09:39:45.724633,jope-bm,2,jope-bm (joe@basicmemory.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ac33df423ca32b28ce7b6ea9c29d541f8783a86c0c29f78db35163bf93f139cd +src/basic_memory/schemas/memory.py,memory.py,source_code,5833,2025-07-03T18:43:10.083167,Drew Cain,3,Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),acb4a953a553feca672c4895798a7d948ec51f922f75b66dd7d55716e3bebed3 +src/basic_memory/schemas/project_info.py,project_info.py,source_code,7047,2025-07-01T08:33:22.083248,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),7dc3635297b6e7fe6e3262b2d78da26f7a79a846a4cecd5624f2e4828979cf2c +src/basic_memory/schemas/prompt.py,prompt.py,source_code,3648,2025-06-21T00:01:59.525753,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),4a92157d9a6b413f04e6e3f8d23dc2a417369c729f9703a8de2643ec114f2071 +src/basic_memory/schemas/request.py,request.py,source_code,3760,2025-06-21T00:01:59.511789,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),32fe44beb2d99452223ebf1d3a3a3fe105ef92c79885023b71dfd7db30ecc503 +src/basic_memory/schemas/response.py,response.py,source_code,6450,2025-07-03T18:43:10.083478,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),5eea4660a2abe48d83ed083d1c2483fdcfb403e0b504f03c14d22f1cae866abb +src/basic_memory/schemas/search.py,search.py,source_code,3657,2025-06-21T00:01:59.522804,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),cb032c0c60102b6b0ed934f995cf9d6bf93aece296d71d537a75e8ae61c75afe +src/basic_memory/services/__init__.py,__init__.py,source_code,259,2025-06-21T00:01:59.655059,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),5c6b7c597ddf5ffd0af4bdfb32ccbc1c5f2794c658206dee43a9945fafe226d8 +src/basic_memory/services/context_service.py,context_service.py,source_code,14462,2025-06-21T00:01:59.672086,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (paulmh@gmail.com),e1178b005e6a89f03d6b239e3c6b152aeb30d535a3f280734440a3aec16228f2 +src/basic_memory/services/directory_service.py,directory_service.py,source_code,6017,2025-06-21T00:01:59.648501,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),fd838f5ec79033892777b3c8140868f4b57f13e1658d513959524a434b9f959b +src/basic_memory/services/entity_service.py,entity_service.py,source_code,30440,2025-07-03T18:43:10.083956,Paul Hernandez,4,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),7cd5163eca6b8a0772e838c8c869e478166763cd6a2d745b0b9aa5c25a65baee +src/basic_memory/services/exceptions.py,exceptions.py,source_code,390,2025-06-21T00:01:59.668908,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),a158d0af9d1742a9c5ab5f8c34a062948d9286d1c3c72a5abf20e4d547b21e1c +src/basic_memory/services/file_service.py,file_service.py,source_code,10059,2025-06-21T00:01:59.641785,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),8c2ae69c4913438b7d1c5ecbfcce812fbb5d0ea8e3cedcbd8694e8f40cf086f3 +src/basic_memory/services/initialization.py,initialization.py,source_code,6715,2025-07-08T20:39:18.344482,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),4dde58b799cf4ac90631e59949b55b3355a93bdf99df0d9c2408c0cea67e10c4 +src/basic_memory/services/link_resolver.py,link_resolver.py,source_code,4594,2025-07-01T08:33:22.084908,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),d7efd516cbea753e6b5411def09aeaeb7539f5743487119ecf163c736e138a8c +src/basic_memory/services/project_service.py,project_service.py,source_code,30125,2025-07-30T09:39:45.725079,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),bce95c00aa9a1da0a8c8090ee34b5b1494207f8c99e6c25de4ec43fddc38f6be +src/basic_memory/services/search_service.py,search_service.py,source_code,12782,2025-06-21T00:01:59.665439,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),7392b2d2e7f3ed83c5807855ccd450e0e79c17f254aedee700bce9323a1b5b83 +src/basic_memory/services/service.py,service.py,source_code,336,2025-06-21T00:01:59.636167,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),57e77ff20395d3bcc62100e92fe2acaacdd937d977a9fdc764e2b57ff60d4da8 +src/basic_memory/services/sync_status_service.py,sync_status_service.py,source_code,7504,2025-07-03T18:43:10.084229,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),0a025d689e8e16f1632872104952105fc904537f3d32bcff592eb1f1dc76fbb7 +src/basic_memory/sync/__init__.py,__init__.py,source_code,156,2025-06-21T00:01:59.621137,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),0951e0b981f8e7b876bb6c6833c2af3a29490bbd5726567ea9487c947723623e +src/basic_memory/sync/background_sync.py,background_sync.py,source_code,726,2025-07-08T20:39:18.345062,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),549af64ae91128b76c6df07ef517b82de85ca4ad796be44b5c0141fac01d4513 +src/basic_memory/sync/sync_service.py,sync_service.py,source_code,23387,2025-07-01T08:33:22.086507,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),0310b927561370f593980d07773bce641b618b8fbf2d9e3890d174290a0344fc +src/basic_memory/sync/watch_service.py,watch_service.py,source_code,15316,2025-06-26T09:28:51.859209,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),240ba6ac7523575945f4db442b7da3820d26c9605f2d7a2d357c4e35e215f523 +src/basic_memory/templates/prompts/continue_conversation.hbs,continue_conversation.hbs,templates,3076,2025-07-01T08:33:22.086792,Drew Cain,2,Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),b6bac31d25c0e52d0909b2273285092f4e31bc219107f92ed511cd407b65e992 +src/basic_memory/templates/prompts/search.hbs,search.hbs,templates,3098,2025-05-25T10:07:54.520119,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),1f570222c1caa78542d46ac7d8a79407ca467b9bd714fa9bd953e8b72a667820 +src/basic_memory/utils.py,utils.py,source_code,8654,2025-07-30T09:39:45.725428,jope-bm,5,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); andyxinweiminicloud (andyxinweimin263@icloud.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),111f343e3367339730e081c08acf4613667be574f946126513b5d82da3086bed +test-int/conftest.py,conftest.py,source_code,8203,2025-07-08T20:39:18.345735,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),7231e1bc76cddc7c94433e853825dc0165b103bedf996c2c24eda6ae32fff5ad +test-int/mcp/test_build_context_validation.py,test_build_context_validation.py,source_code,6469,2025-07-08T20:39:18.346021,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),ee61d6b15cee0194fd74c1bcf9361d5a839f6081c7d571ef081da8fcefe1bbf2 +test-int/mcp/test_delete_note_integration.py,test_delete_note_integration.py,source_code,13175,2025-07-08T20:39:18.346366,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),497495249b8bcf0af177d8705c6899875460707697980434e560cfe56f86feb3 +test-int/mcp/test_edit_note_integration.py,test_edit_note_integration.py,source_code,19822,2025-07-08T20:39:18.346730,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),9ba704badd05808aee0b5a686b7e250e1c865229ec92dab561cba5287b6f6fc6 +test-int/mcp/test_list_directory_integration.py,test_list_directory_integration.py,source_code,14744,2025-07-08T20:39:18.347106,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),2c4336a59de63f17ed252bb52d1330ebca901ad83bfebc9e5aa67f132a3c77c6 +test-int/mcp/test_move_note_integration.py,test_move_note_integration.py,source_code,19825,2025-07-08T20:39:18.347344,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),cbb17688d0f9551306a7520b059ace7f7dfba70fc20bf0ec98b1148000d7ad7d +test-int/mcp/test_project_management_integration.py,test_project_management_integration.py,source_code,33175,2025-07-08T20:39:18.347658,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),93a43cd699453a7602a5def839740ba5027ab914eba3e7b66a026860ed6bd567 +test-int/mcp/test_project_state_sync_integration.py,test_project_state_sync_integration.py,source_code,7728,2025-07-08T20:39:18.347907,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),80b0f5b5cd359498dcbd3af7dcb6194afa4582d8efb3faa38d28675ee45e0748 +test-int/mcp/test_read_content_integration.py,test_read_content_integration.py,source_code,11187,2025-07-08T20:39:18.348233,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),6955dd343b40df088ac79175e52723501d83796335a16e43b7f58e16e757e1b8 +test-int/mcp/test_read_note_integration.py,test_read_note_integration.py,source_code,1381,2025-07-08T20:39:18.348463,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),b93050da68d0e9d47d46879a386567f688399e28390f4eb31ee37353dc27514b +test-int/mcp/test_search_integration.py,test_search_integration.py,source_code,14690,2025-07-08T20:39:18.348959,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),e0957ada9dd9b12eae5843a37d241ec9293ca929f18281e31197dae36bff589d +test-int/mcp/test_write_note_integration.py,test_write_note_integration.py,source_code,9472,2025-07-08T20:39:18.349398,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),b2b56fee8351168d0c65640c295d969dc4575d9bea87927b2dc07e591cabdff3 +tests/Non-MarkdownFileSupport.pdf,Non-MarkdownFileSupport.pdf,other,106751,2025-02-23T17:31:23.206428,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),4aa96f9d0ee830ef6a1ec92243f302bbe2fa8971b84945f4eb5e276bf1ffde96 +tests/Screenshot.png,Screenshot.png,other,190076,2025-02-23T17:31:23.207771,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),dd82612fe013c39810d28ae0f2bbcca6ab2c9925b035d7720bb02493ddf5d0a9 +tests/__init__.py,__init__.py,source_code,141,2025-06-21T00:01:46.216456,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),2ac5605e69ad8829e96b3689632536539f1cdd3149a29c1903f25af0793a5d65 +tests/api/conftest.py,conftest.py,source_code,1404,2025-06-21T00:01:46.359728,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),ea46cde47a37c1f43fe079e48f5d0de8007155a0187f4445abc4f2ffde9c1791 +tests/api/test_async_client.py,test_async_client.py,source_code,1382,2025-07-30T09:39:45.725666,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),a2f96226a75e5cff2326ca48ddccea4915964d83e529f7b99958bc233ccdc31a +tests/api/test_continue_conversation_template.py,test_continue_conversation_template.py,source_code,5152,2025-06-21T00:01:46.390901,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),cca08b0291db0ad693c60d8dc203660021feab46d9eb530be7f67e0ebb52c1d3 +tests/api/test_directory_router.py,test_directory_router.py,source_code,9376,2025-06-21T00:01:46.356659,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),428626589f0010512481ba495368b0bf2b9617b22764e588eaa3562e86da4d37 +tests/api/test_importer_router.py,test_importer_router.py,source_code,16578,2025-06-21T00:01:46.368070,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),03edf6e7404c7350afe76e54ea2bf0d66f668bcdb49f59702067a67b3694309d +tests/api/test_knowledge_router.py,test_knowledge_router.py,source_code,45771,2025-07-01T08:33:22.090490,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),43a5f91ae1fb9038e65c09701336fbdc4dbf40c8319c94727e6312fda9d6d56e +tests/api/test_management_router.py,test_management_router.py,source_code,6220,2025-06-21T00:01:46.402764,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),f6a3f41f263f10c08281525571e2e39fc9ae818ebb7e9895e3f3f3115ea05677 +tests/api/test_memory_router.py,test_memory_router.py,source_code,5555,2025-06-21T00:01:46.399667,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (phernandez@basicmachines.co),2b8782015c893081fc67b7f13a7255d4e3dc45b27705a524f94918a339e2d486 +tests/api/test_project_router.py,test_project_router.py,source_code,13288,2025-07-30T09:39:45.725847,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),af85d0870069d3831a9214372853994e5d12dc910e37298eb9958f72f6a8bb31 +tests/api/test_project_router_operations.py,test_project_router_operations.py,source_code,1812,2025-06-21T00:01:46.381705,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),afd40879de3d7c508cca0feeae3cb7a8f3afcfbb06f59a6104189b1e3291376a +tests/api/test_prompt_router.py,test_prompt_router.py,source_code,5046,2025-06-21T00:01:46.396588,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),9115995b7dd8b44d8a9c06c5e1bbb177618286675a769889e35ac16f26fd9897 +tests/api/test_resource_router.py,test_resource_router.py,source_code,13960,2025-06-21T00:01:46.384919,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ad3cb2cabaeab82a7e64253ceede7c1791e2bd70c92f60bc5f3be939292ca22d +tests/api/test_search_router.py,test_search_router.py,source_code,6409,2025-06-21T00:01:46.375427,bm-claudeai (AI Assistant),3,bm-claudeai (AI Assistant) (claude@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (phernandez@basicmachines.co),ba3e3809795e72db9dd9c8c729048bdbbbdb897c2a5aa8b175112b5d4b56d152 +tests/api/test_search_template.py,test_search_template.py,source_code,5258,2025-06-21T00:01:46.378721,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),8f0d16a1de947d0466d96afed02e695f7648adac70b9ba99753250068207a686 +tests/api/test_template_loader.py,test_template_loader.py,source_code,8035,2025-06-21T00:01:46.406694,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),4fd7c6c4862cc0d877d29244ecdc0b52a0693fc4574a9667663bee36bfd36b62 +tests/api/test_template_loader_helpers.py,test_template_loader_helpers.py,source_code,7445,2025-06-21T00:01:46.372114,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),8dd35f11c9b3f2d96ac36263edf4430308728c04c9da543b1cb845b96ab20aa7 +tests/cli/conftest.py,conftest.py,source_code,1185,2025-07-01T08:33:22.090848,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),c3c73da7ad73224931e1fba4ebd70792221be607bfb1488bb5c9420bba03bdb8 +tests/cli/test_cli_tools.py,test_cli_tools.py,source_code,13528,2025-06-21T00:01:46.318964,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),befb8cab50132e26a1b13b82ce8e93a3258282cf157a4230214bfcefeae65102 +tests/cli/test_import_chatgpt.py,test_import_chatgpt.py,source_code,6719,2025-07-08T20:39:18.350234,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),df447335545248e2fb2417af33f8cc2f0143bd413a1783e41f89605de305b7c8 +tests/cli/test_import_claude_conversations.py,test_import_claude_conversations.py,legal,5028,2025-07-08T20:39:18.350607,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ac4b3b9dfc331fa7fa32a2941c027ff8b6585a94a5ccfaaf0a4affe5cf19c00c +tests/cli/test_import_claude_projects.py,test_import_claude_projects.py,legal,4585,2025-07-08T20:39:18.350885,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),7eaab3d491d50ca59c8ba015ecd5740a5feae94d970ee17559c6df9d8558c2cc +tests/cli/test_import_memory_json.py,test_import_memory_json.py,source_code,4891,2025-07-30T09:39:45.726290,jope-bm,3,jope-bm (joe@basicmemory.com); bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (60959+phernandez@users.noreply.github.com),d6734ce059dacf97bc764d848b2e2a6ba52fa96871bc331ec9d2ddc60b766bb6 +tests/cli/test_project_commands.py,test_project_commands.py,source_code,6578,2025-07-30T09:39:45.726703,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),51e2ac7ff44b0d1a1db6da406c5c2e6aebceb1b63a1e8d5ab51bbaa834507157 +tests/cli/test_project_info.py,test_project_info.py,source_code,3874,2025-07-01T08:33:22.091600,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),0b08950e95a5f276f14c56f6fe99af4d41b8f04548e9b7746f807c5ac4155578 +tests/cli/test_status.py,test_status.py,source_code,4160,2025-07-01T08:33:22.091978,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),a1ff89fdac4bf57ba03be92ac79b8ca3210af0b1132d5a2bd0fc0c253fcbf988 +tests/cli/test_sync.py,test_sync.py,source_code,3864,2025-07-08T20:43:47.816788,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),77e0f6b42b584a5acfda3c2ff194ff5e71ca57a40cb4484d563f5482bbbb4c0f +tests/cli/test_version.py,test_version.py,source_code,289,2025-06-21T00:01:46.305368,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),db95665178a32d391bd83011d073db269cefba9da8a4dc4d3e392d47bc0e0a8f +tests/conftest.py,conftest.py,source_code,15286,2025-07-08T20:39:18.351368,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),c6f38f103ce58144ffe4562f0c47dad849974e96327f02805e854447e19bc411 +tests/importers/test_importer_base.py,test_importer_base.py,source_code,4329,2025-07-08T20:39:00.549594,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),da872a073f2b90fda3c98c9f44cf45884f4f682d91ec1b1f931d42c34eee1939 +tests/importers/test_importer_utils.py,test_importer_utils.py,source_code,1827,2025-06-21T00:01:46.184343,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),cbee630c855ceb1de764ac0cdb1d5d781c16cd3a934d67166adc235c98f363d7 +tests/markdown/__init__.py,__init__.py,source_code,0,2025-06-21T00:01:46.196570,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +tests/markdown/test_entity_parser.py,test_entity_parser.py,source_code,8669,2025-06-21T00:01:46.206579,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),496fdab6fe164634f8223f827585a4c0dedd30ccea7b0b69dc79004ad0996de2 +tests/markdown/test_markdown_plugins.py,test_markdown_plugins.py,source_code,5139,2025-06-21T00:01:46.200759,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),9624d73462aadcd47fb0edd0d87880959a8982eecfa39529f21e3b292c34cb83 +tests/markdown/test_markdown_processor.py,test_markdown_processor.py,source_code,5728,2025-06-21T00:01:46.194175,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),35042aa57dd2aeed848c624aa7f69decfb18e83c3b217eca1fdacfc4a10831db +tests/markdown/test_observation_edge_cases.py,test_observation_edge_cases.py,source_code,4295,2025-06-21T00:01:46.209598,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),6f1ab7684bfa8b02af0e0c42b3d7aed91fcd0b1c6288cbc9b6d6943c166979fa +tests/markdown/test_parser_edge_cases.py,test_parser_edge_cases.py,source_code,5142,2025-06-21T00:01:46.213291,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),d511d7d1187e3c1d3a8d3e0ab9efc9e68e84115c46811e7a9dc21eca9a87d520 +tests/markdown/test_relation_edge_cases.py,test_relation_edge_cases.py,source_code,3952,2025-06-21T00:01:46.203846,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),f8e2016308f84139342cc37ec6e389ffe52d7eb46f998ee327c7f0d5bba3ad9b +tests/markdown/test_task_detection.py,test_task_detection.py,source_code,401,2025-06-21T00:01:46.191444,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),37fe91a689742033a0eb76723557e31c2a85e591133383b3887572cb714db2a5 +tests/mcp/conftest.py,conftest.py,source_code,1761,2025-07-08T20:39:18.351554,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),350b2ca42c52ef76e002deddb65fc0eccb9f8989bd26078ea1c100e3b93bae3f +tests/mcp/test_prompts.py,test_prompts.py,source_code,5989,2025-07-01T08:33:22.093691,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),e3b2ee5b4bc120b5043225ebdbf73eadd71be9c3d9d8e1fdd66a24a8ff11a780 +tests/mcp/test_resource_project_info.py,test_resource_project_info.py,source_code,4885,2025-07-01T08:33:22.094085,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),6a043736789b239c8d4ae00d1a5332a0fc3bed4038fe3388970ba97dc7431a93 +tests/mcp/test_resources.py,test_resources.py,source_code,549,2025-07-01T08:33:22.094481,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),77a6396b9b8a9d3b3d202e438243ca6178d87fd7680c9fc063ee013f2042aa4c +tests/mcp/test_tool_build_context.py,test_tool_build_context.py,source_code,3714,2025-07-01T08:33:22.094661,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),5f0a39fdb652605335ed54aa91fe994262441bb7ba46f381c46ebca882fc23f2 +tests/mcp/test_tool_canvas.py,test_tool_canvas.py,source_code,7997,2025-07-01T08:33:22.094982,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),c517bb1f9edc77b76fbeb483dfcb2dd57de9f0b80a10738708bc90cbe388dc9e +tests/mcp/test_tool_delete_note.py,test_tool_delete_note.py,source_code,4208,2025-07-01T08:33:22.095578,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),4cbf3ba4313438651b0608d5b25faf1400f7bd6a78af630351aecd4457800895 +tests/mcp/test_tool_edit_note.py,test_tool_edit_note.py,source_code,13503,2025-07-03T18:43:10.084890,Drew Cain,2,Drew Cain (groksrc@gmail.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),dd441969aa54b3739f2d9202d3feaf46aee807ec51e01a13ef41eda52743944f +tests/mcp/test_tool_list_directory.py,test_tool_list_directory.py,source_code,7730,2025-07-01T08:33:22.096737,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),cfbb5c06bcfe74ea60f31051eb9b03ac80b86232b053c188bf3b172132f7c0f5 +tests/mcp/test_tool_move_note.py,test_tool_move_note.py,source_code,25851,2025-07-30T09:39:45.727347,jope-bm,2,jope-bm (joe@basicmemory.com); Paul Hernandez (paul@basicmachines.co),c9f95158503fa42e37532aaa35027538fa49cea718d059d570cf547d31f01043 +tests/mcp/test_tool_read_content.py,test_tool_read_content.py,source_code,19442,2025-07-30T09:39:45.727526,jope-bm,1,jope-bm (joe@basicmemory.com),1817e32f997b06dbdabf02864d0c70584c1cd80bf1fae8dfbef649de79434bc5 +tests/mcp/test_tool_read_note.py,test_tool_read_note.py,source_code,22991,2025-07-30T09:39:45.727746,jope-bm,4,jope-bm (joe@basicmemory.com); Paul Hernandez (paul@basicmachines.co); Amadeusz Wieczorek (git@amadeusw.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),4e13ea9ff977525aa62b6a8c22505ffe989329dc3e7d07b71e044cf43ef3ddfd +tests/mcp/test_tool_recent_activity.py,test_tool_recent_activity.py,source_code,3983,2025-07-01T08:33:22.098561,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),45414152cd45334b84df56f653146b7bd2939907548e7245a37207fdccfc4c87 +tests/mcp/test_tool_resource.py,test_tool_resource.py,source_code,6782,2025-07-01T08:33:22.098948,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),3916ae1c4d458eee53d2c570b9bbb708ecd617de5a145c3a7552389954bc9195 +tests/mcp/test_tool_search.py,test_tool_search.py,source_code,10959,2025-07-03T18:43:10.085177,Drew Cain,3,Drew Cain (groksrc@gmail.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),07839cf8e89d74ba05ec1dc55fa842444c1f0cc3d1587823b0ac3458ad89e87c +tests/mcp/test_tool_sync_status.py,test_tool_sync_status.py,source_code,6331,2025-07-01T08:33:22.100021,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),3f3566df5b9f3c66bb9b3bd77d4c05825480d0e85015305cb1b7ab9429c7a7ec +tests/mcp/test_tool_utils.py,test_tool_utils.py,source_code,9228,2025-07-01T08:33:22.100561,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),b50789f7a78b0169f52dc8bd16e262510ed4a0ac130fce698d4be84af1fe2d31 +tests/mcp/test_tool_view_note.py,test_tool_view_note.py,source_code,10004,2025-07-01T08:33:22.101164,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),385535ce791c3ab55db827cbcf27ea25ae85faf3a027f52df4eea052cede7f36 +tests/mcp/test_tool_write_note.py,test_tool_write_note.py,source_code,35136,2025-07-30T09:39:45.728137,jope-bm,3,jope-bm (joe@basicmemory.com); Drew Cain (groksrc@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),45172de20cfc4f4436287573b4f5a94b8b616a360647af67ba1c6c343ccd41b8 +tests/repository/test_entity_repository.py,test_entity_repository.py,source_code,15498,2025-06-21T00:01:46.176265,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),8f5d1ff6cff7b640993ff73f463b1e7801a4dd69640fc55fa23dc58b865e9943 +tests/repository/test_entity_repository_upsert.py,test_entity_repository_upsert.py,source_code,16983,2025-07-03T18:43:10.085482,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@users.noreply.github.com),ee0ecd6f4ff8b31838bd6de6fb1018af437e02813d8315c06f4e20a6b78a0572 +tests/repository/test_observation_repository.py,test_observation_repository.py,source_code,11786,2025-06-21T00:01:46.158862,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (phernandez@basicmachines.co),3006d392ad94dcc9b3ae031d63a1af6935624534389dd025de70d4c9e112aa0b +tests/repository/test_project_info_repository.py,test_project_info_repository.py,source_code,1186,2025-06-21T00:01:46.161876,bm-claudeai (AI Assistant),1,bm-claudeai (AI Assistant) (claude@basicmachines.co),dbce7ae7350403cbc37343c2e3e68e4d2255e247006aaa6c495a7ce8bfddea7d +tests/repository/test_project_repository.py,test_project_repository.py,source_code,10511,2025-07-30T09:39:45.728536,jope-bm,2,jope-bm (joe@basicmemory.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),279a3324635b1b515c18003bd1875cf230fef1192cadef9ca426846783717e75 +tests/repository/test_relation_repository.py,test_relation_repository.py,source_code,11980,2025-06-21T00:01:46.167567,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (phernandez@basicmachines.co),fcdbdf40f7b56145b98eedde5ead64ef6187e859adde48cc09f5a97754757428 +tests/repository/test_repository.py,test_repository.py,source_code,5996,2025-06-21T00:01:46.152691,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),3a6d4ca0b7a438a30ae504f5eac22874d4e1a937a4246e90efad46c90f0e1c95 +tests/repository/test_search_repository.py,test_search_repository.py,source_code,25471,2025-07-03T18:43:10.086041,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),805b5cc55a53ae9d6e86c0de735c7f38ac9fd92c23194b0150fa3e7f5507a146 +tests/schemas/test_memory_url.py,test_memory_url.py,source_code,2000,2025-06-21T00:01:46.346515,Paul Hernandez,1,Paul Hernandez (paulmh@gmail.com),946fa6c48534f41c8b9cc27bbad164d3e3673a79afa84fbb439fae4cd26c504b +tests/schemas/test_memory_url_validation.py,test_memory_url_validation.py,source_code,9338,2025-07-01T08:33:22.103247,Paul Hernandez,1,Paul Hernandez (paul@basicmachines.co),7054c3a3cdb8e05d2ffd254ed298908ff3d48a0a3927d960975eae1ab9beeb38 +tests/schemas/test_schemas.py,test_schemas.py,source_code,16880,2025-07-03T18:43:10.086337,Drew Cain,3,Drew Cain (groksrc@gmail.com); Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),2c746a00c340f063c160ace67569955a300a294040949695c79fd4ae124fb611 +tests/schemas/test_search.py,test_search.py,source_code,3264,2025-06-21T00:01:46.343685,github-actions[bot] (AI Assistant),2,github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com); Paul Hernandez (60959+phernandez@users.noreply.github.com),7437775d1b4a61a438cbabe3dbb1becd2adc4dbcc0c24595830c0843fa7a3166 +tests/services/test_context_service.py,test_context_service.py,source_code,8833,2025-06-21T00:01:46.446200,bm-claudeai (AI Assistant),2,bm-claudeai (AI Assistant) (claude@basicmachines.co); Paul Hernandez (paulmh@gmail.com),ab49d21a05d5364e7e8a2f00b07aabe1109b7417698e0acd92792e2cb5f22732 +tests/services/test_directory_service.py,test_directory_service.py,source_code,6854,2025-06-21T00:01:46.457258,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),a0c765fb6bd1a75b6ba4592b1df344c48273b6ab03ba6bd15d2b5e840eb2d521 +tests/services/test_entity_service.py,test_entity_service.py,source_code,59278,2025-07-03T18:43:10.086674,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),d7d495756faa10b415d705cf26b69d2efbc5f190a834b6767386ff296629ea71 +tests/services/test_file_service.py,test_file_service.py,source_code,5243,2025-06-21T00:01:46.460141,Paul Hernandez,1,Paul Hernandez (phernandez@basicmachines.co),83e6e9a7584b7baeccbc84865d8c1d3e2a0223e7d2b9c066d3799c289196ab7d +tests/services/test_initialization.py,test_initialization.py,source_code,6939,2025-07-08T20:39:18.351946,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),ebb8d11ff37dcb36c4844c68f873c8e0e8aa6ab1b82abb22ee96c4233e6ab287 +tests/services/test_link_resolver.py,test_link_resolver.py,source_code,13618,2025-07-01T08:33:22.105766,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),c9fc56d0c3572770e95ca6175c213ed8b44c2a6ddddc298b5662cc2d8f41014e +tests/services/test_project_service.py,test_project_service.py,source_code,28152,2025-07-30T09:39:45.728920,jope-bm,3,jope-bm (joe@basicmemory.com); Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),430868ed796518937a3b0bed4d8c33be53264a6100d61d54b0745bb2b58bf29a +tests/services/test_project_service_operations.py,test_project_service_operations.py,source_code,4679,2025-06-21T00:01:46.442141,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),d4103b6c5fff7e74ba84b86033537b8522aa60fc75aec4974d52e1dfec68b1b4 +tests/services/test_search_service.py,test_search_service.py,source_code,25299,2025-06-21T00:01:46.439133,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),b3e58258db2b727ab8a1792e52fcb038d3a0779bcd1b70f2d295a9d06e5e2513 +tests/services/test_sync_status_service.py,test_sync_status_service.py,source_code,9926,2025-07-03T18:43:10.087266,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),00245ca356e33fc7afcd2d42cb5ec082038c95383d738067821cf1e8d23c9a4b +tests/sync/test_sync_service.py,test_sync_service.py,source_code,39659,2025-07-01T08:33:22.107088,Paul Hernandez,2,Paul Hernandez (paul@basicmachines.co); bm-claudeai (AI Assistant) (claude@basicmachines.co),0609aee9906549f27fc4289b5ac2d46a50e53e12a0615a2701f17fbe9a74e169 +tests/sync/test_sync_wikilink_issue.py,test_sync_wikilink_issue.py,source_code,1959,2025-06-21T00:01:46.420370,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),db4b98dd7008a1a26b0fd02b9a2d03bca950b281efc19d98a91b017c500b23a5 +tests/sync/test_tmp_files.py,test_tmp_files.py,source_code,5930,2025-06-21T00:01:46.424277,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),cead95a07b29f6c1ab933abe67f9648122f5f33d33753c8e4ab4934af96cbc25 +tests/sync/test_watch_service.py,test_watch_service.py,source_code,14076,2025-06-26T09:28:51.860679,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),e324a4127f8bfe59798f3a08125488c701e88239b7482d87a0394b91c55b893e +tests/sync/test_watch_service_edge_cases.py,test_watch_service_edge_cases.py,source_code,2169,2025-06-21T00:01:46.409830,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),b87c5015330e9b551630aab7ef95ac1e7663f0ce46e912d8155b319e139559aa +tests/test_config.py,test_config.py,source_code,3680,2025-07-03T18:43:10.087558,Paul Hernandez,3,Paul Hernandez (paul@basicmachines.co); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),6a246431cff739274efda895dfa28f38710289a73e645312f5fa05fce0885ec8 +tests/test_db_migration_deduplication.py,test_db_migration_deduplication.py,source_code,6166,2025-07-08T20:39:18.352690,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com),ab768e061531ca2edcd598c101b5d884e549f90c7a4b305a23713a199d263fbb +tests/utils/test_file_utils.py,test_file_utils.py,source_code,6199,2025-06-21T00:01:46.219673,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),4615bb20b92b8a79d9e086301f852b34c3360f17ecc209920d68528268ddeed4 +tests/utils/test_parse_tags.py,test_parse_tags.py,source_code,1691,2025-06-21T00:01:46.223400,Paul Hernandez,2,Paul Hernandez (60959+phernandez@users.noreply.github.com); github-actions[bot] (AI Assistant) (41898282+github-actions[bot]@users.noreply.github.com),b83afdf18dac8b3411bd0fab1301683217d3d1abceaf2d22c09e79c709efd8eb +tests/utils/test_permalink_formatting.py,test_permalink_formatting.py,source_code,4193,2025-06-21T00:01:46.225738,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),d998a4ca846c78679728a918b6f71df67c30b6961ede3cffa609f2cf6ad160eb +tests/utils/test_utf8_handling.py,test_utf8_handling.py,source_code,5791,2025-06-21T00:01:46.228483,Paul Hernandez,1,Paul Hernandez (60959+phernandez@users.noreply.github.com),50ec792e572af51cd2d996d4ddacbcfd3bbd79aa928818a90c42117451ea829f +tests/utils/test_validate_project_path.py,test_validate_project_path.py,source_code,15346,2025-07-30T09:39:45.729224,jope-bm,1,jope-bm (joe@basicmemory.com),27a4bf2a9d277e6cd773619e5241b20175d211ec60c284361bec404fd99143f3 +uv.lock,uv.lock,other,232710,2025-07-30T09:39:36.619155,Paul Hernandez,3,Paul Hernandez (60959+phernandez@users.noreply.github.com); Drew Cain (groksrc@users.noreply.github.com); bm-claudeai (AI Assistant) (claude@basicmachines.co),caa1e3f6e66464b884a78cab77df2fe303fa3c0dc573be0196474b6d3c150581 diff --git a/legal_inventory_main/basic_memory_inventory_20250730_094006.md b/legal_inventory_main/basic_memory_inventory_20250730_094006.md new file mode 100644 index 00000000..1d10de3d --- /dev/null +++ b/legal_inventory_main/basic_memory_inventory_20250730_094006.md @@ -0,0 +1,1943 @@ +# Basic Memory - Legal File Inventory + +## Summary + +**Scan Date:** 2025-07-30T09:40:06.503549 +**Repository:** /Users/phernandez/dev/basicmachines/basic-memory +**Total Files:** 271 +**Total Size:** 2,577,711 bytes +**Contributors:** 17 + +## File Categories + +- **Configuration:** 12 files +- **Documentation:** 17 files +- **Legal:** 10 files +- **Other:** 10 files +- **Source Code:** 220 files +- **Templates:** 2 files + +## Contributors + +- **Paul Hernandez** (60959+phernandez@users.noreply.github.com): 242 files, 65 commits +- **bm-claudeai (AI Assistant)** (claude@basicmachines.co): 144 files, 7 commits +- **Drew Cain** (groksrc@users.noreply.github.com): 30 files, 23 commits +- **jope-bm** (joe@basicmemory.com): 27 files, 4 commits +- **github-actions[bot] (AI Assistant)** (41898282+github-actions[bot]@users.noreply.github.com): 24 files, 7 commits +- **semantic-release** (semantic-release): 3 files, 44 commits +- **Amadeusz Wieczorek** (git@amadeusw.com): 2 files, 1 commits +- **Ikko Eltociear Ashimine** (eltociear@gmail.com): 1 files, 1 commits +- **Jason Noble** (github+jasonn@jasonnoble.org): 1 files, 2 commits +- **Marc Baiza** (43151891+mbaiza27@users.noreply.github.com): 1 files, 2 commits + +## Detailed File Inventory + +### Configuration + +**.github/ISSUE_TEMPLATE/config.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 374 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f4e21bb9b7f053509b6c08548a2649a5d62f44f0106810aa8c915d2f29acc623` + +**.github/dependabot.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 529 bytes +- All Contributors: Paul Hernandez +- SHA-256: `8c6c2ef9a1417da63adb49c70f45524129bd5c46bbd7452b6b97cfe65205f89d` + +**.github/workflows/dev-release.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,405 bytes +- All Contributors: Paul Hernandez +- SHA-256: `58bcfc9e11e210e02dee76aabe7d1378da4edafb7f61857049ee6ccee9d45ffa` + +**.github/workflows/docker.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,621 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c918a86f2b16ebb45182a73c45272bcd6cea7022cc6e0eaeb2b2a24d8eebfe4d` + +**.github/workflows/pr-title.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 887 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b6df62a20235496feba4d9419c85d6e8446c4d447ad69e7f57b51cc8953f68f4` + +**.github/workflows/release.yml** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 2,479 bytes +- All Contributors: Drew Cain, Paul Hernandez +- SHA-256: `163307a99e2f3d317af6ae8927e1537654d88bf574a6958ac0bcd2d4de266b2a` + +**.github/workflows/test.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,426 bytes +- All Contributors: Paul Hernandez +- SHA-256: `ab09084a11be8adfc83fc6285c652fbe44a4584aa7d7d3658fcf0c57112d1640` + +**docker-compose.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,534 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4a9fdfd2f0d42b148fe021eee77fd5e772c7ba9c2fe5d0cc310c8c7a64257417` + +**memory.json** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 90,075 bytes +- All Contributors: Paul Hernandez +- SHA-256: `22d5eee995ca0548b7d9dd152f9a3690c42a514cbf38fea750b3ed2a17dd99c5` + +**pyproject.toml** +- Primary Author: Paul Hernandez +- Contributors: 4 +- Size: 3,279 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant), semantic-release +- SHA-256: `428a5d64d4555dc7cd2a81b89a3444bdb1d2f3017257fbc9160bd0ae982718e1` + +**smithery.yaml** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 433 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `63f13499cf4fee0751b5005f5bd85597dc1c7f9a881f4ec8147cc23e95e75c2d` + +**src/basic_memory/alembic/alembic.ini** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,733 bytes +- All Contributors: Paul Hernandez +- SHA-256: `20466c9c5f026db66793006bebb2f328a3686c7bb34da40d52f33c3eca29e717` + +### Documentation + +**.claude/commands/release/beta.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,103 bytes +- All Contributors: Paul Hernandez +- SHA-256: `345f06e3f304470a8892e96979355919c8e5d8f4212ebbe543c3272fd15a5cbe` + +**.claude/commands/release/changelog.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,648 bytes +- All Contributors: Paul Hernandez +- SHA-256: `ea2484352f4f881aa71f546dcf84b0882d60c96673a88406aa2f7e12a282a1f4` + +**.claude/commands/release/release-check.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,344 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7dd41a40e95c89153936c4ea60a3c989eccd5973fff9f6caef156de82f12bd04` + +**.claude/commands/release/release.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,925 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0e4afd788fcf85fbe46094452e9b92a4290c3e23702283e72ee56aa9288476e5` + +**.claude/commands/test-live.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 18,720 bytes +- All Contributors: Paul Hernandez +- SHA-256: `21a9edeefb3e5673d833151a2fd0464087c0f0a9d056fdd7fca474c1d177d6fc` + +**.github/ISSUE_TEMPLATE/bug_report.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 967 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0d34443ddda84a5e9726c8268083c9646d2cc64ff9c5ebf56c89587cef4c7706` + +**.github/ISSUE_TEMPLATE/documentation.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 557 bytes +- All Contributors: Paul Hernandez +- SHA-256: `78f80a6b9a2b954695f74a847a068e0b780da6020572401c13c931555a4a9db5` + +**.github/ISSUE_TEMPLATE/feature_request.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 786 bytes +- All Contributors: Paul Hernandez +- SHA-256: `cee834de442221d53f3d2eeb85b81f3a641b3a7cb587ef8a169452305007439d` + +**CHANGELOG.md** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 53,647 bytes +- All Contributors: Paul Hernandez, semantic-release +- SHA-256: `0b165eb18975ff253cde08f4687b7808ac6ce63b6d8c10912c495a76c9058d1a` + +**CODE_OF_CONDUCT.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 509 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b276b464e85eb1e5d9f09d90bba9573508a7bf81d2eeb38d0f25bd9f2fa66198` + +**CONTRIBUTING.md** +- Primary Author: jope-bm +- Contributors: 2 +- Size: 7,329 bytes +- All Contributors: jope-bm, Paul Hernandez +- SHA-256: `ca822fe39cc529bfc3822d317ab8a20fd141ec3ecb8c20de9e2eca3edce1c282` + +**README.md** +- Primary Author: Drew Cain +- Contributors: 6 +- Size: 16,261 bytes +- All Contributors: Drew Cain, Paul Hernandez, Jason Noble, Marc Baiza, Matias Forbord, bm-claudeai (AI Assistant) +- SHA-256: `2c4b82b30f49ab465617034fda999157450ed168f8e097fe8e9ca7ac65a197a7` + +**SECURITY.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 303 bytes +- All Contributors: Paul Hernandez +- SHA-256: `96932268b8fe737577941b49e9dff5ff8ad59c11cc3f9a016989589ef5c98c1f` + +**docs/AI Assistant Guide.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 16,423 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c717869a3d356852077026591364ecb0589a6d53f9764af027c57d142ea7ff55` + +**docs/Docker.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 9,088 bytes +- All Contributors: Paul Hernandez +- SHA-256: `e13d3f50148353046b52d9d493986880f76f2914ef4efe1a759b2cc9d10913a4` + +**llms-install.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,307 bytes +- All Contributors: Paul Hernandez +- SHA-256: `674105eb85c8f1d59fc2ddc6840f2a2a3e293358687a305c37dffc8144304f97` + +**src/basic_memory/mcp/resources/ai_assistant_guide.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 14,777 bytes +- All Contributors: Paul Hernandez +- SHA-256: `aa76160e46256fe2662ae3a86799659916acfede1d5835c1fe2f0b136efb2e0b` + +### Legal + +**.github/workflows/claude.yml** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,628 bytes +- All Contributors: Paul Hernandez +- SHA-256: `d026f1756310781b85abc491b454cc31b52dfce4b951cdf8a4a555b6b047604c` + +**CLA.md** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,342 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c238c7ff4f2b8451c6bba1bbacd10b04fb7d41d9a9cd76a62644d8193791d169` + +**CLAUDE.md** +- Primary Author: Drew Cain +- Contributors: 4 +- Size: 12,310 bytes +- All Contributors: Drew Cain, Paul Hernandez, bm-claudeai (AI Assistant), Ikko Eltociear Ashimine +- SHA-256: `751f10c1a9a9c0ba2054d9c9cd36cf0989d6a347491fd505bb6504ee74b12900` + +**LICENSE** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 34,523 bytes +- All Contributors: Paul Hernandez +- SHA-256: `8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef` + +**src/basic_memory/cli/commands/import_claude_conversations.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,946 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7bc97838732bf00f4fb4a80e3ba4fdfbce8971ae85cc2ac902c3b3a3e110ae57` + +**src/basic_memory/cli/commands/import_claude_projects.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,891 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `6321577075801c99ad47a0cdc13b5aa3c9ca102a05ca8f06ae2a51125a8c43bc` + +**src/basic_memory/importers/claude_conversations_importer.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,725 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `a7bc9e872f4f81ce5f79fe9dd1a6fd0f00a6f020a2cb2664184a97f14eeb1dbc` + +**src/basic_memory/importers/claude_projects_importer.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,389 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `a452675fd9bb18ebf64eb4bd7f69ccd7e993b617931015a3c4ab700d67493863` + +**tests/cli/test_import_claude_conversations.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,028 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ac4b3b9dfc331fa7fa32a2941c027ff8b6585a94a5ccfaaf0a4affe5cf19c00c` + +**tests/cli/test_import_claude_projects.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,585 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7eaab3d491d50ca59c8ba015ecd5740a5feae94d970ee17559c6df9d8558c2cc` + +### Other + +**.dockerignore** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 623 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b3079bffad89d07186c9166725075524ffc07ceea6dc1d53fdbea6dca9585684` + +**.gitignore** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 566 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `358658b0faa8c3145e539421deba4ad0bac4a8ea2e608b2c2f867a822c67b36f` + +**.python-version** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7b55f8e67b5623c4bef3fa691288da9437d79d3aba156de48d481db32ac7d16d` + +**CITATION.cff** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 302 bytes +- All Contributors: Paul Hernandez +- SHA-256: `bc4878cf6f80bb64655f3f93a5821ffe0924ad8311c784b5f81a36093fcffdda` + +**Dockerfile** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 856 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `c45501905423990e31ffdb8ae4e976eca6423c6784905c1036bcc7795b70feef` + +**justfile** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 5,496 bytes +- All Contributors: jope-bm, Paul Hernandez, Drew Cain +- SHA-256: `a8df6c73ee8cf3eaa48e4cba193dffbc2821b843a8cc0c0cd58b8517f2252907` + +**src/basic_memory/alembic/script.py.mako** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 635 bytes +- All Contributors: Paul Hernandez +- SHA-256: `304a8bfb6a804e5493f5300e79882c70c9f5bb2e87512f4d16f0e097dddd323f` + +**tests/Non-MarkdownFileSupport.pdf** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 106,751 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4aa96f9d0ee830ef6a1ec92243f302bbe2fa8971b84945f4eb5e276bf1ffde96` + +**tests/Screenshot.png** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 190,076 bytes +- All Contributors: Paul Hernandez +- SHA-256: `dd82612fe013c39810d28ae0f2bbcca6ab2c9925b035d7720bb02493ddf5d0a9` + +**uv.lock** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 232,710 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `caa1e3f6e66464b884a78cab77df2fe303fa3c0dc573be0196474b6d3c150581` + +### Source Code + +**src/basic_memory/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 256 bytes +- All Contributors: Paul Hernandez, Drew Cain, semantic-release +- SHA-256: `c946490ab9d64957d25df37f721392024916f8a81ed838f70a8e938b1c2637db` + +**src/basic_memory/alembic/env.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 2,838 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `e241d987eadfcd5011cbd9ddbecb833d306de87937759d81c08d37d04a6906b0` + +**src/basic_memory/alembic/migrations.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 718 bytes +- All Contributors: Paul Hernandez +- SHA-256: `96b8873d70dd04b48d5c45b7413a54d1224ab9577557ef0dad5929377a9fb144` + +**src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,363 bytes +- All Contributors: Paul Hernandez +- SHA-256: `9536d69409ddd5eb3bc54f7d0e82607da45ed7f2ad7bc4cbf7cae2a9e28657cd` + +**src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,840 bytes +- All Contributors: Paul Hernandez +- SHA-256: `93ac584e660f33d468b3eec203b070641298c282bf82655d0beda7f050237681` + +**src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 4,379 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `d82098f5aca3cdbada60c7229ea4ac262f527349eed9ef9e864509bacfaccf7e` + +**src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,210 bytes +- All Contributors: Paul Hernandez +- SHA-256: `604ac5908a5976272f52297866d13abb14a99390590935d9fd37cf13e32049fa` + +**src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,428 bytes +- All Contributors: Paul Hernandez +- SHA-256: `46c1b2990cdf4575752d234a8b28b494c8a54f15b5360c12f6347aef27b66a92` + +**src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,679 bytes +- All Contributors: Paul Hernandez +- SHA-256: `9036af47d42ac7dc12bb93f7a9de1266aff0688b031b550c4e0d92983a24b4c5` + +**src/basic_memory/api/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 72 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c02a63fb6d63d43d0acca97d425eae9cb055158d0ad6e1a9fc57926512adaa99` + +**src/basic_memory/api/app.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,897 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ad673ac2c09410af5830f6afdffaa28b0040480dacd52ff01750b8b2c066e8cf` + +**src/basic_memory/api/routers/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 398 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `4443b908a43dea8e6fb4658009cb08c48a56c9b21449e29773cdd159b59cf014` + +**src/basic_memory/api/routers/directory_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,054 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ac1407beec1f7d43a4d222af704b3642559c960bebf2eaf6e1ffe91f7fac5514` + +**src/basic_memory/api/routers/importer_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 4,513 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `c45502a2b90f5a8f00174c9ad14adc2e65cd7fc0a33d9740a9d750207f0f3bea` + +**src/basic_memory/api/routers/knowledge_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,738 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `e1d0ffb4fa5c246582ba844a11b417092de1a173567be55b7060bbc55fbc5681` + +**src/basic_memory/api/routers/management_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,730 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `cdbce294dcec6146c56c4dae15744cdf77039fd21b23eef7cbc0b5f9bfb5f4ee` + +**src/basic_memory/api/routers/memory_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,003 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `6bd0a7c775e0c1290efb6001173237c0cdcfa0c1b1bb27c9145a7b35f1596a97` + +**src/basic_memory/api/routers/project_router.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 8,444 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `6539c69f1d506c65d14cc2c151876b19057f37d84d51a9e6f464ed47a4692648` + +**src/basic_memory/api/routers/prompt_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,948 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `e30c6aebe35112054933c37d0b462c3750005030fc9e44c23b35b2cd2a93485c` + +**src/basic_memory/api/routers/resource_router.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 8,058 bytes +- All Contributors: Paul Hernandez +- SHA-256: `584244a84698ff24ca8f9f94fab5b891740a51c25f972920c08ebf83f478d5c9` + +**src/basic_memory/api/routers/search_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 1,226 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `183eb68e50904e22ff54db1d89b8be6f57fa1f8d0a096a3d497d8297b607e105` + +**src/basic_memory/api/routers/utils.py** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 5,159 bytes +- All Contributors: Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `9e60f57da24e1dc9d64236c26a7a2353003dc618a77fbeb853c494aa3357a57c` + +**src/basic_memory/api/template_loader.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 8,607 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `7b16d3797c89460c8b1664a335eae8c634fb5f60d6166d97e6a5156b776b6d83` + +**src/basic_memory/cli/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 33 bytes +- All Contributors: Paul Hernandez +- SHA-256: `6ab70a2c05910e13c3ef1e6df34325be265e633c076741998a0cb2dcd295a069` + +**src/basic_memory/cli/app.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,268 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `f710670380d707c4458ad881f7a25bb3c5cdb2bcff59f139f37421264fe8f2f8` + +**src/basic_memory/cli/commands/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 393 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `de8a23702f98fb844fa9f7fdbedc16ce24ff4f8baf05589c2f4a521cd8a55645` + +**src/basic_memory/cli/commands/db.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,480 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `704a1096d80ab9d12e247d029fe6223e935a0d0ceee7e615c020f46a720828e0` + +**src/basic_memory/cli/commands/import_chatgpt.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,856 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `8957cca3acab6351335624a518bdc19d956487e93d86dd1b6c2309e9d5850ae5` + +**src/basic_memory/cli/commands/import_memory_json.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 3,013 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7ea193f6720b2672290ad16c79a143a31d88a1d567838f12b9ebf9110a7c0338` + +**src/basic_memory/cli/commands/mcp.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 2,593 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `3e1be3d27b18ef4743204b7cf8a37fbc2a1a91fc1636c468e08cefcd8597bac6` + +**src/basic_memory/cli/commands/project.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 13,836 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `af3e6f30410ab48355f4b1a46aaa3aa5423cb0a0490f51447db1d25e09f39916` + +**src/basic_memory/cli/commands/status.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,809 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `b6d0ea237d714d054f69b24a2058beba74e224a2fa4a80a525d62a2aa2ea2d70` + +**src/basic_memory/cli/commands/sync.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 8,213 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `703b3e73c4c33850c27f6f4c07abbf5d4ce5dc43f706bf0c43264bbb45f8b213` + +**src/basic_memory/cli/commands/tool.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,540 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `9b2fa400b9f7921bf55b602f8bbdfa36b1ec7e4a5bc8fe7b9838b92e31f0a9ed` + +**src/basic_memory/cli/main.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 465 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7a405b12bff98e319968526238ae15859df0362bba5a3857562fecca47b5c70d` + +**src/basic_memory/config.py** +- Primary Author: jope-bm +- Contributors: 5 +- Size: 12,487 bytes +- All Contributors: jope-bm, Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `86341330a041b94d38f5e4f1b94f3509d74351c67cc826af1a4ff57313e5f726` + +**src/basic_memory/db.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 7,428 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `25e053b0b3f9e8fa823b05fc099001efe8a3a4f6e0f80728e5079ba45aa406d8` + +**src/basic_memory/deps.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 12,144 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `bce28cd9ca549b8afce0bc689cc1fb2dc80cd5b929f85114aa682bb8ae82411d` + +**src/basic_memory/file_utils.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,700 bytes +- All Contributors: Paul Hernandez +- SHA-256: `79ac5328b2c46d3232fcc6ff22ffc39ade085c0252ad91958be2a7ae9c9c8b71` + +**src/basic_memory/importers/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 795 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `0537015bdecfded85cb166b9c3db50b2f3aef329c70e0c36fbcb4f824099a21f` + +**src/basic_memory/importers/base.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 2,531 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `6b0c1efd4f827f348834aa0cea2ae8eebbb842a2e5b1f5f3747ced0ef79b9f13` + +**src/basic_memory/importers/chatgpt_importer.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 7,372 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `dfa540b196ab23b5c4e6bfcac4da567873351cf7c78fa35f4c3b87e84c58e218` + +**src/basic_memory/importers/memory_json_importer.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 4,631 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `bc7d045299f17ed9ad5cebff7b1423250ec28a11130e47a0ac48d3ab82bdeafc` + +**src/basic_memory/importers/utils.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 1,792 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `ee7e22fd4812362394f62ed8944abe80738c1e3ab88131faf639f4a8ccfd6c89` + +**src/basic_memory/markdown/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 501 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0ddce2a025ad0e729aab4e411d82e02ffefc15ac041cba4b5e7a7e90f4957c87` + +**src/basic_memory/markdown/entity_parser.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,516 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `1b0d1177358645ccbadd170b3f62760dc9bd838d38c741978ab0da5836234d68` + +**src/basic_memory/markdown/markdown_processor.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,968 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4b99f2ebdceed9d96a3bbb562682eba4b4b383c7a64080eaec3bbba25a4952c9` + +**src/basic_memory/markdown/plugins.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,639 bytes +- All Contributors: Paul Hernandez +- SHA-256: `82d2332918e866ccaf06a2e954d9eb9b397f71b4d9e591a7f2472e5f1423464a` + +**src/basic_memory/markdown/schemas.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,896 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7b2c580abd615725a62267257b46ac13922dfc30fa01192a681658bb528ae67e` + +**src/basic_memory/markdown/utils.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,410 bytes +- All Contributors: Paul Hernandez +- SHA-256: `1b757f0d06e60e3ea276c0b2ea44fe1a156a895e093c1e607d6286e702bf4ae4` + +**src/basic_memory/mcp/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 35 bytes +- All Contributors: Paul Hernandez +- SHA-256: `76c0ce84aaa361e21b0942db1c8c5f708b536eab9d12e120d4da7ce9eab41844` + +**src/basic_memory/mcp/async_client.py** +- Primary Author: jope-bm +- Contributors: 2 +- Size: 925 bytes +- All Contributors: jope-bm, Paul Hernandez +- SHA-256: `6531f4387f30a30a322197ff51d6eacae4b25a58c648095931b3d1145d1da303` + +**src/basic_memory/mcp/project_session.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,203 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4da403ec93dec9063eeb8b05246e3501740d162cc77a067d3ce54ba43d690819` + +**src/basic_memory/mcp/prompts/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 615 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f8197d0e08f64c3f4f50b8f38203ea5eebcf123582472ed2f58834de1dbe53b0` + +**src/basic_memory/mcp/prompts/ai_assistant_guide.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 821 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f13239c4e6e2455730bfac3d6f2d71407957d3086fc84efe2c6b22a833114c58` + +**src/basic_memory/mcp/prompts/continue_conversation.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 1,998 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `aec9a50b657b7bb1ba0c02b42bcdb9bc5b0f2a0b1143bd361c5ce7ea59076833` + +**src/basic_memory/mcp/prompts/recent_activity.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,311 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `d2fd5cddbd927430f15d5b85f1e3a3368a18cb4e2e4587a5d29749d2b9e0830e` + +**src/basic_memory/mcp/prompts/search.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 1,692 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `9dbf3c319cbdb5d5bf32608b51522d8ae92b2dd6f7c441d62efd0954b525738a` + +**src/basic_memory/mcp/prompts/utils.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 5,431 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `55a72b6eac18b724a9225608aca1e8e6cea3b684ccb1c609aab1511f7ce90ba4` + +**src/basic_memory/mcp/resources/project_info.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,906 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `2dc5244f1e225c17d4e8ba784d5721efc3aa2e8a5b3b2e258f22a77ebe155eca` + +**src/basic_memory/mcp/server.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 1,248 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `0a910cae27d61ea923e90fbe2d4b5c7cacf3b29d3e156f0b7f77872ab973c761` + +**src/basic_memory/mcp/tools/__init__.py** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 1,619 bytes +- All Contributors: Drew Cain, Paul Hernandez +- SHA-256: `872b771dd52ec3b763645a2baf6e10a70f049ce3106830a6d3f053b3e09a5fe6` + +**src/basic_memory/mcp/tools/build_context.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,611 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `724280b77b8f5f3e61cd3fdeebc3ee66e2bcfedaaea3638e6a2e2e33fcb1978e` + +**src/basic_memory/mcp/tools/canvas.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,738 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `db617d1bd81f3dbfa5f22d41e6b6b825afe1f73618f37acf63d9830390b98246` + +**src/basic_memory/mcp/tools/delete_note.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 7,346 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `b52c9173f5600662f255e7a70a5c17d5293ef8b29c19a8403334d7da62b65c8b` + +**src/basic_memory/mcp/tools/edit_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 13,570 bytes +- All Contributors: Paul Hernandez +- SHA-256: `ab8c7e7fbfa3fe5fb0ce6d7bf805454f5fd6182a340aae25237b1e6127b6d5a6` + +**src/basic_memory/mcp/tools/list_directory.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,236 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f85c43b02aeee580f4d8ce2a9100c0bab1095b245a0bb608e1847ace0d1ab51f` + +**src/basic_memory/mcp/tools/move_note.py** +- Primary Author: jope-bm +- Contributors: 2 +- Size: 17,541 bytes +- All Contributors: jope-bm, Paul Hernandez +- SHA-256: `5ef27d9baaebc2c5656fc49c4798a4e4e40a70b6cd9d1e761dbcae021bad558c` + +**src/basic_memory/mcp/tools/project_management.py** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 12,944 bytes +- All Contributors: Drew Cain, Paul Hernandez +- SHA-256: `cdac736d65129f689a85c6b82f8e043bc84a31657ead7a8331771171eeaa860f` + +**src/basic_memory/mcp/tools/read_content.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 9,125 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `96a13addac507fd874394dfa2e1e5ed71af5eb89d0872c1d68cacf9cac3f8724` + +**src/basic_memory/mcp/tools/read_note.py** +- Primary Author: jope-bm +- Contributors: 5 +- Size: 8,132 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant), Amadeusz Wieczorek, github-actions[bot] (AI Assistant) +- SHA-256: `dff53ce02b16d9c5fca315b3f09bb70867a89d614b0ef3f0548dce87978048ee` + +**src/basic_memory/mcp/tools/recent_activity.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,833 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `5d58cd2402679b1bf3c7dfcbb3503e40e776c9347ba499524d3b91c528af98de` + +**src/basic_memory/mcp/tools/search.py** +- Primary Author: Drew Cain +- Contributors: 4 +- Size: 15,883 bytes +- All Contributors: Drew Cain, Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `8519b0057468c4450eb543a2f561bcd0d7cb96e1ce1b95e948e02b309ba6b7ca` + +**src/basic_memory/mcp/tools/sync_status.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 10,517 bytes +- All Contributors: Paul Hernandez +- SHA-256: `73dd73b186eaec8b82e6b17e39a67c27082d24e0653dc4e4b35712bd83b80a22` + +**src/basic_memory/mcp/tools/utils.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 20,892 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `a95004911e276822eba88a3fef15c5b9ba861b1ca9a2ecfe0c1e3fb2f4ef0116` + +**src/basic_memory/mcp/tools/view_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,499 bytes +- All Contributors: Paul Hernandez +- SHA-256: `75d357c72113b1d0394987e521a4158ff09b77b23b08b56cddab5144331b1a68` + +**src/basic_memory/mcp/tools/write_note.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 6,612 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `771396fb49d397feb5f7e36321d4d233c22c4d1b53414912c849957c6e96fc83` + +**src/basic_memory/models/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 333 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `8f40b876d162f85384690291f1d416106f9d26d750d793414e2260e276c85cd5` + +**src/basic_memory/models/base.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 225 bytes +- All Contributors: Paul Hernandez +- SHA-256: `e2101727c084d519e32a16f6de53ddf9033b1bf15721d4e8c0c27d6d18b1b295` + +**src/basic_memory/models/knowledge.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 7,087 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `005c5f292f1f45ae372aadc48c9080b9fa6d7b854d0bb7ecf587ec843ac1e28d` + +**src/basic_memory/models/project.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,773 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `a14ad06943aeeff9ae4a5fa2dfc0e1d07ce6085acc02dc20c402c3513b7d9397` + +**src/basic_memory/models/search.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 1,300 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `3e143cc38b5a0294af8e1d43a4f841e1c1fd193b76136a68f83159ce19e86646` + +**src/basic_memory/repository/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 327 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `3162bea3c42292accea5ee52c8f6ca4368a8079056034529cfae6d820f84d035` + +**src/basic_memory/repository/entity_repository.py** +- Primary Author: Drew Cain +- Contributors: 3 +- Size: 10,405 bytes +- All Contributors: Drew Cain, bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `e2a8d1eba6c8d64bc61d7168df0fe8c29a670858bf9daeac464a0f440273fae0` + +**src/basic_memory/repository/observation_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 2,943 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `aa132f1cb4a36a84f715afdc40e2ac4f98d83e3eba1974b2b4404cc0b020ca04` + +**src/basic_memory/repository/project_info_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 338 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `f172d50182a405643a19b2a3d62a80f4e2b41463c775394eb3b66d7de51ff6df` + +**src/basic_memory/repository/project_repository.py** +- Primary Author: jope-bm +- Contributors: 2 +- Size: 3,803 bytes +- All Contributors: jope-bm, bm-claudeai (AI Assistant) +- SHA-256: `9083ba214b2bcaaf98164d9c33cda7add52bc77f7269ecb6e43cdd5088728b7c` + +**src/basic_memory/repository/relation_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 3,179 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `cfb3a8e59cff27e063e91bd00e949647bdd92e4d9fc46edeee3acc6de15e26f4` + +**src/basic_memory/repository/repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 15,224 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `3096fe71bf106506cbf86aeafe2aafe0aabbe5a5f6c90a212c8aa1e53e1f171c` + +**src/basic_memory/repository/search_repository.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 21,936 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `a972f73d1b71dac5770e8eb3793c6c9ac44e4e792f9dab528f8c4e6c6a80bcaa` + +**src/basic_memory/schemas/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 1,674 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `98480815c75379bfafe32d2090e87fa40e73caa19b664fbd5db5ea9528ba58cb` + +**src/basic_memory/schemas/base.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,738 bytes +- All Contributors: Paul Hernandez +- SHA-256: `171f7b0c4ab33abef2f7379eb1e3bda950586ce7edff83907fd12255f84e267e` + +**src/basic_memory/schemas/delete.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,180 bytes +- All Contributors: Paul Hernandez +- SHA-256: `50047624af7d58c8f780ffb2a065a51c3dde64492f9534917fc42860813e59fc` + +**src/basic_memory/schemas/directory.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 881 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `17dfcbac9a91a9bfe43b4f060ca2735cb6f69e16d81b63dd554a397830ff29fe` + +**src/basic_memory/schemas/importer.py** +- Primary Author: jope-bm +- Contributors: 2 +- Size: 693 bytes +- All Contributors: jope-bm, bm-claudeai (AI Assistant) +- SHA-256: `ac33df423ca32b28ce7b6ea9c29d541f8783a86c0c29f78db35163bf93f139cd` + +**src/basic_memory/schemas/memory.py** +- Primary Author: Drew Cain +- Contributors: 3 +- Size: 5,833 bytes +- All Contributors: Drew Cain, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `acb4a953a553feca672c4895798a7d948ec51f922f75b66dd7d55716e3bebed3` + +**src/basic_memory/schemas/project_info.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 7,047 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7dc3635297b6e7fe6e3262b2d78da26f7a79a846a4cecd5624f2e4828979cf2c` + +**src/basic_memory/schemas/prompt.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 3,648 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `4a92157d9a6b413f04e6e3f8d23dc2a417369c729f9703a8de2643ec114f2071` + +**src/basic_memory/schemas/request.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,760 bytes +- All Contributors: Paul Hernandez +- SHA-256: `32fe44beb2d99452223ebf1d3a3a3fe105ef92c79885023b71dfd7db30ecc503` + +**src/basic_memory/schemas/response.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,450 bytes +- All Contributors: Paul Hernandez +- SHA-256: `5eea4660a2abe48d83ed083d1c2483fdcfb403e0b504f03c14d22f1cae866abb` + +**src/basic_memory/schemas/search.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 3,657 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `cb032c0c60102b6b0ed934f995cf9d6bf93aece296d71d537a75e8ae61c75afe` + +**src/basic_memory/services/__init__.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 259 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `5c6b7c597ddf5ffd0af4bdfb32ccbc1c5f2794c658206dee43a9945fafe226d8` + +**src/basic_memory/services/context_service.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 14,462 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `e1178b005e6a89f03d6b239e3c6b152aeb30d535a3f280734440a3aec16228f2` + +**src/basic_memory/services/directory_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,017 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `fd838f5ec79033892777b3c8140868f4b57f13e1658d513959524a434b9f959b` + +**src/basic_memory/services/entity_service.py** +- Primary Author: Paul Hernandez +- Contributors: 4 +- Size: 30,440 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `7cd5163eca6b8a0772e838c8c869e478166763cd6a2d745b0b9aa5c25a65baee` + +**src/basic_memory/services/exceptions.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 390 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `a158d0af9d1742a9c5ab5f8c34a062948d9286d1c3c72a5abf20e4d547b21e1c` + +**src/basic_memory/services/file_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 10,059 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `8c2ae69c4913438b7d1c5ecbfcce812fbb5d0ea8e3cedcbd8694e8f40cf086f3` + +**src/basic_memory/services/initialization.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 6,715 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `4dde58b799cf4ac90631e59949b55b3355a93bdf99df0d9c2408c0cea67e10c4` + +**src/basic_memory/services/link_resolver.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 4,594 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `d7efd516cbea753e6b5411def09aeaeb7539f5743487119ecf163c736e138a8c` + +**src/basic_memory/services/project_service.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 30,125 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `bce95c00aa9a1da0a8c8090ee34b5b1494207f8c99e6c25de4ec43fddc38f6be` + +**src/basic_memory/services/search_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 12,782 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `7392b2d2e7f3ed83c5807855ccd450e0e79c17f254aedee700bce9323a1b5b83` + +**src/basic_memory/services/service.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 336 bytes +- All Contributors: Paul Hernandez +- SHA-256: `57e77ff20395d3bcc62100e92fe2acaacdd937d977a9fdc764e2b57ff60d4da8` + +**src/basic_memory/services/sync_status_service.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 7,504 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0a025d689e8e16f1632872104952105fc904537f3d32bcff592eb1f1dc76fbb7` + +**src/basic_memory/sync/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 156 bytes +- All Contributors: Paul Hernandez +- SHA-256: `0951e0b981f8e7b876bb6c6833c2af3a29490bbd5726567ea9487c947723623e` + +**src/basic_memory/sync/background_sync.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 726 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `549af64ae91128b76c6df07ef517b82de85ca4ad796be44b5c0141fac01d4513` + +**src/basic_memory/sync/sync_service.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 23,387 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `0310b927561370f593980d07773bce641b618b8fbf2d9e3890d174290a0344fc` + +**src/basic_memory/sync/watch_service.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 15,316 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `240ba6ac7523575945f4db442b7da3820d26c9605f2d7a2d357c4e35e215f523` + +**src/basic_memory/utils.py** +- Primary Author: jope-bm +- Contributors: 5 +- Size: 8,654 bytes +- All Contributors: jope-bm, Paul Hernandez, Drew Cain, andyxinweiminicloud, github-actions[bot] (AI Assistant) +- SHA-256: `111f343e3367339730e081c08acf4613667be574f946126513b5d82da3086bed` + +**test-int/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 8,203 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7231e1bc76cddc7c94433e853825dc0165b103bedf996c2c24eda6ae32fff5ad` + +**test-int/mcp/test_build_context_validation.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,469 bytes +- All Contributors: Paul Hernandez +- SHA-256: `ee61d6b15cee0194fd74c1bcf9361d5a839f6081c7d571ef081da8fcefe1bbf2` + +**test-int/mcp/test_delete_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 13,175 bytes +- All Contributors: Paul Hernandez +- SHA-256: `497495249b8bcf0af177d8705c6899875460707697980434e560cfe56f86feb3` + +**test-int/mcp/test_edit_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 19,822 bytes +- All Contributors: Paul Hernandez +- SHA-256: `9ba704badd05808aee0b5a686b7e250e1c865229ec92dab561cba5287b6f6fc6` + +**test-int/mcp/test_list_directory_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 14,744 bytes +- All Contributors: Paul Hernandez +- SHA-256: `2c4336a59de63f17ed252bb52d1330ebca901ad83bfebc9e5aa67f132a3c77c6` + +**test-int/mcp/test_move_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 19,825 bytes +- All Contributors: Paul Hernandez +- SHA-256: `cbb17688d0f9551306a7520b059ace7f7dfba70fc20bf0ec98b1148000d7ad7d` + +**test-int/mcp/test_project_management_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 33,175 bytes +- All Contributors: Paul Hernandez +- SHA-256: `93a43cd699453a7602a5def839740ba5027ab914eba3e7b66a026860ed6bd567` + +**test-int/mcp/test_project_state_sync_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 7,728 bytes +- All Contributors: Paul Hernandez +- SHA-256: `80b0f5b5cd359498dcbd3af7dcb6194afa4582d8efb3faa38d28675ee45e0748` + +**test-int/mcp/test_read_content_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 11,187 bytes +- All Contributors: Paul Hernandez +- SHA-256: `6955dd343b40df088ac79175e52723501d83796335a16e43b7f58e16e757e1b8` + +**test-int/mcp/test_read_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,381 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b93050da68d0e9d47d46879a386567f688399e28390f4eb31ee37353dc27514b` + +**test-int/mcp/test_search_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 14,690 bytes +- All Contributors: Paul Hernandez +- SHA-256: `e0957ada9dd9b12eae5843a37d241ec9293ca929f18281e31197dae36bff589d` + +**test-int/mcp/test_write_note_integration.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 9,472 bytes +- All Contributors: Paul Hernandez +- SHA-256: `b2b56fee8351168d0c65640c295d969dc4575d9bea87927b2dc07e591cabdff3` + +**tests/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 141 bytes +- All Contributors: Paul Hernandez +- SHA-256: `2ac5605e69ad8829e96b3689632536539f1cdd3149a29c1903f25af0793a5d65` + +**tests/api/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,404 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ea46cde47a37c1f43fe079e48f5d0de8007155a0187f4445abc4f2ffde9c1791` + +**tests/api/test_async_client.py** +- Primary Author: jope-bm +- Contributors: 2 +- Size: 1,382 bytes +- All Contributors: jope-bm, Paul Hernandez +- SHA-256: `a2f96226a75e5cff2326ca48ddccea4915964d83e529f7b99958bc233ccdc31a` + +**tests/api/test_continue_conversation_template.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,152 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `cca08b0291db0ad693c60d8dc203660021feab46d9eb530be7f67e0ebb52c1d3` + +**tests/api/test_directory_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,376 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `428626589f0010512481ba495368b0bf2b9617b22764e588eaa3562e86da4d37` + +**tests/api/test_importer_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 16,578 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `03edf6e7404c7350afe76e54ea2bf0d66f668bcdb49f59702067a67b3694309d` + +**tests/api/test_knowledge_router.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 45,771 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant) +- SHA-256: `43a5f91ae1fb9038e65c09701336fbdc4dbf40c8319c94727e6312fda9d6d56e` + +**tests/api/test_management_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 6,220 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `f6a3f41f263f10c08281525571e2e39fc9ae818ebb7e9895e3f3f3115ea05677` + +**tests/api/test_memory_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 5,555 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `2b8782015c893081fc67b7f13a7255d4e3dc45b27705a524f94918a339e2d486` + +**tests/api/test_project_router.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 13,288 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `af85d0870069d3831a9214372853994e5d12dc910e37298eb9958f72f6a8bb31` + +**tests/api/test_project_router_operations.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,812 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `afd40879de3d7c508cca0feeae3cb7a8f3afcfbb06f59a6104189b1e3291376a` + +**tests/api/test_prompt_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,046 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `9115995b7dd8b44d8a9c06c5e1bbb177618286675a769889e35ac16f26fd9897` + +**tests/api/test_resource_router.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 13,960 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ad3cb2cabaeab82a7e64253ceede7c1791e2bd70c92f60bc5f3be939292ca22d` + +**tests/api/test_search_router.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 3 +- Size: 6,409 bytes +- All Contributors: bm-claudeai (AI Assistant), github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `ba3e3809795e72db9dd9c8c729048bdbbbdb897c2a5aa8b175112b5d4b56d152` + +**tests/api/test_search_template.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 5,258 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `8f0d16a1de947d0466d96afed02e695f7648adac70b9ba99753250068207a686` + +**tests/api/test_template_loader.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 8,035 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `4fd7c6c4862cc0d877d29244ecdc0b52a0693fc4574a9667663bee36bfd36b62` + +**tests/api/test_template_loader_helpers.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 7,445 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `8dd35f11c9b3f2d96ac36263edf4430308728c04c9da543b1cb845b96ab20aa7` + +**tests/cli/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 1,185 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c3c73da7ad73224931e1fba4ebd70792221be607bfb1488bb5c9420bba03bdb8` + +**tests/cli/test_cli_tools.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 13,528 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `befb8cab50132e26a1b13b82ce8e93a3258282cf157a4230214bfcefeae65102` + +**tests/cli/test_import_chatgpt.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,719 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `df447335545248e2fb2417af33f8cc2f0143bd413a1783e41f89605de305b7c8` + +**tests/cli/test_import_memory_json.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 4,891 bytes +- All Contributors: jope-bm, bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `d6734ce059dacf97bc764d848b2e2a6ba52fa96871bc331ec9d2ddc60b766bb6` + +**tests/cli/test_project_commands.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 6,578 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `51e2ac7ff44b0d1a1db6da406c5c2e6aebceb1b63a1e8d5ab51bbaa834507157` + +**tests/cli/test_project_info.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,874 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `0b08950e95a5f276f14c56f6fe99af4d41b8f04548e9b7746f807c5ac4155578` + +**tests/cli/test_status.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,160 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `a1ff89fdac4bf57ba03be92ac79b8ca3210af0b1132d5a2bd0fc0c253fcbf988` + +**tests/cli/test_sync.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,864 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `77e0f6b42b584a5acfda3c2ff194ff5e71ca57a40cb4484d563f5482bbbb4c0f` + +**tests/cli/test_version.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 289 bytes +- All Contributors: Paul Hernandez +- SHA-256: `db95665178a32d391bd83011d073db269cefba9da8a4dc4d3e392d47bc0e0a8f` + +**tests/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 15,286 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `c6f38f103ce58144ffe4562f0c47dad849974e96327f02805e854447e19bc411` + +**tests/importers/test_importer_base.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 4,329 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `da872a073f2b90fda3c98c9f44cf45884f4f682d91ec1b1f931d42c34eee1939` + +**tests/importers/test_importer_utils.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 1,827 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `cbee630c855ceb1de764ac0cdb1d5d781c16cd3a934d67166adc235c98f363d7` + +**tests/markdown/__init__.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 0 bytes +- All Contributors: Paul Hernandez +- SHA-256: `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855` + +**tests/markdown/test_entity_parser.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 8,669 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `496fdab6fe164634f8223f827585a4c0dedd30ccea7b0b69dc79004ad0996de2` + +**tests/markdown/test_markdown_plugins.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,139 bytes +- All Contributors: Paul Hernandez +- SHA-256: `9624d73462aadcd47fb0edd0d87880959a8982eecfa39529f21e3b292c34cb83` + +**tests/markdown/test_markdown_processor.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,728 bytes +- All Contributors: Paul Hernandez +- SHA-256: `35042aa57dd2aeed848c624aa7f69decfb18e83c3b217eca1fdacfc4a10831db` + +**tests/markdown/test_observation_edge_cases.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,295 bytes +- All Contributors: Paul Hernandez +- SHA-256: `6f1ab7684bfa8b02af0e0c42b3d7aed91fcd0b1c6288cbc9b6d6943c166979fa` + +**tests/markdown/test_parser_edge_cases.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,142 bytes +- All Contributors: Paul Hernandez +- SHA-256: `d511d7d1187e3c1d3a8d3e0ab9efc9e68e84115c46811e7a9dc21eca9a87d520` + +**tests/markdown/test_relation_edge_cases.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 3,952 bytes +- All Contributors: Paul Hernandez +- SHA-256: `f8e2016308f84139342cc37ec6e389ffe52d7eb46f998ee327c7f0d5bba3ad9b` + +**tests/markdown/test_task_detection.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 401 bytes +- All Contributors: Paul Hernandez +- SHA-256: `37fe91a689742033a0eb76723557e31c2a85e591133383b3887572cb714db2a5` + +**tests/mcp/conftest.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,761 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `350b2ca42c52ef76e002deddb65fc0eccb9f8989bd26078ea1c100e3b93bae3f` + +**tests/mcp/test_prompts.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,989 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `e3b2ee5b4bc120b5043225ebdbf73eadd71be9c3d9d8e1fdd66a24a8ff11a780` + +**tests/mcp/test_resource_project_info.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,885 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `6a043736789b239c8d4ae00d1a5332a0fc3bed4038fe3388970ba97dc7431a93` + +**tests/mcp/test_resources.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 549 bytes +- All Contributors: Paul Hernandez +- SHA-256: `77a6396b9b8a9d3b3d202e438243ca6178d87fd7680c9fc063ee013f2042aa4c` + +**tests/mcp/test_tool_build_context.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,714 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `5f0a39fdb652605335ed54aa91fe994262441bb7ba46f381c46ebca882fc23f2` + +**tests/mcp/test_tool_canvas.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 7,997 bytes +- All Contributors: Paul Hernandez +- SHA-256: `c517bb1f9edc77b76fbeb483dfcb2dd57de9f0b80a10738708bc90cbe388dc9e` + +**tests/mcp/test_tool_delete_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,208 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4cbf3ba4313438651b0608d5b25faf1400f7bd6a78af630351aecd4457800895` + +**tests/mcp/test_tool_edit_note.py** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 13,503 bytes +- All Contributors: Drew Cain, Paul Hernandez +- SHA-256: `dd441969aa54b3739f2d9202d3feaf46aee807ec51e01a13ef41eda52743944f` + +**tests/mcp/test_tool_list_directory.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 7,730 bytes +- All Contributors: Paul Hernandez +- SHA-256: `cfbb5c06bcfe74ea60f31051eb9b03ac80b86232b053c188bf3b172132f7c0f5` + +**tests/mcp/test_tool_move_note.py** +- Primary Author: jope-bm +- Contributors: 2 +- Size: 25,851 bytes +- All Contributors: jope-bm, Paul Hernandez +- SHA-256: `c9f95158503fa42e37532aaa35027538fa49cea718d059d570cf547d31f01043` + +**tests/mcp/test_tool_read_content.py** +- Primary Author: jope-bm +- Contributors: 1 +- Size: 19,442 bytes +- All Contributors: jope-bm +- SHA-256: `1817e32f997b06dbdabf02864d0c70584c1cd80bf1fae8dfbef649de79434bc5` + +**tests/mcp/test_tool_read_note.py** +- Primary Author: jope-bm +- Contributors: 4 +- Size: 22,991 bytes +- All Contributors: jope-bm, Paul Hernandez, Amadeusz Wieczorek, github-actions[bot] (AI Assistant) +- SHA-256: `4e13ea9ff977525aa62b6a8c22505ffe989329dc3e7d07b71e044cf43ef3ddfd` + +**tests/mcp/test_tool_recent_activity.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 3,983 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `45414152cd45334b84df56f653146b7bd2939907548e7245a37207fdccfc4c87` + +**tests/mcp/test_tool_resource.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,782 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `3916ae1c4d458eee53d2c570b9bbb708ecd617de5a145c3a7552389954bc9195` + +**tests/mcp/test_tool_search.py** +- Primary Author: Drew Cain +- Contributors: 3 +- Size: 10,959 bytes +- All Contributors: Drew Cain, Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `07839cf8e89d74ba05ec1dc55fa842444c1f0cc3d1587823b0ac3458ad89e87c` + +**tests/mcp/test_tool_sync_status.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,331 bytes +- All Contributors: Paul Hernandez +- SHA-256: `3f3566df5b9f3c66bb9b3bd77d4c05825480d0e85015305cb1b7ab9429c7a7ec` + +**tests/mcp/test_tool_utils.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 9,228 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `b50789f7a78b0169f52dc8bd16e262510ed4a0ac130fce698d4be84af1fe2d31` + +**tests/mcp/test_tool_view_note.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 10,004 bytes +- All Contributors: Paul Hernandez +- SHA-256: `385535ce791c3ab55db827cbcf27ea25ae85faf3a027f52df4eea052cede7f36` + +**tests/mcp/test_tool_write_note.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 35,136 bytes +- All Contributors: jope-bm, Drew Cain, Paul Hernandez +- SHA-256: `45172de20cfc4f4436287573b4f5a94b8b616a360647af67ba1c6c343ccd41b8` + +**tests/repository/test_entity_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 15,498 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `8f5d1ff6cff7b640993ff73f463b1e7801a4dd69640fc55fa23dc58b865e9943` + +**tests/repository/test_entity_repository_upsert.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 16,983 bytes +- All Contributors: Paul Hernandez, Drew Cain +- SHA-256: `ee0ecd6f4ff8b31838bd6de6fb1018af437e02813d8315c06f4e20a6b78a0572` + +**tests/repository/test_observation_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 11,786 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `3006d392ad94dcc9b3ae031d63a1af6935624534389dd025de70d4c9e112aa0b` + +**tests/repository/test_project_info_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 1,186 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `dbce7ae7350403cbc37343c2e3e68e4d2255e247006aaa6c495a7ce8bfddea7d` + +**tests/repository/test_project_repository.py** +- Primary Author: jope-bm +- Contributors: 2 +- Size: 10,511 bytes +- All Contributors: jope-bm, bm-claudeai (AI Assistant) +- SHA-256: `279a3324635b1b515c18003bd1875cf230fef1192cadef9ca426846783717e75` + +**tests/repository/test_relation_repository.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 11,980 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `fcdbdf40f7b56145b98eedde5ead64ef6187e859adde48cc09f5a97754757428` + +**tests/repository/test_repository.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,996 bytes +- All Contributors: Paul Hernandez +- SHA-256: `3a6d4ca0b7a438a30ae504f5eac22874d4e1a937a4246e90efad46c90f0e1c95` + +**tests/repository/test_search_repository.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 25,471 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `805b5cc55a53ae9d6e86c0de735c7f38ac9fd92c23194b0150fa3e7f5507a146` + +**tests/schemas/test_memory_url.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 2,000 bytes +- All Contributors: Paul Hernandez +- SHA-256: `946fa6c48534f41c8b9cc27bbad164d3e3673a79afa84fbb439fae4cd26c504b` + +**tests/schemas/test_memory_url_validation.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 9,338 bytes +- All Contributors: Paul Hernandez +- SHA-256: `7054c3a3cdb8e05d2ffd254ed298908ff3d48a0a3927d960975eae1ab9beeb38` + +**tests/schemas/test_schemas.py** +- Primary Author: Drew Cain +- Contributors: 3 +- Size: 16,880 bytes +- All Contributors: Drew Cain, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `2c746a00c340f063c160ace67569955a300a294040949695c79fd4ae124fb611` + +**tests/schemas/test_search.py** +- Primary Author: github-actions[bot] (AI Assistant) +- Contributors: 2 +- Size: 3,264 bytes +- All Contributors: github-actions[bot] (AI Assistant), Paul Hernandez +- SHA-256: `7437775d1b4a61a438cbabe3dbb1becd2adc4dbcc0c24595830c0843fa7a3166` + +**tests/services/test_context_service.py** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 2 +- Size: 8,833 bytes +- All Contributors: bm-claudeai (AI Assistant), Paul Hernandez +- SHA-256: `ab49d21a05d5364e7e8a2f00b07aabe1109b7417698e0acd92792e2cb5f22732` + +**tests/services/test_directory_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,854 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `a0c765fb6bd1a75b6ba4592b1df344c48273b6ab03ba6bd15d2b5e840eb2d521` + +**tests/services/test_entity_service.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 59,278 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `d7d495756faa10b415d705cf26b69d2efbc5f190a834b6767386ff296629ea71` + +**tests/services/test_file_service.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,243 bytes +- All Contributors: Paul Hernandez +- SHA-256: `83e6e9a7584b7baeccbc84865d8c1d3e2a0223e7d2b9c066d3799c289196ab7d` + +**tests/services/test_initialization.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,939 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `ebb8d11ff37dcb36c4844c68f873c8e0e8aa6ab1b82abb22ee96c4233e6ab287` + +**tests/services/test_link_resolver.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 13,618 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `c9fc56d0c3572770e95ca6175c213ed8b44c2a6ddddc298b5662cc2d8f41014e` + +**tests/services/test_project_service.py** +- Primary Author: jope-bm +- Contributors: 3 +- Size: 28,152 bytes +- All Contributors: jope-bm, Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `430868ed796518937a3b0bed4d8c33be53264a6100d61d54b0745bb2b58bf29a` + +**tests/services/test_project_service_operations.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 4,679 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `d4103b6c5fff7e74ba84b86033537b8522aa60fc75aec4974d52e1dfec68b1b4` + +**tests/services/test_search_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 25,299 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `b3e58258db2b727ab8a1792e52fcb038d3a0779bcd1b70f2d295a9d06e5e2513` + +**tests/services/test_sync_status_service.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 9,926 bytes +- All Contributors: Paul Hernandez +- SHA-256: `00245ca356e33fc7afcd2d42cb5ec082038c95383d738067821cf1e8d23c9a4b` + +**tests/sync/test_sync_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 39,659 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `0609aee9906549f27fc4289b5ac2d46a50e53e12a0615a2701f17fbe9a74e169` + +**tests/sync/test_sync_wikilink_issue.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,959 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `db4b98dd7008a1a26b0fd02b9a2d03bca950b281efc19d98a91b017c500b23a5` + +**tests/sync/test_tmp_files.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 5,930 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `cead95a07b29f6c1ab933abe67f9648122f5f33d33753c8e4ab4934af96cbc25` + +**tests/sync/test_watch_service.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 14,076 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `e324a4127f8bfe59798f3a08125488c701e88239b7482d87a0394b91c55b893e` + +**tests/sync/test_watch_service_edge_cases.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 2,169 bytes +- All Contributors: Paul Hernandez, bm-claudeai (AI Assistant) +- SHA-256: `b87c5015330e9b551630aab7ef95ac1e7663f0ce46e912d8155b319e139559aa` + +**tests/test_config.py** +- Primary Author: Paul Hernandez +- Contributors: 3 +- Size: 3,680 bytes +- All Contributors: Paul Hernandez, Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `6a246431cff739274efda895dfa28f38710289a73e645312f5fa05fce0885ec8` + +**tests/test_db_migration_deduplication.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 6,166 bytes +- All Contributors: Paul Hernandez, Drew Cain +- SHA-256: `ab768e061531ca2edcd598c101b5d884e549f90c7a4b305a23713a199d263fbb` + +**tests/utils/test_file_utils.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 6,199 bytes +- All Contributors: Paul Hernandez +- SHA-256: `4615bb20b92b8a79d9e086301f852b34c3360f17ecc209920d68528268ddeed4` + +**tests/utils/test_parse_tags.py** +- Primary Author: Paul Hernandez +- Contributors: 2 +- Size: 1,691 bytes +- All Contributors: Paul Hernandez, github-actions[bot] (AI Assistant) +- SHA-256: `b83afdf18dac8b3411bd0fab1301683217d3d1abceaf2d22c09e79c709efd8eb` + +**tests/utils/test_permalink_formatting.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 4,193 bytes +- All Contributors: Paul Hernandez +- SHA-256: `d998a4ca846c78679728a918b6f71df67c30b6961ede3cffa609f2cf6ad160eb` + +**tests/utils/test_utf8_handling.py** +- Primary Author: Paul Hernandez +- Contributors: 1 +- Size: 5,791 bytes +- All Contributors: Paul Hernandez +- SHA-256: `50ec792e572af51cd2d996d4ddacbcfd3bbd79aa928818a90c42117451ea829f` + +**tests/utils/test_validate_project_path.py** +- Primary Author: jope-bm +- Contributors: 1 +- Size: 15,346 bytes +- All Contributors: jope-bm +- SHA-256: `27a4bf2a9d277e6cd773619e5241b20175d211ec60c284361bec404fd99143f3` + +### Templates + +**src/basic_memory/templates/prompts/continue_conversation.hbs** +- Primary Author: Drew Cain +- Contributors: 2 +- Size: 3,076 bytes +- All Contributors: Drew Cain, bm-claudeai (AI Assistant) +- SHA-256: `b6bac31d25c0e52d0909b2273285092f4e31bc219107f92ed511cd407b65e992` + +**src/basic_memory/templates/prompts/search.hbs** +- Primary Author: bm-claudeai (AI Assistant) +- Contributors: 1 +- Size: 3,098 bytes +- All Contributors: bm-claudeai (AI Assistant) +- SHA-256: `1f570222c1caa78542d46ac7d8a79407ca467b9bd714fa9bd953e8b72a667820` + diff --git a/legal_inventory_main/basic_memory_inventory_20250730_101521.json b/legal_inventory_main/basic_memory_inventory_20250730_101521.json new file mode 100644 index 00000000..43615fcd --- /dev/null +++ b/legal_inventory_main/basic_memory_inventory_20250730_101521.json @@ -0,0 +1,6788 @@ +{ + "summary": { + "scan_date": "2025-07-30T10:15:21.285063", + "repository_path": "/Users/phernandez/dev/basicmachines/basic-memory", + "total_files": 271, + "total_size_bytes": 2577711, + "categories": { + "documentation": 17, + "other": 10, + "configuration": 12, + "legal": 10, + "source_code": 220, + "templates": 2 + }, + "contributor_count": 17, + "top_contributors": [ + { + "name": "Paul Hernandez", + "file_count": 242, + "commit_count": 65, + "email": "60959+phernandez@users.noreply.github.com" + }, + { + "name": "bm-claudeai (AI Assistant)", + "file_count": 144, + "commit_count": 7, + "email": "claude@basicmachines.co" + }, + { + "name": "Drew Cain", + "file_count": 30, + "commit_count": 23, + "email": "groksrc@users.noreply.github.com" + }, + { + "name": "jope-bm", + "file_count": 27, + "commit_count": 4, + "email": "joe@basicmemory.com" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "file_count": 24, + "commit_count": 7, + "email": "41898282+github-actions[bot]@users.noreply.github.com" + }, + { + "name": "semantic-release", + "file_count": 3, + "commit_count": 44, + "email": "semantic-release" + }, + { + "name": "Amadeusz Wieczorek", + "file_count": 2, + "commit_count": 1, + "email": "git@amadeusw.com" + }, + { + "name": "Ikko Eltociear Ashimine", + "file_count": 1, + "commit_count": 1, + "email": "eltociear@gmail.com" + }, + { + "name": "Jason Noble", + "file_count": 1, + "commit_count": 2, + "email": "github+jasonn@jasonnoble.org" + }, + { + "name": "Marc Baiza", + "file_count": 1, + "commit_count": 2, + "email": "43151891+mbaiza27@users.noreply.github.com" + } + ] + }, + "files": [ + { + "path": ".claude/commands/release/beta.md", + "name": "beta.md", + "size_bytes": 3103, + "modified_time": "2025-07-01T08:33:22.037438", + "category": "documentation", + "sha256_hash": "345f06e3f304470a8892e96979355919c8e5d8f4212ebbe543c3272fd15a5cbe", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-11", + "commit_hash": "e4b32d7bc91d95f69b87af74bdba7f49bfa2ad2c" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".claude/commands/release/changelog.md", + "name": "changelog.md", + "size_bytes": 4648, + "modified_time": "2025-07-03T18:43:10.075727", + "category": "documentation", + "sha256_hash": "ea2484352f4f881aa71f546dcf84b0882d60c96673a88406aa2f7e12a282a1f4", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-26", + "commit_hash": "de4737cc22ba5c86a3357588a813758372f7c710" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".claude/commands/release/release-check.md", + "name": "release-check.md", + "size_bytes": 3344, + "modified_time": "2025-07-01T08:33:22.040060", + "category": "documentation", + "sha256_hash": "7dd41a40e95c89153936c4ea60a3c989eccd5973fff9f6caef156de82f12bd04", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "f608cd13f126fe8c010930389156daef546ae9bd" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".claude/commands/release/release.md", + "name": "release.md", + "size_bytes": 2925, + "modified_time": "2025-07-01T08:33:22.043674", + "category": "documentation", + "sha256_hash": "0e4afd788fcf85fbe46094452e9b92a4290c3e23702283e72ee56aa9288476e5", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-11", + "commit_hash": "4ea392d284d618d9f20a628591586f6d432b848b" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".claude/commands/test-live.md", + "name": "test-live.md", + "size_bytes": 18720, + "modified_time": "2025-07-03T18:43:10.076403", + "category": "documentation", + "sha256_hash": "21a9edeefb3e5673d833151a2fd0464087c0f0a9d056fdd7fca474c1d177d6fc", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-26", + "commit_hash": "77eefeb252025e9f07b22b1e95b4bd8da44d653c" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".dockerignore", + "name": ".dockerignore", + "size_bytes": 623, + "modified_time": "2025-07-01T08:33:22.048301", + "category": "other", + "sha256_hash": "b3079bffad89d07186c9166725075524ffc07ceea6dc1d53fdbea6dca9585684", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-20", + "commit_hash": "74847cc3807b0c6ed511e0d83e0d560e9f07ec44" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/ISSUE_TEMPLATE/bug_report.md", + "name": "bug_report.md", + "size_bytes": 967, + "modified_time": "2025-03-01T14:22:50.968994", + "category": "documentation", + "sha256_hash": "0d34443ddda84a5e9726c8268083c9646d2cc64ff9c5ebf56c89587cef4c7706", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-03-01", + "commit_hash": "41868fd34cadf96addc32280ac81835c0298568e" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/ISSUE_TEMPLATE/config.yml", + "name": "config.yml", + "size_bytes": 374, + "modified_time": "2025-03-01T14:23:26.936836", + "category": "configuration", + "sha256_hash": "f4e21bb9b7f053509b6c08548a2649a5d62f44f0106810aa8c915d2f29acc623", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-03-01", + "commit_hash": "41868fd34cadf96addc32280ac81835c0298568e" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/ISSUE_TEMPLATE/documentation.md", + "name": "documentation.md", + "size_bytes": 557, + "modified_time": "2025-03-01T14:23:40.020117", + "category": "documentation", + "sha256_hash": "78f80a6b9a2b954695f74a847a068e0b780da6020572401c13c931555a4a9db5", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-03-01", + "commit_hash": "41868fd34cadf96addc32280ac81835c0298568e" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/ISSUE_TEMPLATE/feature_request.md", + "name": "feature_request.md", + "size_bytes": 786, + "modified_time": "2025-03-01T14:23:06.344081", + "category": "documentation", + "sha256_hash": "cee834de442221d53f3d2eeb85b81f3a641b3a7cb587ef8a169452305007439d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-03-01", + "commit_hash": "41868fd34cadf96addc32280ac81835c0298568e" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/dependabot.yml", + "name": "dependabot.yml", + "size_bytes": 529, + "modified_time": "2025-03-15T10:40:16.936258", + "category": "configuration", + "sha256_hash": "8c6c2ef9a1417da63adb49c70f45524129bd5c46bbd7452b6b97cfe65205f89d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-15", + "commit_hash": "3070ade69a905dab766d7bcf42aac20b5d2874c5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/workflows/claude.yml", + "name": "claude.yml", + "size_bytes": 4628, + "modified_time": "2025-07-03T18:43:10.076958", + "category": "legal", + "sha256_hash": "d026f1756310781b85abc491b454cc31b52dfce4b951cdf8a4a555b6b047604c", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-26", + "commit_hash": "e5923a0378e05d08a968bcea76cfd17607ccce21" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/workflows/dev-release.yml", + "name": "dev-release.yml", + "size_bytes": 1405, + "modified_time": "2025-06-03T08:31:42.915367", + "category": "configuration", + "sha256_hash": "58bcfc9e11e210e02dee76aabe7d1378da4edafb7f61857049ee6ccee9d45ffa", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/workflows/docker.yml", + "name": "docker.yml", + "size_bytes": 1621, + "modified_time": "2025-07-01T08:33:22.049870", + "category": "configuration", + "sha256_hash": "c918a86f2b16ebb45182a73c45272bcd6cea7022cc6e0eaeb2b2a24d8eebfe4d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-20", + "commit_hash": "616c1f0710da59c7098a5f4843d4f017877ff7b2" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/workflows/pr-title.yml", + "name": "pr-title.yml", + "size_bytes": 887, + "modified_time": "2025-02-17T16:29:35.733646", + "category": "configuration", + "sha256_hash": "b6df62a20235496feba4d9419c85d6e8446c4d447ad69e7f57b51cc8953f68f4", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-13", + "commit_hash": "7c381a59c962053c78da096172e484f28ab47e96" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".github/workflows/release.yml", + "name": "release.yml", + "size_bytes": 2479, + "modified_time": "2025-07-03T18:43:10.077261", + "category": "configuration", + "sha256_hash": "163307a99e2f3d317af6ae8927e1537654d88bf574a6958ac0bcd2d4de266b2a", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@gmail.com", + "first_contribution": "2025-06-21", + "commit_hash": "a52ce1c8605ec2cd450d1f909154172cbc30faa2" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-09", + "commit_hash": "126d1655e6205b28b28fbe7e79e873d901c152bd" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 2 + }, + { + "path": ".github/workflows/test.yml", + "name": "test.yml", + "size_bytes": 1426, + "modified_time": "2025-07-01T08:33:22.054430", + "category": "configuration", + "sha256_hash": "ab09084a11be8adfc83fc6285c652fbe44a4584aa7d7d3658fcf0c57112d1640", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "f608cd13f126fe8c010930389156daef546ae9bd" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": ".gitignore", + "name": ".gitignore", + "size_bytes": 566, + "modified_time": "2025-07-01T08:33:22.055006", + "category": "other", + "sha256_hash": "358658b0faa8c3145e539421deba4ad0bac4a8ea2e608b2c2f867a822c67b36f", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "2162ad57fe385909dade11e61f8b3476e6990a46" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": ".python-version", + "name": ".python-version", + "size_bytes": 5, + "modified_time": "2024-12-02T16:41:37.012830", + "category": "other", + "sha256_hash": "7b55f8e67b5623c4bef3fa691288da9437d79d3aba156de48d481db32ac7d16d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2024-12-02", + "commit_hash": "fa7018c1b98ac6885c5b9233b5dd9e0d77cf0415" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "CHANGELOG.md", + "name": "CHANGELOG.md", + "size_bytes": 53647, + "modified_time": "2025-07-06T10:34:45.550847", + "category": "documentation", + "sha256_hash": "0b165eb18975ff253cde08f4687b7808ac6ce63b6d8c10912c495a76c9058d1a", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-07-03", + "commit_hash": "448210e5523885d4cd8fb720f78e4984194c5fbc" + }, + { + "name": "semantic-release", + "email": "semantic-release", + "first_contribution": "2025-04-17", + "commit_hash": "9437a5f83b3aca5be3a5af55e1ec95010484ca55" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "CITATION.cff", + "name": "CITATION.cff", + "size_bytes": 302, + "modified_time": "2025-02-17T16:29:35.735146", + "category": "other", + "sha256_hash": "bc4878cf6f80bb64655f3f93a5821ffe0924ad8311c784b5f81a36093fcffdda", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-03", + "commit_hash": "923b3d98ca58cf7fe4d562bbf651b249d7374b14" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "CLA.md", + "name": "CLA.md", + "size_bytes": 1342, + "modified_time": "2025-03-01T14:12:38.435132", + "category": "legal", + "sha256_hash": "c238c7ff4f2b8451c6bba1bbacd10b04fb7d41d9a9cd76a62644d8193791d169", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-03-01", + "commit_hash": "a3072702b930ec0904a4cd5ab74c4497e26728df" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "CLAUDE.md", + "name": "CLAUDE.md", + "size_bytes": 12310, + "modified_time": "2025-07-03T18:43:10.078147", + "category": "legal", + "sha256_hash": "751f10c1a9a9c0ba2054d9c9cd36cf0989d6a347491fd505bb6504ee74b12900", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@gmail.com", + "first_contribution": "2025-06-21", + "commit_hash": "a52ce1c8605ec2cd450d1f909154172cbc30faa2" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-18", + "commit_hash": "ed09ea4ec7a6c9cf03402e2911a097ef88e13f79" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Ikko Eltociear Ashimine", + "email": "eltociear@gmail.com", + "first_contribution": "2025-03-25", + "commit_hash": "dfaf0fea9cf5b97d169d51a6276ec70162c21a7e" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 4 + }, + { + "path": "CODE_OF_CONDUCT.md", + "name": "CODE_OF_CONDUCT.md", + "size_bytes": 509, + "modified_time": "2025-02-17T16:29:35.735238", + "category": "documentation", + "sha256_hash": "b276b464e85eb1e5d9f09d90bba9573508a7bf81d2eeb38d0f25bd9f2fa66198", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-03", + "commit_hash": "923b3d98ca58cf7fe4d562bbf651b249d7374b14" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "CONTRIBUTING.md", + "name": "CONTRIBUTING.md", + "size_bytes": 7329, + "modified_time": "2025-07-30T09:39:36.607158", + "category": "documentation", + "sha256_hash": "ca822fe39cc529bfc3822d317ab8a20fd141ec3ecb8c20de9e2eca3edce1c282", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-10", + "commit_hash": "a0cf62375db1a3b6e99414047ded54850d9c449d" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "f608cd13f126fe8c010930389156daef546ae9bd" + } + ], + "primary_author": "jope-bm", + "contributor_count": 2 + }, + { + "path": "Dockerfile", + "name": "Dockerfile", + "size_bytes": 856, + "modified_time": "2025-07-01T08:33:22.056908", + "category": "other", + "sha256_hash": "c45501905423990e31ffdb8ae4e976eca6423c6784905c1036bcc7795b70feef", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-20", + "commit_hash": "74847cc3807b0c6ed511e0d83e0d560e9f07ec44" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-03-11", + "commit_hash": "eb1e7b6088b0b3dead9c104ee44174b2baebf417" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "LICENSE", + "name": "LICENSE", + "size_bytes": 34523, + "modified_time": "2024-12-02T16:41:20.739392", + "category": "legal", + "sha256_hash": "8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2024-12-02", + "commit_hash": "f95a85626ca5dd1dc1f4b5c603f88439e9e58fcc" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "README.md", + "name": "README.md", + "size_bytes": 16261, + "modified_time": "2025-07-03T18:43:10.078281", + "category": "documentation", + "sha256_hash": "2c4b82b30f49ab465617034fda999157450ed168f8e097fe8e9ca7ac65a197a7", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-07-01", + "commit_hash": "536000512294d66090bf87abc8014f4dfc284310" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-19", + "commit_hash": "3269a2f33a7595f6d9e5207924062e2542f46759" + }, + { + "name": "Jason Noble", + "email": "github+jasonn@jasonnoble.org", + "first_contribution": "2025-04-05", + "commit_hash": "40ea28b0bfc60012924a69ecb76511daa4c7d133" + }, + { + "name": "Marc Baiza", + "email": "43151891+mbaiza27@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "43cbb7b38cc0482ac0a41b6759320e3588186e43" + }, + { + "name": "Matias Forbord", + "email": "codeluggage@users.noreply.github.com", + "first_contribution": "2025-03-27", + "commit_hash": "3c68b7d5dd689322205c67637dca7d188111ee6b" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-03-11", + "commit_hash": "eb1e7b6088b0b3dead9c104ee44174b2baebf417" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 6 + }, + { + "path": "SECURITY.md", + "name": "SECURITY.md", + "size_bytes": 303, + "modified_time": "2025-03-12T16:04:01.989927", + "category": "documentation", + "sha256_hash": "96932268b8fe737577941b49e9dff5ff8ad59c11cc3f9a016989589ef5c98c1f", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-12", + "commit_hash": "7b7bec95578a5462f0c0ad9653bf5fd2b1500382" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "docker-compose.yml", + "name": "docker-compose.yml", + "size_bytes": 2534, + "modified_time": "2025-07-01T08:33:22.059281", + "category": "configuration", + "sha256_hash": "4a9fdfd2f0d42b148fe021eee77fd5e772c7ba9c2fe5d0cc310c8c7a64257417", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-20", + "commit_hash": "616c1f0710da59c7098a5f4843d4f017877ff7b2" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "docs/AI Assistant Guide.md", + "name": "AI Assistant Guide.md", + "size_bytes": 16423, + "modified_time": "2025-07-01T08:33:22.060491", + "category": "documentation", + "sha256_hash": "c717869a3d356852077026591364ecb0589a6d53f9764af027c57d142ea7ff55", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "040be05a8165f438a1407d1e3837e0bccc2d76a4" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "docs/Docker.md", + "name": "Docker.md", + "size_bytes": 9088, + "modified_time": "2025-07-01T08:33:22.060976", + "category": "documentation", + "sha256_hash": "e13d3f50148353046b52d9d493986880f76f2914ef4efe1a759b2cc9d10913a4", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-20", + "commit_hash": "616c1f0710da59c7098a5f4843d4f017877ff7b2" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "justfile", + "name": "justfile", + "size_bytes": 5496, + "modified_time": "2025-07-30T09:39:36.608008", + "category": "other", + "sha256_hash": "a8df6c73ee8cf3eaa48e4cba193dffbc2821b843a8cc0c0cd58b8517f2252907", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-10", + "commit_hash": "a0cf62375db1a3b6e99414047ded54850d9c449d" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-07-01", + "commit_hash": "827f7cf3e35336e73bd2f2e43f9dd6ccb7e4b4cc" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "llms-install.md", + "name": "llms-install.md", + "size_bytes": 2307, + "modified_time": "2025-06-29T14:19:28.826375", + "category": "documentation", + "sha256_hash": "674105eb85c8f1d59fc2ddc6840f2a2a3e293358687a305c37dffc8144304f97", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-03-16", + "commit_hash": "b26afa927f98021246cd8b64858e57333595ea90" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "memory.json", + "name": "memory.json", + "size_bytes": 90075, + "modified_time": "2025-06-29T14:19:28.827172", + "category": "configuration", + "sha256_hash": "22d5eee995ca0548b7d9dd152f9a3690c42a514cbf38fea750b3ed2a17dd99c5", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2024-12-08", + "commit_hash": "5fc8baff9f857d15332a543c37028b4f348e90f5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "pyproject.toml", + "name": "pyproject.toml", + "size_bytes": 3279, + "modified_time": "2025-07-30T09:39:36.608791", + "category": "configuration", + "sha256_hash": "428a5d64d4555dc7cd2a81b89a3444bdb1d2f3017257fbc9160bd0ae982718e1", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-07-01", + "commit_hash": "827f7cf3e35336e73bd2f2e43f9dd6ccb7e4b4cc" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "semantic-release", + "email": "semantic-release", + "first_contribution": "2025-04-17", + "commit_hash": "9437a5f83b3aca5be3a5af55e1ec95010484ca55" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 4 + }, + { + "path": "smithery.yaml", + "name": "smithery.yaml", + "size_bytes": 433, + "modified_time": "2025-03-11T16:36:03.389716", + "category": "configuration", + "sha256_hash": "63f13499cf4fee0751b5005f5bd85597dc1c7f9a881f4ec8147cc23e95e75c2d", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-03-11", + "commit_hash": "eb1e7b6088b0b3dead9c104ee44174b2baebf417" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/__init__.py", + "name": "__init__.py", + "size_bytes": 256, + "modified_time": "2025-07-06T10:34:45.551291", + "category": "source_code", + "sha256_hash": "c946490ab9d64957d25df37f721392024916f8a81ed838f70a8e938b1c2637db", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-07-03", + "commit_hash": "2c29dcc2b2757a68905f115c61bf2c537b1b12ea" + }, + { + "name": "Drew Cain", + "email": "groksrc@gmail.com", + "first_contribution": "2025-07-01", + "commit_hash": "23ddf1918ca95d450341c5b1f93a498bb5bf15db" + }, + { + "name": "semantic-release", + "email": "semantic-release", + "first_contribution": "2025-04-17", + "commit_hash": "9437a5f83b3aca5be3a5af55e1ec95010484ca55" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/alembic/alembic.ini", + "name": "alembic.ini", + "size_bytes": 3733, + "modified_time": "2025-02-23T17:31:23.198433", + "category": "configuration", + "sha256_hash": "20466c9c5f026db66793006bebb2f328a3686c7bb34da40d52f33c3eca29e717", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-24", + "commit_hash": "37a01b806d0758029d34a862e76d44c7e5d538a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/alembic/env.py", + "name": "env.py", + "size_bytes": 2838, + "modified_time": "2025-07-08T20:39:18.336650", + "category": "source_code", + "sha256_hash": "e241d987eadfcd5011cbd9ddbecb833d306de87937759d81c08d37d04a6906b0", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-18", + "commit_hash": "c6215fd819f9564ead91cf3a950f855241446096" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/alembic/migrations.py", + "name": "migrations.py", + "size_bytes": 718, + "modified_time": "2025-06-21T00:01:59.613806", + "category": "source_code", + "sha256_hash": "96b8873d70dd04b48d5c45b7413a54d1224ab9577557ef0dad5929377a9fb144", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-05", + "commit_hash": "e6496df595f3cafde6cc836384ee8c60886057a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/alembic/script.py.mako", + "name": "script.py.mako", + "size_bytes": 635, + "modified_time": "2025-02-17T16:29:35.739659", + "category": "other", + "sha256_hash": "304a8bfb6a804e5493f5300e79882c70c9f5bb2e87512f4d16f0e097dddd323f", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "c394d682e1168c38b0f93af328a9300c759072f9" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py", + "name": "3dae7c7b1564_initial_schema.py", + "size_bytes": 4363, + "modified_time": "2025-06-21T00:01:59.595762", + "category": "source_code", + "sha256_hash": "9536d69409ddd5eb3bc54f7d0e82607da45ed7f2ad7bc4cbf7cae2a9e28657cd", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "c394d682e1168c38b0f93af328a9300c759072f9" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py", + "name": "502b60eaa905_remove_required_from_entity_permalink.py", + "size_bytes": 1840, + "modified_time": "2025-06-21T00:01:59.604717", + "category": "source_code", + "sha256_hash": "93ac584e660f33d468b3eec203b070641298c282bf82655d0beda7f050237681", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-24", + "commit_hash": "37a01b806d0758029d34a862e76d44c7e5d538a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py", + "name": "5fe1ab1ccebe_add_projects_table.py", + "size_bytes": 4379, + "modified_time": "2025-06-21T00:01:59.601299", + "category": "source_code", + "sha256_hash": "d82098f5aca3cdbada60c7229ea4ac262f527349eed9ef9e864509bacfaccf7e", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py", + "name": "647e7a75e2cd_project_constraint_fix.py", + "size_bytes": 4210, + "modified_time": "2025-07-01T08:33:22.063463", + "category": "source_code", + "sha256_hash": "604ac5908a5976272f52297866d13abb14a99390590935d9fd37cf13e32049fa", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-03", + "commit_hash": "d8c13bf1d3791dfebae52782a4434d1704f2a24c" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py", + "name": "b3c3938bacdb_relation_to_name_unique_index.py", + "size_bytes": 1428, + "modified_time": "2025-06-21T00:01:59.598551", + "category": "source_code", + "sha256_hash": "46c1b2990cdf4575752d234a8b28b494c8a54f15b5360c12f6347aef27b66a92", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-24", + "commit_hash": "37a01b806d0758029d34a862e76d44c7e5d538a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py", + "name": "cc7172b46608_update_search_index_schema.py", + "size_bytes": 3679, + "modified_time": "2025-06-21T00:01:59.610909", + "category": "source_code", + "sha256_hash": "9036af47d42ac7dc12bb93f7a9de1266aff0688b031b550c4e0d92983a24b4c5", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-03", + "commit_hash": "ac08a8d02480858d5a331e478691bf65a7474ca3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/api/__init__.py", + "name": "__init__.py", + "size_bytes": 72, + "modified_time": "2025-06-21T00:01:59.579981", + "category": "source_code", + "sha256_hash": "c02a63fb6d63d43d0acca97d425eae9cb055158d0ad6e1a9fc57926512adaa99", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "5b4f0eafcceacc31dbaa694933fd783c2f24adc4" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/api/app.py", + "name": "app.py", + "size_bytes": 2897, + "modified_time": "2025-07-08T20:39:18.337081", + "category": "source_code", + "sha256_hash": "ad673ac2c09410af5830f6afdffaa28b0040480dacd52ff01750b8b2c066e8cf", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/api/routers/__init__.py", + "name": "__init__.py", + "size_bytes": 398, + "modified_time": "2025-06-21T00:01:59.549416", + "category": "source_code", + "sha256_hash": "4443b908a43dea8e6fb4658009cb08c48a56c9b21449e29773cdd159b59cf014", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-05", + "commit_hash": "d2bd75a949cc4323cb376ac2f6cb39f47c78c428" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/api/routers/directory_router.py", + "name": "directory_router.py", + "size_bytes": 2054, + "modified_time": "2025-06-21T00:01:59.567371", + "category": "source_code", + "sha256_hash": "ac1407beec1f7d43a4d222af704b3642559c960bebf2eaf6e1ffe91f7fac5514", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/api/routers/importer_router.py", + "name": "importer_router.py", + "size_bytes": 4513, + "modified_time": "2025-06-21T00:01:59.561600", + "category": "source_code", + "sha256_hash": "c45502a2b90f5a8f00174c9ad14adc2e65cd7fc0a33d9740a9d750207f0f3bea", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/api/routers/knowledge_router.py", + "name": "knowledge_router.py", + "size_bytes": 9738, + "modified_time": "2025-07-01T08:33:22.064119", + "category": "source_code", + "sha256_hash": "e1d0ffb4fa5c246582ba844a11b417092de1a173567be55b7060bbc55fbc5681", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "f608cd13f126fe8c010930389156daef546ae9bd" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/api/routers/management_router.py", + "name": "management_router.py", + "size_bytes": 2730, + "modified_time": "2025-07-08T20:39:18.337438", + "category": "source_code", + "sha256_hash": "cdbce294dcec6146c56c4dae15744cdf77039fd21b23eef7cbc0b5f9bfb5f4ee", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/api/routers/memory_router.py", + "name": "memory_router.py", + "size_bytes": 3003, + "modified_time": "2025-07-01T08:33:22.064510", + "category": "source_code", + "sha256_hash": "6bd0a7c775e0c1290efb6001173237c0cdcfa0c1b1bb27c9145a7b35f1596a97", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "117fa44ecf51b2ffc7db3c0dfe153887425674fb" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/api/routers/project_router.py", + "name": "project_router.py", + "size_bytes": 8444, + "modified_time": "2025-07-30T09:39:45.721369", + "category": "source_code", + "sha256_hash": "6539c69f1d506c65d14cc2c151876b19057f37d84d51a9e6f464ed47a4692648", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "6361574a20ff173ef8c39af7444e236cea3fbc1b" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "117fa44ecf51b2ffc7db3c0dfe153887425674fb" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/api/routers/prompt_router.py", + "name": "prompt_router.py", + "size_bytes": 9948, + "modified_time": "2025-07-01T08:33:22.065221", + "category": "source_code", + "sha256_hash": "e30c6aebe35112054933c37d0b462c3750005030fc9e44c23b35b2cd2a93485c", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "117fa44ecf51b2ffc7db3c0dfe153887425674fb" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/api/routers/resource_router.py", + "name": "resource_router.py", + "size_bytes": 8058, + "modified_time": "2025-06-21T00:01:59.570399", + "category": "source_code", + "sha256_hash": "584244a84698ff24ca8f9f94fab5b891740a51c25f972920c08ebf83f478d5c9", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-27", + "commit_hash": "093dab5f03cf7b090a9f4003c55507859bf355b0" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/api/routers/search_router.py", + "name": "search_router.py", + "size_bytes": 1226, + "modified_time": "2025-06-21T00:01:59.543020", + "category": "source_code", + "sha256_hash": "183eb68e50904e22ff54db1d89b8be6f57fa1f8d0a096a3d497d8297b607e105", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-28", + "commit_hash": "f8078cdd46f11529b58dc03524bc13e470c6571f" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/api/routers/utils.py", + "name": "utils.py", + "size_bytes": 5159, + "modified_time": "2025-07-03T18:43:10.079143", + "category": "source_code", + "sha256_hash": "9e60f57da24e1dc9d64236c26a7a2353003dc618a77fbeb853c494aa3357a57c", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-25", + "commit_hash": "8a065c32f4e41613207d29aafc952a56e3a52241" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/api/template_loader.py", + "name": "template_loader.py", + "size_bytes": 8607, + "modified_time": "2025-06-21T00:01:59.576132", + "category": "source_code", + "sha256_hash": "7b16d3797c89460c8b1664a335eae8c634fb5f60d6166d97e6a5156b776b6d83", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/cli/__init__.py", + "name": "__init__.py", + "size_bytes": 33, + "modified_time": "2025-06-21T00:01:59.456735", + "category": "source_code", + "sha256_hash": "6ab70a2c05910e13c3ef1e6df34325be265e633c076741998a0cb2dcd295a069", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "5b4f0eafcceacc31dbaa694933fd783c2f24adc4" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/cli/app.py", + "name": "app.py", + "size_bytes": 2268, + "modified_time": "2025-07-08T20:39:18.337708", + "category": "source_code", + "sha256_hash": "f710670380d707c4458ad881f7a25bb3c5cdb2bcff59f139f37421264fe8f2f8", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/cli/commands/__init__.py", + "name": "__init__.py", + "size_bytes": 393, + "modified_time": "2025-07-08T20:39:18.338070", + "category": "source_code", + "sha256_hash": "de8a23702f98fb844fa9f7fdbedc16ce24ff4f8baf05589c2f4a521cd8a55645", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/cli/commands/db.py", + "name": "db.py", + "size_bytes": 1480, + "modified_time": "2025-07-08T20:39:18.338326", + "category": "source_code", + "sha256_hash": "704a1096d80ab9d12e247d029fe6223e935a0d0ceee7e615c020f46a720828e0", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/cli/commands/import_chatgpt.py", + "name": "import_chatgpt.py", + "size_bytes": 2856, + "modified_time": "2025-07-08T20:39:18.338787", + "category": "source_code", + "sha256_hash": "8957cca3acab6351335624a518bdc19d956487e93d86dd1b6c2309e9d5850ae5", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/cli/commands/import_claude_conversations.py", + "name": "import_claude_conversations.py", + "size_bytes": 2946, + "modified_time": "2025-07-08T20:39:18.339053", + "category": "legal", + "sha256_hash": "7bc97838732bf00f4fb4a80e3ba4fdfbce8971ae85cc2ac902c3b3a3e110ae57", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/cli/commands/import_claude_projects.py", + "name": "import_claude_projects.py", + "size_bytes": 2891, + "modified_time": "2025-07-08T20:39:18.339310", + "category": "legal", + "sha256_hash": "6321577075801c99ad47a0cdc13b5aa3c9ca102a05ca8f06ae2a51125a8c43bc", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/cli/commands/import_memory_json.py", + "name": "import_memory_json.py", + "size_bytes": 3013, + "modified_time": "2025-07-30T09:39:45.721637", + "category": "source_code", + "sha256_hash": "7ea193f6720b2672290ad16c79a143a31d88a1d567838f12b9ebf9110a7c0338", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/cli/commands/mcp.py", + "name": "mcp.py", + "size_bytes": 2593, + "modified_time": "2025-07-08T20:39:18.340025", + "category": "source_code", + "sha256_hash": "3e1be3d27b18ef4743204b7cf8a37fbc2a1a91fc1636c468e08cefcd8597bac6", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-19", + "commit_hash": "7be001ca6834b3344bb6160cbe537b36bcbaa579" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/cli/commands/project.py", + "name": "project.py", + "size_bytes": 13836, + "modified_time": "2025-07-30T09:39:45.721838", + "category": "source_code", + "sha256_hash": "af3e6f30410ab48355f4b1a46aaa3aa5423cb0a0490f51447db1d25e09f39916", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "6361574a20ff173ef8c39af7444e236cea3fbc1b" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-19", + "commit_hash": "35e4f73ae8a65501da4d48258ed702f957184c92" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/cli/commands/status.py", + "name": "status.py", + "size_bytes": 5809, + "modified_time": "2025-07-08T20:39:18.340324", + "category": "source_code", + "sha256_hash": "b6d0ea237d714d054f69b24a2058beba74e224a2fa4a80a525d62a2aa2ea2d70", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/cli/commands/sync.py", + "name": "sync.py", + "size_bytes": 8213, + "modified_time": "2025-07-08T20:39:18.340627", + "category": "source_code", + "sha256_hash": "703b3e73c4c33850c27f6f4c07abbf5d4ce5dc43f706bf0c43264bbb45f8b213", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/cli/commands/tool.py", + "name": "tool.py", + "size_bytes": 9540, + "modified_time": "2025-07-01T08:33:22.070903", + "category": "source_code", + "sha256_hash": "9b2fa400b9f7921bf55b602f8bbdfa36b1ec7e4a5bc8fe7b9838b92e31f0a9ed", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-09", + "commit_hash": "fb2fd62ed9b4289059356ac6a9611f15c53a8c06" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/cli/main.py", + "name": "main.py", + "size_bytes": 465, + "modified_time": "2025-07-08T20:39:18.340868", + "category": "source_code", + "sha256_hash": "7a405b12bff98e319968526238ae15859df0362bba5a3857562fecca47b5c70d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/config.py", + "name": "config.py", + "size_bytes": 12487, + "modified_time": "2025-07-30T09:39:45.722031", + "category": "source_code", + "sha256_hash": "86341330a041b94d38f5e4f1b94f3509d74351c67cc826af1a4ff57313e5f726", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "6361574a20ff173ef8c39af7444e236cea3fbc1b" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-25", + "commit_hash": "9f1db23c78d4648e2c242ad1ee27eed85e3f3b5d" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "jope-bm", + "contributor_count": 5 + }, + { + "path": "src/basic_memory/db.py", + "name": "db.py", + "size_bytes": 7428, + "modified_time": "2025-07-08T20:39:18.341550", + "category": "source_code", + "sha256_hash": "25e053b0b3f9e8fa823b05fc099001efe8a3a4f6e0f80728e5079ba45aa406d8", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-19", + "commit_hash": "7be001ca6834b3344bb6160cbe537b36bcbaa579" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/deps.py", + "name": "deps.py", + "size_bytes": 12144, + "modified_time": "2025-07-08T20:39:18.341870", + "category": "source_code", + "sha256_hash": "bce28cd9ca549b8afce0bc689cc1fb2dc80cd5b929f85114aa682bb8ae82411d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/file_utils.py", + "name": "file_utils.py", + "size_bytes": 6700, + "modified_time": "2025-06-21T00:01:59.587200", + "category": "source_code", + "sha256_hash": "79ac5328b2c46d3232fcc6ff22ffc39ade085c0252ad91958be2a7ae9c9c8b71", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-04-06", + "commit_hash": "617e60bda4a590678a5f551f10a73e7b47e3b13e" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/importers/__init__.py", + "name": "__init__.py", + "size_bytes": 795, + "modified_time": "2025-06-21T00:01:59.295471", + "category": "source_code", + "sha256_hash": "0537015bdecfded85cb166b9c3db50b2f3aef329c70e0c36fbcb4f824099a21f", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/importers/base.py", + "name": "base.py", + "size_bytes": 2531, + "modified_time": "2025-06-21T00:01:59.305335", + "category": "source_code", + "sha256_hash": "6b0c1efd4f827f348834aa0cea2ae8eebbb842a2e5b1f5f3747ced0ef79b9f13", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/importers/chatgpt_importer.py", + "name": "chatgpt_importer.py", + "size_bytes": 7372, + "modified_time": "2025-06-21T00:01:59.308956", + "category": "source_code", + "sha256_hash": "dfa540b196ab23b5c4e6bfcac4da567873351cf7c78fa35f4c3b87e84c58e218", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/importers/claude_conversations_importer.py", + "name": "claude_conversations_importer.py", + "size_bytes": 5725, + "modified_time": "2025-06-21T00:01:59.288540", + "category": "legal", + "sha256_hash": "a7bc9e872f4f81ce5f79fe9dd1a6fd0f00a6f020a2cb2664184a97f14eeb1dbc", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/importers/claude_projects_importer.py", + "name": "claude_projects_importer.py", + "size_bytes": 5389, + "modified_time": "2025-06-21T00:01:59.291737", + "category": "legal", + "sha256_hash": "a452675fd9bb18ebf64eb4bd7f69ccd7e993b617931015a3c4ab700d67493863", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/importers/memory_json_importer.py", + "name": "memory_json_importer.py", + "size_bytes": 4631, + "modified_time": "2025-07-30T09:39:45.722316", + "category": "source_code", + "sha256_hash": "bc7d045299f17ed9ad5cebff7b1423250ec28a11130e47a0ac48d3ab82bdeafc", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/importers/utils.py", + "name": "utils.py", + "size_bytes": 1792, + "modified_time": "2025-06-21T00:01:59.298428", + "category": "source_code", + "sha256_hash": "ee7e22fd4812362394f62ed8944abe80738c1e3ab88131faf639f4a8ccfd6c89", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/markdown/__init__.py", + "name": "__init__.py", + "size_bytes": 501, + "modified_time": "2025-06-21T00:01:59.316337", + "category": "source_code", + "sha256_hash": "0ddce2a025ad0e729aab4e411d82e02ffefc15ac041cba4b5e7a7e90f4957c87", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-04", + "commit_hash": "3484e26631187f165ee6eb85517e94717b7cf2cf" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/markdown/entity_parser.py", + "name": "entity_parser.py", + "size_bytes": 4516, + "modified_time": "2025-06-21T00:01:59.321461", + "category": "source_code", + "sha256_hash": "1b0d1177358645ccbadd170b3f62760dc9bd838d38c741978ab0da5836234d68", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9bff1f732e71bc60f88b5c2ce3db5a2aa60b8e28" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/markdown/markdown_processor.py", + "name": "markdown_processor.py", + "size_bytes": 4968, + "modified_time": "2025-06-21T00:01:59.325241", + "category": "source_code", + "sha256_hash": "4b99f2ebdceed9d96a3bbb562682eba4b4b383c7a64080eaec3bbba25a4952c9", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-15", + "commit_hash": "eb5e4ec6bd4d2fe757087be030d867f4ca1d38ba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/markdown/plugins.py", + "name": "plugins.py", + "size_bytes": 6639, + "modified_time": "2025-06-21T00:01:59.312733", + "category": "source_code", + "sha256_hash": "82d2332918e866ccaf06a2e954d9eb9b397f71b4d9e591a7f2472e5f1423464a", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-13", + "commit_hash": "355519a78690463204a15be1605262416a02557c" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/markdown/schemas.py", + "name": "schemas.py", + "size_bytes": 1896, + "modified_time": "2025-06-21T00:01:59.329982", + "category": "source_code", + "sha256_hash": "7b2c580abd615725a62267257b46ac13922dfc30fa01192a681658bb528ae67e", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-03-24", + "commit_hash": "b667bca5a2ddf8ac5827b3c9763369c18800ceea" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/markdown/utils.py", + "name": "utils.py", + "size_bytes": 3410, + "modified_time": "2025-07-03T18:43:10.079889", + "category": "source_code", + "sha256_hash": "1b757f0d06e60e3ea276c0b2ea44fe1a156a895e093c1e607d6286e702bf4ae4", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "c2f4b632cf04921b1a3c2f0d43831b80c519cb31" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/__init__.py", + "name": "__init__.py", + "size_bytes": 35, + "modified_time": "2025-06-21T00:01:59.404757", + "category": "source_code", + "sha256_hash": "76c0ce84aaa361e21b0942db1c8c5f708b536eab9d12e120d4da7ce9eab41844", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-23", + "commit_hash": "2ed920aa50fa7f813f5e313940eddd8798d09902" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/async_client.py", + "name": "async_client.py", + "size_bytes": 925, + "modified_time": "2025-07-30T09:39:45.722547", + "category": "source_code", + "sha256_hash": "6531f4387f30a30a322197ff51d6eacae4b25a58c648095931b3d1145d1da303", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-15", + "commit_hash": "24a1d6195d611577d02ee20bffab8212f703fd98" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "jope-bm", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/project_session.py", + "name": "project_session.py", + "size_bytes": 4203, + "modified_time": "2025-07-08T20:39:18.342906", + "category": "source_code", + "sha256_hash": "4da403ec93dec9063eeb8b05246e3501740d162cc77a067d3ce54ba43d690819", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/prompts/__init__.py", + "name": "__init__.py", + "size_bytes": 615, + "modified_time": "2025-07-08T20:39:18.343263", + "category": "source_code", + "sha256_hash": "f8197d0e08f64c3f4f50b8f38203ea5eebcf123582472ed2f58834de1dbe53b0", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/prompts/ai_assistant_guide.py", + "name": "ai_assistant_guide.py", + "size_bytes": 821, + "modified_time": "2025-06-21T00:13:53.262832", + "category": "source_code", + "sha256_hash": "f13239c4e6e2455730bfac3d6f2d71407957d3086fc84efe2c6b22a833114c58", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-03-24", + "commit_hash": "cc2cae72c14b380f78ffeb67c2261e4dbee45faf" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/prompts/continue_conversation.py", + "name": "continue_conversation.py", + "size_bytes": 1998, + "modified_time": "2025-06-21T00:13:53.263309", + "category": "source_code", + "sha256_hash": "aec9a50b657b7bb1ba0c02b42bcdb9bc5b0f2a0b1143bd361c5ce7ea59076833", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-28", + "commit_hash": "b27827671dc010be3e261b8b221aca6b7f836661" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/mcp/prompts/recent_activity.py", + "name": "recent_activity.py", + "size_bytes": 3311, + "modified_time": "2025-07-01T08:33:22.073986", + "category": "source_code", + "sha256_hash": "d2fd5cddbd927430f15d5b85f1e3a3368a18cb4e2e4587a5d29749d2b9e0830e", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/prompts/search.py", + "name": "search.py", + "size_bytes": 1692, + "modified_time": "2025-06-21T00:13:53.264093", + "category": "source_code", + "sha256_hash": "9dbf3c319cbdb5d5bf32608b51522d8ae92b2dd6f7c441d62efd0954b525738a", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-28", + "commit_hash": "b27827671dc010be3e261b8b221aca6b7f836661" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/mcp/prompts/utils.py", + "name": "utils.py", + "size_bytes": 5431, + "modified_time": "2025-06-21T00:01:59.425042", + "category": "source_code", + "sha256_hash": "55a72b6eac18b724a9225608aca1e8e6cea3b684ccb1c609aab1511f7ce90ba4", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-05", + "commit_hash": "e6496df595f3cafde6cc836384ee8c60886057a5" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/resources/ai_assistant_guide.md", + "name": "ai_assistant_guide.md", + "size_bytes": 14777, + "modified_time": "2025-03-28T19:12:38.653627", + "category": "documentation", + "sha256_hash": "aa76160e46256fe2662ae3a86799659916acfede1d5835c1fe2f0b136efb2e0b", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-28", + "commit_hash": "b27827671dc010be3e261b8b221aca6b7f836661" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/resources/project_info.py", + "name": "project_info.py", + "size_bytes": 1906, + "modified_time": "2025-06-21T00:13:53.264918", + "category": "source_code", + "sha256_hash": "2dc5244f1e225c17d4e8ba784d5721efc3aa2e8a5b3b2e258f22a77ebe155eca", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/server.py", + "name": "server.py", + "size_bytes": 1248, + "modified_time": "2025-07-08T20:39:18.343419", + "category": "source_code", + "sha256_hash": "0a910cae27d61ea923e90fbe2d4b5c7cacf3b29d3e156f0b7f77872ab973c761", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-19", + "commit_hash": "7be001ca6834b3344bb6160cbe537b36bcbaa579" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/mcp/tools/__init__.py", + "name": "__init__.py", + "size_bytes": 1619, + "modified_time": "2025-07-03T18:43:10.080029", + "category": "source_code", + "sha256_hash": "872b771dd52ec3b763645a2baf6e10a70f049ce3106830a6d3f053b3e09a5fe6", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-07-01", + "commit_hash": "bd4f55158b35666d9f4baccd5e0deb1ee457babe" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-11", + "commit_hash": "49011768f7e2eb377be2cd48c2a5c1701f98d9fa" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/tools/build_context.py", + "name": "build_context.py", + "size_bytes": 4611, + "modified_time": "2025-07-03T18:43:10.080426", + "category": "source_code", + "sha256_hash": "724280b77b8f5f3e61cd3fdeebc3ee66e2bcfedaaea3638e6a2e2e33fcb1978e", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "12b51522bc953fca117fc5bc01fcb29c6ca7e13c" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/tools/canvas.py", + "name": "canvas.py", + "size_bytes": 3738, + "modified_time": "2025-07-01T08:33:22.076204", + "category": "source_code", + "sha256_hash": "db617d1bd81f3dbfa5f22d41e6b6b825afe1f73618f37acf63d9830390b98246", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-04", + "commit_hash": "c5c70cb0f44dec2f9ac8a29cac3a1d71bcd889aa" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/tools/delete_note.py", + "name": "delete_note.py", + "size_bytes": 7346, + "modified_time": "2025-07-01T08:33:22.076726", + "category": "source_code", + "sha256_hash": "b52c9173f5600662f255e7a70a5c17d5293ef8b29c19a8403334d7da62b65c8b", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "69d7610d476275c331730e98281b95b64caeb4d9" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/tools/edit_note.py", + "name": "edit_note.py", + "size_bytes": 13570, + "modified_time": "2025-07-01T08:33:22.077181", + "category": "source_code", + "sha256_hash": "ab8c7e7fbfa3fe5fb0ce6d7bf805454f5fd6182a340aae25237b1e6127b6d5a6", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-04", + "commit_hash": "ae3eeb0cc1952137ed73166031e843ed8d70d9ef" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/tools/list_directory.py", + "name": "list_directory.py", + "size_bytes": 5236, + "modified_time": "2025-06-21T00:13:53.267453", + "category": "source_code", + "sha256_hash": "f85c43b02aeee580f4d8ce2a9100c0bab1095b245a0bb608e1847ace0d1ab51f", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/tools/move_note.py", + "name": "move_note.py", + "size_bytes": 17541, + "modified_time": "2025-07-30T09:39:45.722919", + "category": "source_code", + "sha256_hash": "5ef27d9baaebc2c5656fc49c4798a4e4e40a70b6cd9d1e761dbcae021bad558c", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-15", + "commit_hash": "24a1d6195d611577d02ee20bffab8212f703fd98" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "jope-bm", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/tools/project_management.py", + "name": "project_management.py", + "size_bytes": 12944, + "modified_time": "2025-07-06T10:34:45.552403", + "category": "source_code", + "sha256_hash": "cdac736d65129f689a85c6b82f8e043bc84a31657ead7a8331771171eeaa860f", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-07-03", + "commit_hash": "3621bb7b4d6ac12d892b18e36bb8f7c9101c7b10" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-11", + "commit_hash": "49011768f7e2eb377be2cd48c2a5c1701f98d9fa" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/tools/read_content.py", + "name": "read_content.py", + "size_bytes": 9125, + "modified_time": "2025-07-30T09:39:45.723469", + "category": "source_code", + "sha256_hash": "96a13addac507fd874394dfa2e1e5ed71af5eb89d0872c1d68cacf9cac3f8724", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-15", + "commit_hash": "24a1d6195d611577d02ee20bffab8212f703fd98" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/mcp/tools/read_note.py", + "name": "read_note.py", + "size_bytes": 8132, + "modified_time": "2025-07-30T09:39:45.723828", + "category": "source_code", + "sha256_hash": "dff53ce02b16d9c5fca315b3f09bb70867a89d614b0ef3f0548dce87978048ee", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "12b51522bc953fca117fc5bc01fcb29c6ca7e13c" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Amadeusz Wieczorek", + "email": "git@amadeusw.com", + "first_contribution": "2025-04-14", + "commit_hash": "54dfa08aba6bf143f67c4412d21fc53e453d0ea8" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "jope-bm", + "contributor_count": 5 + }, + { + "path": "src/basic_memory/mcp/tools/recent_activity.py", + "name": "recent_activity.py", + "size_bytes": 4833, + "modified_time": "2025-06-21T00:13:53.269120", + "category": "source_code", + "sha256_hash": "5d58cd2402679b1bf3c7dfcbb3503e40e776c9347ba499524d3b91c528af98de", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/tools/search.py", + "name": "search.py", + "size_bytes": 15883, + "modified_time": "2025-07-03T18:43:10.081557", + "category": "source_code", + "sha256_hash": "8519b0057468c4450eb543a2f561bcd0d7cb96e1ce1b95e948e02b309ba6b7ca", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@gmail.com", + "first_contribution": "2025-07-01", + "commit_hash": "2aca19aa05942883b97d7150c048d9fe1e8843f8" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "a589f8b894e78cce01eb25656856cfea8785fbbf" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 4 + }, + { + "path": "src/basic_memory/mcp/tools/sync_status.py", + "name": "sync_status.py", + "size_bytes": 10517, + "modified_time": "2025-07-08T20:39:18.344231", + "category": "source_code", + "sha256_hash": "73dd73b186eaec8b82e6b17e39a67c27082d24e0653dc4e4b35712bd83b80a22", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/tools/utils.py", + "name": "utils.py", + "size_bytes": 20892, + "modified_time": "2025-07-30T09:39:36.616253", + "category": "source_code", + "sha256_hash": "a95004911e276822eba88a3fef15c5b9ba861b1ca9a2ecfe0c1e3fb2f4ef0116", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "12b51522bc953fca117fc5bc01fcb29c6ca7e13c" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/mcp/tools/view_note.py", + "name": "view_note.py", + "size_bytes": 2499, + "modified_time": "2025-07-01T08:33:22.080024", + "category": "source_code", + "sha256_hash": "75d357c72113b1d0394987e521a4158ff09b77b23b08b56cddab5144331b1a68", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/mcp/tools/write_note.py", + "name": "write_note.py", + "size_bytes": 6612, + "modified_time": "2025-07-30T09:39:45.723985", + "category": "source_code", + "sha256_hash": "771396fb49d397feb5f7e36321d4d233c22c4d1b53414912c849957c6e96fc83", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-15", + "commit_hash": "24a1d6195d611577d02ee20bffab8212f703fd98" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "12b51522bc953fca117fc5bc01fcb29c6ca7e13c" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/models/__init__.py", + "name": "__init__.py", + "size_bytes": 333, + "modified_time": "2025-06-21T00:01:59.437212", + "category": "source_code", + "sha256_hash": "8f40b876d162f85384690291f1d416106f9d26d750d793414e2260e276c85cd5", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "5b4f0eafcceacc31dbaa694933fd783c2f24adc4" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/models/base.py", + "name": "base.py", + "size_bytes": 225, + "modified_time": "2025-06-21T00:01:59.447249", + "category": "source_code", + "sha256_hash": "e2101727c084d519e32a16f6de53ddf9033b1bf15721d4e8c0c27d6d18b1b295", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "5b4f0eafcceacc31dbaa694933fd783c2f24adc4" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/models/knowledge.py", + "name": "knowledge.py", + "size_bytes": 7087, + "modified_time": "2025-06-21T00:01:59.444376", + "category": "source_code", + "sha256_hash": "005c5f292f1f45ae372aadc48c9080b9fa6d7b854d0bb7ecf587ec843ac1e28d", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-24", + "commit_hash": "37a01b806d0758029d34a862e76d44c7e5d538a5" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/models/project.py", + "name": "project.py", + "size_bytes": 2773, + "modified_time": "2025-07-01T08:33:22.080907", + "category": "source_code", + "sha256_hash": "a14ad06943aeeff9ae4a5fa2dfc0e1d07ce6085acc02dc20c402c3513b7d9397", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-03", + "commit_hash": "d8c13bf1d3791dfebae52782a4434d1704f2a24c" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/models/search.py", + "name": "search.py", + "size_bytes": 1300, + "modified_time": "2025-06-21T00:01:59.440923", + "category": "source_code", + "sha256_hash": "3e143cc38b5a0294af8e1d43a4f841e1c1fd193b76136a68f83159ce19e86646", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-28", + "commit_hash": "f8078cdd46f11529b58dc03524bc13e470c6571f" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/repository/__init__.py", + "name": "__init__.py", + "size_bytes": 327, + "modified_time": "2025-06-21T00:01:59.256363", + "category": "source_code", + "sha256_hash": "3162bea3c42292accea5ee52c8f6ca4368a8079056034529cfae6d820f84d035", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "5b4f0eafcceacc31dbaa694933fd783c2f24adc4" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/repository/entity_repository.py", + "name": "entity_repository.py", + "size_bytes": 10405, + "modified_time": "2025-07-03T18:43:10.082570", + "category": "source_code", + "sha256_hash": "e2a8d1eba6c8d64bc61d7168df0fe8c29a670858bf9daeac464a0f440273fae0", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-24", + "commit_hash": "2a3adc109a3e4d7ccd65cae4abf63d9bb2338326" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-28", + "commit_hash": "f8078cdd46f11529b58dc03524bc13e470c6571f" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/repository/observation_repository.py", + "name": "observation_repository.py", + "size_bytes": 2943, + "modified_time": "2025-06-21T00:01:59.269646", + "category": "source_code", + "sha256_hash": "aa132f1cb4a36a84f715afdc40e2ac4f98d83e3eba1974b2b4404cc0b020ca04", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2024-12-30", + "commit_hash": "2bc35f34e37ec9a0dfc7350d4a78a575570d9500" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/repository/project_info_repository.py", + "name": "project_info_repository.py", + "size_bytes": 338, + "modified_time": "2025-06-21T00:01:59.252582", + "category": "source_code", + "sha256_hash": "f172d50182a405643a19b2a3d62a80f4e2b41463c775394eb3b66d7de51ff6df", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-05", + "commit_hash": "d2bd75a949cc4323cb376ac2f6cb39f47c78c428" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/repository/project_repository.py", + "name": "project_repository.py", + "size_bytes": 3803, + "modified_time": "2025-07-30T09:39:45.724344", + "category": "source_code", + "sha256_hash": "9083ba214b2bcaaf98164d9c33cda7add52bc77f7269ecb6e43cdd5088728b7c", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "6361574a20ff173ef8c39af7444e236cea3fbc1b" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/repository/relation_repository.py", + "name": "relation_repository.py", + "size_bytes": 3179, + "modified_time": "2025-06-21T00:01:59.246745", + "category": "source_code", + "sha256_hash": "cfb3a8e59cff27e063e91bd00e949647bdd92e4d9fc46edeee3acc6de15e26f4", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "5b4f0eafcceacc31dbaa694933fd783c2f24adc4" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/repository/repository.py", + "name": "repository.py", + "size_bytes": 15224, + "modified_time": "2025-06-21T00:01:59.273355", + "category": "source_code", + "sha256_hash": "3096fe71bf106506cbf86aeafe2aafe0aabbe5a5f6c90a212c8aa1e53e1f171c", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-04-07", + "commit_hash": "78a3412bcff83b46e78e26f8b9fce42ed9e05991" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/repository/search_repository.py", + "name": "search_repository.py", + "size_bytes": 21936, + "modified_time": "2025-07-03T18:43:10.082844", + "category": "source_code", + "sha256_hash": "a972f73d1b71dac5770e8eb3793c6c9ac44e4e792f9dab528f8c4e6c6a80bcaa", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "12b51522bc953fca117fc5bc01fcb29c6ca7e13c" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/schemas/__init__.py", + "name": "__init__.py", + "size_bytes": 1674, + "modified_time": "2025-06-21T00:01:59.514555", + "category": "source_code", + "sha256_hash": "98480815c75379bfafe32d2090e87fa40e73caa19b664fbd5db5ea9528ba58cb", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-05", + "commit_hash": "d2bd75a949cc4323cb376ac2f6cb39f47c78c428" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/schemas/base.py", + "name": "base.py", + "size_bytes": 6738, + "modified_time": "2025-07-01T08:33:22.082193", + "category": "source_code", + "sha256_hash": "171f7b0c4ab33abef2f7379eb1e3bda950586ce7edff83907fd12255f84e267e", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "117fa44ecf51b2ffc7db3c0dfe153887425674fb" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/schemas/delete.py", + "name": "delete.py", + "size_bytes": 1180, + "modified_time": "2025-06-21T00:01:59.502563", + "category": "source_code", + "sha256_hash": "50047624af7d58c8f780ffb2a065a51c3dde64492f9534917fc42860813e59fc", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-18", + "commit_hash": "812136c8c22ad191d14ff32dcad91aae076d4120" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/schemas/directory.py", + "name": "directory.py", + "size_bytes": 881, + "modified_time": "2025-06-21T00:01:59.529023", + "category": "source_code", + "sha256_hash": "17dfcbac9a91a9bfe43b4f060ca2735cb6f69e16d81b63dd554a397830ff29fe", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/schemas/importer.py", + "name": "importer.py", + "size_bytes": 693, + "modified_time": "2025-07-30T09:39:45.724633", + "category": "source_code", + "sha256_hash": "ac33df423ca32b28ce7b6ea9c29d541f8783a86c0c29f78db35163bf93f139cd", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/schemas/memory.py", + "name": "memory.py", + "size_bytes": 5833, + "modified_time": "2025-07-03T18:43:10.083167", + "category": "source_code", + "sha256_hash": "acb4a953a553feca672c4895798a7d948ec51f922f75b66dd7d55716e3bebed3", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-25", + "commit_hash": "8a065c32f4e41613207d29aafc952a56e3a52241" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-04", + "commit_hash": "c5c70cb0f44dec2f9ac8a29cac3a1d71bcd889aa" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/schemas/project_info.py", + "name": "project_info.py", + "size_bytes": 7047, + "modified_time": "2025-07-01T08:33:22.083248", + "category": "source_code", + "sha256_hash": "7dc3635297b6e7fe6e3262b2d78da26f7a79a846a4cecd5624f2e4828979cf2c", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-11", + "commit_hash": "5b69fd65cd5a498ede4fa7e709a83c33fd18b4cc" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/schemas/prompt.py", + "name": "prompt.py", + "size_bytes": 3648, + "modified_time": "2025-06-21T00:01:59.525753", + "category": "source_code", + "sha256_hash": "4a92157d9a6b413f04e6e3f8d23dc2a417369c729f9703a8de2643ec114f2071", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/schemas/request.py", + "name": "request.py", + "size_bytes": 3760, + "modified_time": "2025-06-21T00:01:59.511789", + "category": "source_code", + "sha256_hash": "32fe44beb2d99452223ebf1d3a3a3fe105ef92c79885023b71dfd7db30ecc503", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/schemas/response.py", + "name": "response.py", + "size_bytes": 6450, + "modified_time": "2025-07-03T18:43:10.083478", + "category": "source_code", + "sha256_hash": "5eea4660a2abe48d83ed083d1c2483fdcfb403e0b504f03c14d22f1cae866abb", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-26", + "commit_hash": "cd8e372f0a2ab66e5cdfe5b11788ce2a61e8673e" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/schemas/search.py", + "name": "search.py", + "size_bytes": 3657, + "modified_time": "2025-06-21T00:01:59.522804", + "category": "source_code", + "sha256_hash": "cb032c0c60102b6b0ed934f995cf9d6bf93aece296d71d537a75e8ae61c75afe", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-05", + "commit_hash": "90d5754180beaf4acd4be38f2438712555640b49" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/services/__init__.py", + "name": "__init__.py", + "size_bytes": 259, + "modified_time": "2025-06-21T00:01:59.655059", + "category": "source_code", + "sha256_hash": "5c6b7c597ddf5ffd0af4bdfb32ccbc1c5f2794c658206dee43a9945fafe226d8", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "c394d682e1168c38b0f93af328a9300c759072f9" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/services/context_service.py", + "name": "context_service.py", + "size_bytes": 14462, + "modified_time": "2025-06-21T00:01:59.672086", + "category": "source_code", + "sha256_hash": "e1178b005e6a89f03d6b239e3c6b152aeb30d535a3f280734440a3aec16228f2", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-28", + "commit_hash": "f8078cdd46f11529b58dc03524bc13e470c6571f" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/services/directory_service.py", + "name": "directory_service.py", + "size_bytes": 6017, + "modified_time": "2025-06-21T00:01:59.648501", + "category": "source_code", + "sha256_hash": "fd838f5ec79033892777b3c8140868f4b57f13e1658d513959524a434b9f959b", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/services/entity_service.py", + "name": "entity_service.py", + "size_bytes": 30440, + "modified_time": "2025-07-03T18:43:10.083956", + "category": "source_code", + "sha256_hash": "7cd5163eca6b8a0772e838c8c869e478166763cd6a2d745b0b9aa5c25a65baee", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-25", + "commit_hash": "1bf348259b33cfda6fcd682077a44dd9955c162f" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-19", + "commit_hash": "7be001ca6834b3344bb6160cbe537b36bcbaa579" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "6c19c9edf5131054ba201a109b37f15c83ef150c" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 4 + }, + { + "path": "src/basic_memory/services/exceptions.py", + "name": "exceptions.py", + "size_bytes": 390, + "modified_time": "2025-06-21T00:01:59.668908", + "category": "source_code", + "sha256_hash": "a158d0af9d1742a9c5ab5f8c34a062948d9286d1c3c72a5abf20e4d547b21e1c", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "5b4f0eafcceacc31dbaa694933fd783c2f24adc4" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/services/file_service.py", + "name": "file_service.py", + "size_bytes": 10059, + "modified_time": "2025-06-21T00:01:59.641785", + "category": "source_code", + "sha256_hash": "8c2ae69c4913438b7d1c5ecbfcce812fbb5d0ea8e3cedcbd8694e8f40cf086f3", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/services/initialization.py", + "name": "initialization.py", + "size_bytes": 6715, + "modified_time": "2025-07-08T20:39:18.344482", + "category": "source_code", + "sha256_hash": "4dde58b799cf4ac90631e59949b55b3355a93bdf99df0d9c2408c0cea67e10c4", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-19", + "commit_hash": "7be001ca6834b3344bb6160cbe537b36bcbaa579" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/services/link_resolver.py", + "name": "link_resolver.py", + "size_bytes": 4594, + "modified_time": "2025-07-01T08:33:22.084908", + "category": "source_code", + "sha256_hash": "d7efd516cbea753e6b5411def09aeaeb7539f5743487119ecf163c736e138a8c", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-04", + "commit_hash": "dd6ca80716a516f9d6ce22a1ffe1df24d54c956d" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/services/project_service.py", + "name": "project_service.py", + "size_bytes": 30125, + "modified_time": "2025-07-30T09:39:45.725079", + "category": "source_code", + "sha256_hash": "bce95c00aa9a1da0a8c8090ee34b5b1494207f8c99e6c25de4ec43fddc38f6be", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "6361574a20ff173ef8c39af7444e236cea3fbc1b" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/services/search_service.py", + "name": "search_service.py", + "size_bytes": 12782, + "modified_time": "2025-06-21T00:01:59.665439", + "category": "source_code", + "sha256_hash": "7392b2d2e7f3ed83c5807855ccd450e0e79c17f254aedee700bce9323a1b5b83", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-03", + "commit_hash": "ac08a8d02480858d5a331e478691bf65a7474ca3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/services/service.py", + "name": "service.py", + "size_bytes": 336, + "modified_time": "2025-06-21T00:01:59.636167", + "category": "source_code", + "sha256_hash": "57e77ff20395d3bcc62100e92fe2acaacdd937d977a9fdc764e2b57ff60d4da8", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-12", + "commit_hash": "28513c8b8d72283788669e074a67f0562faffe11" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/services/sync_status_service.py", + "name": "sync_status_service.py", + "size_bytes": 7504, + "modified_time": "2025-07-03T18:43:10.084229", + "category": "source_code", + "sha256_hash": "0a025d689e8e16f1632872104952105fc904537f3d32bcff592eb1f1dc76fbb7", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "12b51522bc953fca117fc5bc01fcb29c6ca7e13c" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/sync/__init__.py", + "name": "__init__.py", + "size_bytes": 156, + "modified_time": "2025-06-21T00:01:59.621137", + "category": "source_code", + "sha256_hash": "0951e0b981f8e7b876bb6c6833c2af3a29490bbd5726567ea9487c947723623e", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-24", + "commit_hash": "37a01b806d0758029d34a862e76d44c7e5d538a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/sync/background_sync.py", + "name": "background_sync.py", + "size_bytes": 726, + "modified_time": "2025-07-08T20:39:18.345062", + "category": "source_code", + "sha256_hash": "549af64ae91128b76c6df07ef517b82de85ca4ad796be44b5c0141fac01d4513", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/sync/sync_service.py", + "name": "sync_service.py", + "size_bytes": 23387, + "modified_time": "2025-07-01T08:33:22.086507", + "category": "source_code", + "sha256_hash": "0310b927561370f593980d07773bce641b618b8fbf2d9e3890d174290a0344fc", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-09", + "commit_hash": "2abf626c4666a21af31c412d87b9da99b3be0078" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "7930ddb2919057be30ceac8c4c19da6aaa1d3e92" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "src/basic_memory/sync/watch_service.py", + "name": "watch_service.py", + "size_bytes": 15316, + "modified_time": "2025-06-26T09:28:51.859209", + "category": "source_code", + "sha256_hash": "240ba6ac7523575945f4db442b7da3820d26c9605f2d7a2d357c4e35e215f523", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-04-07", + "commit_hash": "78a3412bcff83b46e78e26f8b9fce42ed9e05991" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/templates/prompts/continue_conversation.hbs", + "name": "continue_conversation.hbs", + "size_bytes": 3076, + "modified_time": "2025-07-01T08:33:22.086792", + "category": "templates", + "sha256_hash": "b6bac31d25c0e52d0909b2273285092f4e31bc219107f92ed511cd407b65e992", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-17", + "commit_hash": "b4c26a613379e6f2ba655efe3d7d8d40c27999e5" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 2 + }, + { + "path": "src/basic_memory/templates/prompts/search.hbs", + "name": "search.hbs", + "size_bytes": 3098, + "modified_time": "2025-05-25T10:07:54.520119", + "category": "templates", + "sha256_hash": "1f570222c1caa78542d46ac7d8a79407ca467b9bd714fa9bd953e8b72a667820", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "src/basic_memory/utils.py", + "name": "utils.py", + "size_bytes": 8654, + "modified_time": "2025-07-30T09:39:45.725428", + "category": "source_code", + "sha256_hash": "111f343e3367339730e081c08acf4613667be574f946126513b5d82da3086bed", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-07-03", + "commit_hash": "f80ac0ee72ba746366c622580f12232723421f23" + }, + { + "name": "andyxinweiminicloud", + "email": "andyxinweimin263@icloud.com", + "first_contribution": "2025-04-17", + "commit_hash": "03d4e97b900f27c917fc9f9ea422350d74547315" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "6c19c9edf5131054ba201a109b37f15c83ef150c" + } + ], + "primary_author": "jope-bm", + "contributor_count": 5 + }, + { + "path": "test-int/conftest.py", + "name": "conftest.py", + "size_bytes": 8203, + "modified_time": "2025-07-08T20:39:18.345735", + "category": "source_code", + "sha256_hash": "7231e1bc76cddc7c94433e853825dc0165b103bedf996c2c24eda6ae32fff5ad", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_build_context_validation.py", + "name": "test_build_context_validation.py", + "size_bytes": 6469, + "modified_time": "2025-07-08T20:39:18.346021", + "category": "source_code", + "sha256_hash": "ee61d6b15cee0194fd74c1bcf9361d5a839f6081c7d571ef081da8fcefe1bbf2", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_delete_note_integration.py", + "name": "test_delete_note_integration.py", + "size_bytes": 13175, + "modified_time": "2025-07-08T20:39:18.346366", + "category": "source_code", + "sha256_hash": "497495249b8bcf0af177d8705c6899875460707697980434e560cfe56f86feb3", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_edit_note_integration.py", + "name": "test_edit_note_integration.py", + "size_bytes": 19822, + "modified_time": "2025-07-08T20:39:18.346730", + "category": "source_code", + "sha256_hash": "9ba704badd05808aee0b5a686b7e250e1c865229ec92dab561cba5287b6f6fc6", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_list_directory_integration.py", + "name": "test_list_directory_integration.py", + "size_bytes": 14744, + "modified_time": "2025-07-08T20:39:18.347106", + "category": "source_code", + "sha256_hash": "2c4336a59de63f17ed252bb52d1330ebca901ad83bfebc9e5aa67f132a3c77c6", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_move_note_integration.py", + "name": "test_move_note_integration.py", + "size_bytes": 19825, + "modified_time": "2025-07-08T20:39:18.347344", + "category": "source_code", + "sha256_hash": "cbb17688d0f9551306a7520b059ace7f7dfba70fc20bf0ec98b1148000d7ad7d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_project_management_integration.py", + "name": "test_project_management_integration.py", + "size_bytes": 33175, + "modified_time": "2025-07-08T20:39:18.347658", + "category": "source_code", + "sha256_hash": "93a43cd699453a7602a5def839740ba5027ab914eba3e7b66a026860ed6bd567", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_project_state_sync_integration.py", + "name": "test_project_state_sync_integration.py", + "size_bytes": 7728, + "modified_time": "2025-07-08T20:39:18.347907", + "category": "source_code", + "sha256_hash": "80b0f5b5cd359498dcbd3af7dcb6194afa4582d8efb3faa38d28675ee45e0748", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_read_content_integration.py", + "name": "test_read_content_integration.py", + "size_bytes": 11187, + "modified_time": "2025-07-08T20:39:18.348233", + "category": "source_code", + "sha256_hash": "6955dd343b40df088ac79175e52723501d83796335a16e43b7f58e16e757e1b8", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_read_note_integration.py", + "name": "test_read_note_integration.py", + "size_bytes": 1381, + "modified_time": "2025-07-08T20:39:18.348463", + "category": "source_code", + "sha256_hash": "b93050da68d0e9d47d46879a386567f688399e28390f4eb31ee37353dc27514b", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_search_integration.py", + "name": "test_search_integration.py", + "size_bytes": 14690, + "modified_time": "2025-07-08T20:39:18.348959", + "category": "source_code", + "sha256_hash": "e0957ada9dd9b12eae5843a37d241ec9293ca929f18281e31197dae36bff589d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "test-int/mcp/test_write_note_integration.py", + "name": "test_write_note_integration.py", + "size_bytes": 9472, + "modified_time": "2025-07-08T20:39:18.349398", + "category": "source_code", + "sha256_hash": "b2b56fee8351168d0c65640c295d969dc4575d9bea87927b2dc07e591cabdff3", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/Non-MarkdownFileSupport.pdf", + "name": "Non-MarkdownFileSupport.pdf", + "size_bytes": 106751, + "modified_time": "2025-02-23T17:31:23.206428", + "category": "other", + "sha256_hash": "4aa96f9d0ee830ef6a1ec92243f302bbe2fa8971b84945f4eb5e276bf1ffde96", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-24", + "commit_hash": "37a01b806d0758029d34a862e76d44c7e5d538a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/Screenshot.png", + "name": "Screenshot.png", + "size_bytes": 190076, + "modified_time": "2025-02-23T17:31:23.207771", + "category": "other", + "sha256_hash": "dd82612fe013c39810d28ae0f2bbcca6ab2c9925b035d7720bb02493ddf5d0a9", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-24", + "commit_hash": "37a01b806d0758029d34a862e76d44c7e5d538a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/__init__.py", + "name": "__init__.py", + "size_bytes": 141, + "modified_time": "2025-06-21T00:01:46.216456", + "category": "source_code", + "sha256_hash": "2ac5605e69ad8829e96b3689632536539f1cdd3149a29c1903f25af0793a5d65", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-24", + "commit_hash": "37a01b806d0758029d34a862e76d44c7e5d538a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/api/conftest.py", + "name": "conftest.py", + "size_bytes": 1404, + "modified_time": "2025-06-21T00:01:46.359728", + "category": "source_code", + "sha256_hash": "ea46cde47a37c1f43fe079e48f5d0de8007155a0187f4445abc4f2ffde9c1791", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-03", + "commit_hash": "ac08a8d02480858d5a331e478691bf65a7474ca3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/api/test_async_client.py", + "name": "test_async_client.py", + "size_bytes": 1382, + "modified_time": "2025-07-30T09:39:45.725666", + "category": "source_code", + "sha256_hash": "a2f96226a75e5cff2326ca48ddccea4915964d83e529f7b99958bc233ccdc31a", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-15", + "commit_hash": "24a1d6195d611577d02ee20bffab8212f703fd98" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + } + ], + "primary_author": "jope-bm", + "contributor_count": 2 + }, + { + "path": "tests/api/test_continue_conversation_template.py", + "name": "test_continue_conversation_template.py", + "size_bytes": 5152, + "modified_time": "2025-06-21T00:01:46.390901", + "category": "source_code", + "sha256_hash": "cca08b0291db0ad693c60d8dc203660021feab46d9eb530be7f67e0ebb52c1d3", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "tests/api/test_directory_router.py", + "name": "test_directory_router.py", + "size_bytes": 9376, + "modified_time": "2025-06-21T00:01:46.356659", + "category": "source_code", + "sha256_hash": "428626589f0010512481ba495368b0bf2b9617b22764e588eaa3562e86da4d37", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/api/test_importer_router.py", + "name": "test_importer_router.py", + "size_bytes": 16578, + "modified_time": "2025-06-21T00:01:46.368070", + "category": "source_code", + "sha256_hash": "03edf6e7404c7350afe76e54ea2bf0d66f668bcdb49f59702067a67b3694309d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/api/test_knowledge_router.py", + "name": "test_knowledge_router.py", + "size_bytes": 45771, + "modified_time": "2025-07-01T08:33:22.090490", + "category": "source_code", + "sha256_hash": "43a5f91ae1fb9038e65c09701336fbdc4dbf40c8319c94727e6312fda9d6d56e", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-03", + "commit_hash": "f64d5b215210d3b2b50420f1b086be0256c61cb7" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "tests/api/test_management_router.py", + "name": "test_management_router.py", + "size_bytes": 6220, + "modified_time": "2025-06-21T00:01:46.402764", + "category": "source_code", + "sha256_hash": "f6a3f41f263f10c08281525571e2e39fc9ae818ebb7e9895e3f3f3115ea05677", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "tests/api/test_memory_router.py", + "name": "test_memory_router.py", + "size_bytes": 5555, + "modified_time": "2025-06-21T00:01:46.399667", + "category": "source_code", + "sha256_hash": "2b8782015c893081fc67b7f13a7255d4e3dc45b27705a524f94918a339e2d486", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-18", + "commit_hash": "0123544556513af943d399d70b849b142b834b15" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "tests/api/test_project_router.py", + "name": "test_project_router.py", + "size_bytes": 13288, + "modified_time": "2025-07-30T09:39:45.725847", + "category": "source_code", + "sha256_hash": "af85d0870069d3831a9214372853994e5d12dc910e37298eb9958f72f6a8bb31", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "6361574a20ff173ef8c39af7444e236cea3fbc1b" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "tests/api/test_project_router_operations.py", + "name": "test_project_router_operations.py", + "size_bytes": 1812, + "modified_time": "2025-06-21T00:01:46.381705", + "category": "source_code", + "sha256_hash": "afd40879de3d7c508cca0feeae3cb7a8f3afcfbb06f59a6104189b1e3291376a", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/api/test_prompt_router.py", + "name": "test_prompt_router.py", + "size_bytes": 5046, + "modified_time": "2025-06-21T00:01:46.396588", + "category": "source_code", + "sha256_hash": "9115995b7dd8b44d8a9c06c5e1bbb177618286675a769889e35ac16f26fd9897", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "tests/api/test_resource_router.py", + "name": "test_resource_router.py", + "size_bytes": 13960, + "modified_time": "2025-06-21T00:01:46.384919", + "category": "source_code", + "sha256_hash": "ad3cb2cabaeab82a7e64253ceede7c1791e2bd70c92f60bc5f3be939292ca22d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/api/test_search_router.py", + "name": "test_search_router.py", + "size_bytes": 6409, + "modified_time": "2025-06-21T00:01:46.375427", + "category": "source_code", + "sha256_hash": "ba3e3809795e72db9dd9c8c729048bdbbbdb897c2a5aa8b175112b5d4b56d152", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + }, + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-18", + "commit_hash": "2c8ed1737d6769fe1ef5c96f8a2bd75b9899316a" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 3 + }, + { + "path": "tests/api/test_search_template.py", + "name": "test_search_template.py", + "size_bytes": 5258, + "modified_time": "2025-06-21T00:01:46.378721", + "category": "source_code", + "sha256_hash": "8f0d16a1de947d0466d96afed02e695f7648adac70b9ba99753250068207a686", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "tests/api/test_template_loader.py", + "name": "test_template_loader.py", + "size_bytes": 8035, + "modified_time": "2025-06-21T00:01:46.406694", + "category": "source_code", + "sha256_hash": "4fd7c6c4862cc0d877d29244ecdc0b52a0693fc4574a9667663bee36bfd36b62", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "tests/api/test_template_loader_helpers.py", + "name": "test_template_loader_helpers.py", + "size_bytes": 7445, + "modified_time": "2025-06-21T00:01:46.372114", + "category": "source_code", + "sha256_hash": "8dd35f11c9b3f2d96ac36263edf4430308728c04c9da543b1cb845b96ab20aa7", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "tests/cli/conftest.py", + "name": "conftest.py", + "size_bytes": 1185, + "modified_time": "2025-07-01T08:33:22.090848", + "category": "source_code", + "sha256_hash": "c3c73da7ad73224931e1fba4ebd70792221be607bfb1488bb5c9420bba03bdb8", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "2162ad57fe385909dade11e61f8b3476e6990a46" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/cli/test_cli_tools.py", + "name": "test_cli_tools.py", + "size_bytes": 13528, + "modified_time": "2025-06-21T00:01:46.318964", + "category": "source_code", + "sha256_hash": "befb8cab50132e26a1b13b82ce8e93a3258282cf157a4230214bfcefeae65102", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-03", + "commit_hash": "ac08a8d02480858d5a331e478691bf65a7474ca3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/cli/test_import_chatgpt.py", + "name": "test_import_chatgpt.py", + "size_bytes": 6719, + "modified_time": "2025-07-08T20:39:18.350234", + "category": "source_code", + "sha256_hash": "df447335545248e2fb2417af33f8cc2f0143bd413a1783e41f89605de305b7c8", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/cli/test_import_claude_conversations.py", + "name": "test_import_claude_conversations.py", + "size_bytes": 5028, + "modified_time": "2025-07-08T20:39:18.350607", + "category": "legal", + "sha256_hash": "ac4b3b9dfc331fa7fa32a2941c027ff8b6585a94a5ccfaaf0a4affe5cf19c00c", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/cli/test_import_claude_projects.py", + "name": "test_import_claude_projects.py", + "size_bytes": 4585, + "modified_time": "2025-07-08T20:39:18.350885", + "category": "legal", + "sha256_hash": "7eaab3d491d50ca59c8ba015ecd5740a5feae94d970ee17559c6df9d8558c2cc", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/cli/test_import_memory_json.py", + "name": "test_import_memory_json.py", + "size_bytes": 4891, + "modified_time": "2025-07-30T09:39:45.726290", + "category": "source_code", + "sha256_hash": "d6734ce059dacf97bc764d848b2e2a6ba52fa96871bc331ec9d2ddc60b766bb6", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-04-08", + "commit_hash": "29341763318408ea8f1e954a41046c4185f836c6" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "tests/cli/test_project_commands.py", + "name": "test_project_commands.py", + "size_bytes": 6578, + "modified_time": "2025-07-30T09:39:45.726703", + "category": "source_code", + "sha256_hash": "51e2ac7ff44b0d1a1db6da406c5c2e6aebceb1b63a1e8d5ab51bbaa834507157", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "6361574a20ff173ef8c39af7444e236cea3fbc1b" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-11", + "commit_hash": "3ee30e1f36ece41cf10af8b8a6e35d14c650eec7" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "tests/cli/test_project_info.py", + "name": "test_project_info.py", + "size_bytes": 3874, + "modified_time": "2025-07-01T08:33:22.091600", + "category": "source_code", + "sha256_hash": "0b08950e95a5f276f14c56f6fe99af4d41b8f04548e9b7746f807c5ac4155578", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/cli/test_status.py", + "name": "test_status.py", + "size_bytes": 4160, + "modified_time": "2025-07-01T08:33:22.091978", + "category": "source_code", + "sha256_hash": "a1ff89fdac4bf57ba03be92ac79b8ca3210af0b1132d5a2bd0fc0c253fcbf988", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "2162ad57fe385909dade11e61f8b3476e6990a46" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/cli/test_sync.py", + "name": "test_sync.py", + "size_bytes": 3864, + "modified_time": "2025-07-08T20:43:47.816788", + "category": "source_code", + "sha256_hash": "77e0f6b42b584a5acfda3c2ff194ff5e71ca57a40cb4484d563f5482bbbb4c0f", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/cli/test_version.py", + "name": "test_version.py", + "size_bytes": 289, + "modified_time": "2025-06-21T00:01:46.305368", + "category": "source_code", + "sha256_hash": "db95665178a32d391bd83011d073db269cefba9da8a4dc4d3e392d47bc0e0a8f", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-05", + "commit_hash": "e6496df595f3cafde6cc836384ee8c60886057a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/conftest.py", + "name": "conftest.py", + "size_bytes": 15286, + "modified_time": "2025-07-08T20:39:18.351368", + "category": "source_code", + "sha256_hash": "c6f38f103ce58144ffe4562f0c47dad849974e96327f02805e854447e19bc411", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/importers/test_importer_base.py", + "name": "test_importer_base.py", + "size_bytes": 4329, + "modified_time": "2025-07-08T20:39:00.549594", + "category": "source_code", + "sha256_hash": "da872a073f2b90fda3c98c9f44cf45884f4f682d91ec1b1f931d42c34eee1939", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "tests/importers/test_importer_utils.py", + "name": "test_importer_utils.py", + "size_bytes": 1827, + "modified_time": "2025-06-21T00:01:46.184343", + "category": "source_code", + "sha256_hash": "cbee630c855ceb1de764ac0cdb1d5d781c16cd3a934d67166adc235c98f363d7", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "tests/markdown/__init__.py", + "name": "__init__.py", + "size_bytes": 0, + "modified_time": "2025-06-21T00:01:46.196570", + "category": "source_code", + "sha256_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2024-12-21", + "commit_hash": "f465e66a8cd6904ca31edb62ca453b3da4797cbd" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/markdown/test_entity_parser.py", + "name": "test_entity_parser.py", + "size_bytes": 8669, + "modified_time": "2025-06-21T00:01:46.206579", + "category": "source_code", + "sha256_hash": "496fdab6fe164634f8223f827585a4c0dedd30ccea7b0b69dc79004ad0996de2", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9bff1f732e71bc60f88b5c2ce3db5a2aa60b8e28" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/markdown/test_markdown_plugins.py", + "name": "test_markdown_plugins.py", + "size_bytes": 5139, + "modified_time": "2025-06-21T00:01:46.200759", + "category": "source_code", + "sha256_hash": "9624d73462aadcd47fb0edd0d87880959a8982eecfa39529f21e3b292c34cb83", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-12", + "commit_hash": "28513c8b8d72283788669e074a67f0562faffe11" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/markdown/test_markdown_processor.py", + "name": "test_markdown_processor.py", + "size_bytes": 5728, + "modified_time": "2025-06-21T00:01:46.194175", + "category": "source_code", + "sha256_hash": "35042aa57dd2aeed848c624aa7f69decfb18e83c3b217eca1fdacfc4a10831db", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-04-08", + "commit_hash": "29341763318408ea8f1e954a41046c4185f836c6" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/markdown/test_observation_edge_cases.py", + "name": "test_observation_edge_cases.py", + "size_bytes": 4295, + "modified_time": "2025-06-21T00:01:46.209598", + "category": "source_code", + "sha256_hash": "6f1ab7684bfa8b02af0e0c42b3d7aed91fcd0b1c6288cbc9b6d6943c166979fa", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "5b4f0eafcceacc31dbaa694933fd783c2f24adc4" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/markdown/test_parser_edge_cases.py", + "name": "test_parser_edge_cases.py", + "size_bytes": 5142, + "modified_time": "2025-06-21T00:01:46.213291", + "category": "source_code", + "sha256_hash": "d511d7d1187e3c1d3a8d3e0ab9efc9e68e84115c46811e7a9dc21eca9a87d520", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-04", + "commit_hash": "3484e26631187f165ee6eb85517e94717b7cf2cf" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/markdown/test_relation_edge_cases.py", + "name": "test_relation_edge_cases.py", + "size_bytes": 3952, + "modified_time": "2025-06-21T00:01:46.203846", + "category": "source_code", + "sha256_hash": "f8e2016308f84139342cc37ec6e389ffe52d7eb46f998ee327c7f0d5bba3ad9b", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-01-09", + "commit_hash": "9d2f0c969e921dd737ca69781f882a9d68b14eea" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/markdown/test_task_detection.py", + "name": "test_task_detection.py", + "size_bytes": 401, + "modified_time": "2025-06-21T00:01:46.191444", + "category": "source_code", + "sha256_hash": "37fe91a689742033a0eb76723557e31c2a85e591133383b3887572cb714db2a5", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-12", + "commit_hash": "5b4f0eafcceacc31dbaa694933fd783c2f24adc4" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/mcp/conftest.py", + "name": "conftest.py", + "size_bytes": 1761, + "modified_time": "2025-07-08T20:39:18.351554", + "category": "source_code", + "sha256_hash": "350b2ca42c52ef76e002deddb65fc0eccb9f8989bd26078ea1c100e3b93bae3f", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/mcp/test_prompts.py", + "name": "test_prompts.py", + "size_bytes": 5989, + "modified_time": "2025-07-01T08:33:22.093691", + "category": "source_code", + "sha256_hash": "e3b2ee5b4bc120b5043225ebdbf73eadd71be9c3d9d8e1fdd66a24a8ff11a780", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/mcp/test_resource_project_info.py", + "name": "test_resource_project_info.py", + "size_bytes": 4885, + "modified_time": "2025-07-01T08:33:22.094085", + "category": "source_code", + "sha256_hash": "6a043736789b239c8d4ae00d1a5332a0fc3bed4038fe3388970ba97dc7431a93", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/mcp/test_resources.py", + "name": "test_resources.py", + "size_bytes": 549, + "modified_time": "2025-07-01T08:33:22.094481", + "category": "source_code", + "sha256_hash": "77a6396b9b8a9d3b3d202e438243ca6178d87fd7680c9fc063ee013f2042aa4c", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/mcp/test_tool_build_context.py", + "name": "test_tool_build_context.py", + "size_bytes": 3714, + "modified_time": "2025-07-01T08:33:22.094661", + "category": "source_code", + "sha256_hash": "5f0a39fdb652605335ed54aa91fe994262441bb7ba46f381c46ebca882fc23f2", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/mcp/test_tool_canvas.py", + "name": "test_tool_canvas.py", + "size_bytes": 7997, + "modified_time": "2025-07-01T08:33:22.094982", + "category": "source_code", + "sha256_hash": "c517bb1f9edc77b76fbeb483dfcb2dd57de9f0b80a10738708bc90cbe388dc9e", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/mcp/test_tool_delete_note.py", + "name": "test_tool_delete_note.py", + "size_bytes": 4208, + "modified_time": "2025-07-01T08:33:22.095578", + "category": "source_code", + "sha256_hash": "4cbf3ba4313438651b0608d5b25faf1400f7bd6a78af630351aecd4457800895", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "69d7610d476275c331730e98281b95b64caeb4d9" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/mcp/test_tool_edit_note.py", + "name": "test_tool_edit_note.py", + "size_bytes": 13503, + "modified_time": "2025-07-03T18:43:10.084890", + "category": "source_code", + "sha256_hash": "dd441969aa54b3739f2d9202d3feaf46aee807ec51e01a13ef41eda52743944f", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@gmail.com", + "first_contribution": "2025-07-01", + "commit_hash": "2aca19aa05942883b97d7150c048d9fe1e8843f8" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "c2f4b632cf04921b1a3c2f0d43831b80c519cb31" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 2 + }, + { + "path": "tests/mcp/test_tool_list_directory.py", + "name": "test_tool_list_directory.py", + "size_bytes": 7730, + "modified_time": "2025-07-01T08:33:22.096737", + "category": "source_code", + "sha256_hash": "cfbb5c06bcfe74ea60f31051eb9b03ac80b86232b053c188bf3b172132f7c0f5", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/mcp/test_tool_move_note.py", + "name": "test_tool_move_note.py", + "size_bytes": 25851, + "modified_time": "2025-07-30T09:39:45.727347", + "category": "source_code", + "sha256_hash": "c9f95158503fa42e37532aaa35027538fa49cea718d059d570cf547d31f01043", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + } + ], + "primary_author": "jope-bm", + "contributor_count": 2 + }, + { + "path": "tests/mcp/test_tool_read_content.py", + "name": "test_tool_read_content.py", + "size_bytes": 19442, + "modified_time": "2025-07-30T09:39:45.727526", + "category": "source_code", + "sha256_hash": "1817e32f997b06dbdabf02864d0c70584c1cd80bf1fae8dfbef649de79434bc5", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + } + ], + "primary_author": "jope-bm", + "contributor_count": 1 + }, + { + "path": "tests/mcp/test_tool_read_note.py", + "name": "test_tool_read_note.py", + "size_bytes": 22991, + "modified_time": "2025-07-30T09:39:45.727746", + "category": "source_code", + "sha256_hash": "4e13ea9ff977525aa62b6a8c22505ffe989329dc3e7d07b71e044cf43ef3ddfd", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + }, + { + "name": "Amadeusz Wieczorek", + "email": "git@amadeusw.com", + "first_contribution": "2025-04-14", + "commit_hash": "54dfa08aba6bf143f67c4412d21fc53e453d0ea8" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "jope-bm", + "contributor_count": 4 + }, + { + "path": "tests/mcp/test_tool_recent_activity.py", + "name": "test_tool_recent_activity.py", + "size_bytes": 3983, + "modified_time": "2025-07-01T08:33:22.098561", + "category": "source_code", + "sha256_hash": "45414152cd45334b84df56f653146b7bd2939907548e7245a37207fdccfc4c87", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/mcp/test_tool_resource.py", + "name": "test_tool_resource.py", + "size_bytes": 6782, + "modified_time": "2025-07-01T08:33:22.098948", + "category": "source_code", + "sha256_hash": "3916ae1c4d458eee53d2c570b9bbb708ecd617de5a145c3a7552389954bc9195", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/mcp/test_tool_search.py", + "name": "test_tool_search.py", + "size_bytes": 10959, + "modified_time": "2025-07-03T18:43:10.085177", + "category": "source_code", + "sha256_hash": "07839cf8e89d74ba05ec1dc55fa842444c1f0cc3d1587823b0ac3458ad89e87c", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@gmail.com", + "first_contribution": "2025-07-01", + "commit_hash": "2aca19aa05942883b97d7150c048d9fe1e8843f8" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "a589f8b894e78cce01eb25656856cfea8785fbbf" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 3 + }, + { + "path": "tests/mcp/test_tool_sync_status.py", + "name": "test_tool_sync_status.py", + "size_bytes": 6331, + "modified_time": "2025-07-01T08:33:22.100021", + "category": "source_code", + "sha256_hash": "3f3566df5b9f3c66bb9b3bd77d4c05825480d0e85015305cb1b7ab9429c7a7ec", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/mcp/test_tool_utils.py", + "name": "test_tool_utils.py", + "size_bytes": 9228, + "modified_time": "2025-07-01T08:33:22.100561", + "category": "source_code", + "sha256_hash": "b50789f7a78b0169f52dc8bd16e262510ed4a0ac130fce698d4be84af1fe2d31", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-05", + "commit_hash": "69d7610d476275c331730e98281b95b64caeb4d9" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/mcp/test_tool_view_note.py", + "name": "test_tool_view_note.py", + "size_bytes": 10004, + "modified_time": "2025-07-01T08:33:22.101164", + "category": "source_code", + "sha256_hash": "385535ce791c3ab55db827cbcf27ea25ae85faf3a027f52df4eea052cede7f36", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-08", + "commit_hash": "35884ef3a75a01451c69838f17c30968a2023ef6" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/mcp/test_tool_write_note.py", + "name": "test_tool_write_note.py", + "size_bytes": 35136, + "modified_time": "2025-07-30T09:39:45.728137", + "category": "source_code", + "sha256_hash": "45172de20cfc4f4436287573b4f5a94b8b616a360647af67ba1c6c343ccd41b8", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-19", + "commit_hash": "7be001ca6834b3344bb6160cbe537b36bcbaa579" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-18", + "commit_hash": "77898644933589c2da9bdd60571d54137a5309ed" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "tests/repository/test_entity_repository.py", + "name": "test_entity_repository.py", + "size_bytes": 15498, + "modified_time": "2025-06-21T00:01:46.176265", + "category": "source_code", + "sha256_hash": "8f5d1ff6cff7b640993ff73f463b1e7801a4dd69640fc55fa23dc58b865e9943", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-28", + "commit_hash": "f8078cdd46f11529b58dc03524bc13e470c6571f" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "tests/repository/test_entity_repository_upsert.py", + "name": "test_entity_repository_upsert.py", + "size_bytes": 16983, + "modified_time": "2025-07-03T18:43:10.085482", + "category": "source_code", + "sha256_hash": "ee0ecd6f4ff8b31838bd6de6fb1018af437e02813d8315c06f4e20a6b78a0572", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-25", + "commit_hash": "1bf348259b33cfda6fcd682077a44dd9955c162f" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-24", + "commit_hash": "2a3adc109a3e4d7ccd65cae4abf63d9bb2338326" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/repository/test_observation_repository.py", + "name": "test_observation_repository.py", + "size_bytes": 11786, + "modified_time": "2025-06-21T00:01:46.158862", + "category": "source_code", + "sha256_hash": "3006d392ad94dcc9b3ae031d63a1af6935624534389dd025de70d4c9e112aa0b", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-01-27", + "commit_hash": "c2aa947be926932a8c7f09cbdc6ddde6a5499894" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "tests/repository/test_project_info_repository.py", + "name": "test_project_info_repository.py", + "size_bytes": 1186, + "modified_time": "2025-06-21T00:01:46.161876", + "category": "source_code", + "sha256_hash": "dbce7ae7350403cbc37343c2e3e68e4d2255e247006aaa6c495a7ce8bfddea7d", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 1 + }, + { + "path": "tests/repository/test_project_repository.py", + "name": "test_project_repository.py", + "size_bytes": 10511, + "modified_time": "2025-07-30T09:39:45.728536", + "category": "source_code", + "sha256_hash": "279a3324635b1b515c18003bd1875cf230fef1192cadef9ca426846783717e75", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "6361574a20ff173ef8c39af7444e236cea3fbc1b" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 2 + }, + { + "path": "tests/repository/test_relation_repository.py", + "name": "test_relation_repository.py", + "size_bytes": 11980, + "modified_time": "2025-06-21T00:01:46.167567", + "category": "source_code", + "sha256_hash": "fcdbdf40f7b56145b98eedde5ead64ef6187e859adde48cc09f5a97754757428", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-01-27", + "commit_hash": "c2aa947be926932a8c7f09cbdc6ddde6a5499894" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "tests/repository/test_repository.py", + "name": "test_repository.py", + "size_bytes": 5996, + "modified_time": "2025-06-21T00:01:46.152691", + "category": "source_code", + "sha256_hash": "3a6d4ca0b7a438a30ae504f5eac22874d4e1a937a4246e90efad46c90f0e1c95", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-12", + "commit_hash": "28513c8b8d72283788669e074a67f0562faffe11" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/repository/test_search_repository.py", + "name": "test_search_repository.py", + "size_bytes": 25471, + "modified_time": "2025-07-03T18:43:10.086041", + "category": "source_code", + "sha256_hash": "805b5cc55a53ae9d6e86c0de735c7f38ac9fd92c23194b0150fa3e7f5507a146", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-26", + "commit_hash": "46d102cef108c3982ee3a99184080b0574700ce6" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/schemas/test_memory_url.py", + "name": "test_memory_url.py", + "size_bytes": 2000, + "modified_time": "2025-06-21T00:01:46.346515", + "category": "source_code", + "sha256_hash": "946fa6c48534f41c8b9cc27bbad164d3e3673a79afa84fbb439fae4cd26c504b", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-24", + "commit_hash": "37a01b806d0758029d34a862e76d44c7e5d538a5" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/schemas/test_memory_url_validation.py", + "name": "test_memory_url_validation.py", + "size_bytes": 9338, + "modified_time": "2025-07-01T08:33:22.103247", + "category": "source_code", + "sha256_hash": "7054c3a3cdb8e05d2ffd254ed298908ff3d48a0a3927d960975eae1ab9beeb38", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-04", + "commit_hash": "c5c70cb0f44dec2f9ac8a29cac3a1d71bcd889aa" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/schemas/test_schemas.py", + "name": "test_schemas.py", + "size_bytes": 16880, + "modified_time": "2025-07-03T18:43:10.086337", + "category": "source_code", + "sha256_hash": "2c746a00c340f063c160ace67569955a300a294040949695c79fd4ae124fb611", + "contributors": [ + { + "name": "Drew Cain", + "email": "groksrc@gmail.com", + "first_contribution": "2025-07-01", + "commit_hash": "2aca19aa05942883b97d7150c048d9fe1e8843f8" + }, + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-26", + "commit_hash": "cd8e372f0a2ab66e5cdfe5b11788ce2a61e8673e" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Drew Cain", + "contributor_count": 3 + }, + { + "path": "tests/schemas/test_search.py", + "name": "test_search.py", + "size_bytes": 3264, + "modified_time": "2025-06-21T00:01:46.343685", + "category": "source_code", + "sha256_hash": "7437775d1b4a61a438cbabe3dbb1becd2adc4dbcc0c24595830c0843fa7a3166", + "contributors": [ + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-03-05", + "commit_hash": "90d5754180beaf4acd4be38f2438712555640b49" + } + ], + "primary_author": "github-actions[bot] (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "tests/services/test_context_service.py", + "name": "test_context_service.py", + "size_bytes": 8833, + "modified_time": "2025-06-21T00:01:46.446200", + "category": "source_code", + "sha256_hash": "ab49d21a05d5364e7e8a2f00b07aabe1109b7417698e0acd92792e2cb5f22732", + "contributors": [ + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + }, + { + "name": "Paul Hernandez", + "email": "paulmh@gmail.com", + "first_contribution": "2025-02-28", + "commit_hash": "f8078cdd46f11529b58dc03524bc13e470c6571f" + } + ], + "primary_author": "bm-claudeai (AI Assistant)", + "contributor_count": 2 + }, + { + "path": "tests/services/test_directory_service.py", + "name": "test_directory_service.py", + "size_bytes": 6854, + "modified_time": "2025-06-21T00:01:46.457258", + "category": "source_code", + "sha256_hash": "a0c765fb6bd1a75b6ba4592b1df344c48273b6ab03ba6bd15d2b5e840eb2d521", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/services/test_entity_service.py", + "name": "test_entity_service.py", + "size_bytes": 59278, + "modified_time": "2025-07-03T18:43:10.086674", + "category": "source_code", + "sha256_hash": "d7d495756faa10b415d705cf26b69d2efbc5f190a834b6767386ff296629ea71", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-25", + "commit_hash": "1bf348259b33cfda6fcd682077a44dd9955c162f" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-18", + "commit_hash": "c6215fd819f9564ead91cf3a950f855241446096" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "tests/services/test_file_service.py", + "name": "test_file_service.py", + "size_bytes": 5243, + "modified_time": "2025-06-21T00:01:46.460141", + "category": "source_code", + "sha256_hash": "83e6e9a7584b7baeccbc84865d8c1d3e2a0223e7d2b9c066d3799c289196ab7d", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "phernandez@basicmachines.co", + "first_contribution": "2025-02-12", + "commit_hash": "28513c8b8d72283788669e074a67f0562faffe11" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/services/test_initialization.py", + "name": "test_initialization.py", + "size_bytes": 6939, + "modified_time": "2025-07-08T20:39:18.351946", + "category": "source_code", + "sha256_hash": "ebb8d11ff37dcb36c4844c68f873c8e0e8aa6ab1b82abb22ee96c4233e6ab287", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/services/test_link_resolver.py", + "name": "test_link_resolver.py", + "size_bytes": 13618, + "modified_time": "2025-07-01T08:33:22.105766", + "category": "source_code", + "sha256_hash": "c9fc56d0c3572770e95ca6175c213ed8b44c2a6ddddc298b5662cc2d8f41014e", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-04", + "commit_hash": "602c55fe90c1d45540e09d4f587eb7096bb3a1dc" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/services/test_project_service.py", + "name": "test_project_service.py", + "size_bytes": 28152, + "modified_time": "2025-07-30T09:39:45.728920", + "category": "source_code", + "sha256_hash": "430868ed796518937a3b0bed4d8c33be53264a6100d61d54b0745bb2b58bf29a", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "6361574a20ff173ef8c39af7444e236cea3fbc1b" + }, + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "jope-bm", + "contributor_count": 3 + }, + { + "path": "tests/services/test_project_service_operations.py", + "name": "test_project_service_operations.py", + "size_bytes": 4679, + "modified_time": "2025-06-21T00:01:46.442141", + "category": "source_code", + "sha256_hash": "d4103b6c5fff7e74ba84b86033537b8522aa60fc75aec4974d52e1dfec68b1b4", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/services/test_search_service.py", + "name": "test_search_service.py", + "size_bytes": 25299, + "modified_time": "2025-06-21T00:01:46.439133", + "category": "source_code", + "sha256_hash": "b3e58258db2b727ab8a1792e52fcb038d3a0779bcd1b70f2d295a9d06e5e2513", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-03", + "commit_hash": "ac08a8d02480858d5a331e478691bf65a7474ca3" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "9d581cee133f9dde4a0a85118868227390c84161" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/services/test_sync_status_service.py", + "name": "test_sync_status_service.py", + "size_bytes": 9926, + "modified_time": "2025-07-03T18:43:10.087266", + "category": "source_code", + "sha256_hash": "00245ca356e33fc7afcd2d42cb5ec082038c95383d738067821cf1e8d23c9a4b", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-26", + "commit_hash": "12b51522bc953fca117fc5bc01fcb29c6ca7e13c" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/sync/test_sync_service.py", + "name": "test_sync_service.py", + "size_bytes": 39659, + "modified_time": "2025-07-01T08:33:22.107088", + "category": "source_code", + "sha256_hash": "0609aee9906549f27fc4289b5ac2d46a50e53e12a0615a2701f17fbe9a74e169", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-09", + "commit_hash": "2abf626c4666a21af31c412d87b9da99b3be0078" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/sync/test_sync_wikilink_issue.py", + "name": "test_sync_wikilink_issue.py", + "size_bytes": 1959, + "modified_time": "2025-06-21T00:01:46.420370", + "category": "source_code", + "sha256_hash": "db4b98dd7008a1a26b0fd02b9a2d03bca950b281efc19d98a91b017c500b23a5", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "7930ddb2919057be30ceac8c4c19da6aaa1d3e92" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/sync/test_tmp_files.py", + "name": "test_tmp_files.py", + "size_bytes": 5930, + "modified_time": "2025-06-21T00:01:46.424277", + "category": "source_code", + "sha256_hash": "cead95a07b29f6c1ab933abe67f9648122f5f33d33753c8e4ab4934af96cbc25", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/sync/test_watch_service.py", + "name": "test_watch_service.py", + "size_bytes": 14076, + "modified_time": "2025-06-26T09:28:51.860679", + "category": "source_code", + "sha256_hash": "e324a4127f8bfe59798f3a08125488c701e88239b7482d87a0394b91c55b893e", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/sync/test_watch_service_edge_cases.py", + "name": "test_watch_service_edge_cases.py", + "size_bytes": 2169, + "modified_time": "2025-06-21T00:01:46.409830", + "category": "source_code", + "sha256_hash": "b87c5015330e9b551630aab7ef95ac1e7663f0ce46e912d8155b319e139559aa", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/test_config.py", + "name": "test_config.py", + "size_bytes": 3680, + "modified_time": "2025-07-03T18:43:10.087558", + "category": "source_code", + "sha256_hash": "6a246431cff739274efda895dfa28f38710289a73e645312f5fa05fce0885ec8", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "paul@basicmachines.co", + "first_contribution": "2025-06-25", + "commit_hash": "1bf348259b33cfda6fcd682077a44dd9955c162f" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-25", + "commit_hash": "9f1db23c78d4648e2c242ad1ee27eed85e3f3b5d" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + }, + { + "path": "tests/test_db_migration_deduplication.py", + "name": "test_db_migration_deduplication.py", + "size_bytes": 6166, + "modified_time": "2025-07-08T20:39:18.352690", + "category": "source_code", + "sha256_hash": "ab768e061531ca2edcd598c101b5d884e549f90c7a4b305a23713a199d263fbb", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-06-19", + "commit_hash": "7be001ca6834b3344bb6160cbe537b36bcbaa579" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/utils/test_file_utils.py", + "name": "test_file_utils.py", + "size_bytes": 6199, + "modified_time": "2025-06-21T00:01:46.219673", + "category": "source_code", + "sha256_hash": "4615bb20b92b8a79d9e086301f852b34c3360f17ecc209920d68528268ddeed4", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-04-08", + "commit_hash": "29341763318408ea8f1e954a41046c4185f836c6" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/utils/test_parse_tags.py", + "name": "test_parse_tags.py", + "size_bytes": 1691, + "modified_time": "2025-06-21T00:01:46.223400", + "category": "source_code", + "sha256_hash": "b83afdf18dac8b3411bd0fab1301683217d3d1abceaf2d22c09e79c709efd8eb", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-04-06", + "commit_hash": "617e60bda4a590678a5f551f10a73e7b47e3b13e" + }, + { + "name": "github-actions[bot] (AI Assistant)", + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "first_contribution": "2025-04-05", + "commit_hash": "6c19c9edf5131054ba201a109b37f15c83ef150c" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 2 + }, + { + "path": "tests/utils/test_permalink_formatting.py", + "name": "test_permalink_formatting.py", + "size_bytes": 4193, + "modified_time": "2025-06-21T00:01:46.225738", + "category": "source_code", + "sha256_hash": "d998a4ca846c78679728a918b6f71df67c30b6961ede3cffa609f2cf6ad160eb", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/utils/test_utf8_handling.py", + "name": "test_utf8_handling.py", + "size_bytes": 5791, + "modified_time": "2025-06-21T00:01:46.228483", + "category": "source_code", + "sha256_hash": "50ec792e572af51cd2d996d4ddacbcfd3bbd79aa928818a90c42117451ea829f", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-06-03", + "commit_hash": "634486107bbbc545cac090902af1b138fa356573" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 1 + }, + { + "path": "tests/utils/test_validate_project_path.py", + "name": "test_validate_project_path.py", + "size_bytes": 15346, + "modified_time": "2025-07-30T09:39:45.729224", + "category": "source_code", + "sha256_hash": "27a4bf2a9d277e6cd773619e5241b20175d211ec60c284361bec404fd99143f3", + "contributors": [ + { + "name": "jope-bm", + "email": "joe@basicmemory.com", + "first_contribution": "2025-07-28", + "commit_hash": "a4a3b1b6899abe4ba0e158dc84a13178ea8b8109" + } + ], + "primary_author": "jope-bm", + "contributor_count": 1 + }, + { + "path": "uv.lock", + "name": "uv.lock", + "size_bytes": 232710, + "modified_time": "2025-07-30T09:39:36.619155", + "category": "other", + "sha256_hash": "caa1e3f6e66464b884a78cab77df2fe303fa3c0dc573be0196474b6d3c150581", + "contributors": [ + { + "name": "Paul Hernandez", + "email": "60959+phernandez@users.noreply.github.com", + "first_contribution": "2025-07-07", + "commit_hash": "473f70c94996e48258475a9f99a8ecb1819b08f3" + }, + { + "name": "Drew Cain", + "email": "groksrc@users.noreply.github.com", + "first_contribution": "2025-07-01", + "commit_hash": "827f7cf3e35336e73bd2f2e43f9dd6ccb7e4b4cc" + }, + { + "name": "bm-claudeai (AI Assistant)", + "email": "claude@basicmachines.co", + "first_contribution": "2025-05-25", + "commit_hash": "020957cd76125721a28e86ff57c2bf3625cf9aba" + } + ], + "primary_author": "Paul Hernandez", + "contributor_count": 3 + } + ], + "contributors": { + "Paul Hernandez": { + "email": "60959+phernandez@users.noreply.github.com", + "commits": 65, + "lines_added": 0, + "files": [ + "test-int/mcp/test_read_note_integration.py", + "tests/api/test_knowledge_router.py", + "SECURITY.md", + ".github/dependabot.yml", + "tests/schemas/test_schemas.py", + "docker-compose.yml", + "src/basic_memory/markdown/utils.py", + "tests/repository/test_repository.py", + "src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py", + "src/basic_memory/mcp/tools/search.py", + "tests/schemas/test_memory_url_validation.py", + ".github/workflows/claude.yml", + "tests/cli/test_import_chatgpt.py", + "tests/api/test_search_router.py", + "docs/Docker.md", + ".github/ISSUE_TEMPLATE/config.yml", + "tests/repository/test_entity_repository.py", + "tests/utils/test_file_utils.py", + "tests/mcp/test_tool_delete_note.py", + "src/basic_memory/cli/commands/import_claude_conversations.py", + "tests/mcp/test_tool_write_note.py", + "src/basic_memory/deps.py", + "src/basic_memory/services/entity_service.py", + "src/basic_memory/services/link_resolver.py", + "src/basic_memory/sync/background_sync.py", + "tests/markdown/test_entity_parser.py", + "src/basic_memory/repository/repository.py", + "src/basic_memory/services/__init__.py", + "tests/mcp/test_tool_move_note.py", + "tests/services/test_sync_status_service.py", + "tests/repository/test_entity_repository_upsert.py", + "tests/api/test_importer_router.py", + "src/basic_memory/mcp/tools/move_note.py", + "docs/AI Assistant Guide.md", + "src/basic_memory/cli/commands/status.py", + "tests/schemas/test_memory_url.py", + "src/basic_memory/services/directory_service.py", + ".github/workflows/release.yml", + "tests/cli/test_status.py", + "tests/sync/test_tmp_files.py", + "tests/utils/test_utf8_handling.py", + "tests/mcp/test_tool_build_context.py", + "tests/mcp/test_tool_utils.py", + "src/basic_memory/cli/app.py", + "tests/api/test_project_router.py", + "tests/cli/test_import_claude_projects.py", + "uv.lock", + ".dockerignore", + "src/basic_memory/mcp/tools/utils.py", + "src/basic_memory/importers/memory_json_importer.py", + ".github/ISSUE_TEMPLATE/documentation.md", + "src/basic_memory/api/routers/memory_router.py", + "test-int/mcp/test_build_context_validation.py", + "justfile", + "src/basic_memory/cli/commands/sync.py", + "tests/cli/conftest.py", + "src/basic_memory/mcp/__init__.py", + "src/basic_memory/sync/watch_service.py", + "src/basic_memory/mcp/prompts/utils.py", + "src/basic_memory/api/routers/search_router.py", + "src/basic_memory/alembic/env.py", + "src/basic_memory/mcp/tools/project_management.py", + "CLA.md", + "tests/markdown/test_relation_edge_cases.py", + "tests/services/test_entity_service.py", + "src/basic_memory/services/initialization.py", + "tests/mcp/test_tool_recent_activity.py", + "tests/mcp/test_tool_search.py", + "tests/schemas/test_search.py", + "src/basic_memory/repository/relation_repository.py", + "src/basic_memory/mcp/resources/ai_assistant_guide.md", + "CITATION.cff", + "tests/sync/test_watch_service.py", + "src/basic_memory/utils.py", + "src/basic_memory/markdown/schemas.py", + "tests/mcp/conftest.py", + "tests/services/test_search_service.py", + "src/basic_memory/mcp/prompts/__init__.py", + "tests/services/test_project_service.py", + "tests/api/conftest.py", + "src/basic_memory/alembic/migrations.py", + "tests/markdown/test_task_detection.py", + "tests/mcp/test_tool_read_note.py", + "src/basic_memory/mcp/tools/canvas.py", + "src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py", + "src/basic_memory/mcp/tools/recent_activity.py", + "src/basic_memory/models/knowledge.py", + "src/basic_memory/repository/search_repository.py", + "src/basic_memory/services/project_service.py", + "src/basic_memory/models/base.py", + "tests/conftest.py", + "src/basic_memory/mcp/resources/project_info.py", + "src/basic_memory/__init__.py", + "tests/mcp/test_tool_canvas.py", + "tests/sync/test_sync_wikilink_issue.py", + "tests/repository/test_observation_repository.py", + "src/basic_memory/schemas/search.py", + "src/basic_memory/services/exceptions.py", + "src/basic_memory/cli/commands/project.py", + "src/basic_memory/services/search_service.py", + "tests/api/test_project_router_operations.py", + ".claude/commands/release/release.md", + "tests/mcp/test_resource_project_info.py", + "src/basic_memory/mcp/async_client.py", + "tests/mcp/test_tool_sync_status.py", + "tests/utils/test_permalink_formatting.py", + "src/basic_memory/mcp/tools/list_directory.py", + "src/basic_memory/api/routers/directory_router.py", + ".claude/commands/release/changelog.md", + "src/basic_memory/models/project.py", + "tests/mcp/test_resources.py", + "src/basic_memory/mcp/prompts/recent_activity.py", + "tests/repository/test_relation_repository.py", + "CONTRIBUTING.md", + "src/basic_memory/cli/main.py", + "src/basic_memory/markdown/plugins.py", + "tests/api/test_memory_router.py", + "pyproject.toml", + "tests/cli/test_project_info.py", + "tests/mcp/test_tool_list_directory.py", + "src/basic_memory/api/app.py", + "src/basic_memory/sync/sync_service.py", + "src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py", + "src/basic_memory/cli/__init__.py", + "src/basic_memory/api/routers/resource_router.py", + "test-int/mcp/test_edit_note_integration.py", + ".github/workflows/docker.yml", + "src/basic_memory/services/service.py", + "tests/services/test_context_service.py", + "src/basic_memory/mcp/server.py", + "llms-install.md", + ".github/workflows/test.yml", + "src/basic_memory/api/__init__.py", + "tests/mcp/test_tool_resource.py", + "src/basic_memory/schemas/__init__.py", + "src/basic_memory/mcp/tools/write_note.py", + "tests/cli/test_version.py", + "test-int/mcp/test_project_management_integration.py", + "test-int/mcp/test_read_content_integration.py", + "test-int/mcp/test_search_integration.py", + ".github/ISSUE_TEMPLATE/bug_report.md", + "src/basic_memory/mcp/tools/read_content.py", + "src/basic_memory/db.py", + "src/basic_memory/api/routers/__init__.py", + ".claude/commands/release/release-check.md", + "src/basic_memory/repository/entity_repository.py", + "src/basic_memory/services/file_service.py", + "tests/test_db_migration_deduplication.py", + "src/basic_memory/markdown/markdown_processor.py", + "src/basic_memory/cli/commands/db.py", + "src/basic_memory/mcp/tools/__init__.py", + ".claude/commands/test-live.md", + "src/basic_memory/api/routers/knowledge_router.py", + "src/basic_memory/cli/commands/import_claude_projects.py", + "src/basic_memory/cli/commands/__init__.py", + "src/basic_memory/cli/commands/import_memory_json.py", + "src/basic_memory/mcp/tools/edit_note.py", + "src/basic_memory/mcp/tools/sync_status.py", + "src/basic_memory/repository/project_info_repository.py", + "tests/Non-MarkdownFileSupport.pdf", + "tests/markdown/__init__.py", + "tests/cli/test_import_memory_json.py", + "tests/services/test_directory_service.py", + "src/basic_memory/cli/commands/tool.py", + "src/basic_memory/schemas/memory.py", + "tests/services/test_project_service_operations.py", + "src/basic_memory/services/sync_status_service.py", + "CHANGELOG.md", + "src/basic_memory/schemas/project_info.py", + "src/basic_memory/sync/__init__.py", + "tests/api/test_async_client.py", + "src/basic_memory/config.py", + "tests/mcp/test_tool_edit_note.py", + "README.md", + "tests/utils/test_parse_tags.py", + ".gitignore", + "src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py", + "src/basic_memory/schemas/request.py", + "tests/markdown/test_observation_edge_cases.py", + "tests/services/test_file_service.py", + "src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py", + "tests/mcp/test_tool_view_note.py", + "src/basic_memory/alembic/alembic.ini", + ".python-version", + "tests/sync/test_sync_service.py", + "src/basic_memory/repository/__init__.py", + "test-int/mcp/test_write_note_integration.py", + "src/basic_memory/markdown/__init__.py", + "src/basic_memory/mcp/tools/view_note.py", + "LICENSE", + "tests/api/test_resource_router.py", + "tests/sync/test_watch_service_edge_cases.py", + ".github/ISSUE_TEMPLATE/feature_request.md", + "tests/Screenshot.png", + "tests/repository/test_search_repository.py", + "src/basic_memory/schemas/base.py", + "src/basic_memory/api/routers/project_router.py", + "tests/mcp/test_prompts.py", + "src/basic_memory/schemas/delete.py", + "test-int/mcp/test_move_note_integration.py", + "src/basic_memory/schemas/response.py", + "test-int/conftest.py", + "tests/cli/test_import_claude_conversations.py", + "memory.json", + "src/basic_memory/mcp/prompts/ai_assistant_guide.py", + "tests/markdown/test_markdown_plugins.py", + "src/basic_memory/cli/commands/import_chatgpt.py", + "tests/test_config.py", + "src/basic_memory/mcp/project_session.py", + "src/basic_memory/mcp/tools/build_context.py", + ".github/workflows/dev-release.yml", + "CLAUDE.md", + "tests/cli/test_cli_tools.py", + ".claude/commands/release/beta.md", + "test-int/mcp/test_project_state_sync_integration.py", + "Dockerfile", + "src/basic_memory/api/routers/management_router.py", + "src/basic_memory/mcp/prompts/continue_conversation.py", + "src/basic_memory/models/__init__.py", + "tests/cli/test_project_commands.py", + "src/basic_memory/mcp/tools/read_note.py", + "tests/services/test_link_resolver.py", + "CODE_OF_CONDUCT.md", + "tests/api/test_directory_router.py", + "tests/services/test_initialization.py", + ".github/workflows/pr-title.yml", + "src/basic_memory/markdown/entity_parser.py", + "test-int/mcp/test_delete_note_integration.py", + "src/basic_memory/mcp/prompts/search.py", + "src/basic_memory/cli/commands/mcp.py", + "src/basic_memory/alembic/script.py.mako", + "src/basic_memory/api/routers/prompt_router.py", + "src/basic_memory/file_utils.py", + "src/basic_memory/models/search.py", + "src/basic_memory/mcp/tools/delete_note.py", + "src/basic_memory/repository/observation_repository.py", + "tests/cli/test_sync.py", + "tests/__init__.py", + "tests/markdown/test_markdown_processor.py", + "tests/markdown/test_parser_edge_cases.py", + "test-int/mcp/test_list_directory_integration.py", + "src/basic_memory/services/context_service.py" + ] + }, + "Drew Cain": { + "email": "groksrc@users.noreply.github.com", + "commits": 23, + "lines_added": 0, + "files": [ + "src/basic_memory/utils.py", + "tests/schemas/test_schemas.py", + "src/basic_memory/db.py", + "src/basic_memory/mcp/tools/search.py", + "src/basic_memory/repository/entity_repository.py", + "src/basic_memory/api/routers/utils.py", + "tests/test_db_migration_deduplication.py", + "src/basic_memory/__init__.py", + "src/basic_memory/mcp/tools/__init__.py", + "tests/mcp/test_tool_write_note.py", + "src/basic_memory/services/entity_service.py", + "tests/test_config.py", + "CLAUDE.md", + "tests/repository/test_entity_repository_upsert.py", + "src/basic_memory/schemas/memory.py", + ".github/workflows/release.yml", + "uv.lock", + "src/basic_memory/config.py", + "tests/mcp/test_tool_edit_note.py", + "pyproject.toml", + "README.md", + "src/basic_memory/cli/commands/mcp.py", + "justfile", + "src/basic_memory/templates/prompts/continue_conversation.hbs", + "src/basic_memory/mcp/tools/project_management.py", + "tests/services/test_entity_service.py", + "src/basic_memory/alembic/env.py", + "src/basic_memory/services/initialization.py", + "tests/mcp/test_tool_search.py", + "src/basic_memory/mcp/server.py" + ] + }, + "bm-claudeai (AI Assistant)": { + "email": "claude@basicmachines.co", + "commits": 7, + "lines_added": 0, + "files": [ + "src/basic_memory/importers/utils.py", + "tests/api/test_knowledge_router.py", + "tests/schemas/test_schemas.py", + "src/basic_memory/mcp/tools/search.py", + "tests/cli/test_import_chatgpt.py", + "tests/api/test_search_router.py", + "src/basic_memory/api/routers/utils.py", + "src/basic_memory/importers/claude_conversations_importer.py", + "tests/repository/test_entity_repository.py", + "src/basic_memory/cli/commands/import_claude_conversations.py", + "src/basic_memory/deps.py", + "src/basic_memory/services/entity_service.py", + "src/basic_memory/services/link_resolver.py", + "src/basic_memory/sync/background_sync.py", + "src/basic_memory/repository/repository.py", + "src/basic_memory/services/__init__.py", + "tests/api/test_importer_router.py", + "src/basic_memory/cli/commands/status.py", + "tests/sync/test_tmp_files.py", + "src/basic_memory/services/directory_service.py", + "tests/cli/test_status.py", + "src/basic_memory/templates/prompts/search.hbs", + "src/basic_memory/repository/project_repository.py", + "tests/mcp/test_tool_build_context.py", + "tests/mcp/test_tool_utils.py", + "src/basic_memory/cli/app.py", + "tests/api/test_project_router.py", + "tests/cli/test_import_claude_projects.py", + "uv.lock", + "src/basic_memory/mcp/tools/utils.py", + "src/basic_memory/importers/memory_json_importer.py", + "src/basic_memory/api/routers/memory_router.py", + "src/basic_memory/cli/commands/sync.py", + "src/basic_memory/sync/watch_service.py", + "src/basic_memory/mcp/prompts/utils.py", + "src/basic_memory/api/routers/search_router.py", + "src/basic_memory/alembic/env.py", + "tests/api/test_management_router.py", + "tests/services/test_entity_service.py", + "src/basic_memory/services/initialization.py", + "tests/mcp/test_tool_recent_activity.py", + "src/basic_memory/repository/relation_repository.py", + "tests/importers/test_importer_utils.py", + "tests/sync/test_watch_service.py", + "tests/mcp/conftest.py", + "tests/services/test_project_service.py", + "tests/api/conftest.py", + "src/basic_memory/mcp/tools/canvas.py", + "src/basic_memory/mcp/tools/recent_activity.py", + "src/basic_memory/repository/search_repository.py", + "src/basic_memory/models/knowledge.py", + "src/basic_memory/services/project_service.py", + "tests/conftest.py", + "src/basic_memory/mcp/resources/project_info.py", + "tests/repository/test_observation_repository.py", + "src/basic_memory/schemas/search.py", + "src/basic_memory/services/exceptions.py", + "src/basic_memory/cli/commands/project.py", + "src/basic_memory/services/search_service.py", + "tests/api/test_project_router_operations.py", + "tests/mcp/test_resource_project_info.py", + "tests/api/test_template_loader_helpers.py", + "src/basic_memory/api/routers/directory_router.py", + "src/basic_memory/models/project.py", + "src/basic_memory/importers/__init__.py", + "src/basic_memory/mcp/prompts/recent_activity.py", + "tests/repository/test_relation_repository.py", + "src/basic_memory/cli/main.py", + "tests/api/test_memory_router.py", + "pyproject.toml", + "src/basic_memory/importers/chatgpt_importer.py", + "tests/cli/test_project_info.py", + "tests/repository/test_project_info_repository.py", + "src/basic_memory/api/app.py", + "src/basic_memory/sync/sync_service.py", + "smithery.yaml", + "tests/services/test_context_service.py", + "src/basic_memory/mcp/server.py", + "src/basic_memory/schemas/__init__.py", + "src/basic_memory/mcp/tools/write_note.py", + "src/basic_memory/mcp/tools/read_content.py", + "src/basic_memory/db.py", + "src/basic_memory/api/routers/__init__.py", + "src/basic_memory/schemas/directory.py", + "src/basic_memory/repository/entity_repository.py", + "src/basic_memory/services/file_service.py", + "src/basic_memory/cli/commands/db.py", + "tests/api/test_search_template.py", + "src/basic_memory/api/routers/knowledge_router.py", + "src/basic_memory/cli/commands/import_claude_projects.py", + "tests/services/test_initialization.py", + "src/basic_memory/cli/commands/__init__.py", + "src/basic_memory/cli/commands/import_memory_json.py", + "src/basic_memory/repository/project_info_repository.py", + "src/basic_memory/importers/claude_projects_importer.py", + "tests/cli/test_import_memory_json.py", + "tests/services/test_directory_service.py", + "src/basic_memory/schemas/memory.py", + "tests/services/test_project_service_operations.py", + "src/basic_memory/api/routers/importer_router.py", + "src/basic_memory/schemas/importer.py", + "src/basic_memory/schemas/project_info.py", + "src/basic_memory/config.py", + "src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py", + "README.md", + ".gitignore", + "tests/sync/test_sync_service.py", + "tests/api/test_template_loader.py", + "src/basic_memory/repository/__init__.py", + "tests/importers/test_importer_base.py", + "tests/api/test_resource_router.py", + "tests/sync/test_watch_service_edge_cases.py", + "src/basic_memory/api/template_loader.py", + "tests/repository/test_search_repository.py", + "src/basic_memory/api/routers/project_router.py", + "tests/mcp/test_prompts.py", + "tests/cli/test_import_claude_conversations.py", + "tests/repository/test_project_repository.py", + "src/basic_memory/cli/commands/import_chatgpt.py", + "tests/test_config.py", + "src/basic_memory/mcp/tools/build_context.py", + "CLAUDE.md", + "tests/cli/test_cli_tools.py", + "tests/cli/test_project_commands.py", + "Dockerfile", + "src/basic_memory/api/routers/management_router.py", + "src/basic_memory/mcp/prompts/continue_conversation.py", + "src/basic_memory/models/__init__.py", + "tests/services/test_link_resolver.py", + "src/basic_memory/mcp/tools/read_note.py", + "tests/api/test_directory_router.py", + "tests/api/test_prompt_router.py", + "src/basic_memory/mcp/prompts/search.py", + "src/basic_memory/importers/base.py", + "src/basic_memory/cli/commands/mcp.py", + "src/basic_memory/api/routers/prompt_router.py", + "src/basic_memory/templates/prompts/continue_conversation.hbs", + "src/basic_memory/repository/observation_repository.py", + "src/basic_memory/models/search.py", + "src/basic_memory/mcp/tools/delete_note.py", + "tests/cli/test_sync.py", + "tests/api/test_continue_conversation_template.py", + "src/basic_memory/schemas/prompt.py", + "src/basic_memory/services/context_service.py" + ] + }, + "semantic-release": { + "email": "semantic-release", + "commits": 44, + "lines_added": 0, + "files": [ + "CHANGELOG.md", + "src/basic_memory/__init__.py", + "pyproject.toml" + ] + }, + "Ikko Eltociear Ashimine": { + "email": "eltociear@gmail.com", + "commits": 1, + "lines_added": 0, + "files": [ + "CLAUDE.md" + ] + }, + "jope-bm": { + "email": "joe@basicmemory.com", + "commits": 4, + "lines_added": 0, + "files": [ + "src/basic_memory/utils.py", + "src/basic_memory/mcp/tools/write_note.py", + "src/basic_memory/mcp/tools/read_content.py", + "tests/services/test_project_service.py", + "src/basic_memory/api/routers/project_router.py", + "tests/mcp/test_tool_read_note.py", + "src/basic_memory/services/project_service.py", + "tests/mcp/test_tool_write_note.py", + "src/basic_memory/cli/commands/import_memory_json.py", + "src/basic_memory/cli/commands/project.py", + "tests/repository/test_project_repository.py", + "tests/cli/test_import_memory_json.py", + "tests/mcp/test_tool_move_note.py", + "src/basic_memory/mcp/async_client.py", + "tests/cli/test_project_commands.py", + "src/basic_memory/mcp/tools/move_note.py", + "tests/utils/test_validate_project_path.py", + "src/basic_memory/mcp/tools/read_note.py", + "src/basic_memory/schemas/importer.py", + "tests/api/test_async_client.py", + "CONTRIBUTING.md", + "src/basic_memory/repository/project_repository.py", + "tests/api/test_project_router.py", + "src/basic_memory/config.py", + "src/basic_memory/importers/memory_json_importer.py", + "tests/mcp/test_tool_read_content.py", + "justfile" + ] + }, + "Jason Noble": { + "email": "github+jasonn@jasonnoble.org", + "commits": 2, + "lines_added": 0, + "files": [ + "README.md" + ] + }, + "Marc Baiza": { + "email": "43151891+mbaiza27@users.noreply.github.com", + "commits": 2, + "lines_added": 0, + "files": [ + "README.md" + ] + }, + "Matias Forbord": { + "email": "codeluggage@users.noreply.github.com", + "commits": 1, + "lines_added": 0, + "files": [ + "README.md" + ] + }, + "github-actions[bot] (AI Assistant)": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "commits": 7, + "lines_added": 0, + "files": [ + "tests/mcp/test_tool_resource.py", + "src/basic_memory/utils.py", + "tests/api/test_knowledge_router.py", + "tests/services/test_search_service.py", + "src/basic_memory/mcp/tools/search.py", + "tests/mcp/test_tool_read_note.py", + "src/basic_memory/repository/search_repository.py", + "tests/api/test_search_router.py", + "tests/sync/test_sync_wikilink_issue.py", + "src/basic_memory/schemas/search.py", + "tests/markdown/test_entity_parser.py", + "src/basic_memory/services/entity_service.py", + "src/basic_memory/services/link_resolver.py", + "src/basic_memory/cli/commands/tool.py", + "src/basic_memory/mcp/prompts/continue_conversation.py", + "src/basic_memory/mcp/tools/read_note.py", + "src/basic_memory/markdown/entity_parser.py", + "src/basic_memory/config.py", + "src/basic_memory/mcp/prompts/search.py", + "tests/utils/test_parse_tags.py", + "src/basic_memory/sync/sync_service.py", + "tests/mcp/test_tool_search.py", + "src/basic_memory/services/context_service.py", + "tests/schemas/test_search.py" + ] + }, + "Amadeusz Wieczorek": { + "email": "git@amadeusw.com", + "commits": 1, + "lines_added": 0, + "files": [ + "tests/mcp/test_tool_read_note.py", + "src/basic_memory/mcp/tools/read_note.py" + ] + }, + "andyxinweiminicloud": { + "email": "andyxinweimin263@icloud.com", + "commits": 1, + "lines_added": 0, + "files": [ + "src/basic_memory/utils.py" + ] + }, + "claude[bot] (AI Assistant)": { + "email": "", + "commits": 22, + "lines_added": 0, + "files": [] + }, + "nellins": { + "email": "", + "commits": 7, + "lines_added": 0, + "files": [] + }, + "smithery-ai[bot] (AI Assistant)": { + "email": "", + "commits": 3, + "lines_added": 0, + "files": [] + }, + "Claude Code Bot (AI Assistant)": { + "email": "", + "commits": 1, + "lines_added": 0, + "files": [] + }, + "Frank Fiegel": { + "email": "", + "commits": 1, + "lines_added": 0, + "files": [] + } + } +} \ No newline at end of file diff --git a/legal_inventory_sample.json b/legal_inventory_sample.json new file mode 100644 index 00000000..af3df4e9 --- /dev/null +++ b/legal_inventory_sample.json @@ -0,0 +1,5479 @@ +{ + "metadata": { + "total_files": 256, + "total_contributors": 12, + "categories": { + "Other": 14, + "Source Code": 222, + "Legal/License": 3, + "Build/Deployment": 2, + "Documentation": 6, + "Configuration": 6, + "Templates/Resources": 2, + "Database/Migration": 1 + }, + "file_extensions": { + ".md": 17, + ".py": 222, + "no_extension": 5, + ".cff": 1, + ".json": 2, + ".toml": 1, + ".yaml": 1, + ".yml": 1, + ".pdf": 1, + ".png": 1, + ".hbs": 2, + ".mako": 1, + ".ini": 1 + }, + "contributor_file_counts": { + "phernandez": 190, + "Paul Hernandez": 181, + "Drew Cain": 24, + "semantic-release": 1, + "bm-claudeai": 135, + "Jason Noble": 1, + "Marc Baiza": 1, + "Matias Forbord": 1, + "Ikko Eltociear Ashimine": 1, + "github-actions[bot]": 20, + "Amadeusz Wieczorek": 2, + "andyxinweiminicloud": 1 + }, + "contributor_line_counts": { + "phernandez": 20127, + "Paul Hernandez": 22100, + "Drew Cain": 841, + "semantic-release": 786, + "bm-claudeai": 8501, + "Jason Noble": 1, + "Marc Baiza": 37, + "Matias Forbord": 1, + "Ikko Eltociear Ashimine": 1, + "github-actions[bot]": 357, + "Amadeusz Wieczorek": 3, + "andyxinweiminicloud": 6 + }, + "scan_date": "2025-07-29T18:02:24.639770", + "repository_path": "/Users/phernandez/dev/basicmachines/basic-memory" + }, + "files": [ + { + "file_path": "CODE_OF_CONDUCT.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/CODE_OF_CONDUCT.md", + "file_name": "CODE_OF_CONDUCT.md", + "file_extension": ".md", + "file_size_bytes": 509, + "category": "Other", + "fs_modified_date": "2025-02-17T16:29:35.735238", + "git_created_date": "2025-02-03 18:05:36 -0600", + "git_last_modified": "2025-02-03 18:05:36 -0600", + "git_commit_count": 1, + "contributors": { + "phernandez": 19 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 19, + "sha256_hash": "b276b464e85eb1e5d9f09d90bba9573508a7bf81d2eeb38d0f25bd9f2fa66198", + "scan_timestamp": "2025-07-29T18:01:28.276727" + }, + { + "file_path": "legal_file_inventory.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/legal_file_inventory.py", + "file_name": "legal_file_inventory.py", + "file_extension": ".py", + "file_size_bytes": 17407, + "category": "Source Code", + "fs_modified_date": "2025-07-29T16:09:40.402189", + "git_created_date": "Unknown", + "git_last_modified": "Unknown", + "git_commit_count": 0, + "contributors": {}, + "primary_author": "Unknown", + "contributor_count": 0, + "total_author_lines": 0, + "sha256_hash": "bb2eab54c3a38f4e89db5d8b5b2048897e6494b881aeb6771706304fbf1f8296", + "scan_timestamp": "2025-07-29T18:01:28.363104" + }, + { + "file_path": "LICENSE", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/LICENSE", + "file_name": "LICENSE", + "file_extension": "", + "file_size_bytes": 34523, + "category": "Legal/License", + "fs_modified_date": "2024-12-02T16:41:20.739392", + "git_created_date": "2024-12-02 16:40:44 -0600", + "git_last_modified": "2024-12-02 16:40:44 -0600", + "git_commit_count": 1, + "contributors": { + "Paul Hernandez": 661 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 661, + "sha256_hash": "8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef", + "scan_timestamp": "2025-07-29T18:01:28.547194" + }, + { + "file_path": "justfile", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/justfile", + "file_name": "justfile", + "file_extension": "", + "file_size_bytes": 5371, + "category": "Build/Deployment", + "fs_modified_date": "2025-07-13T13:02:10.646536", + "git_created_date": "2025-06-05 12:26:15 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 6, + "contributors": { + "phernandez": 181, + "Drew Cain": 1 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 182, + "sha256_hash": "f2f9b253ddf9b4b2970e544b719a6282bf792f9db387f4d96f781b4c839f94bf", + "scan_timestamp": "2025-07-29T18:01:28.789292" + }, + { + "file_path": "CHANGELOG.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/CHANGELOG.md", + "file_name": "CHANGELOG.md", + "file_extension": ".md", + "file_size_bytes": 53647, + "category": "Documentation", + "fs_modified_date": "2025-07-06T10:34:45.550847", + "git_created_date": "2025-02-04 00:20:30 +0000", + "git_last_modified": "2025-07-03 17:23:54 -0500", + "git_commit_count": 57, + "contributors": { + "semantic-release": 786, + "phernandez": 573 + }, + "primary_author": "semantic-release", + "contributor_count": 2, + "total_author_lines": 1359, + "sha256_hash": "0b165eb18975ff253cde08f4687b7808ac6ce63b6d8c10912c495a76c9058d1a", + "scan_timestamp": "2025-07-29T18:01:29.006928" + }, + { + "file_path": "Dockerfile", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/Dockerfile", + "file_name": "Dockerfile", + "file_extension": "", + "file_size_bytes": 856, + "category": "Build/Deployment", + "fs_modified_date": "2025-07-01T08:33:22.056908", + "git_created_date": "2025-03-11 16:21:51 -0500", + "git_last_modified": "2025-06-20 15:42:55 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 27, + "bm-claudeai": 5 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 32, + "sha256_hash": "c45501905423990e31ffdb8ae4e976eca6423c6784905c1036bcc7795b70feef", + "scan_timestamp": "2025-07-29T18:01:29.205886" + }, + { + "file_path": "CITATION.cff", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/CITATION.cff", + "file_name": "CITATION.cff", + "file_extension": ".cff", + "file_size_bytes": 302, + "category": "Legal/License", + "fs_modified_date": "2025-02-17T16:29:35.735146", + "git_created_date": "2025-02-03 18:05:36 -0600", + "git_last_modified": "2025-02-03 18:05:36 -0600", + "git_commit_count": 1, + "contributors": { + "phernandez": 10 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 10, + "sha256_hash": "bc4878cf6f80bb64655f3f93a5821ffe0924ad8311c784b5f81a36093fcffdda", + "scan_timestamp": "2025-07-29T18:01:29.391636" + }, + { + "file_path": "memory.json", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/memory.json", + "file_name": "memory.json", + "file_extension": ".json", + "file_size_bytes": 90075, + "category": "Configuration", + "fs_modified_date": "2025-06-29T14:19:28.827172", + "git_created_date": "2024-12-05 11:13:21 -0600", + "git_last_modified": "2024-12-08 20:00:55 -0600", + "git_commit_count": 7, + "contributors": { + "phernandez": 378 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 378, + "sha256_hash": "22d5eee995ca0548b7d9dd152f9a3690c42a514cbf38fea750b3ed2a17dd99c5", + "scan_timestamp": "2025-07-29T18:01:29.811341" + }, + { + "file_path": "pyproject.toml", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/pyproject.toml", + "file_name": "pyproject.toml", + "file_extension": ".toml", + "file_size_bytes": 3279, + "category": "Configuration", + "fs_modified_date": "2025-07-13T13:02:10.647052", + "git_created_date": "2024-12-02 16:53:38 -0600", + "git_last_modified": "2025-07-11 07:59:07 -0500", + "git_commit_count": 99, + "contributors": { + "phernandez": 76, + "Paul Hernandez": 23, + "bm-claudeai": 26, + "Drew Cain": 1 + }, + "primary_author": "phernandez", + "contributor_count": 4, + "total_author_lines": 126, + "sha256_hash": "5721f830a4fa4c804f82038bcc0edc614a353b9f676abf33fbb73a9a1b70064e", + "scan_timestamp": "2025-07-29T18:01:30.032287" + }, + { + "file_path": "llms-install.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/llms-install.md", + "file_name": "llms-install.md", + "file_extension": ".md", + "file_size_bytes": 2307, + "category": "Other", + "fs_modified_date": "2025-06-29T14:19:28.826375", + "git_created_date": "2025-03-16 14:09:08 -0500", + "git_last_modified": "2025-03-16 14:09:08 -0500", + "git_commit_count": 1, + "contributors": { + "phernandez": 128 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 128, + "sha256_hash": "674105eb85c8f1d59fc2ddc6840f2a2a3e293358687a305c37dffc8144304f97", + "scan_timestamp": "2025-07-29T18:01:30.196809" + }, + { + "file_path": "README.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/README.md", + "file_name": "README.md", + "file_extension": ".md", + "file_size_bytes": 16261, + "category": "Documentation", + "fs_modified_date": "2025-07-03T18:43:10.078281", + "git_created_date": "2024-12-02 16:40:44 -0600", + "git_last_modified": "2025-07-01 09:17:48 -0500", + "git_commit_count": 49, + "contributors": { + "phernandez": 327, + "bm-claudeai": 9, + "Paul Hernandez": 80, + "Jason Noble": 1, + "Drew Cain": 12, + "Marc Baiza": 37, + "Matias Forbord": 1 + }, + "primary_author": "phernandez", + "contributor_count": 7, + "total_author_lines": 467, + "sha256_hash": "2c4b82b30f49ab465617034fda999157450ed168f8e097fe8e9ca7ac65a197a7", + "scan_timestamp": "2025-07-29T18:01:30.383917" + }, + { + "file_path": "smithery.yaml", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/smithery.yaml", + "file_name": "smithery.yaml", + "file_extension": ".yaml", + "file_size_bytes": 433, + "category": "Configuration", + "fs_modified_date": "2025-03-11T16:36:03.389716", + "git_created_date": "2025-03-11 16:21:51 -0500", + "git_last_modified": "2025-03-11 16:21:51 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 15 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 15, + "sha256_hash": "63f13499cf4fee0751b5005f5bd85597dc1c7f9a881f4ec8147cc23e95e75c2d", + "scan_timestamp": "2025-07-29T18:01:30.554520" + }, + { + "file_path": ".dockerignore", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/.dockerignore", + "file_name": ".dockerignore", + "file_extension": "", + "file_size_bytes": 623, + "category": "Other", + "fs_modified_date": "2025-07-01T08:33:22.048301", + "git_created_date": "2025-06-20 15:42:55 -0500", + "git_last_modified": "2025-06-20 15:42:55 -0500", + "git_commit_count": 1, + "contributors": { + "Paul Hernandez": 60 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 60, + "sha256_hash": "b3079bffad89d07186c9166725075524ffc07ceea6dc1d53fdbea6dca9585684", + "scan_timestamp": "2025-07-29T18:01:30.714600" + }, + { + "file_path": "CLA.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/CLA.md", + "file_name": "CLA.md", + "file_extension": ".md", + "file_size_bytes": 1342, + "category": "Legal/License", + "fs_modified_date": "2025-03-01T14:12:38.435132", + "git_created_date": "2025-03-01 14:13:09 -0600", + "git_last_modified": "2025-03-01 14:13:09 -0600", + "git_commit_count": 1, + "contributors": { + "phernandez": 34 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 34, + "sha256_hash": "c238c7ff4f2b8451c6bba1bbacd10b04fb7d41d9a9cd76a62644d8193791d169", + "scan_timestamp": "2025-07-29T18:01:30.894069" + }, + { + "file_path": "CONTRIBUTING.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/CONTRIBUTING.md", + "file_name": "CONTRIBUTING.md", + "file_extension": ".md", + "file_size_bytes": 7241, + "category": "Documentation", + "fs_modified_date": "2025-07-13T13:02:10.646034", + "git_created_date": "2025-02-03 18:05:36 -0600", + "git_last_modified": "2025-06-05 12:26:15 -0500", + "git_commit_count": 5, + "contributors": { + "phernandez": 165, + "Paul Hernandez": 34 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 199, + "sha256_hash": "f0c532c952cc7e8c3231bf74f29e1575abf4428bdbb7452c134e2a2b5637be1e", + "scan_timestamp": "2025-07-29T18:01:31.051210" + }, + { + "file_path": ".python-version", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/.python-version", + "file_name": ".python-version", + "file_extension": "", + "file_size_bytes": 5, + "category": "Other", + "fs_modified_date": "2024-12-02T16:41:37.012830", + "git_created_date": "2024-12-02 16:53:38 -0600", + "git_last_modified": "2024-12-02 16:53:38 -0600", + "git_commit_count": 1, + "contributors": { + "phernandez": 1 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 1, + "sha256_hash": "7b55f8e67b5623c4bef3fa691288da9437d79d3aba156de48d481db32ac7d16d", + "scan_timestamp": "2025-07-29T18:01:31.248360" + }, + { + "file_path": "docker-compose.yml", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/docker-compose.yml", + "file_name": "docker-compose.yml", + "file_extension": ".yml", + "file_size_bytes": 2534, + "category": "Configuration", + "fs_modified_date": "2025-07-01T08:33:22.059281", + "git_created_date": "2025-06-19 19:57:30 -0500", + "git_last_modified": "2025-06-20 15:57:49 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 82, + "phernandez": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 83, + "sha256_hash": "4a9fdfd2f0d42b148fe021eee77fd5e772c7ba9c2fe5d0cc310c8c7a64257417", + "scan_timestamp": "2025-07-29T18:01:31.492763" + }, + { + "file_path": "legal_inventory_sample.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/legal_inventory_sample.md", + "file_name": "legal_inventory_sample.md", + "file_extension": ".md", + "file_size_bytes": 28569, + "category": "Other", + "fs_modified_date": "2025-07-29T16:10:54.746160", + "git_created_date": "Unknown", + "git_last_modified": "Unknown", + "git_commit_count": 0, + "contributors": {}, + "primary_author": "Unknown", + "contributor_count": 0, + "total_author_lines": 0, + "sha256_hash": "21f6385b4462bf86e326abece4bf3148175830fbd5a5bb329fa33cdacde82359", + "scan_timestamp": "2025-07-29T18:01:31.613932" + }, + { + "file_path": "CLAUDE.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/CLAUDE.md", + "file_name": "CLAUDE.md", + "file_extension": ".md", + "file_size_bytes": 12310, + "category": "Other", + "fs_modified_date": "2025-07-03T18:43:10.078147", + "git_created_date": "2025-02-27 20:48:56 -0600", + "git_last_modified": "2025-06-21 08:12:23 -0500", + "git_commit_count": 17, + "contributors": { + "Paul Hernandez": 126, + "phernandez": 91, + "Ikko Eltociear Ashimine": 1, + "bm-claudeai": 25, + "Drew Cain": 14 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 5, + "total_author_lines": 257, + "sha256_hash": "751f10c1a9a9c0ba2054d9c9cd36cf0989d6a347491fd505bb6504ee74b12900", + "scan_timestamp": "2025-07-29T18:01:31.804127" + }, + { + "file_path": "SECURITY.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/SECURITY.md", + "file_name": "SECURITY.md", + "file_extension": ".md", + "file_size_bytes": 303, + "category": "Other", + "fs_modified_date": "2025-03-12T16:04:01.989927", + "git_created_date": "2025-03-12 15:51:23 -0500", + "git_last_modified": "2025-03-12 15:51:23 -0500", + "git_commit_count": 1, + "contributors": { + "Paul Hernandez": 13 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 13, + "sha256_hash": "96932268b8fe737577941b49e9dff5ff8ad59c11cc3f9a016989589ef5c98c1f", + "scan_timestamp": "2025-07-29T18:01:31.953327" + }, + { + "file_path": "tests/test_db_migration_deduplication.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/test_db_migration_deduplication.py", + "file_name": "test_db_migration_deduplication.py", + "file_extension": ".py", + "file_size_bytes": 6166, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.352690", + "git_created_date": "2025-06-18 17:32:20 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 4, + "contributors": { + "Paul Hernandez": 162, + "Drew Cain": 19, + "phernandez": 4 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 185, + "sha256_hash": "ab768e061531ca2edcd598c101b5d884e549f90c7a4b305a23713a199d263fbb", + "scan_timestamp": "2025-07-29T18:01:32.185399" + }, + { + "file_path": "tests/conftest.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/conftest.py", + "file_name": "conftest.py", + "file_extension": ".py", + "file_size_bytes": 15286, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.351368", + "git_created_date": "2024-12-02 22:51:45 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 101, + "contributors": { + "phernandez": 205, + "Paul Hernandez": 193, + "bm-claudeai": 80 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 478, + "sha256_hash": "c6f38f103ce58144ffe4562f0c47dad849974e96327f02805e854447e19bc411", + "scan_timestamp": "2025-07-29T18:01:32.378627" + }, + { + "file_path": "tests/Non-MarkdownFileSupport.pdf", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/Non-MarkdownFileSupport.pdf", + "file_name": "Non-MarkdownFileSupport.pdf", + "file_extension": ".pdf", + "file_size_bytes": 106751, + "category": "Other", + "fs_modified_date": "2025-02-23T17:31:23.206428", + "git_created_date": "2025-02-22 14:50:40 -0600", + "git_last_modified": "2025-02-22 14:50:40 -0600", + "git_commit_count": 2, + "contributors": {}, + "primary_author": "Unknown", + "contributor_count": 0, + "total_author_lines": 0, + "sha256_hash": "4aa96f9d0ee830ef6a1ec92243f302bbe2fa8971b84945f4eb5e276bf1ffde96", + "scan_timestamp": "2025-07-29T18:01:32.624394" + }, + { + "file_path": "tests/Screenshot.png", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/Screenshot.png", + "file_name": "Screenshot.png", + "file_extension": ".png", + "file_size_bytes": 190076, + "category": "Other", + "fs_modified_date": "2025-02-23T17:31:23.207771", + "git_created_date": "2025-02-22 14:50:40 -0600", + "git_last_modified": "2025-02-22 14:50:40 -0600", + "git_commit_count": 2, + "contributors": {}, + "primary_author": "Unknown", + "contributor_count": 0, + "total_author_lines": 0, + "sha256_hash": "dd82612fe013c39810d28ae0f2bbcca6ab2c9925b035d7720bb02493ddf5d0a9", + "scan_timestamp": "2025-07-29T18:01:32.856425" + }, + { + "file_path": "tests/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 141, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.216456", + "git_created_date": "2025-02-18 15:53:38 -0600", + "git_last_modified": "2025-02-19 20:22:01 -0600", + "git_commit_count": 3, + "contributors": { + "phernandez": 2, + "Paul Hernandez": 2 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 4, + "sha256_hash": "2ac5605e69ad8829e96b3689632536539f1cdd3149a29c1903f25af0793a5d65", + "scan_timestamp": "2025-07-29T18:01:33.054551" + }, + { + "file_path": "tests/test_config.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/test_config.py", + "file_name": "test_config.py", + "file_extension": ".py", + "file_size_bytes": 3680, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.087558", + "git_created_date": "2025-03-05 18:46:04 -0600", + "git_last_modified": "2025-06-25 22:32:05 -0500", + "git_commit_count": 5, + "contributors": { + "Drew Cain": 78 + }, + "primary_author": "Drew Cain", + "contributor_count": 1, + "total_author_lines": 78, + "sha256_hash": "6a246431cff739274efda895dfa28f38710289a73e645312f5fa05fce0885ec8", + "scan_timestamp": "2025-07-29T18:01:33.268927" + }, + { + "file_path": "tests/repository/test_search_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/repository/test_search_repository.py", + "file_name": "test_search_repository.py", + "file_extension": ".py", + "file_size_bytes": 25471, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.086041", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-26 14:30:10 -0500", + "git_commit_count": 11, + "contributors": { + "bm-claudeai": 303, + "phernandez": 230, + "Paul Hernandez": 66 + }, + "primary_author": "bm-claudeai", + "contributor_count": 3, + "total_author_lines": 599, + "sha256_hash": "805b5cc55a53ae9d6e86c0de735c7f38ac9fd92c23194b0150fa3e7f5507a146", + "scan_timestamp": "2025-07-29T18:01:33.483882" + }, + { + "file_path": "tests/repository/test_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/repository/test_repository.py", + "file_name": "test_repository.py", + "file_extension": ".py", + "file_size_bytes": 5996, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.152691", + "git_created_date": "2024-12-19 19:10:29 -0600", + "git_last_modified": "2025-02-12 22:39:22 -0600", + "git_commit_count": 8, + "contributors": { + "phernandez": 149, + "Paul Hernandez": 36 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 185, + "sha256_hash": "3a6d4ca0b7a438a30ae504f5eac22874d4e1a937a4246e90efad46c90f0e1c95", + "scan_timestamp": "2025-07-29T18:01:33.684383" + }, + { + "file_path": "tests/repository/test_observation_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/repository/test_observation_repository.py", + "file_name": "test_observation_repository.py", + "file_extension": ".py", + "file_size_bytes": 11786, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.158862", + "git_created_date": "2024-12-15 10:50:25 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 16, + "contributors": { + "phernandez": 337, + "bm-claudeai": 21 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 358, + "sha256_hash": "3006d392ad94dcc9b3ae031d63a1af6935624534389dd025de70d4c9e112aa0b", + "scan_timestamp": "2025-07-29T18:01:33.924235" + }, + { + "file_path": "tests/repository/test_project_info_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/repository/test_project_info_repository.py", + "file_name": "test_project_info_repository.py", + "file_extension": ".py", + "file_size_bytes": 1186, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.161876", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 36 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 36, + "sha256_hash": "dbce7ae7350403cbc37343c2e3e68e4d2255e247006aaa6c495a7ce8bfddea7d", + "scan_timestamp": "2025-07-29T18:01:34.120833" + }, + { + "file_path": "tests/repository/test_project_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/repository/test_project_repository.py", + "file_name": "test_project_repository.py", + "file_extension": ".py", + "file_size_bytes": 9455, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.164463", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 269 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 269, + "sha256_hash": "db5f6446fabc246bdb296b9880f509f7dae470468b6f62dbecbe1c56f890a7c6", + "scan_timestamp": "2025-07-29T18:01:34.328329" + }, + { + "file_path": "tests/repository/test_relation_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/repository/test_relation_repository.py", + "file_name": "test_relation_repository.py", + "file_extension": ".py", + "file_size_bytes": 11980, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.167567", + "git_created_date": "2024-12-15 11:31:51 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 16, + "contributors": { + "phernandez": 346, + "bm-claudeai": 5 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 351, + "sha256_hash": "fcdbdf40f7b56145b98eedde5ead64ef6187e859adde48cc09f5a97754757428", + "scan_timestamp": "2025-07-29T18:01:34.499024" + }, + { + "file_path": "tests/repository/test_entity_repository_upsert.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/repository/test_entity_repository_upsert.py", + "file_name": "test_entity_repository_upsert.py", + "file_extension": ".py", + "file_size_bytes": 16983, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.085482", + "git_created_date": "2025-06-18 15:03:11 -0500", + "git_last_modified": "2025-06-25 22:32:05 -0500", + "git_commit_count": 4, + "contributors": { + "Drew Cain": 421, + "phernandez": 30 + }, + "primary_author": "Drew Cain", + "contributor_count": 2, + "total_author_lines": 451, + "sha256_hash": "ee0ecd6f4ff8b31838bd6de6fb1018af437e02813d8315c06f4e20a6b78a0572", + "scan_timestamp": "2025-07-29T18:01:34.720417" + }, + { + "file_path": "tests/repository/test_entity_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/repository/test_entity_repository.py", + "file_name": "test_entity_repository.py", + "file_extension": ".py", + "file_size_bytes": 15498, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.176265", + "git_created_date": "2024-12-15 11:31:51 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 27, + "contributors": { + "phernandez": 402, + "bm-claudeai": 15, + "Paul Hernandez": 17 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 434, + "sha256_hash": "8f5d1ff6cff7b640993ff73f463b1e7801a4dd69640fc55fa23dc58b865e9943", + "scan_timestamp": "2025-07-29T18:01:34.914192" + }, + { + "file_path": "tests/importers/test_importer_utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/importers/test_importer_utils.py", + "file_name": "test_importer_utils.py", + "file_extension": ".py", + "file_size_bytes": 1827, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.184343", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 57 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 57, + "sha256_hash": "cbee630c855ceb1de764ac0cdb1d5d781c16cd3a934d67166adc235c98f363d7", + "scan_timestamp": "2025-07-29T18:01:35.099847" + }, + { + "file_path": "tests/importers/test_importer_base.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/importers/test_importer_base.py", + "file_name": "test_importer_base.py", + "file_extension": ".py", + "file_size_bytes": 4329, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:00.549594", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 130 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 130, + "sha256_hash": "da872a073f2b90fda3c98c9f44cf45884f4f682d91ec1b1f931d42c34eee1939", + "scan_timestamp": "2025-07-29T18:01:35.329597" + }, + { + "file_path": "tests/markdown/test_task_detection.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/markdown/test_task_detection.py", + "file_name": "test_task_detection.py", + "file_extension": ".py", + "file_size_bytes": 401, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.191444", + "git_created_date": "2025-02-12 08:23:10 -0600", + "git_last_modified": "2025-02-12 08:23:10 -0600", + "git_commit_count": 1, + "contributors": { + "Paul Hernandez": 17 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 17, + "sha256_hash": "37fe91a689742033a0eb76723557e31c2a85e591133383b3887572cb714db2a5", + "scan_timestamp": "2025-07-29T18:01:35.517016" + }, + { + "file_path": "tests/markdown/test_markdown_processor.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/markdown/test_markdown_processor.py", + "file_name": "test_markdown_processor.py", + "file_extension": ".py", + "file_size_bytes": 5728, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.194175", + "git_created_date": "2025-01-24 17:43:38 -0600", + "git_last_modified": "2025-04-08 10:55:01 -0500", + "git_commit_count": 7, + "contributors": { + "phernandez": 181, + "Paul Hernandez": 5 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 186, + "sha256_hash": "35042aa57dd2aeed848c624aa7f69decfb18e83c3b217eca1fdacfc4a10831db", + "scan_timestamp": "2025-07-29T18:01:35.707547" + }, + { + "file_path": "tests/markdown/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/markdown/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 0, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.196570", + "git_created_date": "2024-12-21 10:18:14 -0600", + "git_last_modified": "2024-12-21 10:18:14 -0600", + "git_commit_count": 17, + "contributors": {}, + "primary_author": "Unknown", + "contributor_count": 0, + "total_author_lines": 0, + "sha256_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "scan_timestamp": "2025-07-29T18:01:35.944202" + }, + { + "file_path": "tests/markdown/test_markdown_plugins.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/markdown/test_markdown_plugins.py", + "file_name": "test_markdown_plugins.py", + "file_extension": ".py", + "file_size_bytes": 5139, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.200759", + "git_created_date": "2025-01-09 20:49:49 -0600", + "git_last_modified": "2025-02-12 22:39:22 -0600", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 143, + "phernandez": 22 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 165, + "sha256_hash": "9624d73462aadcd47fb0edd0d87880959a8982eecfa39529f21e3b292c34cb83", + "scan_timestamp": "2025-07-29T18:01:36.143632" + }, + { + "file_path": "tests/markdown/test_relation_edge_cases.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/markdown/test_relation_edge_cases.py", + "file_name": "test_relation_edge_cases.py", + "file_extension": ".py", + "file_size_bytes": 3952, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.203846", + "git_created_date": "2024-12-21 17:55:37 -0600", + "git_last_modified": "2025-01-09 23:12:29 -0600", + "git_commit_count": 7, + "contributors": { + "phernandez": 124 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 124, + "sha256_hash": "f8e2016308f84139342cc37ec6e389ffe52d7eb46f998ee327c7f0d5bba3ad9b", + "scan_timestamp": "2025-07-29T18:01:36.344506" + }, + { + "file_path": "tests/markdown/test_entity_parser.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/markdown/test_entity_parser.py", + "file_name": "test_entity_parser.py", + "file_extension": ".py", + "file_size_bytes": 8669, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.206579", + "git_created_date": "2025-01-09 20:49:49 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 17, + "contributors": { + "phernandez": 165, + "Paul Hernandez": 78, + "github-actions[bot]": 26 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 269, + "sha256_hash": "496fdab6fe164634f8223f827585a4c0dedd30ccea7b0b69dc79004ad0996de2", + "scan_timestamp": "2025-07-29T18:01:36.520826" + }, + { + "file_path": "tests/markdown/test_observation_edge_cases.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/markdown/test_observation_edge_cases.py", + "file_name": "test_observation_edge_cases.py", + "file_extension": ".py", + "file_size_bytes": 4295, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.209598", + "git_created_date": "2024-12-21 17:24:47 -0600", + "git_last_modified": "2025-02-12 08:23:10 -0600", + "git_commit_count": 12, + "contributors": { + "phernandez": 122 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 122, + "sha256_hash": "6f1ab7684bfa8b02af0e0c42b3d7aed91fcd0b1c6288cbc9b6d6943c166979fa", + "scan_timestamp": "2025-07-29T18:01:36.715167" + }, + { + "file_path": "tests/markdown/test_parser_edge_cases.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/markdown/test_parser_edge_cases.py", + "file_name": "test_parser_edge_cases.py", + "file_extension": ".py", + "file_size_bytes": 5142, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.213291", + "git_created_date": "2024-12-21 14:59:30 -0600", + "git_last_modified": "2025-02-04 10:59:28 -0600", + "git_commit_count": 14, + "contributors": { + "phernandez": 184 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 184, + "sha256_hash": "d511d7d1187e3c1d3a8d3e0ab9efc9e68e84115c46811e7a9dc21eca9a87d520", + "scan_timestamp": "2025-07-29T18:01:36.906897" + }, + { + "file_path": "tests/utils/test_file_utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/utils/test_file_utils.py", + "file_name": "test_file_utils.py", + "file_extension": ".py", + "file_size_bytes": 6199, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.219673", + "git_created_date": "2024-12-22 14:07:45 -0600", + "git_last_modified": "2025-04-08 10:55:01 -0500", + "git_commit_count": 7, + "contributors": { + "phernandez": 212, + "Paul Hernandez": 31 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 243, + "sha256_hash": "4615bb20b92b8a79d9e086301f852b34c3360f17ecc209920d68528268ddeed4", + "scan_timestamp": "2025-07-29T18:01:37.095099" + }, + { + "file_path": "tests/utils/test_parse_tags.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/utils/test_parse_tags.py", + "file_name": "test_parse_tags.py", + "file_extension": ".py", + "file_size_bytes": 1691, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.223400", + "git_created_date": "2025-04-05 23:07:53 -0500", + "git_last_modified": "2025-04-06 14:54:59 -0500", + "git_commit_count": 2, + "contributors": { + "github-actions[bot]": 47, + "Paul Hernandez": 3 + }, + "primary_author": "github-actions[bot]", + "contributor_count": 2, + "total_author_lines": 50, + "sha256_hash": "b83afdf18dac8b3411bd0fab1301683217d3d1abceaf2d22c09e79c709efd8eb", + "scan_timestamp": "2025-07-29T18:01:37.266550" + }, + { + "file_path": "tests/utils/test_permalink_formatting.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/utils/test_permalink_formatting.py", + "file_name": "test_permalink_formatting.py", + "file_extension": ".py", + "file_size_bytes": 4193, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.225738", + "git_created_date": "2025-01-18 21:17:34 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 8, + "contributors": { + "phernandez": 106, + "Paul Hernandez": 14 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 120, + "sha256_hash": "d998a4ca846c78679728a918b6f71df67c30b6961ede3cffa609f2cf6ad160eb", + "scan_timestamp": "2025-07-29T18:01:37.459593" + }, + { + "file_path": "tests/utils/test_utf8_handling.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/utils/test_utf8_handling.py", + "file_name": "test_utf8_handling.py", + "file_extension": ".py", + "file_size_bytes": 5791, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.228483", + "git_created_date": "2025-03-15 16:52:17 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 3, + "contributors": { + "phernandez": 190, + "Paul Hernandez": 5 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 195, + "sha256_hash": "50ec792e572af51cd2d996d4ddacbcfd3bbd79aa928818a90c42117451ea829f", + "scan_timestamp": "2025-07-29T18:01:37.674320" + }, + { + "file_path": "tests/mcp/test_tool_canvas.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_canvas.py", + "file_name": "test_tool_canvas.py", + "file_extension": ".py", + "file_size_bytes": 7997, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.094982", + "git_created_date": "2025-02-25 21:21:05 -0600", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 267, + "phernandez": 6 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 273, + "sha256_hash": "c517bb1f9edc77b76fbeb483dfcb2dd57de9f0b80a10738708bc90cbe388dc9e", + "scan_timestamp": "2025-07-29T18:01:37.952566" + }, + { + "file_path": "tests/mcp/test_resources.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_resources.py", + "file_name": "test_resources.py", + "file_extension": ".py", + "file_size_bytes": 549, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.094481", + "git_created_date": "2025-02-27 20:48:56 -0600", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 18, + "phernandez": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 19, + "sha256_hash": "77a6396b9b8a9d3b3d202e438243ca6178d87fd7680c9fc063ee013f2042aa4c", + "scan_timestamp": "2025-07-29T18:01:38.136428" + }, + { + "file_path": "tests/mcp/test_tool_recent_activity.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_recent_activity.py", + "file_name": "test_tool_recent_activity.py", + "file_extension": ".py", + "file_size_bytes": 3983, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.098561", + "git_created_date": "2025-04-17 10:48:35 -0500", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 3, + "contributors": { + "phernandez": 99, + "bm-claudeai": 19 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 118, + "sha256_hash": "45414152cd45334b84df56f653146b7bd2939907548e7245a37207fdccfc4c87", + "scan_timestamp": "2025-07-29T18:01:38.332792" + }, + { + "file_path": "tests/mcp/conftest.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/conftest.py", + "file_name": "conftest.py", + "file_extension": ".py", + "file_size_bytes": 1761, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.351554", + "git_created_date": "2024-12-16 19:35:18 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 14, + "contributors": { + "phernandez": 47, + "Paul Hernandez": 7, + "bm-claudeai": 1 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 55, + "sha256_hash": "350b2ca42c52ef76e002deddb65fc0eccb9f8989bd26078ea1c100e3b93bae3f", + "scan_timestamp": "2025-07-29T18:01:38.499187" + }, + { + "file_path": "tests/mcp/test_tool_list_directory.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_list_directory.py", + "file_name": "test_tool_list_directory.py", + "file_extension": ".py", + "file_size_bytes": 7730, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.096737", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 2, + "contributors": { + "Paul Hernandez": 195, + "phernandez": 17 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 212, + "sha256_hash": "cfbb5c06bcfe74ea60f31051eb9b03ac80b86232b053c188bf3b172132f7c0f5", + "scan_timestamp": "2025-07-29T18:01:38.710564" + }, + { + "file_path": "tests/mcp/test_tool_resource.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_resource.py", + "file_name": "test_tool_resource.py", + "file_extension": ".py", + "file_size_bytes": 6782, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.098948", + "git_created_date": "2025-02-24 22:13:15 -0600", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 189, + "phernandez": 10, + "github-actions[bot]": 25 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 224, + "sha256_hash": "3916ae1c4d458eee53d2c570b9bbb708ecd617de5a145c3a7552389954bc9195", + "scan_timestamp": "2025-07-29T18:01:38.902565" + }, + { + "file_path": "tests/mcp/test_tool_utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_utils.py", + "file_name": "test_tool_utils.py", + "file_extension": ".py", + "file_size_bytes": 9228, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.100561", + "git_created_date": "2025-02-12 08:23:10 -0600", + "git_last_modified": "2025-06-05 13:07:20 -0500", + "git_commit_count": 6, + "contributors": { + "Paul Hernandez": 164, + "phernandez": 90, + "bm-claudeai": 11 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 265, + "sha256_hash": "b50789f7a78b0169f52dc8bd16e262510ed4a0ac130fce698d4be84af1fe2d31", + "scan_timestamp": "2025-07-29T18:01:39.103583" + }, + { + "file_path": "tests/mcp/test_tool_delete_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_delete_note.py", + "file_name": "test_tool_delete_note.py", + "file_extension": ".py", + "file_size_bytes": 4208, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.095578", + "git_created_date": "2025-06-05 13:07:20 -0500", + "git_last_modified": "2025-06-05 13:07:20 -0500", + "git_commit_count": 1, + "contributors": { + "phernandez": 94 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 94, + "sha256_hash": "4cbf3ba4313438651b0608d5b25faf1400f7bd6a78af630351aecd4457800895", + "scan_timestamp": "2025-07-29T18:01:39.311961" + }, + { + "file_path": "tests/mcp/test_tool_search.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_search.py", + "file_name": "test_tool_search.py", + "file_extension": ".py", + "file_size_bytes": 10959, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.085177", + "git_created_date": "2025-02-12 08:23:10 -0600", + "git_last_modified": "2025-07-01 22:05:10 -0500", + "git_commit_count": 11, + "contributors": { + "Paul Hernandez": 108, + "phernandez": 121, + "github-actions[bot]": 59, + "Drew Cain": 1 + }, + "primary_author": "phernandez", + "contributor_count": 4, + "total_author_lines": 289, + "sha256_hash": "07839cf8e89d74ba05ec1dc55fa842444c1f0cc3d1587823b0ac3458ad89e87c", + "scan_timestamp": "2025-07-29T18:01:39.480355" + }, + { + "file_path": "tests/mcp/test_prompts.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_prompts.py", + "file_name": "test_prompts.py", + "file_extension": ".py", + "file_size_bytes": 5989, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.093691", + "git_created_date": "2025-02-27 20:48:56 -0600", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 4, + "contributors": { + "Paul Hernandez": 153, + "bm-claudeai": 5, + "phernandez": 9 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 167, + "sha256_hash": "e3b2ee5b4bc120b5043225ebdbf73eadd71be9c3d9d8e1fdd66a24a8ff11a780", + "scan_timestamp": "2025-07-29T18:01:39.666836" + }, + { + "file_path": "tests/mcp/test_tool_view_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_view_note.py", + "file_name": "test_tool_view_note.py", + "file_extension": ".py", + "file_size_bytes": 10004, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.101164", + "git_created_date": "2025-06-05 16:30:09 -0500", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 2, + "contributors": { + "phernandez": 306 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 306, + "sha256_hash": "385535ce791c3ab55db827cbcf27ea25ae85faf3a027f52df4eea052cede7f36", + "scan_timestamp": "2025-07-29T18:01:39.886139" + }, + { + "file_path": "tests/mcp/test_tool_sync_status.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_sync_status.py", + "file_name": "test_tool_sync_status.py", + "file_extension": ".py", + "file_size_bytes": 6331, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.100021", + "git_created_date": "2025-06-04 22:24:10 -0500", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 2, + "contributors": { + "phernandez": 170 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 170, + "sha256_hash": "3f3566df5b9f3c66bb9b3bd77d4c05825480d0e85015305cb1b7ab9429c7a7ec", + "scan_timestamp": "2025-07-29T18:01:40.128516" + }, + { + "file_path": "tests/mcp/test_resource_project_info.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_resource_project_info.py", + "file_name": "test_resource_project_info.py", + "file_extension": ".py", + "file_size_bytes": 4885, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.094085", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 4, + "contributors": { + "Paul Hernandez": 125, + "bm-claudeai": 17, + "phernandez": 2 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 144, + "sha256_hash": "6a043736789b239c8d4ae00d1a5332a0fc3bed4038fe3388970ba97dc7431a93", + "scan_timestamp": "2025-07-29T18:01:40.355374" + }, + { + "file_path": "tests/mcp/test_tool_edit_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_edit_note.py", + "file_name": "test_tool_edit_note.py", + "file_extension": ".py", + "file_size_bytes": 13503, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.084890", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-01 22:05:10 -0500", + "git_commit_count": 4, + "contributors": { + "Paul Hernandez": 362, + "phernandez": 33, + "Drew Cain": 5 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 400, + "sha256_hash": "dd441969aa54b3739f2d9202d3feaf46aee807ec51e01a13ef41eda52743944f", + "scan_timestamp": "2025-07-29T18:01:40.536871" + }, + { + "file_path": "tests/mcp/test_tool_move_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_move_note.py", + "file_name": "test_tool_move_note.py", + "file_extension": ".py", + "file_size_bytes": 16346, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.097624", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 326, + "phernandez": 171 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 497, + "sha256_hash": "3f7a0205aa7d85d5b5f2747f05e13e989cb5d407f700f3ccab9ac9f1c20a83cd", + "scan_timestamp": "2025-07-29T18:01:40.736739" + }, + { + "file_path": "tests/mcp/test_tool_write_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_write_note.py", + "file_name": "test_tool_write_note.py", + "file_extension": ".py", + "file_size_bytes": 19537, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.101670", + "git_created_date": "2025-04-06 14:54:59 -0500", + "git_last_modified": "2025-06-19 19:59:17 -0500", + "git_commit_count": 29, + "contributors": { + "phernandez": 214, + "Paul Hernandez": 383, + "Drew Cain": 57 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 654, + "sha256_hash": "29843d00f7cc5f643855b5585ad016dd39bb3d795dd08cf02ab3e5743cb129b7", + "scan_timestamp": "2025-07-29T18:01:40.969871" + }, + { + "file_path": "tests/mcp/test_tool_read_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/mcp/test_tool_read_note.py", + "file_name": "test_tool_read_note.py", + "file_extension": ".py", + "file_size_bytes": 9741, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.098205", + "git_created_date": "2025-03-05 18:46:04 -0600", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 6, + "contributors": { + "Paul Hernandez": 272, + "phernandez": 17, + "github-actions[bot]": 6, + "Amadeusz Wieczorek": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 4, + "total_author_lines": 296, + "sha256_hash": "fcc6735afa9a129d63c20fc7b80a64234a6ca7f7cabe7582357ebd0b3dd89cd0", + "scan_timestamp": "2025-07-29T18:01:41.173187" + }, + { + "file_path": "tests/cli/test_version.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_version.py", + "file_name": "test_version.py", + "file_extension": ".py", + "file_size_bytes": 289, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.305368", + "git_created_date": "2025-03-05 18:46:04 -0600", + "git_last_modified": "2025-03-05 18:46:04 -0600", + "git_commit_count": 1, + "contributors": { + "Paul Hernandez": 14 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 14, + "sha256_hash": "db95665178a32d391bd83011d073db269cefba9da8a4dc4d3e392d47bc0e0a8f", + "scan_timestamp": "2025-07-29T18:01:41.366704" + }, + { + "file_path": "tests/cli/conftest.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/conftest.py", + "file_name": "conftest.py", + "file_extension": ".py", + "file_size_bytes": 1185, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.090848", + "git_created_date": "2025-03-05 23:44:28 -0600", + "git_last_modified": "2025-06-05 11:13:40 -0500", + "git_commit_count": 6, + "contributors": { + "Paul Hernandez": 29, + "phernandez": 3 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 32, + "sha256_hash": "c3c73da7ad73224931e1fba4ebd70792221be607bfb1488bb5c9420bba03bdb8", + "scan_timestamp": "2025-07-29T18:01:41.536793" + }, + { + "file_path": "tests/cli/test_project_commands.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_project_commands.py", + "file_name": "test_project_commands.py", + "file_extension": ".py", + "file_size_bytes": 5143, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.091352", + "git_created_date": "2025-03-05 18:46:04 -0600", + "git_last_modified": "2025-06-11 16:09:53 -0500", + "git_commit_count": 7, + "contributors": { + "bm-claudeai": 110, + "Paul Hernandez": 27, + "phernandez": 6 + }, + "primary_author": "bm-claudeai", + "contributor_count": 3, + "total_author_lines": 143, + "sha256_hash": "74a27c3a70e4aa564d2fe0ff4f96c5cfe238738163e61e04afeecaa4d7586466", + "scan_timestamp": "2025-07-29T18:01:41.755548" + }, + { + "file_path": "tests/cli/test_sync.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_sync.py", + "file_name": "test_sync.py", + "file_extension": ".py", + "file_size_bytes": 3864, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:43:47.816788", + "git_created_date": "2025-02-12 08:23:10 -0600", + "git_last_modified": "2025-07-07 20:58:48 -0500", + "git_commit_count": 11, + "contributors": { + "Paul Hernandez": 89, + "phernandez": 33, + "bm-claudeai": 2 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 124, + "sha256_hash": "77e0f6b42b584a5acfda3c2ff194ff5e71ca57a40cb4484d563f5482bbbb4c0f", + "scan_timestamp": "2025-07-29T18:01:41.945252" + }, + { + "file_path": "tests/cli/test_cli_tools.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_cli_tools.py", + "file_name": "test_cli_tools.py", + "file_extension": ".py", + "file_size_bytes": 13528, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.318964", + "git_created_date": "2025-02-18 23:48:22 -0600", + "git_last_modified": "2025-06-03 09:08:17 -0500", + "git_commit_count": 10, + "contributors": { + "Paul Hernandez": 299, + "phernandez": 125, + "bm-claudeai": 18 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 442, + "sha256_hash": "befb8cab50132e26a1b13b82ce8e93a3258282cf157a4230214bfcefeae65102", + "scan_timestamp": "2025-07-29T18:01:42.155263" + }, + { + "file_path": "tests/cli/test_status.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_status.py", + "file_name": "test_status.py", + "file_extension": ".py", + "file_size_bytes": 4160, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.091978", + "git_created_date": "2024-12-27 10:25:39 -0600", + "git_last_modified": "2025-06-05 11:13:40 -0500", + "git_commit_count": 20, + "contributors": { + "Paul Hernandez": 108, + "phernandez": 27, + "bm-claudeai": 5 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 140, + "sha256_hash": "a1ff89fdac4bf57ba03be92ac79b8ca3210af0b1132d5a2bd0fc0c253fcbf988", + "scan_timestamp": "2025-07-29T18:01:42.365871" + }, + { + "file_path": "tests/cli/test_import_chatgpt.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_import_chatgpt.py", + "file_name": "test_import_chatgpt.py", + "file_extension": ".py", + "file_size_bytes": 6719, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.350234", + "git_created_date": "2025-02-16 13:47:16 -0600", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 8, + "contributors": { + "Paul Hernandez": 192, + "bm-claudeai": 2, + "phernandez": 5 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 199, + "sha256_hash": "df447335545248e2fb2417af33f8cc2f0143bd413a1783e41f89605de305b7c8", + "scan_timestamp": "2025-07-29T18:01:42.538262" + }, + { + "file_path": "tests/cli/test_import_claude_conversations.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_import_claude_conversations.py", + "file_name": "test_import_claude_conversations.py", + "file_extension": ".py", + "file_size_bytes": 5028, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.350607", + "git_created_date": "2025-02-16 12:47:41 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 145, + "bm-claudeai": 3, + "phernandez": 3 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 151, + "sha256_hash": "ac4b3b9dfc331fa7fa32a2941c027ff8b6585a94a5ccfaaf0a4affe5cf19c00c", + "scan_timestamp": "2025-07-29T18:01:42.742962" + }, + { + "file_path": "tests/cli/test_project_info.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_project_info.py", + "file_name": "test_project_info.py", + "file_extension": ".py", + "file_size_bytes": 3874, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.091600", + "git_created_date": "2025-03-05 23:44:28 -0600", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 7, + "contributors": { + "Paul Hernandez": 22, + "phernandez": 94 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 116, + "sha256_hash": "0b08950e95a5f276f14c56f6fe99af4d41b8f04548e9b7746f807c5ac4155578", + "scan_timestamp": "2025-07-29T18:01:42.936597" + }, + { + "file_path": "tests/cli/test_import_claude_projects.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_import_claude_projects.py", + "file_name": "test_import_claude_projects.py", + "file_extension": ".py", + "file_size_bytes": 4585, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.350885", + "git_created_date": "2025-02-16 12:47:41 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 136, + "bm-claudeai": 2, + "phernandez": 4 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 142, + "sha256_hash": "7eaab3d491d50ca59c8ba015ecd5740a5feae94d970ee17559c6df9d8558c2cc", + "scan_timestamp": "2025-07-29T18:01:43.121334" + }, + { + "file_path": "tests/cli/test_import_memory_json.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/cli/test_import_memory_json.py", + "file_name": "test_import_memory_json.py", + "file_extension": ".py", + "file_size_bytes": 3532, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.340583", + "git_created_date": "2025-02-04 10:59:28 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 6, + "contributors": { + "Paul Hernandez": 91, + "phernandez": 22, + "bm-claudeai": 2 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 115, + "sha256_hash": "50260dbfc648be4e0dc7ee6b550d140a3ac083fc9a0bcae15ea48781820d8c6d", + "scan_timestamp": "2025-07-29T18:01:43.295865" + }, + { + "file_path": "tests/schemas/test_search.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/schemas/test_search.py", + "file_name": "test_search.py", + "file_extension": ".py", + "file_size_bytes": 3264, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.343685", + "git_created_date": "2025-01-15 17:44:38 -0600", + "git_last_modified": "2025-04-05 19:12:23 -0500", + "git_commit_count": 8, + "contributors": { + "phernandez": 84, + "Paul Hernandez": 31, + "github-actions[bot]": 4 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 119, + "sha256_hash": "7437775d1b4a61a438cbabe3dbb1becd2adc4dbcc0c24595830c0843fa7a3166", + "scan_timestamp": "2025-07-29T18:01:43.480520" + }, + { + "file_path": "tests/schemas/test_memory_url.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/schemas/test_memory_url.py", + "file_name": "test_memory_url.py", + "file_extension": ".py", + "file_size_bytes": 2000, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.346515", + "git_created_date": "2025-01-14 20:09:32 -0600", + "git_last_modified": "2025-02-24 22:13:15 -0600", + "git_commit_count": 10, + "contributors": { + "phernandez": 43, + "Paul Hernandez": 20 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 63, + "sha256_hash": "946fa6c48534f41c8b9cc27bbad164d3e3673a79afa84fbb439fae4cd26c504b", + "scan_timestamp": "2025-07-29T18:01:43.687655" + }, + { + "file_path": "tests/schemas/test_memory_url_validation.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/schemas/test_memory_url_validation.py", + "file_name": "test_memory_url_validation.py", + "file_extension": ".py", + "file_size_bytes": 9338, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.103247", + "git_created_date": "2025-06-04 00:16:33 -0500", + "git_last_modified": "2025-06-04 00:16:33 -0500", + "git_commit_count": 1, + "contributors": { + "phernandez": 272 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 272, + "sha256_hash": "7054c3a3cdb8e05d2ffd254ed298908ff3d48a0a3927d960975eae1ab9beeb38", + "scan_timestamp": "2025-07-29T18:01:43.910209" + }, + { + "file_path": "tests/schemas/test_schemas.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/schemas/test_schemas.py", + "file_name": "test_schemas.py", + "file_extension": ".py", + "file_size_bytes": 16880, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.086337", + "git_created_date": "2024-12-15 16:17:25 -0600", + "git_last_modified": "2025-07-01 22:05:10 -0500", + "git_commit_count": 41, + "contributors": { + "phernandez": 346, + "Paul Hernandez": 98, + "bm-claudeai": 10, + "Drew Cain": 3 + }, + "primary_author": "phernandez", + "contributor_count": 4, + "total_author_lines": 457, + "sha256_hash": "2c746a00c340f063c160ace67569955a300a294040949695c79fd4ae124fb611", + "scan_timestamp": "2025-07-29T18:01:44.108047" + }, + { + "file_path": "tests/api/test_directory_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_directory_router.py", + "file_name": "test_directory_router.py", + "file_extension": ".py", + "file_size_bytes": 9376, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.356659", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 127, + "Paul Hernandez": 152 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 279, + "sha256_hash": "428626589f0010512481ba495368b0bf2b9617b22764e588eaa3562e86da4d37", + "scan_timestamp": "2025-07-29T18:01:44.296614" + }, + { + "file_path": "tests/api/conftest.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/conftest.py", + "file_name": "conftest.py", + "file_extension": ".py", + "file_size_bytes": 1404, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.359728", + "git_created_date": "2024-12-21 20:18:47 -0600", + "git_last_modified": "2025-06-03 09:08:17 -0500", + "git_commit_count": 5, + "contributors": { + "phernandez": 24, + "bm-claudeai": 12, + "Paul Hernandez": 4 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 40, + "sha256_hash": "ea46cde47a37c1f43fe079e48f5d0de8007155a0187f4445abc4f2ffde9c1791", + "scan_timestamp": "2025-07-29T18:01:44.475991" + }, + { + "file_path": "tests/api/test_knowledge_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_knowledge_router.py", + "file_name": "test_knowledge_router.py", + "file_extension": ".py", + "file_size_bytes": 45771, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.090490", + "git_created_date": "2024-12-15 16:01:15 -0600", + "git_last_modified": "2025-06-03 23:12:59 -0500", + "git_commit_count": 53, + "contributors": { + "phernandez": 483, + "bm-claudeai": 116, + "Paul Hernandez": 723 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 1322, + "sha256_hash": "43a5f91ae1fb9038e65c09701336fbdc4dbf40c8319c94727e6312fda9d6d56e", + "scan_timestamp": "2025-07-29T18:01:44.683574" + }, + { + "file_path": "tests/api/test_importer_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_importer_router.py", + "file_name": "test_importer_router.py", + "file_extension": ".py", + "file_size_bytes": 16578, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.368070", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 464, + "Paul Hernandez": 1 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 465, + "sha256_hash": "03edf6e7404c7350afe76e54ea2bf0d66f668bcdb49f59702067a67b3694309d", + "scan_timestamp": "2025-07-29T18:01:44.881694" + }, + { + "file_path": "tests/api/test_template_loader_helpers.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_template_loader_helpers.py", + "file_name": "test_template_loader_helpers.py", + "file_extension": ".py", + "file_size_bytes": 7445, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.372114", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 203 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 203, + "sha256_hash": "8dd35f11c9b3f2d96ac36263edf4430308728c04c9da543b1cb845b96ab20aa7", + "scan_timestamp": "2025-07-29T18:01:45.077188" + }, + { + "file_path": "tests/api/test_search_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_search_router.py", + "file_name": "test_search_router.py", + "file_extension": ".py", + "file_size_bytes": 6409, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.375427", + "git_created_date": "2025-01-04 17:16:47 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 23, + "contributors": { + "phernandez": 140, + "bm-claudeai": 25, + "Paul Hernandez": 4, + "github-actions[bot]": 2 + }, + "primary_author": "phernandez", + "contributor_count": 4, + "total_author_lines": 171, + "sha256_hash": "ba3e3809795e72db9dd9c8c729048bdbbbdb897c2a5aa8b175112b5d4b56d152", + "scan_timestamp": "2025-07-29T18:01:45.265970" + }, + { + "file_path": "tests/api/test_search_template.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_search_template.py", + "file_name": "test_search_template.py", + "file_extension": ".py", + "file_size_bytes": 5258, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.378721", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 158 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 158, + "sha256_hash": "8f0d16a1de947d0466d96afed02e695f7648adac70b9ba99753250068207a686", + "scan_timestamp": "2025-07-29T18:01:45.490321" + }, + { + "file_path": "tests/api/test_project_router_operations.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_project_router_operations.py", + "file_name": "test_project_router_operations.py", + "file_extension": ".py", + "file_size_bytes": 1812, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.381705", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 54, + "Paul Hernandez": 1 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 55, + "sha256_hash": "afd40879de3d7c508cca0feeae3cb7a8f3afcfbb06f59a6104189b1e3291376a", + "scan_timestamp": "2025-07-29T18:01:45.717763" + }, + { + "file_path": "tests/api/test_resource_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_resource_router.py", + "file_name": "test_resource_router.py", + "file_extension": ".py", + "file_size_bytes": 13960, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.384919", + "git_created_date": "2025-01-19 20:07:20 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 11, + "contributors": { + "phernandez": 148, + "Paul Hernandez": 262, + "bm-claudeai": 31 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 441, + "sha256_hash": "ad3cb2cabaeab82a7e64253ceede7c1791e2bd70c92f60bc5f3be939292ca22d", + "scan_timestamp": "2025-07-29T18:01:45.907499" + }, + { + "file_path": "tests/api/test_project_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_project_router.py", + "file_name": "test_project_router.py", + "file_extension": ".py", + "file_size_bytes": 5201, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.349895", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 7, + "contributors": { + "bm-claudeai": 32, + "Paul Hernandez": 120, + "phernandez": 9 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 161, + "sha256_hash": "47275a6e534e1db9ce2e48ceb6b22b4fb0f0110c464dae20d345aeab57470766", + "scan_timestamp": "2025-07-29T18:01:46.119657" + }, + { + "file_path": "tests/api/test_continue_conversation_template.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_continue_conversation_template.py", + "file_name": "test_continue_conversation_template.py", + "file_extension": ".py", + "file_size_bytes": 5152, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.390901", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 142 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 142, + "sha256_hash": "cca08b0291db0ad693c60d8dc203660021feab46d9eb530be7f67e0ebb52c1d3", + "scan_timestamp": "2025-07-29T18:01:46.292477" + }, + { + "file_path": "tests/api/test_async_client.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_async_client.py", + "file_name": "test_async_client.py", + "file_extension": ".py", + "file_size_bytes": 1382, + "category": "Source Code", + "fs_modified_date": "2025-07-13T13:02:10.649615", + "git_created_date": "2025-07-06 21:35:42 -0500", + "git_last_modified": "2025-07-08 21:17:27 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 27, + "phernandez": 9 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 36, + "sha256_hash": "a2f96226a75e5cff2326ca48ddccea4915964d83e529f7b99958bc233ccdc31a", + "scan_timestamp": "2025-07-29T18:01:46.511411" + }, + { + "file_path": "tests/api/test_prompt_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_prompt_router.py", + "file_name": "test_prompt_router.py", + "file_extension": ".py", + "file_size_bytes": 5046, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.396588", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 155 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 155, + "sha256_hash": "9115995b7dd8b44d8a9c06c5e1bbb177618286675a769889e35ac16f26fd9897", + "scan_timestamp": "2025-07-29T18:01:46.717483" + }, + { + "file_path": "tests/api/test_memory_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_memory_router.py", + "file_name": "test_memory_router.py", + "file_extension": ".py", + "file_size_bytes": 5555, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.399667", + "git_created_date": "2025-01-16 14:27:22 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 12, + "contributors": { + "phernandez": 87, + "bm-claudeai": 59 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 146, + "sha256_hash": "2b8782015c893081fc67b7f13a7255d4e3dc45b27705a524f94918a339e2d486", + "scan_timestamp": "2025-07-29T18:01:46.902607" + }, + { + "file_path": "tests/api/test_management_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_management_router.py", + "file_name": "test_management_router.py", + "file_extension": ".py", + "file_size_bytes": 6220, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.402764", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 211 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 211, + "sha256_hash": "f6a3f41f263f10c08281525571e2e39fc9ae818ebb7e9895e3f3f3115ea05677", + "scan_timestamp": "2025-07-29T18:01:47.106762" + }, + { + "file_path": "tests/api/test_template_loader.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/api/test_template_loader.py", + "file_name": "test_template_loader.py", + "file_extension": ".py", + "file_size_bytes": 8035, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.406694", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 219 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 219, + "sha256_hash": "4fd7c6c4862cc0d877d29244ecdc0b52a0693fc4574a9667663bee36bfd36b62", + "scan_timestamp": "2025-07-29T18:01:47.293576" + }, + { + "file_path": "tests/sync/test_watch_service_edge_cases.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/sync/test_watch_service_edge_cases.py", + "file_name": "test_watch_service_edge_cases.py", + "file_extension": ".py", + "file_size_bytes": 2169, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.409830", + "git_created_date": "2025-02-24 22:13:15 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 67, + "bm-claudeai": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 68, + "sha256_hash": "b87c5015330e9b551630aab7ef95ac1e7663f0ce46e912d8155b319e139559aa", + "scan_timestamp": "2025-07-29T18:01:47.486542" + }, + { + "file_path": "tests/sync/test_watch_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/sync/test_watch_service.py", + "file_name": "test_watch_service.py", + "file_extension": ".py", + "file_size_bytes": 14076, + "category": "Source Code", + "fs_modified_date": "2025-06-26T09:28:51.860679", + "git_created_date": "2025-02-02 16:35:46 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 15, + "contributors": { + "Paul Hernandez": 364, + "phernandez": 28, + "bm-claudeai": 58 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 450, + "sha256_hash": "e324a4127f8bfe59798f3a08125488c701e88239b7482d87a0394b91c55b893e", + "scan_timestamp": "2025-07-29T18:01:47.687320" + }, + { + "file_path": "tests/sync/test_sync_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/sync/test_sync_service.py", + "file_name": "test_sync_service.py", + "file_extension": ".py", + "file_size_bytes": 39659, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.107088", + "git_created_date": "2025-01-04 21:19:42 -0600", + "git_last_modified": "2025-06-09 15:15:05 -0500", + "git_commit_count": 49, + "contributors": { + "phernandez": 935, + "Paul Hernandez": 372, + "bm-claudeai": 6 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 1313, + "sha256_hash": "0609aee9906549f27fc4289b5ac2d46a50e53e12a0615a2701f17fbe9a74e169", + "scan_timestamp": "2025-07-29T18:01:47.893492" + }, + { + "file_path": "tests/sync/test_sync_wikilink_issue.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/sync/test_sync_wikilink_issue.py", + "file_name": "test_sync_wikilink_issue.py", + "file_extension": ".py", + "file_size_bytes": 1959, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.420370", + "git_created_date": "2025-04-05 22:03:38 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 4, + "contributors": { + "github-actions[bot]": 53, + "Paul Hernandez": 10 + }, + "primary_author": "github-actions[bot]", + "contributor_count": 2, + "total_author_lines": 63, + "sha256_hash": "db4b98dd7008a1a26b0fd02b9a2d03bca950b281efc19d98a91b017c500b23a5", + "scan_timestamp": "2025-07-29T18:01:48.065075" + }, + { + "file_path": "tests/sync/test_tmp_files.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/sync/test_tmp_files.py", + "file_name": "test_tmp_files.py", + "file_extension": ".py", + "file_size_bytes": 5930, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.424277", + "git_created_date": "2025-03-15 15:43:28 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 7, + "contributors": { + "Paul Hernandez": 108, + "bm-claudeai": 19, + "phernandez": 35 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 162, + "sha256_hash": "cead95a07b29f6c1ab933abe67f9648122f5f33d33753c8e4ab4934af96cbc25", + "scan_timestamp": "2025-07-29T18:01:48.276697" + }, + { + "file_path": "tests/services/test_sync_status_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_sync_status_service.py", + "file_name": "test_sync_status_service.py", + "file_extension": ".py", + "file_size_bytes": 9926, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.087266", + "git_created_date": "2025-06-05 11:13:40 -0500", + "git_last_modified": "2025-06-26 13:54:26 -0500", + "git_commit_count": 2, + "contributors": { + "phernandez": 213, + "Paul Hernandez": 49 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 262, + "sha256_hash": "00245ca356e33fc7afcd2d42cb5ec082038c95383d738067821cf1e8d23c9a4b", + "scan_timestamp": "2025-07-29T18:01:48.496387" + }, + { + "file_path": "tests/services/test_link_resolver.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_link_resolver.py", + "file_name": "test_link_resolver.py", + "file_extension": ".py", + "file_size_bytes": 13618, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.105766", + "git_created_date": "2025-01-12 17:44:26 -0600", + "git_last_modified": "2025-06-04 23:37:29 -0500", + "git_commit_count": 17, + "contributors": { + "phernandez": 211, + "Paul Hernandez": 139, + "bm-claudeai": 8 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 358, + "sha256_hash": "c9fc56d0c3572770e95ca6175c213ed8b44c2a6ddddc298b5662cc2d8f41014e", + "scan_timestamp": "2025-07-29T18:01:48.685993" + }, + { + "file_path": "tests/services/test_initialization.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_initialization.py", + "file_name": "test_initialization.py", + "file_extension": ".py", + "file_size_bytes": 6939, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.351946", + "git_created_date": "2025-04-07 17:45:26 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 7, + "contributors": { + "Paul Hernandez": 34, + "bm-claudeai": 146, + "phernandez": 6 + }, + "primary_author": "bm-claudeai", + "contributor_count": 3, + "total_author_lines": 186, + "sha256_hash": "ebb8d11ff37dcb36c4844c68f873c8e0e8aa6ab1b82abb22ee96c4233e6ab287", + "scan_timestamp": "2025-07-29T18:01:48.882997" + }, + { + "file_path": "tests/services/test_search_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_search_service.py", + "file_name": "test_search_service.py", + "file_extension": ".py", + "file_size_bytes": 25299, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.439133", + "git_created_date": "2025-01-04 16:37:02 -0600", + "git_last_modified": "2025-06-03 09:08:17 -0500", + "git_commit_count": 38, + "contributors": { + "phernandez": 188, + "Paul Hernandez": 542, + "github-actions[bot]": 13 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 743, + "sha256_hash": "b3e58258db2b727ab8a1792e52fcb038d3a0779bcd1b70f2d295a9d06e5e2513", + "scan_timestamp": "2025-07-29T18:01:49.067901" + }, + { + "file_path": "tests/services/test_project_service_operations.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_project_service_operations.py", + "file_name": "test_project_service_operations.py", + "file_extension": ".py", + "file_size_bytes": 4679, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.442141", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 129, + "Paul Hernandez": 5 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 134, + "sha256_hash": "d4103b6c5fff7e74ba84b86033537b8522aa60fc75aec4974d52e1dfec68b1b4", + "scan_timestamp": "2025-07-29T18:01:49.273251" + }, + { + "file_path": "tests/services/test_context_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_context_service.py", + "file_name": "test_context_service.py", + "file_extension": ".py", + "file_size_bytes": 8833, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.446200", + "git_created_date": "2025-01-14 22:37:55 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 22, + "contributors": { + "phernandez": 113, + "bm-claudeai": 98, + "Paul Hernandez": 9 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 220, + "sha256_hash": "ab49d21a05d5364e7e8a2f00b07aabe1109b7417698e0acd92792e2cb5f22732", + "scan_timestamp": "2025-07-29T18:01:49.470947" + }, + { + "file_path": "tests/services/test_project_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_project_service.py", + "file_name": "test_project_service.py", + "file_extension": ".py", + "file_size_bytes": 23576, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.352415", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 10, + "contributors": { + "bm-claudeai": 223, + "Paul Hernandez": 55, + "phernandez": 319 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 597, + "sha256_hash": "882a9b1dd7ee435492089b353549ec5ae62c0bac6c11a8a60c896196f2e0cefe", + "scan_timestamp": "2025-07-29T18:01:49.679698" + }, + { + "file_path": "tests/services/test_entity_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_entity_service.py", + "file_name": "test_entity_service.py", + "file_extension": ".py", + "file_size_bytes": 59278, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.086674", + "git_created_date": "2024-12-15 13:49:40 -0600", + "git_last_modified": "2025-06-25 22:32:05 -0500", + "git_commit_count": 53, + "contributors": { + "phernandez": 479, + "Paul Hernandez": 1281, + "bm-claudeai": 12, + "Drew Cain": 24 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 4, + "total_author_lines": 1796, + "sha256_hash": "d7d495756faa10b415d705cf26b69d2efbc5f190a834b6767386ff296629ea71", + "scan_timestamp": "2025-07-29T18:01:49.877830" + }, + { + "file_path": "tests/services/test_directory_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_directory_service.py", + "file_name": "test_directory_service.py", + "file_extension": ".py", + "file_size_bytes": 6854, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.457258", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 60, + "Paul Hernandez": 128 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 188, + "sha256_hash": "a0c765fb6bd1a75b6ba4592b1df344c48273b6ab03ba6bd15d2b5e840eb2d521", + "scan_timestamp": "2025-07-29T18:01:50.051423" + }, + { + "file_path": "tests/services/test_file_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/tests/services/test_file_service.py", + "file_name": "test_file_service.py", + "file_extension": ".py", + "file_size_bytes": 5243, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:46.460141", + "git_created_date": "2024-12-22 21:20:50 -0600", + "git_last_modified": "2025-02-12 22:39:22 -0600", + "git_commit_count": 12, + "contributors": { + "phernandez": 164 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 164, + "sha256_hash": "83e6e9a7584b7baeccbc84865d8c1d3e2a0223e7d2b9c066d3799c289196ab7d", + "scan_timestamp": "2025-07-29T18:01:50.253579" + }, + { + "file_path": ".claude/settings.local.json", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/.claude/settings.local.json", + "file_name": "settings.local.json", + "file_extension": ".json", + "file_size_bytes": 3122, + "category": "Configuration", + "fs_modified_date": "2025-06-28T14:45:46.247666", + "git_created_date": "Unknown", + "git_last_modified": "Unknown", + "git_commit_count": 0, + "contributors": {}, + "primary_author": "Unknown", + "contributor_count": 0, + "total_author_lines": 0, + "sha256_hash": "7709265ad7c32e95ff708f702458b6325138a73a1aefc4466d338460a307df09", + "scan_timestamp": "2025-07-29T18:01:50.332388" + }, + { + "file_path": ".claude/commands/test-live.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/.claude/commands/test-live.md", + "file_name": "test-live.md", + "file_extension": ".md", + "file_size_bytes": 18720, + "category": "Other", + "fs_modified_date": "2025-07-03T18:43:10.076403", + "git_created_date": "2025-06-03 09:40:52 -0500", + "git_last_modified": "2025-06-26 10:25:48 -0500", + "git_commit_count": 4, + "contributors": { + "phernandez": 595 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 595, + "sha256_hash": "21a9edeefb3e5673d833151a2fd0464087c0f0a9d056fdd7fca474c1d177d6fc", + "scan_timestamp": "2025-07-29T18:01:50.530924" + }, + { + "file_path": ".claude/commands/release/changelog.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/.claude/commands/release/changelog.md", + "file_name": "changelog.md", + "file_extension": ".md", + "file_size_bytes": 4648, + "category": "Documentation", + "fs_modified_date": "2025-07-03T18:43:10.075727", + "git_created_date": "2025-06-03 09:24:03 -0500", + "git_last_modified": "2025-06-26 11:09:32 -0500", + "git_commit_count": 2, + "contributors": { + "phernandez": 160 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 160, + "sha256_hash": "ea2484352f4f881aa71f546dcf84b0882d60c96673a88406aa2f7e12a282a1f4", + "scan_timestamp": "2025-07-29T18:01:50.705393" + }, + { + "file_path": ".claude/commands/release/release-check.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/.claude/commands/release/release-check.md", + "file_name": "release-check.md", + "file_extension": ".md", + "file_size_bytes": 3344, + "category": "Other", + "fs_modified_date": "2025-07-01T08:33:22.040060", + "git_created_date": "2025-06-03 09:24:03 -0500", + "git_last_modified": "2025-06-05 12:26:15 -0500", + "git_commit_count": 2, + "contributors": { + "phernandez": 131 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 131, + "sha256_hash": "7dd41a40e95c89153936c4ea60a3c989eccd5973fff9f6caef156de82f12bd04", + "scan_timestamp": "2025-07-29T18:01:50.876365" + }, + { + "file_path": ".claude/commands/release/release.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/.claude/commands/release/release.md", + "file_name": "release.md", + "file_extension": ".md", + "file_size_bytes": 2925, + "category": "Other", + "fs_modified_date": "2025-07-01T08:33:22.043674", + "git_created_date": "2025-06-03 09:24:03 -0500", + "git_last_modified": "2025-06-11 21:37:48 -0500", + "git_commit_count": 4, + "contributors": { + "phernandez": 92 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 92, + "sha256_hash": "0e4afd788fcf85fbe46094452e9b92a4290c3e23702283e72ee56aa9288476e5", + "scan_timestamp": "2025-07-29T18:01:51.037846" + }, + { + "file_path": ".claude/commands/release/beta.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/.claude/commands/release/beta.md", + "file_name": "beta.md", + "file_extension": ".md", + "file_size_bytes": 3103, + "category": "Other", + "fs_modified_date": "2025-07-01T08:33:22.037438", + "git_created_date": "2025-06-03 09:24:03 -0500", + "git_last_modified": "2025-06-11 17:06:23 -0500", + "git_commit_count": 3, + "contributors": { + "phernandez": 95 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 95, + "sha256_hash": "345f06e3f304470a8892e96979355919c8e5d8f4212ebbe543c3272fd15a5cbe", + "scan_timestamp": "2025-07-29T18:01:51.234267" + }, + { + "file_path": "docs/AI Assistant Guide.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/docs/AI Assistant Guide.md", + "file_name": "AI Assistant Guide.md", + "file_extension": ".md", + "file_size_bytes": 16423, + "category": "Documentation", + "fs_modified_date": "2025-07-01T08:33:22.060491", + "git_created_date": "2025-03-07 14:11:06 -0600", + "git_last_modified": "2025-06-08 09:28:57 -0500", + "git_commit_count": 10, + "contributors": { + "Paul Hernandez": 403, + "phernandez": 28 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 431, + "sha256_hash": "c717869a3d356852077026591364ecb0589a6d53f9764af027c57d142ea7ff55", + "scan_timestamp": "2025-07-29T18:01:51.440939" + }, + { + "file_path": "docs/Docker.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/docs/Docker.md", + "file_name": "Docker.md", + "file_extension": ".md", + "file_size_bytes": 9088, + "category": "Documentation", + "fs_modified_date": "2025-07-01T08:33:22.060976", + "git_created_date": "2025-06-19 19:57:30 -0500", + "git_last_modified": "2025-06-20 15:57:49 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 322, + "phernandez": 12 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 334, + "sha256_hash": "e13d3f50148353046b52d9d493986880f76f2914ef4efe1a759b2cc9d10913a4", + "scan_timestamp": "2025-07-29T18:01:51.637484" + }, + { + "file_path": "test-int/conftest.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/conftest.py", + "file_name": "conftest.py", + "file_extension": ".py", + "file_size_bytes": 8203, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.345735", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 6, + "contributors": { + "Paul Hernandez": 182, + "phernandez": 45 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 227, + "sha256_hash": "7231e1bc76cddc7c94433e853825dc0165b103bedf996c2c24eda6ae32fff5ad", + "scan_timestamp": "2025-07-29T18:01:51.814908" + }, + { + "file_path": "test-int/mcp/test_edit_note_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_edit_note_integration.py", + "file_name": "test_edit_note_integration.py", + "file_extension": ".py", + "file_size_bytes": 19822, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.346730", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 4, + "contributors": { + "Paul Hernandez": 578, + "phernandez": 29 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 607, + "sha256_hash": "9ba704badd05808aee0b5a686b7e250e1c865229ec92dab561cba5287b6f6fc6", + "scan_timestamp": "2025-07-29T18:01:52.008262" + }, + { + "file_path": "test-int/mcp/test_project_management_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_project_management_integration.py", + "file_name": "test_project_management_integration.py", + "file_extension": ".py", + "file_size_bytes": 33175, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.347658", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 8, + "contributors": { + "Paul Hernandez": 571, + "phernandez": 334 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 905, + "sha256_hash": "93a43cd699453a7602a5def839740ba5027ab914eba3e7b66a026860ed6bd567", + "scan_timestamp": "2025-07-29T18:01:52.205071" + }, + { + "file_path": "test-int/mcp/test_list_directory_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_list_directory_integration.py", + "file_name": "test_list_directory_integration.py", + "file_extension": ".py", + "file_size_bytes": 14744, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.347106", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 447, + "phernandez": 20 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 467, + "sha256_hash": "2c4336a59de63f17ed252bb52d1330ebca901ad83bfebc9e5aa67f132a3c77c6", + "scan_timestamp": "2025-07-29T18:01:52.383419" + }, + { + "file_path": "test-int/mcp/test_search_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_search_integration.py", + "file_name": "test_search_integration.py", + "file_extension": ".py", + "file_size_bytes": 14690, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.348959", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 453, + "phernandez": 15 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 468, + "sha256_hash": "e0957ada9dd9b12eae5843a37d241ec9293ca929f18281e31197dae36bff589d", + "scan_timestamp": "2025-07-29T18:01:52.545082" + }, + { + "file_path": "test-int/mcp/test_delete_note_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_delete_note_integration.py", + "file_name": "test_delete_note_integration.py", + "file_extension": ".py", + "file_size_bytes": 13175, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.346366", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 392, + "phernandez": 37 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 429, + "sha256_hash": "497495249b8bcf0af177d8705c6899875460707697980434e560cfe56f86feb3", + "scan_timestamp": "2025-07-29T18:01:52.773278" + }, + { + "file_path": "test-int/mcp/test_move_note_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_move_note_integration.py", + "file_name": "test_move_note_integration.py", + "file_extension": ".py", + "file_size_bytes": 19825, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.347344", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 7, + "contributors": { + "Paul Hernandez": 523, + "phernandez": 75 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 598, + "sha256_hash": "cbb17688d0f9551306a7520b059ace7f7dfba70fc20bf0ec98b1148000d7ad7d", + "scan_timestamp": "2025-07-29T18:01:52.959859" + }, + { + "file_path": "test-int/mcp/test_read_note_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_read_note_integration.py", + "file_name": "test_read_note_integration.py", + "file_extension": ".py", + "file_size_bytes": 1381, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.348463", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 40, + "phernandez": 6 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 46, + "sha256_hash": "b93050da68d0e9d47d46879a386567f688399e28390f4eb31ee37353dc27514b", + "scan_timestamp": "2025-07-29T18:01:53.121839" + }, + { + "file_path": "test-int/mcp/test_project_state_sync_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_project_state_sync_integration.py", + "file_name": "test_project_state_sync_integration.py", + "file_extension": ".py", + "file_size_bytes": 7728, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.347907", + "git_created_date": "2025-06-19 21:24:51 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 4, + "contributors": { + "Paul Hernandez": 148, + "phernandez": 28 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 176, + "sha256_hash": "80b0f5b5cd359498dcbd3af7dcb6194afa4582d8efb3faa38d28675ee45e0748", + "scan_timestamp": "2025-07-29T18:01:53.297630" + }, + { + "file_path": "test-int/mcp/test_read_content_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_read_content_integration.py", + "file_name": "test_read_content_integration.py", + "file_extension": ".py", + "file_size_bytes": 11187, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.348233", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 361, + "phernandez": 6 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 367, + "sha256_hash": "6955dd343b40df088ac79175e52723501d83796335a16e43b7f58e16e757e1b8", + "scan_timestamp": "2025-07-29T18:01:53.485719" + }, + { + "file_path": "test-int/mcp/test_write_note_integration.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/test-int/mcp/test_write_note_integration.py", + "file_name": "test_write_note_integration.py", + "file_extension": ".py", + "file_size_bytes": 9472, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.349398", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 259, + "phernandez": 25 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 284, + "sha256_hash": "b2b56fee8351168d0c65640c295d969dc4575d9bea87927b2dc07e591cabdff3", + "scan_timestamp": "2025-07-29T18:01:53.669033" + }, + { + "file_path": "src/basic_memory/db.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/db.py", + "file_name": "db.py", + "file_extension": ".py", + "file_size_bytes": 7428, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.341550", + "git_created_date": "2024-12-02 20:27:18 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 29, + "contributors": { + "phernandez": 132, + "Paul Hernandez": 71, + "Drew Cain": 4, + "bm-claudeai": 4 + }, + "primary_author": "phernandez", + "contributor_count": 4, + "total_author_lines": 211, + "sha256_hash": "25e053b0b3f9e8fa823b05fc099001efe8a3a4f6e0f80728e5079ba45aa406d8", + "scan_timestamp": "2025-07-29T18:01:53.931930" + }, + { + "file_path": "src/basic_memory/deps.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/deps.py", + "file_name": "deps.py", + "file_extension": ".py", + "file_size_bytes": 12144, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.341870", + "git_created_date": "2024-12-07 15:22:14 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 42, + "contributors": { + "phernandez": 162, + "Paul Hernandez": 35, + "bm-claudeai": 193 + }, + "primary_author": "bm-claudeai", + "contributor_count": 3, + "total_author_lines": 390, + "sha256_hash": "bce28cd9ca549b8afce0bc689cc1fb2dc80cd5b929f85114aa682bb8ae82411d", + "scan_timestamp": "2025-07-29T18:01:54.153297" + }, + { + "file_path": "src/basic_memory/config.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/config.py", + "file_name": "config.py", + "file_extension": ".py", + "file_size_bytes": 12620, + "category": "Source Code", + "fs_modified_date": "2025-07-13T13:02:10.647747", + "git_created_date": "2024-12-08 14:34:28 -0600", + "git_last_modified": "2025-07-08 22:07:26 -0500", + "git_commit_count": 41, + "contributors": { + "phernandez": 91, + "Paul Hernandez": 193, + "bm-claudeai": 88, + "Drew Cain": 3, + "github-actions[bot]": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 5, + "total_author_lines": 376, + "sha256_hash": "00e9046df1b70878be146837d441640b4d9882a4e346bea525f3c2158de73cfa", + "scan_timestamp": "2025-07-29T18:01:54.398137" + }, + { + "file_path": "src/basic_memory/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 256, + "category": "Source Code", + "fs_modified_date": "2025-07-06T10:34:45.551291", + "git_created_date": "2024-12-02 16:53:38 -0600", + "git_last_modified": "2025-07-03 17:30:40 -0500", + "git_commit_count": 40, + "contributors": { + "phernandez": 7 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 7, + "sha256_hash": "c946490ab9d64957d25df37f721392024916f8a81ed838f70a8e938b1c2637db", + "scan_timestamp": "2025-07-29T18:01:54.591641" + }, + { + "file_path": "src/basic_memory/utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/utils.py", + "file_name": "utils.py", + "file_extension": ".py", + "file_size_bytes": 7657, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.345310", + "git_created_date": "2024-12-16 16:01:08 -0600", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 25, + "contributors": { + "phernandez": 132, + "Paul Hernandez": 69, + "andyxinweiminicloud": 6, + "Drew Cain": 2, + "github-actions[bot]": 6 + }, + "primary_author": "phernandez", + "contributor_count": 5, + "total_author_lines": 215, + "sha256_hash": "cb57b95c19f0d8ae51091705b80e8b968230e3e99d12e7554008b65ecb218aa2", + "scan_timestamp": "2025-07-29T18:01:54.805346" + }, + { + "file_path": "src/basic_memory/file_utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/file_utils.py", + "file_name": "file_utils.py", + "file_extension": ".py", + "file_size_bytes": 6700, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.587200", + "git_created_date": "2025-01-18 23:54:28 -0600", + "git_last_modified": "2025-04-06 14:54:59 -0500", + "git_commit_count": 13, + "contributors": { + "phernandez": 158, + "Paul Hernandez": 77 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 235, + "sha256_hash": "79ac5328b2c46d3232fcc6ff22ffc39ade085c0252ad91958be2a7ae9c9c8b71", + "scan_timestamp": "2025-07-29T18:01:55.022125" + }, + { + "file_path": "src/basic_memory/repository/relation_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/repository/relation_repository.py", + "file_name": "relation_repository.py", + "file_extension": ".py", + "file_size_bytes": 3179, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.246745", + "git_created_date": "2024-12-08 15:28:32 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 15, + "contributors": { + "phernandez": 69, + "bm-claudeai": 8 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 77, + "sha256_hash": "cfb3a8e59cff27e063e91bd00e949647bdd92e4d9fc46edeee3acc6de15e26f4", + "scan_timestamp": "2025-07-29T18:01:55.245175" + }, + { + "file_path": "src/basic_memory/repository/entity_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/repository/entity_repository.py", + "file_name": "entity_repository.py", + "file_extension": ".py", + "file_size_bytes": 10405, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.082570", + "git_created_date": "2024-12-08 15:28:32 -0600", + "git_last_modified": "2025-06-24 00:02:18 -0500", + "git_commit_count": 35, + "contributors": { + "phernandez": 53, + "Paul Hernandez": 37, + "Drew Cain": 156, + "bm-claudeai": 8 + }, + "primary_author": "Drew Cain", + "contributor_count": 4, + "total_author_lines": 254, + "sha256_hash": "e2a8d1eba6c8d64bc61d7168df0fe8c29a670858bf9daeac464a0f440273fae0", + "scan_timestamp": "2025-07-29T18:01:55.487377" + }, + { + "file_path": "src/basic_memory/repository/project_info_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/repository/project_info_repository.py", + "file_name": "project_info_repository.py", + "file_extension": ".py", + "file_size_bytes": 338, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.252582", + "git_created_date": "2025-03-05 23:44:28 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 2, + "contributors": { + "Paul Hernandez": 7, + "bm-claudeai": 3 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 10, + "sha256_hash": "f172d50182a405643a19b2a3d62a80f4e2b41463c775394eb3b66d7de51ff6df", + "scan_timestamp": "2025-07-29T18:01:55.743370" + }, + { + "file_path": "src/basic_memory/repository/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/repository/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 327, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.256363", + "git_created_date": "2024-12-08 15:28:32 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 20, + "contributors": { + "phernandez": 4, + "bm-claudeai": 2, + "Paul Hernandez": 5 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 11, + "sha256_hash": "3162bea3c42292accea5ee52c8f6ca4368a8079056034529cfae6d820f84d035", + "scan_timestamp": "2025-07-29T18:01:55.962881" + }, + { + "file_path": "src/basic_memory/repository/project_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/repository/project_repository.py", + "file_name": "project_repository.py", + "file_extension": ".py", + "file_size_bytes": 3159, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.261253", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 85 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 85, + "sha256_hash": "b2074ac4a4d28a23994f3001c1436a962ecae666d788f890100739af4443fe34", + "scan_timestamp": "2025-07-29T18:01:56.198330" + }, + { + "file_path": "src/basic_memory/repository/search_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/repository/search_repository.py", + "file_name": "search_repository.py", + "file_extension": ".py", + "file_size_bytes": 21936, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.082844", + "git_created_date": "2025-01-04 16:37:02 -0600", + "git_last_modified": "2025-06-26 13:54:26 -0500", + "git_commit_count": 55, + "contributors": { + "phernandez": 297, + "Paul Hernandez": 219, + "github-actions[bot]": 9, + "bm-claudeai": 66 + }, + "primary_author": "phernandez", + "contributor_count": 4, + "total_author_lines": 591, + "sha256_hash": "a972f73d1b71dac5770e8eb3793c6c9ac44e4e792f9dab528f8c4e6c6a80bcaa", + "scan_timestamp": "2025-07-29T18:01:56.432249" + }, + { + "file_path": "src/basic_memory/repository/observation_repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/repository/observation_repository.py", + "file_name": "observation_repository.py", + "file_extension": ".py", + "file_size_bytes": 2943, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.269646", + "git_created_date": "2024-12-08 15:28:32 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 8, + "contributors": { + "phernandez": 37, + "bm-claudeai": 35 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 72, + "sha256_hash": "aa132f1cb4a36a84f715afdc40e2ac4f98d83e3eba1974b2b4404cc0b020ca04", + "scan_timestamp": "2025-07-29T18:01:56.651571" + }, + { + "file_path": "src/basic_memory/repository/repository.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/repository/repository.py", + "file_name": "repository.py", + "file_extension": ".py", + "file_size_bytes": 15224, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.273355", + "git_created_date": "2024-12-19 19:10:29 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 19, + "contributors": { + "phernandez": 238, + "bm-claudeai": 107, + "Paul Hernandez": 26 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 371, + "sha256_hash": "3096fe71bf106506cbf86aeafe2aafe0aabbe5a5f6c90a212c8aa1e53e1f171c", + "scan_timestamp": "2025-07-29T18:01:56.883498" + }, + { + "file_path": "src/basic_memory/importers/claude_conversations_importer.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/importers/claude_conversations_importer.py", + "file_name": "claude_conversations_importer.py", + "file_extension": ".py", + "file_size_bytes": 5725, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.288540", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 172 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 172, + "sha256_hash": "a7bc9e872f4f81ce5f79fe9dd1a6fd0f00a6f020a2cb2664184a97f14eeb1dbc", + "scan_timestamp": "2025-07-29T18:01:57.095059" + }, + { + "file_path": "src/basic_memory/importers/claude_projects_importer.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/importers/claude_projects_importer.py", + "file_name": "claude_projects_importer.py", + "file_extension": ".py", + "file_size_bytes": 5389, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.291737", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 148 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 148, + "sha256_hash": "a452675fd9bb18ebf64eb4bd7f69ccd7e993b617931015a3c4ab700d67493863", + "scan_timestamp": "2025-07-29T18:01:57.330498" + }, + { + "file_path": "src/basic_memory/importers/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/importers/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 795, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.295471", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 27 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 27, + "sha256_hash": "0537015bdecfded85cb166b9c3db50b2f3aef329c70e0c36fbcb4f824099a21f", + "scan_timestamp": "2025-07-29T18:01:57.556092" + }, + { + "file_path": "src/basic_memory/importers/utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/importers/utils.py", + "file_name": "utils.py", + "file_extension": ".py", + "file_size_bytes": 1792, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.298428", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 58 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 58, + "sha256_hash": "ee7e22fd4812362394f62ed8944abe80738c1e3ab88131faf639f4a8ccfd6c89", + "scan_timestamp": "2025-07-29T18:01:57.801625" + }, + { + "file_path": "src/basic_memory/importers/memory_json_importer.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/importers/memory_json_importer.py", + "file_name": "memory_json_importer.py", + "file_extension": ".py", + "file_size_bytes": 3986, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.342185", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 3, + "contributors": { + "bm-claudeai": 92, + "phernandez": 2 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 94, + "sha256_hash": "8cd348a547ac4332ae7e7778e74f6be9de4539be89187619ed1bf008d2a8f4f7", + "scan_timestamp": "2025-07-29T18:01:58.027353" + }, + { + "file_path": "src/basic_memory/importers/base.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/importers/base.py", + "file_name": "base.py", + "file_extension": ".py", + "file_size_bytes": 2531, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.305335", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 79 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 79, + "sha256_hash": "6b0c1efd4f827f348834aa0cea2ae8eebbb842a2e5b1f5f3747ced0ef79b9f13", + "scan_timestamp": "2025-07-29T18:01:58.252850" + }, + { + "file_path": "src/basic_memory/importers/chatgpt_importer.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/importers/chatgpt_importer.py", + "file_name": "chatgpt_importer.py", + "file_extension": ".py", + "file_size_bytes": 7372, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.308956", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 222 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 222, + "sha256_hash": "dfa540b196ab23b5c4e6bfcac4da567873351cf7c78fa35f4c3b87e84c58e218", + "scan_timestamp": "2025-07-29T18:01:58.487252" + }, + { + "file_path": "src/basic_memory/markdown/plugins.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/markdown/plugins.py", + "file_name": "plugins.py", + "file_extension": ".py", + "file_size_bytes": 6639, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.312733", + "git_created_date": "2025-01-09 20:49:49 -0600", + "git_last_modified": "2025-02-13 15:42:50 -0600", + "git_commit_count": 7, + "contributors": { + "phernandez": 114, + "Paul Hernandez": 108 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 222, + "sha256_hash": "82d2332918e866ccaf06a2e954d9eb9b397f71b4d9e591a7f2472e5f1423464a", + "scan_timestamp": "2025-07-29T18:01:58.719941" + }, + { + "file_path": "src/basic_memory/markdown/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/markdown/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 501, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.316337", + "git_created_date": "2024-12-21 10:18:14 -0600", + "git_last_modified": "2025-02-04 10:59:28 -0600", + "git_commit_count": 10, + "contributors": { + "phernandez": 21 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 21, + "sha256_hash": "0ddce2a025ad0e729aab4e411d82e02ffefc15ac041cba4b5e7a7e90f4957c87", + "scan_timestamp": "2025-07-29T18:01:58.952053" + }, + { + "file_path": "src/basic_memory/markdown/entity_parser.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/markdown/entity_parser.py", + "file_name": "entity_parser.py", + "file_extension": ".py", + "file_size_bytes": 4516, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.321461", + "git_created_date": "2025-01-09 17:45:08 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 21, + "contributors": { + "phernandez": 104, + "Paul Hernandez": 28, + "github-actions[bot]": 3 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 135, + "sha256_hash": "1b0d1177358645ccbadd170b3f62760dc9bd838d38c741978ab0da5836234d68", + "scan_timestamp": "2025-07-29T18:01:59.184733" + }, + { + "file_path": "src/basic_memory/markdown/markdown_processor.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/markdown/markdown_processor.py", + "file_name": "markdown_processor.py", + "file_extension": ".py", + "file_size_bytes": 4968, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.325241", + "git_created_date": "2025-01-24 17:43:38 -0600", + "git_last_modified": "2025-03-15 15:43:37 -0500", + "git_commit_count": 10, + "contributors": { + "phernandez": 133, + "Paul Hernandez": 8 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 141, + "sha256_hash": "4b99f2ebdceed9d96a3bbb562682eba4b4b383c7a64080eaec3bbba25a4952c9", + "scan_timestamp": "2025-07-29T18:01:59.403147" + }, + { + "file_path": "src/basic_memory/markdown/schemas.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/markdown/schemas.py", + "file_name": "schemas.py", + "file_extension": ".py", + "file_size_bytes": 1896, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.329982", + "git_created_date": "2024-12-22 16:27:20 -0600", + "git_last_modified": "2025-03-24 22:45:56 -0500", + "git_commit_count": 24, + "contributors": { + "phernandez": 64, + "Paul Hernandez": 6 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 70, + "sha256_hash": "7b2c580abd615725a62267257b46ac13922dfc30fa01192a681658bb528ae67e", + "scan_timestamp": "2025-07-29T18:01:59.611023" + }, + { + "file_path": "src/basic_memory/markdown/utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/markdown/utils.py", + "file_name": "utils.py", + "file_extension": ".py", + "file_size_bytes": 3410, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.079889", + "git_created_date": "2025-01-26 00:00:37 -0600", + "git_last_modified": "2025-06-26 15:35:31 -0500", + "git_commit_count": 15, + "contributors": { + "Paul Hernandez": 86, + "phernandez": 22 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 108, + "sha256_hash": "1b757f0d06e60e3ea276c0b2ea44fe1a156a895e093c1e607d6286e702bf4ae4", + "scan_timestamp": "2025-07-29T18:01:59.824675" + }, + { + "file_path": "src/basic_memory/mcp/server.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/server.py", + "file_name": "server.py", + "file_extension": ".py", + "file_size_bytes": 1248, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.343419", + "git_created_date": "2024-12-06 19:10:58 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 55, + "contributors": { + "bm-claudeai": 10, + "phernandez": 17, + "Paul Hernandez": 19 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 46, + "sha256_hash": "0a910cae27d61ea923e90fbe2d4b5c7cacf3b29d3e156f0b7f77872ab973c761", + "scan_timestamp": "2025-07-29T18:02:00.060002" + }, + { + "file_path": "src/basic_memory/mcp/project_session.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/project_session.py", + "file_name": "project_session.py", + "file_extension": ".py", + "file_size_bytes": 4203, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.342906", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 6, + "contributors": { + "Paul Hernandez": 112, + "phernandez": 8 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 120, + "sha256_hash": "4da403ec93dec9063eeb8b05246e3501740d162cc77a067d3ce54ba43d690819", + "scan_timestamp": "2025-07-29T18:02:00.296125" + }, + { + "file_path": "src/basic_memory/mcp/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 35, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.404757", + "git_created_date": "2024-12-06 19:10:58 -0600", + "git_last_modified": "2025-02-12 08:23:10 -0600", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 1, + "sha256_hash": "76c0ce84aaa361e21b0942db1c8c5f708b536eab9d12e120d4da7ce9eab41844", + "scan_timestamp": "2025-07-29T18:02:00.531951" + }, + { + "file_path": "src/basic_memory/mcp/async_client.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/async_client.py", + "file_name": "async_client.py", + "file_extension": ".py", + "file_size_bytes": 925, + "category": "Source Code", + "fs_modified_date": "2025-07-13T13:02:10.648255", + "git_created_date": "2024-12-25 10:18:12 -0600", + "git_last_modified": "2025-07-08 21:17:27 -0500", + "git_commit_count": 8, + "contributors": { + "phernandez": 11, + "Paul Hernandez": 17 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 28, + "sha256_hash": "6531f4387f30a30a322197ff51d6eacae4b25a58c648095931b3d1145d1da303", + "scan_timestamp": "2025-07-29T18:02:00.766900" + }, + { + "file_path": "src/basic_memory/mcp/tools/read_content.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/read_content.py", + "file_name": "read_content.py", + "file_extension": ".py", + "file_size_bytes": 8596, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:13:53.268680", + "git_created_date": "2025-03-05 23:44:28 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 12, + "contributors": { + "Paul Hernandez": 236, + "bm-claudeai": 2 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 238, + "sha256_hash": "e054f0d7707c523555851efc34907d1ca7896ff9c0ebe0464f559d1ad7a43794", + "scan_timestamp": "2025-07-29T18:02:01.080144" + }, + { + "file_path": "src/basic_memory/mcp/tools/view_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/view_note.py", + "file_name": "view_note.py", + "file_extension": ".py", + "file_size_bytes": 2499, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.080024", + "git_created_date": "2025-06-05 16:30:09 -0500", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 2, + "contributors": { + "phernandez": 66 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 66, + "sha256_hash": "75d357c72113b1d0394987e521a4158ff09b77b23b08b56cddab5144331b1a68", + "scan_timestamp": "2025-07-29T18:02:01.339911" + }, + { + "file_path": "src/basic_memory/mcp/tools/auth.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/auth.py", + "file_name": "auth.py", + "file_extension": ".py", + "file_size_bytes": 1231, + "category": "Source Code", + "fs_modified_date": "2025-07-13T13:02:10.648491", + "git_created_date": "2025-07-08 22:07:26 -0500", + "git_last_modified": "2025-07-08 22:59:48 -0500", + "git_commit_count": 3, + "contributors": { + "phernandez": 38 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 38, + "sha256_hash": "c2f9bebec2fe32a844101621b659652008896d37ef09475a53584f795228f400", + "scan_timestamp": "2025-07-29T18:02:01.572953" + }, + { + "file_path": "src/basic_memory/mcp/tools/edit_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/edit_note.py", + "file_name": "edit_note.py", + "file_extension": ".py", + "file_size_bytes": 13570, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.077181", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-06-04 23:46:48 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 286, + "phernandez": 17 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 303, + "sha256_hash": "ab8c7e7fbfa3fe5fb0ce6d7bf805454f5fd6182a340aae25237b1e6127b6d5a6", + "scan_timestamp": "2025-07-29T18:02:01.835125" + }, + { + "file_path": "src/basic_memory/mcp/tools/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 1619, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.080029", + "git_created_date": "2024-12-25 17:02:14 -0600", + "git_last_modified": "2025-07-01 10:50:44 -0500", + "git_commit_count": 31, + "contributors": { + "phernandez": 18, + "Paul Hernandez": 29, + "Drew Cain": 4 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 51, + "sha256_hash": "872b771dd52ec3b763645a2baf6e10a70f049ce3106830a6d3f053b3e09a5fe6", + "scan_timestamp": "2025-07-29T18:02:02.096074" + }, + { + "file_path": "src/basic_memory/mcp/tools/sync_status.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/sync_status.py", + "file_name": "sync_status.py", + "file_extension": ".py", + "file_size_bytes": 10517, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.344231", + "git_created_date": "2025-06-04 22:24:10 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 4, + "contributors": { + "phernandez": 255 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 255, + "sha256_hash": "73dd73b186eaec8b82e6b17e39a67c27082d24e0653dc4e4b35712bd83b80a22", + "scan_timestamp": "2025-07-29T18:02:02.357194" + }, + { + "file_path": "src/basic_memory/mcp/tools/delete_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/delete_note.py", + "file_name": "delete_note.py", + "file_extension": ".py", + "file_size_bytes": 7346, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.076726", + "git_created_date": "2025-02-28 20:23:53 -0600", + "git_last_modified": "2025-06-05 13:07:20 -0500", + "git_commit_count": 8, + "contributors": { + "phernandez": 159, + "Paul Hernandez": 31, + "bm-claudeai": 1 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 191, + "sha256_hash": "b52c9173f5600662f255e7a70a5c17d5293ef8b29c19a8403334d7da62b65c8b", + "scan_timestamp": "2025-07-29T18:02:02.600023" + }, + { + "file_path": "src/basic_memory/mcp/tools/utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/utils.py", + "file_name": "utils.py", + "file_extension": ".py", + "file_size_bytes": 21426, + "category": "Source Code", + "fs_modified_date": "2025-07-13T13:02:10.648879", + "git_created_date": "2025-01-18 18:48:22 -0600", + "git_last_modified": "2025-07-08 22:59:48 -0500", + "git_commit_count": 19, + "contributors": { + "Paul Hernandez": 396, + "phernandez": 202, + "bm-claudeai": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 599, + "sha256_hash": "78326b840c5c2690e46fd4b0bc97dbeafda39e7b7fc98193521f60340739b396", + "scan_timestamp": "2025-07-29T18:02:02.855605" + }, + { + "file_path": "src/basic_memory/mcp/tools/write_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/write_note.py", + "file_name": "write_note.py", + "file_extension": ".py", + "file_size_bytes": 6178, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.082285", + "git_created_date": "2025-02-28 20:23:53 -0600", + "git_last_modified": "2025-06-26 13:54:26 -0500", + "git_commit_count": 34, + "contributors": { + "Paul Hernandez": 101, + "phernandez": 47, + "bm-claudeai": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 149, + "sha256_hash": "185997fd52c9bdca8adbdf800d30839cf8016b0780abff480460acf7d9b0153c", + "scan_timestamp": "2025-07-29T18:02:03.125250" + }, + { + "file_path": "src/basic_memory/mcp/tools/search.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/search.py", + "file_name": "search.py", + "file_extension": ".py", + "file_size_bytes": 15883, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.081557", + "git_created_date": "2024-12-25 17:02:14 -0600", + "git_last_modified": "2025-07-01 22:05:10 -0500", + "git_commit_count": 35, + "contributors": { + "phernandez": 165, + "github-actions[bot]": 59, + "Paul Hernandez": 142, + "Drew Cain": 4, + "bm-claudeai": 1 + }, + "primary_author": "phernandez", + "contributor_count": 5, + "total_author_lines": 371, + "sha256_hash": "8519b0057468c4450eb543a2f561bcd0d7cb96e1ce1b95e948e02b309ba6b7ca", + "scan_timestamp": "2025-07-29T18:02:03.373637" + }, + { + "file_path": "src/basic_memory/mcp/tools/read_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/read_note.py", + "file_name": "read_note.py", + "file_extension": ".py", + "file_size_bytes": 7614, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.081270", + "git_created_date": "2025-02-28 20:23:53 -0600", + "git_last_modified": "2025-06-26 13:54:26 -0500", + "git_commit_count": 15, + "contributors": { + "Paul Hernandez": 196, + "bm-claudeai": 4, + "phernandez": 9, + "Amadeusz Wieczorek": 2 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 4, + "total_author_lines": 211, + "sha256_hash": "574f0d741a9663c634438ceec0afbeccddd52bb7e6b821f598e6192b02f5213e", + "scan_timestamp": "2025-07-29T18:02:03.621928" + }, + { + "file_path": "src/basic_memory/mcp/tools/recent_activity.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/recent_activity.py", + "file_name": "recent_activity.py", + "file_extension": ".py", + "file_size_bytes": 4833, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:13:53.269120", + "git_created_date": "2025-02-28 20:23:53 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 23, + "contributors": { + "Paul Hernandez": 32, + "phernandez": 97, + "bm-claudeai": 2 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 131, + "sha256_hash": "5d58cd2402679b1bf3c7dfcbb3503e40e776c9347ba499524d3b91c528af98de", + "scan_timestamp": "2025-07-29T18:02:03.912915" + }, + { + "file_path": "src/basic_memory/mcp/tools/move_note.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/move_note.py", + "file_name": "move_note.py", + "file_extension": ".py", + "file_size_bytes": 16708, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.343703", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 9, + "contributors": { + "Paul Hernandez": 178, + "phernandez": 264 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 442, + "sha256_hash": "b88fd166fa366ac99399c1ebe38fbcbd770e4eac203ea31545b72461e63233cc", + "scan_timestamp": "2025-07-29T18:02:04.182657" + }, + { + "file_path": "src/basic_memory/mcp/tools/project_management.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/project_management.py", + "file_name": "project_management.py", + "file_extension": ".py", + "file_size_bytes": 12944, + "category": "Source Code", + "fs_modified_date": "2025-07-06T10:34:45.552403", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-07-03 16:57:43 -0500", + "git_commit_count": 10, + "contributors": { + "Paul Hernandez": 277, + "phernandez": 59, + "Drew Cain": 13 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 349, + "sha256_hash": "cdac736d65129f689a85c6b82f8e043bc84a31657ead7a8331771171eeaa860f", + "scan_timestamp": "2025-07-29T18:02:04.443126" + }, + { + "file_path": "src/basic_memory/mcp/tools/canvas.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/canvas.py", + "file_name": "canvas.py", + "file_extension": ".py", + "file_size_bytes": 3738, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.076204", + "git_created_date": "2025-02-25 21:21:05 -0600", + "git_last_modified": "2025-06-04 00:16:33 -0500", + "git_commit_count": 8, + "contributors": { + "Paul Hernandez": 107, + "phernandez": 2, + "bm-claudeai": 2 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 111, + "sha256_hash": "db617d1bd81f3dbfa5f22d41e6b6b825afe1f73618f37acf63d9830390b98246", + "scan_timestamp": "2025-07-29T18:02:04.710488" + }, + { + "file_path": "src/basic_memory/mcp/tools/list_directory.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/tools/list_directory.py", + "file_name": "list_directory.py", + "file_extension": ".py", + "file_size_bytes": 5236, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:13:53.267453", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 1, + "contributors": { + "Paul Hernandez": 154 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 154, + "sha256_hash": "f85c43b02aeee580f4d8ce2a9100c0bab1095b245a0bb608e1847ace0d1ab51f", + "scan_timestamp": "2025-07-29T18:02:04.970417" + }, + { + "file_path": "src/basic_memory/mcp/resources/project_info.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/resources/project_info.py", + "file_name": "project_info.py", + "file_extension": ".py", + "file_size_bytes": 1906, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:13:53.264918", + "git_created_date": "2025-06-03 01:00:40 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 54, + "bm-claudeai": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 55, + "sha256_hash": "2dc5244f1e225c17d4e8ba784d5721efc3aa2e8a5b3b2e258f22a77ebe155eca", + "scan_timestamp": "2025-07-29T18:02:05.232119" + }, + { + "file_path": "src/basic_memory/mcp/resources/ai_assistant_guide.md", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/resources/ai_assistant_guide.md", + "file_name": "ai_assistant_guide.md", + "file_extension": ".md", + "file_size_bytes": 14777, + "category": "Other", + "fs_modified_date": "2025-03-28T19:12:38.653627", + "git_created_date": "2025-03-24 17:34:47 -0500", + "git_last_modified": "2025-03-28 19:11:35 -0500", + "git_commit_count": 6, + "contributors": { + "phernandez": 408, + "Paul Hernandez": 5 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 413, + "sha256_hash": "aa76160e46256fe2662ae3a86799659916acfede1d5835c1fe2f0b136efb2e0b", + "scan_timestamp": "2025-07-29T18:02:05.471903" + }, + { + "file_path": "src/basic_memory/mcp/prompts/ai_assistant_guide.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/prompts/ai_assistant_guide.py", + "file_name": "ai_assistant_guide.py", + "file_extension": ".py", + "file_size_bytes": 821, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:13:53.262832", + "git_created_date": "2025-02-27 20:48:56 -0600", + "git_last_modified": "2025-03-24 17:34:47 -0500", + "git_commit_count": 11, + "contributors": { + "Paul Hernandez": 24, + "phernandez": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 25, + "sha256_hash": "f13239c4e6e2455730bfac3d6f2d71407957d3086fc84efe2c6b22a833114c58", + "scan_timestamp": "2025-07-29T18:02:05.712982" + }, + { + "file_path": "src/basic_memory/mcp/prompts/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/prompts/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 615, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.343263", + "git_created_date": "2025-02-27 20:48:56 -0600", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 7, + "contributors": { + "Paul Hernandez": 19 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 19, + "sha256_hash": "f8197d0e08f64c3f4f50b8f38203ea5eebcf123582472ed2f58834de1dbe53b0", + "scan_timestamp": "2025-07-29T18:02:05.984637" + }, + { + "file_path": "src/basic_memory/mcp/prompts/continue_conversation.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/prompts/continue_conversation.py", + "file_name": "continue_conversation.py", + "file_extension": ".py", + "file_size_bytes": 1998, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:13:53.263309", + "git_created_date": "2025-02-27 20:48:56 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 8, + "contributors": { + "Paul Hernandez": 42, + "github-actions[bot]": 1, + "bm-claudeai": 18 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 61, + "sha256_hash": "aec9a50b657b7bb1ba0c02b42bcdb9bc5b0f2a0b1143bd361c5ce7ea59076833", + "scan_timestamp": "2025-07-29T18:02:06.227505" + }, + { + "file_path": "src/basic_memory/mcp/prompts/utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/prompts/utils.py", + "file_name": "utils.py", + "file_extension": ".py", + "file_size_bytes": 5431, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.425042", + "git_created_date": "2025-02-27 20:48:56 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 152, + "bm-claudeai": 3 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 155, + "sha256_hash": "55a72b6eac18b724a9225608aca1e8e6cea3b684ccb1c609aab1511f7ce90ba4", + "scan_timestamp": "2025-07-29T18:02:06.465145" + }, + { + "file_path": "src/basic_memory/mcp/prompts/search.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/prompts/search.py", + "file_name": "search.py", + "file_extension": ".py", + "file_size_bytes": 1692, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:13:53.264093", + "git_created_date": "2025-02-27 20:48:56 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 7, + "contributors": { + "Paul Hernandez": 42, + "bm-claudeai": 14 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 56, + "sha256_hash": "9dbf3c319cbdb5d5bf32608b51522d8ae92b2dd6f7c441d62efd0954b525738a", + "scan_timestamp": "2025-07-29T18:02:06.702712" + }, + { + "file_path": "src/basic_memory/mcp/prompts/recent_activity.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/mcp/prompts/recent_activity.py", + "file_name": "recent_activity.py", + "file_extension": ".py", + "file_size_bytes": 3311, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.073986", + "git_created_date": "2025-02-27 20:48:56 -0600", + "git_last_modified": "2025-06-08 11:52:23 -0500", + "git_commit_count": 7, + "contributors": { + "Paul Hernandez": 84, + "phernandez": 1, + "bm-claudeai": 19 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 104, + "sha256_hash": "d2fd5cddbd927430f15d5b85f1e3a3368a18cb4e2e4587a5d29749d2b9e0830e", + "scan_timestamp": "2025-07-29T18:02:06.940721" + }, + { + "file_path": "src/basic_memory/models/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/models/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 333, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.437212", + "git_created_date": "2024-12-19 20:17:57 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 7, + "contributors": { + "phernandez": 11, + "Paul Hernandez": 1, + "bm-claudeai": 3 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 15, + "sha256_hash": "8f40b876d162f85384690291f1d416106f9d26d750d793414e2260e276c85cd5", + "scan_timestamp": "2025-07-29T18:02:07.132963" + }, + { + "file_path": "src/basic_memory/models/search.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/models/search.py", + "file_name": "search.py", + "file_extension": ".py", + "file_size_bytes": 1300, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.440923", + "git_created_date": "2025-01-04 16:37:02 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 12, + "contributors": { + "phernandez": 27, + "Paul Hernandez": 3, + "bm-claudeai": 8 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 38, + "sha256_hash": "3e143cc38b5a0294af8e1d43a4f841e1c1fd193b76136a68f83159ce19e86646", + "scan_timestamp": "2025-07-29T18:02:07.341981" + }, + { + "file_path": "src/basic_memory/models/knowledge.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/models/knowledge.py", + "file_name": "knowledge.py", + "file_extension": ".py", + "file_size_bytes": 7087, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.444376", + "git_created_date": "2024-12-19 20:17:57 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 57, + "contributors": { + "phernandez": 136, + "Paul Hernandez": 43, + "bm-claudeai": 16 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 195, + "sha256_hash": "005c5f292f1f45ae372aadc48c9080b9fa6d7b854d0bb7ecf587ec843ac1e28d", + "scan_timestamp": "2025-07-29T18:02:07.570368" + }, + { + "file_path": "src/basic_memory/models/base.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/models/base.py", + "file_name": "base.py", + "file_extension": ".py", + "file_size_bytes": 225, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.447249", + "git_created_date": "2024-12-19 20:17:57 -0600", + "git_last_modified": "2025-02-12 08:23:10 -0600", + "git_commit_count": 5, + "contributors": { + "phernandez": 7, + "Paul Hernandez": 3 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 10, + "sha256_hash": "e2101727c084d519e32a16f6de53ddf9033b1bf15721d4e8c0c27d6d18b1b295", + "scan_timestamp": "2025-07-29T18:02:07.835686" + }, + { + "file_path": "src/basic_memory/models/project.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/models/project.py", + "file_name": "project.py", + "file_extension": ".py", + "file_size_bytes": 2773, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.080907", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-03 14:23:15 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 77, + "phernandez": 1 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 78, + "sha256_hash": "a14ad06943aeeff9ae4a5fa2dfc0e1d07ce6085acc02dc20c402c3513b7d9397", + "scan_timestamp": "2025-07-29T18:02:08.065266" + }, + { + "file_path": "src/basic_memory/cli/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 33, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.456735", + "git_created_date": "2024-12-09 22:46:13 -0600", + "git_last_modified": "2025-02-12 08:23:10 -0600", + "git_commit_count": 2, + "contributors": { + "Paul Hernandez": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 1, + "sha256_hash": "6ab70a2c05910e13c3ef1e6df34325be265e633c076741998a0cb2dcd295a069", + "scan_timestamp": "2025-07-29T18:02:08.300418" + }, + { + "file_path": "src/basic_memory/cli/app.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/app.py", + "file_name": "app.py", + "file_extension": ".py", + "file_size_bytes": 2268, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.337708", + "git_created_date": "2024-12-26 11:56:25 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 14, + "contributors": { + "Paul Hernandez": 62, + "phernandez": 8, + "bm-claudeai": 3 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 73, + "sha256_hash": "f710670380d707c4458ad881f7a25bb3c5cdb2bcff59f139f37421264fe8f2f8", + "scan_timestamp": "2025-07-29T18:02:08.512063" + }, + { + "file_path": "src/basic_memory/cli/main.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/main.py", + "file_name": "main.py", + "file_extension": ".py", + "file_size_bytes": 465, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.340868", + "git_created_date": "2024-12-09 22:46:13 -0600", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 27, + "contributors": { + "Paul Hernandez": 17, + "phernandez": 4 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 21, + "sha256_hash": "7a405b12bff98e319968526238ae15859df0362bba5a3857562fecca47b5c70d", + "scan_timestamp": "2025-07-29T18:02:08.736022" + }, + { + "file_path": "src/basic_memory/cli/commands/sync.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/sync.py", + "file_name": "sync.py", + "file_extension": ".py", + "file_size_bytes": 8213, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.340627", + "git_created_date": "2025-01-03 16:08:07 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 42, + "contributors": { + "phernandez": 164, + "bm-claudeai": 42, + "Paul Hernandez": 36 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 242, + "sha256_hash": "703b3e73c4c33850c27f6f4c07abbf5d4ce5dc43f706bf0c43264bbb45f8b213", + "scan_timestamp": "2025-07-29T18:02:08.972828" + }, + { + "file_path": "src/basic_memory/cli/commands/import_memory_json.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/import_memory_json.py", + "file_name": "import_memory_json.py", + "file_extension": ".py", + "file_size_bytes": 2947, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.339649", + "git_created_date": "2025-02-04 10:59:28 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 14, + "contributors": { + "phernandez": 28, + "bm-claudeai": 26, + "Paul Hernandez": 35 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 89, + "sha256_hash": "b3a92a4b42fab1353f58ab7dbfac361029fe5d4a3a8efc6f754eb07665768ab8", + "scan_timestamp": "2025-07-29T18:02:09.205600" + }, + { + "file_path": "src/basic_memory/cli/commands/db.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/db.py", + "file_name": "db.py", + "file_extension": ".py", + "file_size_bytes": 1480, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.338326", + "git_created_date": "2025-02-12 22:12:52 -0600", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 12, + "contributors": { + "Paul Hernandez": 37, + "phernandez": 5, + "bm-claudeai": 2 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 44, + "sha256_hash": "704a1096d80ab9d12e247d029fe6223e935a0d0ceee7e615c020f46a720828e0", + "scan_timestamp": "2025-07-29T18:02:09.406238" + }, + { + "file_path": "src/basic_memory/cli/commands/import_chatgpt.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/import_chatgpt.py", + "file_name": "import_chatgpt.py", + "file_extension": ".py", + "file_size_bytes": 2856, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.338787", + "git_created_date": "2025-02-16 13:47:16 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 11, + "contributors": { + "Paul Hernandez": 49, + "bm-claudeai": 30, + "phernandez": 4 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 83, + "sha256_hash": "8957cca3acab6351335624a518bdc19d956487e93d86dd1b6c2309e9d5850ae5", + "scan_timestamp": "2025-07-29T18:02:09.634989" + }, + { + "file_path": "src/basic_memory/cli/commands/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 393, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.338070", + "git_created_date": "2024-12-26 11:56:25 -0600", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 14, + "contributors": { + "Paul Hernandez": 12, + "phernandez": 5 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 17, + "sha256_hash": "de8a23702f98fb844fa9f7fdbedc16ce24ff4f8baf05589c2f4a521cd8a55645", + "scan_timestamp": "2025-07-29T18:02:09.853650" + }, + { + "file_path": "src/basic_memory/cli/commands/import_claude_projects.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/import_claude_projects.py", + "file_name": "import_claude_projects.py", + "file_extension": ".py", + "file_size_bytes": 2891, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.339310", + "git_created_date": "2025-02-16 12:47:41 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 10, + "contributors": { + "Paul Hernandez": 49, + "bm-claudeai": 33, + "phernandez": 3 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 85, + "sha256_hash": "6321577075801c99ad47a0cdc13b5aa3c9ca102a05ca8f06ae2a51125a8c43bc", + "scan_timestamp": "2025-07-29T18:02:10.107276" + }, + { + "file_path": "src/basic_memory/cli/commands/mcp.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/mcp.py", + "file_name": "mcp.py", + "file_extension": ".py", + "file_size_bytes": 2593, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.340025", + "git_created_date": "2025-02-13 15:42:50 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 15, + "contributors": { + "bm-claudeai": 28, + "phernandez": 44, + "Paul Hernandez": 5 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 77, + "sha256_hash": "3e1be3d27b18ef4743204b7cf8a37fbc2a1a91fc1636c468e08cefcd8597bac6", + "scan_timestamp": "2025-07-29T18:02:10.378211" + }, + { + "file_path": "src/basic_memory/cli/commands/import_claude_conversations.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/import_claude_conversations.py", + "file_name": "import_claude_conversations.py", + "file_extension": ".py", + "file_size_bytes": 2946, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.339053", + "git_created_date": "2025-02-16 12:47:41 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 10, + "contributors": { + "Paul Hernandez": 65, + "bm-claudeai": 16, + "phernandez": 5 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 86, + "sha256_hash": "7bc97838732bf00f4fb4a80e3ba4fdfbce8971ae85cc2ac902c3b3a3e110ae57", + "scan_timestamp": "2025-07-29T18:02:10.607640" + }, + { + "file_path": "src/basic_memory/cli/commands/tool.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/tool.py", + "file_name": "tool.py", + "file_extension": ".py", + "file_size_bytes": 9540, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.070903", + "git_created_date": "2025-03-05 18:46:04 -0600", + "git_last_modified": "2025-06-09 15:38:59 -0500", + "git_commit_count": 13, + "contributors": { + "Paul Hernandez": 117, + "phernandez": 126, + "github-actions[bot]": 27 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 270, + "sha256_hash": "9b2fa400b9f7921bf55b602f8bbdfa36b1ec7e4a5bc8fe7b9838b92e31f0a9ed", + "scan_timestamp": "2025-07-29T18:02:10.871343" + }, + { + "file_path": "src/basic_memory/cli/commands/project.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/project.py", + "file_name": "project.py", + "file_extension": ".py", + "file_size_bytes": 12252, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.068945", + "git_created_date": "2025-03-05 18:46:04 -0600", + "git_last_modified": "2025-06-19 21:24:51 -0500", + "git_commit_count": 11, + "contributors": { + "Paul Hernandez": 75, + "phernandez": 156, + "bm-claudeai": 67 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 298, + "sha256_hash": "f4e256a15f644a42de3c44d43f136cd2fe5871e5cb80f58ed9f538e598a73fd8", + "scan_timestamp": "2025-07-29T18:02:11.111717" + }, + { + "file_path": "src/basic_memory/cli/commands/status.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/cli/commands/status.py", + "file_name": "status.py", + "file_extension": ".py", + "file_size_bytes": 5809, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.340324", + "git_created_date": "2024-12-26 13:32:47 -0600", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 29, + "contributors": { + "phernandez": 125, + "bm-claudeai": 17, + "Paul Hernandez": 13 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 155, + "sha256_hash": "b6d0ea237d714d054f69b24a2058beba74e224a2fa4a80a525d62a2aa2ea2d70", + "scan_timestamp": "2025-07-29T18:02:11.335199" + }, + { + "file_path": "src/basic_memory/schemas/delete.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/delete.py", + "file_name": "delete.py", + "file_extension": ".py", + "file_size_bytes": 1180, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.502563", + "git_created_date": "2024-12-17 07:52:29 -0600", + "git_last_modified": "2025-02-18 19:08:46 -0600", + "git_commit_count": 12, + "contributors": { + "phernandez": 36, + "Paul Hernandez": 1 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 37, + "sha256_hash": "50047624af7d58c8f780ffb2a065a51c3dde64492f9534917fc42860813e59fc", + "scan_timestamp": "2025-07-29T18:02:11.568862" + }, + { + "file_path": "src/basic_memory/schemas/importer.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/importer.py", + "file_name": "importer.py", + "file_extension": ".py", + "file_size_bytes": 663, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.505502", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 34 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 34, + "sha256_hash": "14087e446c6e8455b6af3dc7171c0bcc43493a21a06d3476854797659a4cdce0", + "scan_timestamp": "2025-07-29T18:02:11.787598" + }, + { + "file_path": "src/basic_memory/schemas/memory.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/memory.py", + "file_name": "memory.py", + "file_extension": ".py", + "file_size_bytes": 5833, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.083167", + "git_created_date": "2025-01-15 18:31:33 -0600", + "git_last_modified": "2025-06-25 12:57:31 -0500", + "git_commit_count": 24, + "contributors": { + "phernandez": 146, + "Paul Hernandez": 24, + "Drew Cain": 1, + "bm-claudeai": 26 + }, + "primary_author": "phernandez", + "contributor_count": 4, + "total_author_lines": 197, + "sha256_hash": "acb4a953a553feca672c4895798a7d948ec51f922f75b66dd7d55716e3bebed3", + "scan_timestamp": "2025-07-29T18:02:12.021646" + }, + { + "file_path": "src/basic_memory/schemas/request.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/request.py", + "file_name": "request.py", + "file_extension": ".py", + "file_size_bytes": 3760, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.511789", + "git_created_date": "2024-12-17 07:52:29 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 29, + "contributors": { + "phernandez": 54, + "Paul Hernandez": 58 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 112, + "sha256_hash": "32fe44beb2d99452223ebf1d3a3a3fe105ef92c79885023b71dfd7db30ecc503", + "scan_timestamp": "2025-07-29T18:02:12.265158" + }, + { + "file_path": "src/basic_memory/schemas/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 1674, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.514555", + "git_created_date": "2024-12-17 07:52:29 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 18, + "contributors": { + "phernandez": 61, + "Paul Hernandez": 13, + "bm-claudeai": 6 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 80, + "sha256_hash": "98480815c75379bfafe32d2090e87fa40e73caa19b664fbd5db5ea9528ba58cb", + "scan_timestamp": "2025-07-29T18:02:12.486733" + }, + { + "file_path": "src/basic_memory/schemas/response.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/response.py", + "file_name": "response.py", + "file_extension": ".py", + "file_size_bytes": 6450, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.083478", + "git_created_date": "2024-12-17 07:52:29 -0600", + "git_last_modified": "2025-06-26 15:58:19 -0500", + "git_commit_count": 32, + "contributors": { + "phernandez": 212, + "Paul Hernandez": 17 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 229, + "sha256_hash": "5eea4660a2abe48d83ed083d1c2483fdcfb403e0b504f03c14d22f1cae866abb", + "scan_timestamp": "2025-07-29T18:02:12.712228" + }, + { + "file_path": "src/basic_memory/schemas/project_info.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/project_info.py", + "file_name": "project_info.py", + "file_extension": ".py", + "file_size_bytes": 7047, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.083248", + "git_created_date": "2025-03-05 23:44:28 -0600", + "git_last_modified": "2025-06-11 18:19:17 -0500", + "git_commit_count": 5, + "contributors": { + "Paul Hernandez": 114, + "bm-claudeai": 96, + "phernandez": 2 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 212, + "sha256_hash": "7dc3635297b6e7fe6e3262b2d78da26f7a79a846a4cecd5624f2e4828979cf2c", + "scan_timestamp": "2025-07-29T18:02:12.952367" + }, + { + "file_path": "src/basic_memory/schemas/search.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/search.py", + "file_name": "search.py", + "file_extension": ".py", + "file_size_bytes": 3657, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.522804", + "git_created_date": "2025-01-04 16:37:02 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 24, + "contributors": { + "phernandez": 78, + "Paul Hernandez": 31, + "github-actions[bot]": 2, + "bm-claudeai": 1 + }, + "primary_author": "phernandez", + "contributor_count": 4, + "total_author_lines": 112, + "sha256_hash": "cb032c0c60102b6b0ed934f995cf9d6bf93aece296d71d537a75e8ae61c75afe", + "scan_timestamp": "2025-07-29T18:02:13.164455" + }, + { + "file_path": "src/basic_memory/schemas/prompt.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/prompt.py", + "file_name": "prompt.py", + "file_extension": ".py", + "file_size_bytes": 3648, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.525753", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 90 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 90, + "sha256_hash": "4a92157d9a6b413f04e6e3f8d23dc2a417369c729f9703a8de2643ec114f2071", + "scan_timestamp": "2025-07-29T18:02:13.413353" + }, + { + "file_path": "src/basic_memory/schemas/directory.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/directory.py", + "file_name": "directory.py", + "file_extension": ".py", + "file_size_bytes": 881, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.529023", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 30 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 30, + "sha256_hash": "17dfcbac9a91a9bfe43b4f060ca2735cb6f69e16d81b63dd554a397830ff29fe", + "scan_timestamp": "2025-07-29T18:02:13.641160" + }, + { + "file_path": "src/basic_memory/schemas/base.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/schemas/base.py", + "file_name": "base.py", + "file_extension": ".py", + "file_size_bytes": 6738, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.082193", + "git_created_date": "2024-12-17 07:52:29 -0600", + "git_last_modified": "2025-06-05 15:51:11 -0500", + "git_commit_count": 31, + "contributors": { + "phernandez": 184, + "Paul Hernandez": 25 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 209, + "sha256_hash": "171f7b0c4ab33abef2f7379eb1e3bda950586ce7edff83907fd12255f84e267e", + "scan_timestamp": "2025-07-29T18:02:13.891768" + }, + { + "file_path": "src/basic_memory/api/template_loader.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/template_loader.py", + "file_name": "template_loader.py", + "file_extension": ".py", + "file_size_bytes": 8607, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.576132", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 292 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 292, + "sha256_hash": "7b16d3797c89460c8b1664a335eae8c634fb5f60d6166d97e6a5156b776b6d83", + "scan_timestamp": "2025-07-29T18:02:14.175726" + }, + { + "file_path": "src/basic_memory/api/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 72, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.579981", + "git_created_date": "2024-12-14 09:33:18 -0600", + "git_last_modified": "2025-02-12 08:23:10 -0600", + "git_commit_count": 2, + "contributors": { + "phernandez": 3, + "Paul Hernandez": 2 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 5, + "sha256_hash": "c02a63fb6d63d43d0acca97d425eae9cb055158d0ad6e1a9fc57926512adaa99", + "scan_timestamp": "2025-07-29T18:02:14.435921" + }, + { + "file_path": "src/basic_memory/api/app.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/app.py", + "file_name": "app.py", + "file_extension": ".py", + "file_size_bytes": 2897, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.337081", + "git_created_date": "2024-12-14 09:33:18 -0600", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 35, + "contributors": { + "phernandez": 36, + "bm-claudeai": 37, + "Paul Hernandez": 19 + }, + "primary_author": "bm-claudeai", + "contributor_count": 3, + "total_author_lines": 92, + "sha256_hash": "ad673ac2c09410af5830f6afdffaa28b0040480dacd52ff01750b8b2c066e8cf", + "scan_timestamp": "2025-07-29T18:02:14.651692" + }, + { + "file_path": "src/basic_memory/api/routers/search_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/search_router.py", + "file_name": "search_router.py", + "file_extension": ".py", + "file_size_bytes": 1226, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.543020", + "git_created_date": "2025-01-04 17:16:47 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 8, + "contributors": { + "phernandez": 27, + "Paul Hernandez": 6, + "bm-claudeai": 3 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 36, + "sha256_hash": "183eb68e50904e22ff54db1d89b8be6f57fa1f8d0a096a3d497d8297b607e105", + "scan_timestamp": "2025-07-29T18:02:15.316583" + }, + { + "file_path": "src/basic_memory/api/routers/management_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/management_router.py", + "file_name": "management_router.py", + "file_extension": ".py", + "file_size_bytes": 2730, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.337438", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 4, + "contributors": { + "bm-claudeai": 76, + "phernandez": 4 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 80, + "sha256_hash": "cdbce294dcec6146c56c4dae15744cdf77039fd21b23eef7cbc0b5f9bfb5f4ee", + "scan_timestamp": "2025-07-29T18:02:15.589424" + }, + { + "file_path": "src/basic_memory/api/routers/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 398, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.549416", + "git_created_date": "2024-12-14 09:33:18 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 12, + "contributors": { + "phernandez": 7, + "bm-claudeai": 4 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 11, + "sha256_hash": "4443b908a43dea8e6fb4658009cb08c48a56c9b21449e29773cdd159b59cf014", + "scan_timestamp": "2025-07-29T18:02:15.839333" + }, + { + "file_path": "src/basic_memory/api/routers/prompt_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/prompt_router.py", + "file_name": "prompt_router.py", + "file_extension": ".py", + "file_size_bytes": 9948, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.065221", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-05 15:51:11 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 258, + "phernandez": 2 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 260, + "sha256_hash": "e30c6aebe35112054933c37d0b462c3750005030fc9e44c23b35b2cd2a93485c", + "scan_timestamp": "2025-07-29T18:02:16.104283" + }, + { + "file_path": "src/basic_memory/api/routers/project_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/project_router.py", + "file_name": "project_router.py", + "file_extension": ".py", + "file_size_bytes": 8239, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.064866", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-05 15:51:11 -0500", + "git_commit_count": 5, + "contributors": { + "bm-claudeai": 137, + "phernandez": 15, + "Paul Hernandez": 82 + }, + "primary_author": "bm-claudeai", + "contributor_count": 3, + "total_author_lines": 234, + "sha256_hash": "7171b1e9564c83aee3773322d577fc4a876db9e108d38c51c2d8aff7281fd818", + "scan_timestamp": "2025-07-29T18:02:16.375897" + }, + { + "file_path": "src/basic_memory/api/routers/utils.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/utils.py", + "file_name": "utils.py", + "file_extension": ".py", + "file_size_bytes": 5159, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.079143", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-25 12:57:31 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 129, + "Drew Cain": 1 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 130, + "sha256_hash": "9e60f57da24e1dc9d64236c26a7a2353003dc618a77fbeb853c494aa3357a57c", + "scan_timestamp": "2025-07-29T18:02:16.806220" + }, + { + "file_path": "src/basic_memory/api/routers/importer_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/importer_router.py", + "file_name": "importer_router.py", + "file_extension": ".py", + "file_size_bytes": 4513, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.561600", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 152 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 152, + "sha256_hash": "c45502a2b90f5a8f00174c9ad14adc2e65cd7fc0a33d9740a9d750207f0f3bea", + "scan_timestamp": "2025-07-29T18:02:17.057687" + }, + { + "file_path": "src/basic_memory/api/routers/knowledge_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/knowledge_router.py", + "file_name": "knowledge_router.py", + "file_extension": ".py", + "file_size_bytes": 9738, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.064119", + "git_created_date": "2024-12-25 10:25:48 -0600", + "git_last_modified": "2025-06-05 12:26:15 -0500", + "git_commit_count": 54, + "contributors": { + "phernandez": 128, + "Paul Hernandez": 145, + "bm-claudeai": 17 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 290, + "sha256_hash": "e1d0ffb4fa5c246582ba844a11b417092de1a173567be55b7060bbc55fbc5681", + "scan_timestamp": "2025-07-29T18:02:17.307955" + }, + { + "file_path": "src/basic_memory/api/routers/directory_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/directory_router.py", + "file_name": "directory_router.py", + "file_extension": ".py", + "file_size_bytes": 2054, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.567371", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 28, + "Paul Hernandez": 35 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 63, + "sha256_hash": "ac1407beec1f7d43a4d222af704b3642559c960bebf2eaf6e1ffe91f7fac5514", + "scan_timestamp": "2025-07-29T18:02:17.538503" + }, + { + "file_path": "src/basic_memory/api/routers/resource_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/resource_router.py", + "file_name": "resource_router.py", + "file_extension": ".py", + "file_size_bytes": 8058, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.570399", + "git_created_date": "2025-01-19 20:07:20 -0600", + "git_last_modified": "2025-02-27 20:48:56 -0600", + "git_commit_count": 9, + "contributors": { + "phernandez": 34, + "Paul Hernandez": 191 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 225, + "sha256_hash": "584244a84698ff24ca8f9f94fab5b891740a51c25f972920c08ebf83f478d5c9", + "scan_timestamp": "2025-07-29T18:02:17.792230" + }, + { + "file_path": "src/basic_memory/api/routers/memory_router.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/api/routers/memory_router.py", + "file_name": "memory_router.py", + "file_extension": ".py", + "file_size_bytes": 3003, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.064510", + "git_created_date": "2025-01-15 18:31:33 -0600", + "git_last_modified": "2025-06-05 15:51:11 -0500", + "git_commit_count": 20, + "contributors": { + "phernandez": 81, + "bm-claudeai": 3, + "Paul Hernandez": 6 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 90, + "sha256_hash": "6bd0a7c775e0c1290efb6001173237c0cdcfa0c1b1bb27c9145a7b35f1596a97", + "scan_timestamp": "2025-07-29T18:02:18.022510" + }, + { + "file_path": "src/basic_memory/templates/prompts/continue_conversation.hbs", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/templates/prompts/continue_conversation.hbs", + "file_name": "continue_conversation.hbs", + "file_extension": ".hbs", + "file_size_bytes": 3076, + "category": "Templates/Resources", + "fs_modified_date": "2025-07-01T08:33:22.086792", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-17 22:15:14 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 109, + "Drew Cain": 1 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 110, + "sha256_hash": "b6bac31d25c0e52d0909b2273285092f4e31bc219107f92ed511cd407b65e992", + "scan_timestamp": "2025-07-29T18:02:18.257451" + }, + { + "file_path": "src/basic_memory/templates/prompts/search.hbs", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/templates/prompts/search.hbs", + "file_name": "search.hbs", + "file_extension": ".hbs", + "file_size_bytes": 3098, + "category": "Templates/Resources", + "fs_modified_date": "2025-05-25T10:07:54.520119", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 101 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 101, + "sha256_hash": "1f570222c1caa78542d46ac7d8a79407ca467b9bd714fa9bd953e8b72a667820", + "scan_timestamp": "2025-07-29T18:02:18.489189" + }, + { + "file_path": "src/basic_memory/alembic/script.py.mako", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/alembic/script.py.mako", + "file_name": "script.py.mako", + "file_extension": ".mako", + "file_size_bytes": 635, + "category": "Database/Migration", + "fs_modified_date": "2025-02-17T16:29:35.739659", + "git_created_date": "2025-02-12 22:12:52 -0600", + "git_last_modified": "2025-02-12 22:12:52 -0600", + "git_commit_count": 1, + "contributors": { + "Paul Hernandez": 26 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 26, + "sha256_hash": "304a8bfb6a804e5493f5300e79882c70c9f5bb2e87512f4d16f0e097dddd323f", + "scan_timestamp": "2025-07-29T18:02:18.708735" + }, + { + "file_path": "src/basic_memory/alembic/alembic.ini", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/alembic/alembic.ini", + "file_name": "alembic.ini", + "file_extension": ".ini", + "file_size_bytes": 3733, + "category": "Configuration", + "fs_modified_date": "2025-02-23T17:31:23.198433", + "git_created_date": "2025-02-22 15:05:40 -0600", + "git_last_modified": "2025-02-22 15:05:40 -0600", + "git_commit_count": 2, + "contributors": { + "phernandez": 119 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 119, + "sha256_hash": "20466c9c5f026db66793006bebb2f328a3686c7bb34da40d52f33c3eca29e717", + "scan_timestamp": "2025-07-29T18:02:18.979217" + }, + { + "file_path": "src/basic_memory/alembic/migrations.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/alembic/migrations.py", + "file_name": "migrations.py", + "file_extension": ".py", + "file_size_bytes": 718, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.613806", + "git_created_date": "2025-02-12 22:12:52 -0600", + "git_last_modified": "2025-03-05 18:46:04 -0600", + "git_commit_count": 2, + "contributors": { + "Paul Hernandez": 24 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 24, + "sha256_hash": "96b8873d70dd04b48d5c45b7413a54d1224ab9577557ef0dad5929377a9fb144", + "scan_timestamp": "2025-07-29T18:02:19.188614" + }, + { + "file_path": "src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py", + "file_name": "3dae7c7b1564_initial_schema.py", + "file_extension": ".py", + "file_size_bytes": 4363, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.595762", + "git_created_date": "2025-02-12 22:12:52 -0600", + "git_last_modified": "2025-02-12 22:12:52 -0600", + "git_commit_count": 1, + "contributors": { + "Paul Hernandez": 93 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 93, + "sha256_hash": "9536d69409ddd5eb3bc54f7d0e82607da45ed7f2ad7bc4cbf7cae2a9e28657cd", + "scan_timestamp": "2025-07-29T18:02:19.420589" + }, + { + "file_path": "src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py", + "file_name": "b3c3938bacdb_relation_to_name_unique_index.py", + "file_extension": ".py", + "file_size_bytes": 1428, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.598551", + "git_created_date": "2025-02-22 15:05:40 -0600", + "git_last_modified": "2025-02-24 22:13:15 -0600", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 44 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 44, + "sha256_hash": "46c1b2990cdf4575752d234a8b28b494c8a54f15b5360c12f6347aef27b66a92", + "scan_timestamp": "2025-07-29T18:02:19.651903" + }, + { + "file_path": "src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py", + "file_name": "5fe1ab1ccebe_add_projects_table.py", + "file_extension": ".py", + "file_size_bytes": 4379, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.601299", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 1, + "contributors": { + "bm-claudeai": 108 + }, + "primary_author": "bm-claudeai", + "contributor_count": 1, + "total_author_lines": 108, + "sha256_hash": "d82098f5aca3cdbada60c7229ea4ac262f527349eed9ef9e864509bacfaccf7e", + "scan_timestamp": "2025-07-29T18:02:19.888291" + }, + { + "file_path": "src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py", + "file_name": "502b60eaa905_remove_required_from_entity_permalink.py", + "file_extension": ".py", + "file_size_bytes": 1840, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.604717", + "git_created_date": "2025-02-24 22:13:15 -0600", + "git_last_modified": "2025-02-24 22:13:15 -0600", + "git_commit_count": 1, + "contributors": { + "Paul Hernandez": 51 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 51, + "sha256_hash": "93ac584e660f33d468b3eec203b070641298c282bf82655d0beda7f050237681", + "scan_timestamp": "2025-07-29T18:02:20.117791" + }, + { + "file_path": "src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py", + "file_name": "647e7a75e2cd_project_constraint_fix.py", + "file_extension": ".py", + "file_size_bytes": 4210, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.063463", + "git_created_date": "2025-06-03 14:23:15 -0500", + "git_last_modified": "2025-06-03 14:23:15 -0500", + "git_commit_count": 1, + "contributors": { + "phernandez": 104 + }, + "primary_author": "phernandez", + "contributor_count": 1, + "total_author_lines": 104, + "sha256_hash": "604ac5908a5976272f52297866d13abb14a99390590935d9fd37cf13e32049fa", + "scan_timestamp": "2025-07-29T18:02:20.361076" + }, + { + "file_path": "src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py", + "file_name": "cc7172b46608_update_search_index_schema.py", + "file_extension": ".py", + "file_size_bytes": 3679, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.610909", + "git_created_date": "2025-02-28 20:23:53 -0600", + "git_last_modified": "2025-06-03 09:08:17 -0500", + "git_commit_count": 3, + "contributors": { + "Paul Hernandez": 100 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 1, + "total_author_lines": 100, + "sha256_hash": "9036af47d42ac7dc12bb93f7a9de1266aff0688b031b550c4e0d92983a24b4c5", + "scan_timestamp": "2025-07-29T18:02:20.598236" + }, + { + "file_path": "src/basic_memory/sync/background_sync.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/sync/background_sync.py", + "file_name": "background_sync.py", + "file_extension": ".py", + "file_size_bytes": 726, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.345062", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-07-06 16:53:23 -0500", + "git_commit_count": 3, + "contributors": { + "bm-claudeai": 22, + "phernandez": 4 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 26, + "sha256_hash": "549af64ae91128b76c6df07ef517b82de85ca4ad796be44b5c0141fac01d4513", + "scan_timestamp": "2025-07-29T18:02:20.837951" + }, + { + "file_path": "src/basic_memory/sync/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/sync/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 156, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.621137", + "git_created_date": "2025-01-04 19:20:54 -0600", + "git_last_modified": "2025-02-24 22:13:15 -0600", + "git_commit_count": 27, + "contributors": { + "Paul Hernandez": 3, + "phernandez": 3 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 2, + "total_author_lines": 6, + "sha256_hash": "0951e0b981f8e7b876bb6c6833c2af3a29490bbd5726567ea9487c947723623e", + "scan_timestamp": "2025-07-29T18:02:21.101950" + }, + { + "file_path": "src/basic_memory/sync/watch_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/sync/watch_service.py", + "file_name": "watch_service.py", + "file_extension": ".py", + "file_size_bytes": 15316, + "category": "Source Code", + "fs_modified_date": "2025-06-26T09:28:51.859209", + "git_created_date": "2025-02-02 16:35:46 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 15, + "contributors": { + "phernandez": 74, + "bm-claudeai": 63, + "Paul Hernandez": 260 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 397, + "sha256_hash": "240ba6ac7523575945f4db442b7da3820d26c9605f2d7a2d357c4e35e215f523", + "scan_timestamp": "2025-07-29T18:02:21.356986" + }, + { + "file_path": "src/basic_memory/sync/sync_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/sync/sync_service.py", + "file_name": "sync_service.py", + "file_extension": ".py", + "file_size_bytes": 23387, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.086507", + "git_created_date": "2025-01-04 19:20:54 -0600", + "git_last_modified": "2025-06-09 15:15:05 -0500", + "git_commit_count": 55, + "contributors": { + "phernandez": 142, + "Paul Hernandez": 431, + "bm-claudeai": 8, + "github-actions[bot]": 7 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 4, + "total_author_lines": 588, + "sha256_hash": "0310b927561370f593980d07773bce641b618b8fbf2d9e3890d174290a0344fc", + "scan_timestamp": "2025-07-29T18:02:21.607173" + }, + { + "file_path": "src/basic_memory/services/service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/service.py", + "file_name": "service.py", + "file_extension": ".py", + "file_size_bytes": 336, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.636167", + "git_created_date": "2024-12-19 19:10:29 -0600", + "git_last_modified": "2025-02-12 22:39:22 -0600", + "git_commit_count": 5, + "contributors": { + "phernandez": 13, + "Paul Hernandez": 2 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 15, + "sha256_hash": "57e77ff20395d3bcc62100e92fe2acaacdd937d977a9fdc764e2b57ff60d4da8", + "scan_timestamp": "2025-07-29T18:02:21.853808" + }, + { + "file_path": "src/basic_memory/services/link_resolver.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/link_resolver.py", + "file_name": "link_resolver.py", + "file_extension": ".py", + "file_size_bytes": 4594, + "category": "Source Code", + "fs_modified_date": "2025-07-01T08:33:22.084908", + "git_created_date": "2025-01-12 17:44:26 -0600", + "git_last_modified": "2025-06-04 23:57:01 -0500", + "git_commit_count": 21, + "contributors": { + "phernandez": 84, + "Paul Hernandez": 28, + "bm-claudeai": 2, + "github-actions[bot]": 6 + }, + "primary_author": "phernandez", + "contributor_count": 4, + "total_author_lines": 120, + "sha256_hash": "d7efd516cbea753e6b5411def09aeaeb7539f5743487119ecf163c736e138a8c", + "scan_timestamp": "2025-07-29T18:02:22.084250" + }, + { + "file_path": "src/basic_memory/services/file_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/file_service.py", + "file_name": "file_service.py", + "file_extension": ".py", + "file_size_bytes": 10059, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.641785", + "git_created_date": "2024-12-22 21:20:50 -0600", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 33, + "contributors": { + "phernandez": 95, + "Paul Hernandez": 193, + "bm-claudeai": 4 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 3, + "total_author_lines": 292, + "sha256_hash": "8c2ae69c4913438b7d1c5ecbfcce812fbb5d0ea8e3cedcbd8694e8f40cf086f3", + "scan_timestamp": "2025-07-29T18:02:22.351781" + }, + { + "file_path": "src/basic_memory/services/project_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/project_service.py", + "file_name": "project_service.py", + "file_extension": ".py", + "file_size_bytes": 28386, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.344780", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 16, + "contributors": { + "bm-claudeai": 448, + "Paul Hernandez": 28, + "phernandez": 235 + }, + "primary_author": "bm-claudeai", + "contributor_count": 3, + "total_author_lines": 711, + "sha256_hash": "68eeaed353b09655abc92aac8a118a9e9e6e633eeead75dc5bc44a5ce361c44d", + "scan_timestamp": "2025-07-29T18:02:22.608633" + }, + { + "file_path": "src/basic_memory/services/directory_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/directory_service.py", + "file_name": "directory_service.py", + "file_extension": ".py", + "file_size_bytes": 6017, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.648501", + "git_created_date": "2025-05-25 10:07:34 -0500", + "git_last_modified": "2025-06-03 01:00:40 -0500", + "git_commit_count": 2, + "contributors": { + "bm-claudeai": 88, + "Paul Hernandez": 79 + }, + "primary_author": "bm-claudeai", + "contributor_count": 2, + "total_author_lines": 167, + "sha256_hash": "fd838f5ec79033892777b3c8140868f4b57f13e1658d513959524a434b9f959b", + "scan_timestamp": "2025-07-29T18:02:22.886449" + }, + { + "file_path": "src/basic_memory/services/sync_status_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/sync_status_service.py", + "file_name": "sync_status_service.py", + "file_extension": ".py", + "file_size_bytes": 7504, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.084229", + "git_created_date": "2025-06-04 22:24:10 -0500", + "git_last_modified": "2025-06-26 13:54:26 -0500", + "git_commit_count": 3, + "contributors": { + "phernandez": 181, + "Paul Hernandez": 17 + }, + "primary_author": "phernandez", + "contributor_count": 2, + "total_author_lines": 198, + "sha256_hash": "0a025d689e8e16f1632872104952105fc904537f3d32bcff592eb1f1dc76fbb7", + "scan_timestamp": "2025-07-29T18:02:23.154358" + }, + { + "file_path": "src/basic_memory/services/__init__.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/__init__.py", + "file_name": "__init__.py", + "file_extension": ".py", + "file_size_bytes": 259, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.655059", + "git_created_date": "2024-12-05 20:54:12 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 19, + "contributors": { + "phernandez": 5, + "Paul Hernandez": 1, + "bm-claudeai": 2 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 8, + "sha256_hash": "5c6b7c597ddf5ffd0af4bdfb32ccbc1c5f2794c658206dee43a9945fafe226d8", + "scan_timestamp": "2025-07-29T18:02:23.391365" + }, + { + "file_path": "src/basic_memory/services/entity_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/entity_service.py", + "file_name": "entity_service.py", + "file_extension": ".py", + "file_size_bytes": 30440, + "category": "Source Code", + "fs_modified_date": "2025-07-03T18:43:10.083956", + "git_created_date": "2024-12-05 20:54:12 -0600", + "git_last_modified": "2025-06-25 22:32:05 -0500", + "git_commit_count": 72, + "contributors": { + "phernandez": 268, + "Paul Hernandez": 440, + "bm-claudeai": 7, + "Drew Cain": 8, + "github-actions[bot]": 1 + }, + "primary_author": "Paul Hernandez", + "contributor_count": 5, + "total_author_lines": 724, + "sha256_hash": "7cd5163eca6b8a0772e838c8c869e478166763cd6a2d745b0b9aa5c25a65baee", + "scan_timestamp": "2025-07-29T18:02:23.641888" + }, + { + "file_path": "src/basic_memory/services/initialization.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/initialization.py", + "file_name": "initialization.py", + "file_extension": ".py", + "file_size_bytes": 6715, + "category": "Source Code", + "fs_modified_date": "2025-07-08T20:39:18.344482", + "git_created_date": "2025-04-07 17:45:26 -0500", + "git_last_modified": "2025-07-06 18:50:06 -0500", + "git_commit_count": 9, + "contributors": { + "Paul Hernandez": 80, + "bm-claudeai": 81, + "Drew Cain": 8, + "phernandez": 13 + }, + "primary_author": "bm-claudeai", + "contributor_count": 4, + "total_author_lines": 182, + "sha256_hash": "4dde58b799cf4ac90631e59949b55b3355a93bdf99df0d9c2408c0cea67e10c4", + "scan_timestamp": "2025-07-29T18:02:23.891929" + }, + { + "file_path": "src/basic_memory/services/search_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/search_service.py", + "file_name": "search_service.py", + "file_extension": ".py", + "file_size_bytes": 12782, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.665439", + "git_created_date": "2025-01-04 16:37:02 -0600", + "git_last_modified": "2025-06-03 09:08:17 -0500", + "git_commit_count": 48, + "contributors": { + "phernandez": 182, + "Paul Hernandez": 163, + "bm-claudeai": 10 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 355, + "sha256_hash": "7392b2d2e7f3ed83c5807855ccd450e0e79c17f254aedee700bce9323a1b5b83", + "scan_timestamp": "2025-07-29T18:02:24.146377" + }, + { + "file_path": "src/basic_memory/services/exceptions.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/exceptions.py", + "file_name": "exceptions.py", + "file_extension": ".py", + "file_size_bytes": 390, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.668908", + "git_created_date": "2024-12-22 09:22:02 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 4, + "contributors": { + "phernandez": 15, + "Paul Hernandez": 1, + "bm-claudeai": 6 + }, + "primary_author": "phernandez", + "contributor_count": 3, + "total_author_lines": 22, + "sha256_hash": "a158d0af9d1742a9c5ab5f8c34a062948d9286d1c3c72a5abf20e4d547b21e1c", + "scan_timestamp": "2025-07-29T18:02:24.393898" + }, + { + "file_path": "src/basic_memory/services/context_service.py", + "full_path": "/Users/phernandez/dev/basicmachines/basic-memory/src/basic_memory/services/context_service.py", + "file_name": "context_service.py", + "file_extension": ".py", + "file_size_bytes": 14462, + "category": "Source Code", + "fs_modified_date": "2025-06-21T00:01:59.672086", + "git_created_date": "2025-01-14 22:37:55 -0600", + "git_last_modified": "2025-05-25 10:07:34 -0500", + "git_commit_count": 32, + "contributors": { + "phernandez": 144, + "bm-claudeai": 208, + "Paul Hernandez": 49 + }, + "primary_author": "bm-claudeai", + "contributor_count": 3, + "total_author_lines": 401, + "sha256_hash": "e1178b005e6a89f03d6b239e3c6b152aeb30d535a3f280734440a3aec16228f2", + "scan_timestamp": "2025-07-29T18:02:24.639473" + } + ] +} \ No newline at end of file diff --git a/legal_inventory_sample.md b/legal_inventory_sample.md new file mode 100644 index 00000000..b6791a51 --- /dev/null +++ b/legal_inventory_sample.md @@ -0,0 +1,294 @@ +# Basic Memory - Legal File Inventory + +**Generated:** 2025-07-29T16:10:54.745774 + +**Repository:** /Users/phernandez/dev/basicmachines/basic-memory + +## Summary Statistics + +- **Total Files:** 255 +- **Total Contributors:** 12 + +### Files by Category + +- **Build/Deployment:** 2 files +- **Configuration:** 6 files +- **Database/Migration:** 1 files +- **Documentation:** 6 files +- **Legal/License:** 3 files +- **Other:** 13 files +- **Source Code:** 222 files +- **Templates/Resources:** 2 files + +### Top Contributors by Files Modified + +- **phernandez:** 190 files +- **Paul Hernandez:** 181 files +- **bm-claudeai:** 135 files +- **Drew Cain:** 24 files +- **github-actions[bot]:** 20 files +- **Amadeusz Wieczorek:** 2 files +- **semantic-release:** 1 files +- **Jason Noble:** 1 files +- **Marc Baiza:** 1 files +- **Matias Forbord:** 1 files + +## Detailed File Inventory + +| File Path | Category | Size (bytes) | Primary Author | Contributors | +|-----------|----------|--------------|----------------|-------------| +| .claude/commands/release/beta.md | Other | 3103 | phernandez | phernandez | +| .claude/commands/release/changelog.md | Documentation | 4648 | phernandez | phernandez | +| .claude/commands/release/release-check.md | Other | 3344 | phernandez | phernandez | +| .claude/commands/release/release.md | Other | 2925 | phernandez | phernandez | +| .claude/commands/test-live.md | Other | 18720 | phernandez | phernandez | +| .claude/settings.local.json | Configuration | 3122 | Unknown | | +| .dockerignore | Other | 623 | Paul Hernandez | Paul Hernandez | +| .python-version | Other | 5 | phernandez | phernandez | +| CHANGELOG.md | Documentation | 53647 | semantic-release | semantic-release, phernandez | +| CITATION.cff | Legal/License | 302 | phernandez | phernandez | +| CLA.md | Legal/License | 1342 | phernandez | phernandez | +| CLAUDE.md | Other | 12310 | Paul Hernandez | Paul Hernandez, phernandez, Ikko Eltociear Ashimin... | +| CODE_OF_CONDUCT.md | Other | 509 | phernandez | phernandez | +| CONTRIBUTING.md | Documentation | 7241 | phernandez | phernandez, Paul Hernandez | +| Dockerfile | Build/Deployment | 856 | Paul Hernandez | Paul Hernandez, bm-claudeai | +| LICENSE | Legal/License | 34523 | Paul Hernandez | Paul Hernandez | +| README.md | Documentation | 16261 | phernandez | phernandez, bm-claudeai, Paul Hernandez, Jason Nob... | +| SECURITY.md | Other | 303 | Paul Hernandez | Paul Hernandez | +| docker-compose.yml | Configuration | 2534 | Paul Hernandez | Paul Hernandez, phernandez | +| docs/AI Assistant Guide.md | Documentation | 16423 | Paul Hernandez | Paul Hernandez, phernandez | +| docs/Docker.md | Documentation | 9088 | Paul Hernandez | Paul Hernandez, phernandez | +| justfile | Build/Deployment | 5371 | phernandez | phernandez, Drew Cain | +| legal_file_inventory.py | Source Code | 17407 | Unknown | | +| llms-install.md | Other | 2307 | phernandez | phernandez | +| memory.json | Configuration | 90075 | phernandez | phernandez | +| pyproject.toml | Configuration | 3279 | phernandez | phernandez, Paul Hernandez, bm-claudeai, Drew Cain... | +| smithery.yaml | Configuration | 433 | bm-claudeai | bm-claudeai | +| src/basic_memory/__init__.py | Source Code | 256 | phernandez | phernandez | +| src/basic_memory/alembic/alembic.ini | Configuration | 3733 | phernandez | phernandez | +| src/basic_memory/alembic/migrations.py | Source Code | 718 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/alembic/script.py.mako | Database/Migration | 635 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py | Source Code | 4363 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py | Source Code | 1840 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py | Source Code | 4379 | bm-claudeai | bm-claudeai | +| src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py | Source Code | 4210 | phernandez | phernandez | +| src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py | Source Code | 1428 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py | Source Code | 3679 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/api/__init__.py | Source Code | 72 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/api/app.py | Source Code | 2897 | bm-claudeai | phernandez, bm-claudeai, Paul Hernandez | +| src/basic_memory/api/routers/__init__.py | Source Code | 398 | phernandez | phernandez, bm-claudeai | +| src/basic_memory/api/routers/directory_router.py | Source Code | 2054 | Paul Hernandez | bm-claudeai, Paul Hernandez | +| src/basic_memory/api/routers/importer_router.py | Source Code | 4513 | bm-claudeai | bm-claudeai | +| src/basic_memory/api/routers/knowledge_router.py | Source Code | 9738 | Paul Hernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/api/routers/management_router.py | Source Code | 2730 | bm-claudeai | bm-claudeai, phernandez | +| src/basic_memory/api/routers/memory_router.py | Source Code | 3003 | phernandez | phernandez, bm-claudeai, Paul Hernandez | +| src/basic_memory/api/routers/project_router.py | Source Code | 8239 | bm-claudeai | bm-claudeai, phernandez, Paul Hernandez | +| src/basic_memory/api/routers/prompt_router.py | Source Code | 9948 | bm-claudeai | bm-claudeai, phernandez | +| src/basic_memory/api/routers/resource_router.py | Source Code | 8058 | Paul Hernandez | phernandez, Paul Hernandez | +| src/basic_memory/api/routers/search_router.py | Source Code | 1226 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/api/routers/utils.py | Source Code | 5159 | bm-claudeai | bm-claudeai, Drew Cain | +| src/basic_memory/api/template_loader.py | Source Code | 8607 | bm-claudeai | bm-claudeai | +| src/basic_memory/cli/__init__.py | Source Code | 33 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/cli/app.py | Source Code | 2268 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| src/basic_memory/cli/commands/__init__.py | Source Code | 393 | Paul Hernandez | Paul Hernandez, phernandez | +| src/basic_memory/cli/commands/db.py | Source Code | 1480 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| src/basic_memory/cli/commands/import_chatgpt.py | Source Code | 2856 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| src/basic_memory/cli/commands/import_claude_conversations.py | Source Code | 2946 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| src/basic_memory/cli/commands/import_claude_projects.py | Source Code | 2891 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| src/basic_memory/cli/commands/import_memory_json.py | Source Code | 2947 | Paul Hernandez | phernandez, bm-claudeai, Paul Hernandez | +| src/basic_memory/cli/commands/mcp.py | Source Code | 2593 | phernandez | bm-claudeai, phernandez, Paul Hernandez | +| src/basic_memory/cli/commands/project.py | Source Code | 12252 | phernandez | Paul Hernandez, phernandez, bm-claudeai | +| src/basic_memory/cli/commands/status.py | Source Code | 5809 | phernandez | phernandez, bm-claudeai, Paul Hernandez | +| src/basic_memory/cli/commands/sync.py | Source Code | 8213 | phernandez | phernandez, bm-claudeai, Paul Hernandez | +| src/basic_memory/cli/commands/tool.py | Source Code | 9540 | phernandez | Paul Hernandez, phernandez, github-actions[bot] | +| src/basic_memory/cli/main.py | Source Code | 465 | Paul Hernandez | Paul Hernandez, phernandez | +| src/basic_memory/config.py | Source Code | 12620 | Paul Hernandez | phernandez, Paul Hernandez, bm-claudeai, Drew Cain... | +| src/basic_memory/db.py | Source Code | 7428 | phernandez | phernandez, Paul Hernandez, Drew Cain, bm-claudeai... | +| src/basic_memory/deps.py | Source Code | 12144 | bm-claudeai | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/file_utils.py | Source Code | 6700 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/importers/__init__.py | Source Code | 795 | bm-claudeai | bm-claudeai | +| src/basic_memory/importers/base.py | Source Code | 2531 | bm-claudeai | bm-claudeai | +| src/basic_memory/importers/chatgpt_importer.py | Source Code | 7372 | bm-claudeai | bm-claudeai | +| src/basic_memory/importers/claude_conversations_importer.py | Source Code | 5725 | bm-claudeai | bm-claudeai | +| src/basic_memory/importers/claude_projects_importer.py | Source Code | 5389 | bm-claudeai | bm-claudeai | +| src/basic_memory/importers/memory_json_importer.py | Source Code | 3986 | bm-claudeai | bm-claudeai, phernandez | +| src/basic_memory/importers/utils.py | Source Code | 1792 | bm-claudeai | bm-claudeai | +| src/basic_memory/markdown/__init__.py | Source Code | 501 | phernandez | phernandez | +| src/basic_memory/markdown/entity_parser.py | Source Code | 4516 | phernandez | phernandez, Paul Hernandez, github-actions[bot] | +| src/basic_memory/markdown/markdown_processor.py | Source Code | 4968 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/markdown/plugins.py | Source Code | 6639 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/markdown/schemas.py | Source Code | 1896 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/markdown/utils.py | Source Code | 3410 | Paul Hernandez | Paul Hernandez, phernandez | +| src/basic_memory/mcp/__init__.py | Source Code | 35 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/mcp/async_client.py | Source Code | 925 | Paul Hernandez | phernandez, Paul Hernandez | +| src/basic_memory/mcp/project_session.py | Source Code | 4203 | Paul Hernandez | Paul Hernandez, phernandez | +| src/basic_memory/mcp/prompts/__init__.py | Source Code | 615 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/mcp/prompts/ai_assistant_guide.py | Source Code | 821 | Paul Hernandez | Paul Hernandez, phernandez | +| src/basic_memory/mcp/prompts/continue_conversation.py | Source Code | 1998 | Paul Hernandez | Paul Hernandez, github-actions[bot], bm-claudeai | +| src/basic_memory/mcp/prompts/recent_activity.py | Source Code | 3311 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| src/basic_memory/mcp/prompts/search.py | Source Code | 1692 | Paul Hernandez | Paul Hernandez, bm-claudeai | +| src/basic_memory/mcp/prompts/utils.py | Source Code | 5431 | Paul Hernandez | Paul Hernandez, bm-claudeai | +| src/basic_memory/mcp/resources/ai_assistant_guide.md | Other | 14777 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/mcp/resources/project_info.py | Source Code | 1906 | Paul Hernandez | Paul Hernandez, bm-claudeai | +| src/basic_memory/mcp/server.py | Source Code | 1248 | Paul Hernandez | bm-claudeai, phernandez, Paul Hernandez | +| src/basic_memory/mcp/tools/__init__.py | Source Code | 1619 | Paul Hernandez | phernandez, Paul Hernandez, Drew Cain | +| src/basic_memory/mcp/tools/auth.py | Source Code | 1231 | phernandez | phernandez | +| src/basic_memory/mcp/tools/canvas.py | Source Code | 3738 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| src/basic_memory/mcp/tools/delete_note.py | Source Code | 7346 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/mcp/tools/edit_note.py | Source Code | 13570 | Paul Hernandez | Paul Hernandez, phernandez | +| src/basic_memory/mcp/tools/list_directory.py | Source Code | 5236 | Paul Hernandez | Paul Hernandez | +| src/basic_memory/mcp/tools/move_note.py | Source Code | 16708 | phernandez | Paul Hernandez, phernandez | +| src/basic_memory/mcp/tools/project_management.py | Source Code | 12944 | Paul Hernandez | Paul Hernandez, phernandez, Drew Cain | +| src/basic_memory/mcp/tools/read_content.py | Source Code | 8596 | Paul Hernandez | Paul Hernandez, bm-claudeai | +| src/basic_memory/mcp/tools/read_note.py | Source Code | 7614 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez, Amadeusz ... | +| src/basic_memory/mcp/tools/recent_activity.py | Source Code | 4833 | phernandez | Paul Hernandez, phernandez, bm-claudeai | +| src/basic_memory/mcp/tools/search.py | Source Code | 15883 | phernandez | phernandez, github-actions[bot], Paul Hernandez, D... | +| src/basic_memory/mcp/tools/sync_status.py | Source Code | 10517 | phernandez | phernandez | +| src/basic_memory/mcp/tools/utils.py | Source Code | 21426 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| src/basic_memory/mcp/tools/view_note.py | Source Code | 2499 | phernandez | phernandez | +| src/basic_memory/mcp/tools/write_note.py | Source Code | 6178 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| src/basic_memory/models/__init__.py | Source Code | 333 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/models/base.py | Source Code | 225 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/models/knowledge.py | Source Code | 7087 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/models/project.py | Source Code | 2773 | bm-claudeai | bm-claudeai, phernandez | +| src/basic_memory/models/search.py | Source Code | 1300 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/repository/__init__.py | Source Code | 327 | Paul Hernandez | phernandez, bm-claudeai, Paul Hernandez | +| src/basic_memory/repository/entity_repository.py | Source Code | 10405 | Drew Cain | phernandez, Paul Hernandez, Drew Cain, bm-claudeai... | +| src/basic_memory/repository/observation_repository.py | Source Code | 2943 | phernandez | phernandez, bm-claudeai | +| src/basic_memory/repository/project_info_repository.py | Source Code | 338 | Paul Hernandez | Paul Hernandez, bm-claudeai | +| src/basic_memory/repository/project_repository.py | Source Code | 3159 | bm-claudeai | bm-claudeai | +| src/basic_memory/repository/relation_repository.py | Source Code | 3179 | phernandez | phernandez, bm-claudeai | +| src/basic_memory/repository/repository.py | Source Code | 15224 | phernandez | phernandez, bm-claudeai, Paul Hernandez | +| src/basic_memory/repository/search_repository.py | Source Code | 21936 | phernandez | phernandez, Paul Hernandez, github-actions[bot], b... | +| src/basic_memory/schemas/__init__.py | Source Code | 1674 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/schemas/base.py | Source Code | 6738 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/schemas/delete.py | Source Code | 1180 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/schemas/directory.py | Source Code | 881 | bm-claudeai | bm-claudeai | +| src/basic_memory/schemas/importer.py | Source Code | 663 | bm-claudeai | bm-claudeai | +| src/basic_memory/schemas/memory.py | Source Code | 5833 | phernandez | phernandez, Paul Hernandez, Drew Cain, bm-claudeai... | +| src/basic_memory/schemas/project_info.py | Source Code | 7047 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| src/basic_memory/schemas/prompt.py | Source Code | 3648 | bm-claudeai | bm-claudeai | +| src/basic_memory/schemas/request.py | Source Code | 3760 | Paul Hernandez | phernandez, Paul Hernandez | +| src/basic_memory/schemas/response.py | Source Code | 6450 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/schemas/search.py | Source Code | 3657 | phernandez | phernandez, Paul Hernandez, github-actions[bot], b... | +| src/basic_memory/services/__init__.py | Source Code | 259 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/services/context_service.py | Source Code | 14462 | bm-claudeai | phernandez, bm-claudeai, Paul Hernandez | +| src/basic_memory/services/directory_service.py | Source Code | 6017 | bm-claudeai | bm-claudeai, Paul Hernandez | +| src/basic_memory/services/entity_service.py | Source Code | 30440 | Paul Hernandez | phernandez, Paul Hernandez, bm-claudeai, Drew Cain... | +| src/basic_memory/services/exceptions.py | Source Code | 390 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/services/file_service.py | Source Code | 10059 | Paul Hernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/services/initialization.py | Source Code | 6715 | bm-claudeai | Paul Hernandez, bm-claudeai, Drew Cain, phernandez... | +| src/basic_memory/services/link_resolver.py | Source Code | 4594 | phernandez | phernandez, Paul Hernandez, bm-claudeai, github-ac... | +| src/basic_memory/services/project_service.py | Source Code | 28386 | bm-claudeai | bm-claudeai, Paul Hernandez, phernandez | +| src/basic_memory/services/search_service.py | Source Code | 12782 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| src/basic_memory/services/service.py | Source Code | 336 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/services/sync_status_service.py | Source Code | 7504 | phernandez | phernandez, Paul Hernandez | +| src/basic_memory/sync/__init__.py | Source Code | 156 | Paul Hernandez | Paul Hernandez, phernandez | +| src/basic_memory/sync/background_sync.py | Source Code | 726 | bm-claudeai | bm-claudeai, phernandez | +| src/basic_memory/sync/sync_service.py | Source Code | 23387 | Paul Hernandez | phernandez, Paul Hernandez, bm-claudeai, github-ac... | +| src/basic_memory/sync/watch_service.py | Source Code | 15316 | Paul Hernandez | phernandez, bm-claudeai, Paul Hernandez | +| src/basic_memory/templates/prompts/continue_conversation.hbs | Templates/Resources | 3076 | bm-claudeai | bm-claudeai, Drew Cain | +| src/basic_memory/templates/prompts/search.hbs | Templates/Resources | 3098 | bm-claudeai | bm-claudeai | +| src/basic_memory/utils.py | Source Code | 7657 | phernandez | phernandez, Paul Hernandez, andyxinweiminicloud, D... | +| test-int/conftest.py | Source Code | 8203 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_delete_note_integration.py | Source Code | 13175 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_edit_note_integration.py | Source Code | 19822 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_list_directory_integration.py | Source Code | 14744 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_move_note_integration.py | Source Code | 19825 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_project_management_integration.py | Source Code | 33175 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_project_state_sync_integration.py | Source Code | 7728 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_read_content_integration.py | Source Code | 11187 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_read_note_integration.py | Source Code | 1381 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_search_integration.py | Source Code | 14690 | Paul Hernandez | Paul Hernandez, phernandez | +| test-int/mcp/test_write_note_integration.py | Source Code | 9472 | Paul Hernandez | Paul Hernandez, phernandez | +| tests/Non-MarkdownFileSupport.pdf | Other | 106751 | Unknown | | +| tests/Screenshot.png | Other | 190076 | Unknown | | +| tests/__init__.py | Source Code | 141 | phernandez | phernandez, Paul Hernandez | +| tests/api/conftest.py | Source Code | 1404 | phernandez | phernandez, bm-claudeai, Paul Hernandez | +| tests/api/test_async_client.py | Source Code | 1382 | Paul Hernandez | Paul Hernandez, phernandez | +| tests/api/test_continue_conversation_template.py | Source Code | 5152 | bm-claudeai | bm-claudeai | +| tests/api/test_directory_router.py | Source Code | 9376 | Paul Hernandez | bm-claudeai, Paul Hernandez | +| tests/api/test_importer_router.py | Source Code | 16578 | bm-claudeai | bm-claudeai, Paul Hernandez | +| tests/api/test_knowledge_router.py | Source Code | 45771 | Paul Hernandez | phernandez, bm-claudeai, Paul Hernandez | +| tests/api/test_management_router.py | Source Code | 6220 | bm-claudeai | bm-claudeai | +| tests/api/test_memory_router.py | Source Code | 5555 | phernandez | phernandez, bm-claudeai | +| tests/api/test_project_router.py | Source Code | 5201 | Paul Hernandez | bm-claudeai, Paul Hernandez, phernandez | +| tests/api/test_project_router_operations.py | Source Code | 1812 | bm-claudeai | bm-claudeai, Paul Hernandez | +| tests/api/test_prompt_router.py | Source Code | 5046 | bm-claudeai | bm-claudeai | +| tests/api/test_resource_router.py | Source Code | 13960 | Paul Hernandez | phernandez, Paul Hernandez, bm-claudeai | +| tests/api/test_search_router.py | Source Code | 6409 | phernandez | phernandez, bm-claudeai, Paul Hernandez, github-ac... | +| tests/api/test_search_template.py | Source Code | 5258 | bm-claudeai | bm-claudeai | +| tests/api/test_template_loader.py | Source Code | 8035 | bm-claudeai | bm-claudeai | +| tests/api/test_template_loader_helpers.py | Source Code | 7445 | bm-claudeai | bm-claudeai | +| tests/cli/conftest.py | Source Code | 1185 | Paul Hernandez | Paul Hernandez, phernandez | +| tests/cli/test_cli_tools.py | Source Code | 13528 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| tests/cli/test_import_chatgpt.py | Source Code | 6719 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| tests/cli/test_import_claude_conversations.py | Source Code | 5028 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| tests/cli/test_import_claude_projects.py | Source Code | 4585 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| tests/cli/test_import_memory_json.py | Source Code | 3532 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| tests/cli/test_project_commands.py | Source Code | 5143 | bm-claudeai | bm-claudeai, Paul Hernandez, phernandez | +| tests/cli/test_project_info.py | Source Code | 3874 | phernandez | Paul Hernandez, phernandez | +| tests/cli/test_status.py | Source Code | 4160 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| tests/cli/test_sync.py | Source Code | 3864 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| tests/cli/test_version.py | Source Code | 289 | Paul Hernandez | Paul Hernandez | +| tests/conftest.py | Source Code | 15286 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| tests/importers/test_importer_base.py | Source Code | 4329 | bm-claudeai | bm-claudeai | +| tests/importers/test_importer_utils.py | Source Code | 1827 | bm-claudeai | bm-claudeai | +| tests/markdown/__init__.py | Source Code | 0 | Unknown | | +| tests/markdown/test_entity_parser.py | Source Code | 8669 | phernandez | phernandez, Paul Hernandez, github-actions[bot] | +| tests/markdown/test_markdown_plugins.py | Source Code | 5139 | Paul Hernandez | Paul Hernandez, phernandez | +| tests/markdown/test_markdown_processor.py | Source Code | 5728 | phernandez | phernandez, Paul Hernandez | +| tests/markdown/test_observation_edge_cases.py | Source Code | 4295 | phernandez | phernandez | +| tests/markdown/test_parser_edge_cases.py | Source Code | 5142 | phernandez | phernandez | +| tests/markdown/test_relation_edge_cases.py | Source Code | 3952 | phernandez | phernandez | +| tests/markdown/test_task_detection.py | Source Code | 401 | Paul Hernandez | Paul Hernandez | +| tests/mcp/conftest.py | Source Code | 1761 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| tests/mcp/test_prompts.py | Source Code | 5989 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| tests/mcp/test_resource_project_info.py | Source Code | 4885 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| tests/mcp/test_resources.py | Source Code | 549 | Paul Hernandez | Paul Hernandez, phernandez | +| tests/mcp/test_tool_canvas.py | Source Code | 7997 | Paul Hernandez | Paul Hernandez, phernandez | +| tests/mcp/test_tool_delete_note.py | Source Code | 4208 | phernandez | phernandez | +| tests/mcp/test_tool_edit_note.py | Source Code | 13503 | Paul Hernandez | Paul Hernandez, phernandez, Drew Cain | +| tests/mcp/test_tool_list_directory.py | Source Code | 7730 | Paul Hernandez | Paul Hernandez, phernandez | +| tests/mcp/test_tool_move_note.py | Source Code | 16346 | Paul Hernandez | Paul Hernandez, phernandez | +| tests/mcp/test_tool_read_note.py | Source Code | 9741 | Paul Hernandez | Paul Hernandez, phernandez, github-actions[bot], A... | +| tests/mcp/test_tool_recent_activity.py | Source Code | 3983 | phernandez | phernandez, bm-claudeai | +| tests/mcp/test_tool_resource.py | Source Code | 6782 | Paul Hernandez | Paul Hernandez, phernandez, github-actions[bot] | +| tests/mcp/test_tool_search.py | Source Code | 10959 | phernandez | Paul Hernandez, phernandez, github-actions[bot], D... | +| tests/mcp/test_tool_sync_status.py | Source Code | 6331 | phernandez | phernandez | +| tests/mcp/test_tool_utils.py | Source Code | 9228 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| tests/mcp/test_tool_view_note.py | Source Code | 10004 | phernandez | phernandez | +| tests/mcp/test_tool_write_note.py | Source Code | 19537 | Paul Hernandez | phernandez, Paul Hernandez, Drew Cain | +| tests/repository/test_entity_repository.py | Source Code | 15498 | phernandez | phernandez, bm-claudeai, Paul Hernandez | +| tests/repository/test_entity_repository_upsert.py | Source Code | 16983 | Drew Cain | Drew Cain, phernandez | +| tests/repository/test_observation_repository.py | Source Code | 11786 | phernandez | phernandez, bm-claudeai | +| tests/repository/test_project_info_repository.py | Source Code | 1186 | bm-claudeai | bm-claudeai | +| tests/repository/test_project_repository.py | Source Code | 9455 | bm-claudeai | bm-claudeai | +| tests/repository/test_relation_repository.py | Source Code | 11980 | phernandez | phernandez, bm-claudeai | +| tests/repository/test_repository.py | Source Code | 5996 | phernandez | phernandez, Paul Hernandez | +| tests/repository/test_search_repository.py | Source Code | 25471 | bm-claudeai | bm-claudeai, phernandez, Paul Hernandez | +| tests/schemas/test_memory_url.py | Source Code | 2000 | phernandez | phernandez, Paul Hernandez | +| tests/schemas/test_memory_url_validation.py | Source Code | 9338 | phernandez | phernandez | +| tests/schemas/test_schemas.py | Source Code | 16880 | phernandez | phernandez, Paul Hernandez, bm-claudeai, Drew Cain... | +| tests/schemas/test_search.py | Source Code | 3264 | phernandez | phernandez, Paul Hernandez, github-actions[bot] | +| tests/services/test_context_service.py | Source Code | 8833 | phernandez | phernandez, bm-claudeai, Paul Hernandez | +| tests/services/test_directory_service.py | Source Code | 6854 | Paul Hernandez | bm-claudeai, Paul Hernandez | +| tests/services/test_entity_service.py | Source Code | 59278 | Paul Hernandez | phernandez, Paul Hernandez, bm-claudeai, Drew Cain... | +| tests/services/test_file_service.py | Source Code | 5243 | phernandez | phernandez | +| tests/services/test_initialization.py | Source Code | 6939 | bm-claudeai | Paul Hernandez, bm-claudeai, phernandez | +| tests/services/test_link_resolver.py | Source Code | 13618 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| tests/services/test_project_service.py | Source Code | 23576 | phernandez | bm-claudeai, Paul Hernandez, phernandez | +| tests/services/test_project_service_operations.py | Source Code | 4679 | bm-claudeai | bm-claudeai, Paul Hernandez | +| tests/services/test_search_service.py | Source Code | 25299 | Paul Hernandez | phernandez, Paul Hernandez, github-actions[bot] | +| tests/services/test_sync_status_service.py | Source Code | 9926 | phernandez | phernandez, Paul Hernandez | +| tests/sync/test_sync_service.py | Source Code | 39659 | phernandez | phernandez, Paul Hernandez, bm-claudeai | +| tests/sync/test_sync_wikilink_issue.py | Source Code | 1959 | github-actions[bot] | github-actions[bot], Paul Hernandez | +| tests/sync/test_tmp_files.py | Source Code | 5930 | Paul Hernandez | Paul Hernandez, bm-claudeai, phernandez | +| tests/sync/test_watch_service.py | Source Code | 14076 | Paul Hernandez | Paul Hernandez, phernandez, bm-claudeai | +| tests/sync/test_watch_service_edge_cases.py | Source Code | 2169 | Paul Hernandez | Paul Hernandez, bm-claudeai | +| tests/test_config.py | Source Code | 3680 | Drew Cain | Drew Cain | +| tests/test_db_migration_deduplication.py | Source Code | 6166 | Paul Hernandez | Paul Hernandez, Drew Cain, phernandez | +| tests/utils/test_file_utils.py | Source Code | 6199 | phernandez | phernandez, Paul Hernandez | +| tests/utils/test_parse_tags.py | Source Code | 1691 | github-actions[bot] | github-actions[bot], Paul Hernandez | +| tests/utils/test_permalink_formatting.py | Source Code | 4193 | phernandez | phernandez, Paul Hernandez | +| tests/utils/test_utf8_handling.py | Source Code | 5791 | phernandez | phernandez, Paul Hernandez | diff --git a/scripts/generate_legal_inventory.py b/scripts/generate_legal_inventory.py new file mode 100644 index 00000000..f4c0e942 --- /dev/null +++ b/scripts/generate_legal_inventory.py @@ -0,0 +1,485 @@ +#!/usr/bin/env python3 +""" +Legal File Inventory Generator for Basic Memory + +Generates comprehensive file inventory with contributor information +for legal documentation, copyright assignments, and due diligence. + +Usage: + python scripts/generate_legal_inventory.py [options] + +Output formats: + - CSV: Detailed spreadsheet for analysis + - JSON: Structured data for integration + - Markdown: Human-readable legal report +""" + +import argparse +import csv +import hashlib +import json +import os +import subprocess +import sys +from collections import defaultdict +from datetime import datetime +from pathlib import Path +from typing import Dict, List, Optional, Set, Tuple + + +class LegalInventoryGenerator: + """Generate comprehensive file inventory for legal documentation.""" + + # Files to exclude from legal inventory + EXCLUDED_PATTERNS = { + # Generated/compiled files + '*.pyc', '*.pyo', '*.pyd', '__pycache__', + '*.so', '*.dylib', '*.dll', + + # Build/cache directories + 'build/', 'dist/', '.eggs/', '*.egg-info/', + '.coverage', '.pytest_cache/', '.mypy_cache/', + '.ruff_cache/', '.tox/', 'venv/', '.venv/', 'env/', '.env/', + 'node_modules/', '.npm/', '.yarn/', + + # IDE and editor files + '.vscode/', '.idea/', '*.swp', '*.swo', '*~', + '.DS_Store', 'Thumbs.db', + + # Version control + '.git/', '.gitignore', + + # OS generated + 'desktop.ini', '*.tmp', '*.temp' + } + + # File categories for legal classification + FILE_CATEGORIES = { + 'source_code': ['.py', '.pyx', '.pyi'], + 'documentation': ['.md', '.rst', '.txt'], + 'configuration': ['.toml', '.yaml', '.yml', '.json', '.ini', '.cfg'], + 'legal': ['LICENSE', 'COPYING', 'COPYRIGHT', '.md'], + 'build_deployment': ['Dockerfile', 'Makefile', 'justfile', '.sh'], + 'database': ['.sql', '.sqlite', '.db'], + 'templates': ['.j2', '.jinja2', '.hbs', '.handlebars'], + 'data': ['.csv', '.json', '.xml'], + 'other': [] # Catch-all for uncategorized files + } + + def __init__(self, repo_path: str = "."): + """Initialize generator with repository path.""" + self.repo_path = Path(repo_path).resolve() + self.file_inventory: List[Dict] = [] + self.contributors: Dict[str, Dict] = defaultdict(lambda: { + 'email': '', 'commits': 0, 'lines_added': 0, 'files': set() + }) + + def should_exclude_file(self, file_path: Path) -> bool: + """Check if file should be excluded from inventory.""" + # Check if file is tracked by git (more efficient than check-ignore) + try: + rel_path = str(file_path.relative_to(self.repo_path)) + result = subprocess.run([ + 'git', 'ls-files', '--error-unmatch', rel_path + ], capture_output=True, cwd=self.repo_path) + + # If git ls-files returns non-zero, file is not tracked (likely ignored) + if result.returncode != 0: + return True + + except Exception: + # Fallback to manual exclusion patterns if git fails + pass + + # Additional manual exclusions for safety + file_str = str(file_path.relative_to(self.repo_path)) + + for pattern in self.EXCLUDED_PATTERNS: + if pattern.endswith('/'): + if any(part == pattern[:-1] for part in file_path.parts): + return True + elif '*' in pattern: + import fnmatch + if fnmatch.fnmatch(file_str, pattern): + return True + else: + if file_path.name == pattern or file_str == pattern: + return True + return False + + def categorize_file(self, file_path: Path) -> str: + """Categorize file based on extension and name.""" + suffix = file_path.suffix.lower() + name = file_path.name.upper() + + # Check legal files by name first + if any(legal in name for legal in ['LICENSE', 'COPYING', 'COPYRIGHT', 'CLA']): + return 'legal' + + # Check by extension + for category, extensions in self.FILE_CATEGORIES.items(): + if suffix in extensions: + return category + + return 'other' + + def get_file_hash(self, file_path: Path) -> str: + """Generate SHA-256 hash of file content.""" + try: + with open(file_path, 'rb') as f: + return hashlib.sha256(f.read()).hexdigest() + except (IOError, OSError): + return "ERROR_READING_FILE" + + def get_git_contributors(self, file_path: Path) -> List[Dict]: + """Get contributor information for a specific file.""" + try: + rel_path = file_path.relative_to(self.repo_path) + + # Get contributors with line counts + result = subprocess.run([ + 'git', 'log', '--follow', '--pretty=format:%an|%ae|%ad|%H', + '--date=short', '--', str(rel_path) + ], capture_output=True, text=True, cwd=self.repo_path) + + if result.returncode != 0: + return [] + + contributors = [] + seen = set() + + for line in result.stdout.strip().split('\n'): + if not line: + continue + + parts = line.split('|') + if len(parts) >= 4: + name, email, date, commit_hash = parts[:4] + + # Normalize author names/emails + normalized_name = self.normalize_author_name(name, email) + + if normalized_name not in seen: + contributors.append({ + 'name': normalized_name, + 'email': email, + 'first_contribution': date, + 'commit_hash': commit_hash + }) + seen.add(normalized_name) + + return contributors + + except Exception as e: + print(f"Warning: Could not get git info for {file_path}: {e}") + return [] + + def normalize_author_name(self, name: str, email: str) -> str: + """Normalize author names to handle multiple emails for same person.""" + # Known mappings for Basic Memory team + name_mappings = { + 'phernandez': 'Paul Hernandez', + 'Paul Hernandez': 'Paul Hernandez', + 'drew-cain': 'Drew Cain', + 'Drew Cain': 'Drew Cain' + } + + # Handle GitHub bot accounts + if 'bot' in name.lower() or 'claude' in name.lower(): + return f"{name} (AI Assistant)" + + return name_mappings.get(name, name) + + def get_file_stats(self, file_path: Path) -> Dict: + """Get comprehensive file statistics.""" + try: + stat = file_path.stat() + rel_path = file_path.relative_to(self.repo_path) + + # Basic file info + file_info = { + 'path': str(rel_path), + 'name': file_path.name, + 'size_bytes': stat.st_size, + 'modified_time': datetime.fromtimestamp(stat.st_mtime).isoformat(), + 'category': self.categorize_file(file_path), + 'sha256_hash': self.get_file_hash(file_path) + } + + # Git information + contributors = self.get_git_contributors(file_path) + file_info['contributors'] = contributors + file_info['primary_author'] = contributors[0]['name'] if contributors else 'Unknown' + file_info['contributor_count'] = len(contributors) + + # Update global contributor stats + for contrib in contributors: + name = contrib['name'] + self.contributors[name]['email'] = contrib['email'] + self.contributors[name]['files'].add(str(rel_path)) + + return file_info + + except Exception as e: + print(f"Error processing {file_path}: {e}") + return None + + def scan_repository(self) -> None: + """Scan repository and build file inventory.""" + print(f"Scanning repository: {self.repo_path}") + + # Get all git-tracked files first (much more efficient) + try: + result = subprocess.run([ + 'git', 'ls-files' + ], capture_output=True, text=True, cwd=self.repo_path) + + if result.returncode == 0: + tracked_files = [self.repo_path / f for f in result.stdout.strip().split('\n') if f] + print(f"Found {len(tracked_files)} git-tracked files") + + for file_path in tracked_files: + if file_path.is_file(): + file_info = self.get_file_stats(file_path) + if file_info: + self.file_inventory.append(file_info) + else: + print("Warning: Could not get git tracked files, falling back to directory scan") + self._fallback_scan() + + except Exception as e: + print(f"Warning: Git command failed ({e}), falling back to directory scan") + self._fallback_scan() + + # Get global git stats + self._get_global_git_stats() + + print(f"Processed {len(self.file_inventory)} files") + print(f"Found {len(self.contributors)} contributors") + + def _fallback_scan(self) -> None: + """Fallback directory scan if git commands fail.""" + for file_path in self.repo_path.rglob('*'): + if file_path.is_file() and not self.should_exclude_file(file_path): + file_info = self.get_file_stats(file_path) + if file_info: + self.file_inventory.append(file_info) + + def _get_global_git_stats(self) -> None: + """Get global contributor statistics from git.""" + try: + # Get commit counts per author + result = subprocess.run([ + 'git', 'shortlog', '-sn', '--all' + ], capture_output=True, text=True, cwd=self.repo_path) + + if result.returncode == 0: + for line in result.stdout.strip().split('\n'): + if line.strip(): + parts = line.strip().split('\t', 1) + if len(parts) == 2: + count, name = parts + normalized_name = self.normalize_author_name(name, '') + self.contributors[normalized_name]['commits'] = int(count) + + except Exception as e: + print(f"Warning: Could not get global git stats: {e}") + + def generate_summary(self) -> Dict: + """Generate inventory summary statistics.""" + total_files = len(self.file_inventory) + total_size = sum(f['size_bytes'] for f in self.file_inventory) + + # Category breakdown + categories = defaultdict(int) + for file_info in self.file_inventory: + categories[file_info['category']] += 1 + + # Top contributors + top_contributors = sorted( + self.contributors.items(), + key=lambda x: len(x[1]['files']), + reverse=True + )[:10] + + return { + 'scan_date': datetime.now().isoformat(), + 'repository_path': str(self.repo_path), + 'total_files': total_files, + 'total_size_bytes': total_size, + 'categories': dict(categories), + 'contributor_count': len(self.contributors), + 'top_contributors': [ + { + 'name': name, + 'file_count': len(stats['files']), + 'commit_count': stats['commits'], + 'email': stats['email'] + } + for name, stats in top_contributors + ] + } + + def export_csv(self, output_path: str) -> None: + """Export inventory to CSV format.""" + with open(output_path, 'w', newline='', encoding='utf-8') as csvfile: + fieldnames = [ + 'path', 'name', 'category', 'size_bytes', 'modified_time', + 'primary_author', 'contributor_count', 'contributors_list', + 'sha256_hash' + ] + + writer = csv.DictWriter(csvfile, fieldnames=fieldnames) + writer.writeheader() + + for file_info in sorted(self.file_inventory, key=lambda x: x['path']): + contributors_list = '; '.join([ + f"{c['name']} ({c['email']})" for c in file_info['contributors'] + ]) + + writer.writerow({ + 'path': file_info['path'], + 'name': file_info['name'], + 'category': file_info['category'], + 'size_bytes': file_info['size_bytes'], + 'modified_time': file_info['modified_time'], + 'primary_author': file_info['primary_author'], + 'contributor_count': file_info['contributor_count'], + 'contributors_list': contributors_list, + 'sha256_hash': file_info['sha256_hash'] + }) + + print(f"CSV export saved to: {output_path}") + + def export_json(self, output_path: str) -> None: + """Export inventory to JSON format.""" + # Convert sets to lists for JSON serialization + contributors_serializable = {} + for name, stats in self.contributors.items(): + contributors_serializable[name] = { + 'email': stats['email'], + 'commits': stats['commits'], + 'lines_added': stats['lines_added'], + 'files': list(stats['files']) + } + + data = { + 'summary': self.generate_summary(), + 'files': self.file_inventory, + 'contributors': contributors_serializable + } + + with open(output_path, 'w', encoding='utf-8') as jsonfile: + json.dump(data, jsonfile, indent=2, ensure_ascii=False) + + print(f"JSON export saved to: {output_path}") + + def export_markdown(self, output_path: str) -> None: + """Export inventory to Markdown format for legal documentation.""" + summary = self.generate_summary() + + with open(output_path, 'w', encoding='utf-8') as mdfile: + mdfile.write("# Basic Memory - Legal File Inventory\n\n") + + # Summary section + mdfile.write("## Summary\n\n") + mdfile.write(f"**Scan Date:** {summary['scan_date']}\n") + mdfile.write(f"**Repository:** {summary['repository_path']}\n") + mdfile.write(f"**Total Files:** {summary['total_files']:,}\n") + mdfile.write(f"**Total Size:** {summary['total_size_bytes']:,} bytes\n") + mdfile.write(f"**Contributors:** {summary['contributor_count']}\n\n") + + # Category breakdown + mdfile.write("## File Categories\n\n") + for category, count in sorted(summary['categories'].items()): + mdfile.write(f"- **{category.replace('_', ' ').title()}:** {count} files\n") + mdfile.write("\n") + + # Top contributors + mdfile.write("## Contributors\n\n") + for contrib in summary['top_contributors']: + mdfile.write(f"- **{contrib['name']}** ({contrib['email']}): ") + mdfile.write(f"{contrib['file_count']} files, {contrib['commit_count']} commits\n") + mdfile.write("\n") + + # Detailed file listing by category + mdfile.write("## Detailed File Inventory\n\n") + + for category in sorted(summary['categories'].keys()): + category_files = [f for f in self.file_inventory if f['category'] == category] + if not category_files: + continue + + mdfile.write(f"### {category.replace('_', ' ').title()}\n\n") + + for file_info in sorted(category_files, key=lambda x: x['path']): + mdfile.write(f"**{file_info['path']}**\n") + mdfile.write(f"- Primary Author: {file_info['primary_author']}\n") + mdfile.write(f"- Contributors: {file_info['contributor_count']}\n") + mdfile.write(f"- Size: {file_info['size_bytes']:,} bytes\n") + + if file_info['contributors']: + contributors_str = ', '.join([c['name'] for c in file_info['contributors']]) + mdfile.write(f"- All Contributors: {contributors_str}\n") + + mdfile.write(f"- SHA-256: `{file_info['sha256_hash']}`\n\n") + + print(f"Markdown export saved to: {output_path}") + + +def main(): + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Generate legal file inventory for Basic Memory repository" + ) + parser.add_argument( + '--repo-path', '-r', + default='.', + help='Path to repository (default: current directory)' + ) + parser.add_argument( + '--output-dir', '-o', + default='./legal_inventory', + help='Output directory for reports (default: ./legal_inventory)' + ) + parser.add_argument( + '--formats', '-f', + nargs='+', + choices=['csv', 'json', 'markdown', 'all'], + default=['all'], + help='Output formats to generate (default: all)' + ) + + args = parser.parse_args() + + # Create output directory + output_dir = Path(args.output_dir) + output_dir.mkdir(exist_ok=True) + + # Generate inventory + generator = LegalInventoryGenerator(args.repo_path) + generator.scan_repository() + + # Determine formats to export + formats = args.formats + if 'all' in formats: + formats = ['csv', 'json', 'markdown'] + + # Export in requested formats + timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') + + if 'csv' in formats: + generator.export_csv(output_dir / f'basic_memory_inventory_{timestamp}.csv') + + if 'json' in formats: + generator.export_json(output_dir / f'basic_memory_inventory_{timestamp}.json') + + if 'markdown' in formats: + generator.export_markdown(output_dir / f'basic_memory_inventory_{timestamp}.md') + + print(f"\nLegal inventory generation complete!") + print(f"Output saved to: {output_dir}") + + +if __name__ == '__main__': + main() \ No newline at end of file