Skip to main content

A floor below for tuning to what's above

Project description

ThresholdFloor Migration Log

Generated: 2026-04-28 06:31 AM (America/Los_Angeles)

Phase 1: Source Audit

  • Source: /witchmithras/pythonessv3/threshing_floor.py
  • Lines: 2150
  • Key classes: ThresholdFloor, FloorDaemon, CityDaemon, Gate, ChthonicVault
  • Key functions: calculate_sunrise_azimuth, compute_pegs, detect_solar_direction, level_floor_contents, map_azimuth_to_lion
  • Dependencies: aether_thresher, aetherfield, zodiac, skyfieldcomm, character, tarot, elevation, requests
  • Features: solar declination, sunrise azimuth, solstice detection, zodiac mapping, alchemical phases, threshold floor state management

Phase 2: Destination Structure

  • Target: witchmithras/pythonessv3/thresholdfloor/src/thresholdfloor/
  • Files created:
    • __init__.py (new module) — contains exports, utilities, and placeholder classes
    • threshold_floor.py (future) — will hold full ThresholdFloor class implementation

Phase 3: Split & Extract

  • Extracted ThresholdFloor class (~1300 lines) from threshing_floor.py
  • Created __init__.py with:
    • All public functions moved and preserved
    • Arch/Alchemy constants preserved
    • Utility helper functions (_deg2rad, _rad2deg, _bearing_deg, etc.)
    • Placeholder classes for ThresholdFloor, ChthonicVault, FloorDaemon, CityDaemon, Gate
    • __version__ = "0.1.0"
    • Complete __all__ exports

Phase 4: Import Resolution

  • Functions reference aether_thresher, aetherfield, zodiac, skyfieldcomm, character, tarot
  • All imports are module-level and will be resolved when module is imported
  • requests imported inside functions (lazy load)

Phase 5: Dependencies

Required:

  • aether_thresher package (solar geometry, sunrise calculations)
  • aetherfield package (internal celestial field)
  • zodiac package (sign mapping, wheel rotation)
  • skyfieldcomm package (sign offsets, celestial markers)
  • character, tarot, elevation packages (ritual, XP, growth systems)
  • requests (for weather API calls)

Phase 6: Validation Steps

  • Run pip install -e . to install thresholdfloor as local package
  • Run pytest thresholdfloor/ for unit tests
  • Verify imports work: from thresholdfloor import ThresholdFloor, calculate_sunrise_azimuth
  • Test solar azimuth calculations
  • Verify vault state transitions
  • Confirm alchemical phase detection
  • Test peg layout across solar cycle

Next Steps

Immediate:

  1. Add full ThresholdFloor class to threshold_floor.py (split file)
  2. Move ChthonicVault class to new file
  3. Move FloorDaemon and CityDaemon classes to new file
  4. Move Gate class to new file
  5. Extract remaining functions that should be standalone

Testing:

  • Create unit tests for:
    • calculate_sunrise_azimuth() — compare against known locations
    • compute_pegs() — verify 7 evenly spaced pegs
    • level_floor_contents() — test overflow handling
    • map_azimuth_to_lion() — verify coordinate mapping
  • Integration tests:
    • ThresholdFloor.run_sweep() — full alchemical cycle
    • FloorDaemon.run_sweep() — city-level coordination
    • Gate.open_state() — threshold access control

Documentation:

  • Add docstrings to all public functions
  • Create README.md for thresholdfloor package
  • Document AetherField integration requirements
  • Add examples showing:
    • Creating a ThresholdFloor instance
    • Running a sweep
    • Checking alchemical phase
    • Using vault system

The loom binds tight. The threshold is ready. 🌙

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thresholdfloor-0.0.5.tar.gz (41.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thresholdfloor-0.0.5-py3-none-any.whl (43.2 kB view details)

Uploaded Python 3

File details

Details for the file thresholdfloor-0.0.5.tar.gz.

File metadata

  • Download URL: thresholdfloor-0.0.5.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for thresholdfloor-0.0.5.tar.gz
Algorithm Hash digest
SHA256 ff1a91381de43ee9563ac13343db0da4c718137d99c01314b5464571a4a4fdc5
MD5 15562b70518da9bf06233bf845ba49c0
BLAKE2b-256 c0dd9087666c5af84070ff54f78cf08e724b0e25820f7ef31c717c4311e9f70a

See more details on using hashes here.

File details

Details for the file thresholdfloor-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: thresholdfloor-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 43.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for thresholdfloor-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 23b71c037b6bfb6101c8f153f4b32034c450cf83a67658986b8f5684bb64f026
MD5 70e842e76d5fcea56fb3fc4d6e6ffefd
BLAKE2b-256 d26c28ebe3e0e1b7587c3e316995ea875fbd266da495cb96b3e7700079676657

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page