Skip to content

v0.7.0 - Hierarchical Hunt Directory Organization

Choose a tag to compare

@sydney-nebulock sydney-nebulock released this 05 Feb 23:17
· 73 commits to main since this release

What's New

This release implements hierarchical hunt directory organization with automatic date-based structure:

  • Production hunts: hunts/production/{YYYY}/{QX}/H-XXXX.md
  • Test hunts: hunts/test/{YYYY}/{QX}/H-XXXX.md

Key Features

  • 🗂️ Automatic directory creation - New hunts are automatically organized by year and quarter
  • 🔄 Full backward compatibility - Existing flat-structure hunts continue to work
  • 🧪 Test hunt separation - New --test flag creates hunts in test directory
  • 📅 Date-based organization - Hunts organized by year and quarter (Q1-Q4)

Changes in This Release

New Functionality

  • Added get_hunt_directory() helper for calculating hierarchical paths
  • Added --test flag to athf hunt new command
  • Updated hunt manager to use recursive search (rglob()) for backward compatibility
  • Migrated example hunts H-0001 to H-0003 to production/2026/Q1/

Bug Fixes

  • Python 3.8 Compatibility - Fixed all uses of is_relative_to() method (Python 3.9+) by replacing with relative_to() for Python 3.8 support
  • Fixed 12 instances across validation.py, hunt_manager.py, hunt.py, investigate.py, and research_manager.py

Code Quality

  • Fixed 6 flake8 F541 warnings (f-strings without placeholders)
  • Updated import sorting in plugin_system.py
  • All tests passing (86/86)

Documentation

  • Updated 20+ documentation files with corrected hunt file paths
  • Fixed all broken internal links
  • Updated CLI reference with new directory structure examples

Migration

  • Existing hunts continue to work in flat structure
  • New hunts automatically use hierarchical structure
  • Removed obsolete example hunts (H-0004 to H-0009)

Backward Compatibility

✅ Existing flat-structure hunts continue to work
✅ All CLI commands support both flat and hierarchical structures
✅ No breaking changes to existing workflows

Upgrade Instructions

git pull origin main
pip install -e .

New hunts will automatically be created in the hierarchical structure. Existing hunts remain in their current locations and continue to function normally.

Testing

  • ✅ All 86 tests passing
  • ✅ Black formatting checks passing
  • ✅ Flake8 linting passing
  • ✅ Isort import sorting passing
  • ✅ Zero broken internal links
  • ✅ Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 compatibility verified