Полно багов, и не рилтайм..- High — --no-retrograde does not actually disable retrograde effects: priority still drops to base * 0.3 and reasoning still reports retrograde; only the time-slice penalty is skipped. This contradicts the flag description ("Disable retrograde effects"). src/astrology/scheduler.rs:128-170, src/main.rs:150-155
- High — "Real-time planetary positions" are not real-time: to_astro_date discards time-of-day, so positions only change once per UTC day. This also makes --update-interval (seconds) ineffective within a day. src/astrology/planets.rs:198-210, src/main.rs:51-114
- Medium — Retrograde math doesn't match the documented formula: docs describe priority = base × planetary_influence × element_boost plus a 0.5 time-slice penalty; code instead uses base * 0.3 (ignores element boost) and then also halves time slice. src/astrology/scheduler.rs:149-156, src/main.rs:138-155, ASTROLOGY.md, README.md
- Medium — Debuffed 0.7 cases (Air/System, Fire/Memory) are labeled "neutral" in the reasoning output because the threshold is boost < 0.7 instead of <= 0.7. This makes debug output inconsistent with actual multipliers. src/astrology/scheduler.rs:194-231
- Medium — Task domain/classification mismatches with docs: ASTROLOGY.md says Mercury rules Interactive tasks and browsers are memory-heavy, but code assigns Interactive → Moon and classifies Firefox/Chrome/Chromium as Network. src/astrology/tasks.rs:7-27, src/astrology/tasks.rs:111-114
- Low — Docs diverge on element boosts and cache duration: code gives Desktop tasks a 1.3 boost for Air/Water even though docs say "all other combinations neutral", and the runtime uses update_interval default 60s while AstrologicalScheduler::default/docs mention 5 minutes. src/astrology/scheduler.rs:90-93, src/astrology/scheduler.rs:358-361, src/main.rs:51-89, ASTROLOGY.md
• Short version of what the code actually does today (defaults, no flags):
- Classify task type by comm string:
- Exact/partial pattern lists → Network / CPU‑Intensive / Desktop / Memory‑Heavy / System / Interactive.
- Browsers (firefox|chrome|chromium) → Network.
- Anything unknown → Interactive.
- PID 1 is always Critical.
- Compute planetary positions (from astro crate) using UTC date only (time‑of‑day ignored). Cache refresh window defaults to 60s, but positions only change daily because time is dropped.
- Base priority by task type:
- Critical 1000, System 200, Interactive 150, Desktop 120, CPU/Network 100, Memory 80.
- Planetary influence for the ruling planet:
- If retrograde → -1.0
- Else by sign element: Fire 1.3, Air 1.2, Earth 1.1, Water 1.0.
- Element boost (from ruling planet's sign element vs task type):
- Boosts: Fire×CPU 1.5, Air×Network 1.5, Earth×System 1.4, Water×Memory 1.3, Air/Water×Desktop 1.3.
- Debuffs: Water×CPU 0.6, Earth×Network 0.6, Air×System 0.7, Fire×Memory 0.7.
- Else 1.0.
- Moon phase multiplier only if task is Interactive (Moon's domain).
- Final priority:
- If planet direct: base * planetary_influence * element_boost (truncated to u32).
- If retrograde: base * 0.3 (element boost ignored).
- Time slice (default slice_us=5000, slice_us_min=500):
- priority_factor = clamp(priority/1000, 0.1..1.0)
- slice = min + (base - min) * priority_factor
- If retrograde and --no-retrograde is not set → slice halved.