Research-Stack/5-Applications/nodupe
Brandon Schneider aba1fba7ad fix(adversarial-review): resolve 35 critical coding bugs across 8 subsystems
Security & correctness fixes from full adversarial review:

Lean (7 fixes):
- FixedPoint.lean: guard false theorem with n > 0 precondition
- QFactor.lean: remove double-scaling error in energy decrease
- AVMIsa/Step.lean: implement addSatQ16/subSatQ16 primitives
- BraidEigensolid.lean: fix crossStep second output argument swap
- SSMS.lean: complete ACI preservation proof (with rounding caveat)
- HouseholderQR.lean: add n > 0 precondition to spectral theorem

Verilog (7 fixes):
- q16_lut_core.v: fix multiply shift (16 → 32 bits)
- q16_lut_top.v: fix valid bit (0 → 1)
- cff_accelerator.v: fix SHA-256 padding (len < 448 check)
- research_stack_top.v: fix trigger aliasing (unique counters)
- Blitter6502OISC_small.v: fix address width (15 → 16 bits)
- spatial_hash_bram.v: add OOB write guard
- tmr_oepi_safety_fsm.v: fix double-increment race

WGSL (6 fixes):
- shaders.wgsl: atomicAdd for concurrent writes
- frustration_qubo.wgsl: double-buffer + CAS loop
- braid_fft.wgsl: workgroupBarrier synchronization
- burgers_scar_filter.wgsl: atomic E_bins array

Rust (9 fixes):
- thermodynamic.rs: Arc::from_raw → Arc::clone (double-free)
- thermodynamic.rs: Box::into_raw → Box (leak)
- tools/src/lib.rs: shell injection → shlex.quote
- ene-node/src/lib.rs: LRU caps, constant-time HMAC, peer caps

Python (6 fixes):
- similarity/__init__.py: pickle.load → RestrictedUnpickler
- AI-Feynman: torch.load → weights_only=True (14 calls)
- fetch_arxiv.py, fetch_s2.py: eval → ast.literal_eval
- topology.py: os.system → shutil.copy2
- SSH pipe: os.system → base64 pipe

Build: lake build 3572 jobs, 0 errors
2026-05-31 23:38:03 -05:00
..
.github Fix external repository references 2026-05-05 21:15:26 -05:00
.integrity Fix external repository references 2026-05-05 21:15:26 -05:00
connectors Scrub tracked API key material 2026-05-11 22:25:43 -05:00
docs Fix external repository references 2026-05-05 21:15:26 -05:00
nodupe fix(adversarial-review): resolve 35 critical coding bugs across 8 subsystems 2026-05-31 23:38:03 -05:00
pipeline Fix external repository references 2026-05-05 21:15:26 -05:00
reports Fix external repository references 2026-05-05 21:15:26 -05:00
tests Fix external repository references 2026-05-05 21:15:26 -05:00
tools/wiki Fix external repository references 2026-05-05 21:15:26 -05:00
wiki Fix external repository references 2026-05-05 21:15:26 -05:00
.env.example Fix external repository references 2026-05-05 21:15:26 -05:00
.gitignore Fix external repository references 2026-05-05 21:15:26 -05:00
.megalinter.yml Fix external repository references 2026-05-05 21:15:26 -05:00
.safety-project.ini Fix external repository references 2026-05-05 21:15:26 -05:00
.semgrep.yml Fix external repository references 2026-05-05 21:15:26 -05:00
.semgrepignore Fix external repository references 2026-05-05 21:15:26 -05:00
.yamllint.yml Fix external repository references 2026-05-05 21:15:26 -05:00
package-lock.json Patch NoDupe qs vulnerability 2026-05-25 20:52:25 -05:00
package.json Patch NoDupe qs vulnerability 2026-05-25 20:52:25 -05:00
pyproject.toml Fix external repository references 2026-05-05 21:15:26 -05:00
README.md Fix external repository references 2026-05-05 21:15:26 -05:00
server.js Fix external repository references 2026-05-05 21:15:26 -05:00

NoDupeLabs

Project Status: Complete Test Coverage Tests Passing Tools Complete

NoDupeLabs is a professional-grade file deduplication system with a plugin-based architecture, comprehensive test coverage, and enterprise-ready features.


🎯 Project Status: 100% Complete

As of February 22, 2026, NoDupeLabs has achieved 100% project completion:

  • All 26 tools implemented and tested
  • 6,500+ tests passing (0 failing)
  • 93.30% line coverage / 86.17% branch coverage
  • 50+ files at 100% coverage
  • Comprehensive documentation consolidated and updated

🚀 Quick Start

Installation

# Clone the repository
git clone https://github.com/allaunthefox/NoDupeLabs.git
cd NoDupeLabs

# Install dependencies
pip install -e .

# Verify installation
python -m nodupe --version

Basic Usage

# Scan a directory for duplicates
nodupe scan /path/to/directory

# View scan results
nodupe plan

# Apply deduplication
nodupe apply

Programmatic Access

NoDupeLabs provides a Unix Domain Socket interface for programmatic access:

import socket
import json

# Connect to NoDuPeLabs IPC socket
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.connect('/tmp/nodupe.sock')

# Send request
request = {
    "method": "scan",
    "params": {"path": "/path/to/directory"}
}
sock.send(json.dumps(request).encode())

# Receive response
response = json.loads(sock.recv(4096).decode())

🛠️ Tool Categories

Core Tools

  • Archive Tools - ZIP, TAR, and compressed archive handling
  • Commands - CLI commands (scan, plan, apply, verify)
  • Database - SQLite-based deduplication database
  • Hashing - Multiple hash algorithm support (SHA256, BLAKE2, etc.)

Specialized Tools

  • GPU/ML - GPU-accelerated and machine learning plugins
  • MIME Detection - File type detection via magic numbers
  • Parallel Processing - Multi-threaded and multi-process execution
  • Time Sync - NTP time synchronization
  • Verify - File integrity verification

📊 Test Coverage

Metric Value Status
Line Coverage 93.30% Excellent
Branch Coverage 86.17% Excellent
Total Tests 6,500+ All Passing
Files at 100% 50+ Complete

Running Tests

# Run all tests
pytest tests/ -v

# Run with coverage
pytest tests/ --cov=nodupe --cov-report=html

# Run specific test category
pytest tests/parallel/ -v

📖 Documentation

Quick Reference

Detailed Guides


🏗️ Architecture

NoDupeLabs uses a minimal-core, plugin-first architecture based on Aspect-Oriented Design:

┌─────────────────────────────────────────────────────────┐
│                    NoDuPeLabs Core                       │
├─────────────────────────────────────────────────────────┤
│  Loader  │  Registry  │  Discovery  │  Lifecycle Mgmt  │
└─────────────────────────────────────────────────────────┘
                            │
                            ▼
┌─────────────────────────────────────────────────────────┐
│                     Plugin System                        │
├──────────┬──────────┬──────────┬──────────┬────────────┤
│ Archive  │ Database │ Hashing  │   MIME   │  Parallel  │
│  Tools   │  Tools   │  Tools   │  Tools   │   Tools    │
└──────────┴──────────┴──────────┴──────────┴────────────┘

Key Design Principles

  1. Minimal Core - Lean, portable core engine
  2. Plugin-First - All specialized logic in swappable plugins
  3. Aspect-Oriented - Clean separation of concerns
  4. ISO Compliant - ISO-8000 compliant action codes

🔒 Security

  • Content-Addressable Storage - SHA256-based deduplication
  • Secure Rollback - Transaction logging with snapshot support
  • Access Control - Unix socket permissions for IPC
  • Security Scanning - Integrated Semgrep and TruffleHog

📦 Project Structure

NoDuPeLabs/
├── nodupe/              # Source code
│   ├── core/            # Core engine
│   └── tools/           # Tool implementations
├── tests/               # Test suite (6,500+ tests)
├── docs/                # Documentation
├── wiki/                # Wiki documentation
├── .github/             # GitHub Actions workflows
└── pyproject.toml       # Project configuration

🤝 Contributing

Development Setup

# Create virtual environment
python -m venv .venv
source .venv/bin/activate

# Install development dependencies
pip install -e ".[dev]"

# Run pre-commit hooks
pre-commit install

Code Quality

# Run linters
ruff check nodupe/
black --check nodupe/
mypy nodupe/

# Run security scans
semgrep --config auto nodupe/
trufflehog filesystem nodupe/

📄 License

Apache License 2.0 - See LICENSE for details.


🎉 Recent Achievements

February 2026 - Project 100% Complete

  • Parallel Testing Remediation - 70+ new process tests, 50:50 thread:process ratio
  • VerifyTool Implementation - All 3 abstract methods implemented, 13/13 tests passing
  • MIME Interface Modernization - Proper ABC implementation, 2 bugs fixed
  • Documentation Consolidation - 7 files → 2 files (-77% reduction)
  • CodeQL Compliance - All 19 alerts fixed or dismissed

📞 Support


Last Updated: February 22, 2026 Maintainer: NoDuPeLabs Development Team Status: Production Ready