Status: Production-ready
Last Updated: October 12, 2025 (v5.0 Post-Refactor)
Deployment: Netlify (Next.js 14)
Raven Calder is an astrological analysis system that translates mathematical precision into human-readable symbolic weather reports. It follows the FIELD β MAP β VOICE protocol to provide:
- Mirror Reports - Self-recognition through symbolic reflection
- Balance Meter - Quantitative pressure diagnostics (Magnitude + Directional Bias)
- Poetic Codex - Archetypal pattern recognition cards
- Dream Analysis - Symbolic interpretation framework
- Node.js 18+
- npm or yarn
- RapidAPI key for AstroAPI v3
- (Optional) GeoNames username for city lookups
# Clone repository
git clone <repository-url>
cd WovenWebApp
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Add your RAPIDAPI_KEY to .env (SRP is enabled by default; set ENABLE_SRP=false to opt-out)
# Run development server
npm run devVisit http://localhost:3000
- Developers Notes/Core/Four Report Types_Integrated 10.1.25.md β PRIMARY REFERENCE
- Developers Notes/Lessons Learned/Lessons Learned for Developer.md - Essential context
- Developers Notes/README.md - Complete developer index
- API Integration: Developers Notes/API/API_INTEGRATION_GUIDE.md
- API Reference: Developers Notes/API/API_REFERENCE.md
- Math Brain: Developers Notes/Implementation/MATH_BRAIN_COMPLIANCE.md
- Balance Meter v5.0: V5_IMPLEMENTATION_SUMMARY.md
- Seismograph: Developers Notes/Implementation/SEISMOGRAPH_GUIDE.md
- Raven Persona: Developers Notes/Poetic Brain/RAVEN-PERSONA-SPEC.md
- Output Protocol: Developers Notes/Poetic Brain/RAVEN_OUTPUT_PROTOCOL.md
- Voice Guide: docs/CLEAR_MIRROR_VOICE.md
- Maintenance Guide: Developers Notes/Lessons Learned/MAINTENANCE_GUIDE.md
- Emergency Recovery: Developers Notes/Lessons Learned/copilot_fix_recovery.md
- Deployment Troubleshooting: DEPLOYMENT_TROUBLESHOOTING.md
- E2E Tests: e2e/README.md
- Playwright Integration: PLAYWRIGHT_INTEGRATION.md
- Smoke Tests: Developers Notes/Implementation/SMOKE_TESTS_GUIDE.md
All Raven Calder output follows this translation protocol:
- FIELD - Energetic climate (raw symbolic data)
- MAP - Archetypal patterns (geometric interpretation)
- VOICE - Lived mirror (plain language output)
Frontstage (user-facing):
- β No planet names, signs, houses, aspects, degrees
- β Plain, conversational language
- β Possibility language ("often," "tends to")
Backstage (operator-only):
- β All technical terms allowed
- β Geometric calculations visible
- β Diagnostic notes
WovenWebApp/
βββ app/ # Next.js 14 App Router
β βββ math-brain/ # Main calculation interface
β βββ api/ # API routes
βββ components/ # React components
β βββ mathbrain/ # Balance Meter components
β βββ ...
βββ lib/ # Core business logic
β βββ server/ # Server-side calculations
β βββ balance/ # Balance Meter v5.0
βββ src/ # Legacy support files
β βββ seismograph.js # Balance Meter calculations
β βββ reporters/ # Report generation
βββ docs/ # User-facing documentation
βββ Developers Notes/ # Complete developer documentation
βββ e2e/ # Playwright E2E tests
βββ __tests__/ # Jest unit tests
- Two-axis system: Magnitude (0-5) + Directional Bias (-5 to +5)
- Retired metrics: Coherence and SFD removed
- Unified natal architecture: Single
fetchNatalChartComplete()function - Fixed bugs: Person B aspects now populated, orb filtering corrected
- β Person B natal aspects bug (SYNASTRY mode)
- β
Orb filtering using
Math.abs(orb)for applying aspects - β Unified natal chart fetching (replaced 14 fragmented paths)
- β Balance Meter showing zeros (orb dropout fix)
# Unit tests
npm test
# E2E tests (Playwright)
npx playwright test
# Specific test suite
npx jest __tests__/api-natal-aspects-refactor.test.js# Test API directly
npx jest __tests__/api-natal-aspects-refactor.test.js
# Expected output:
# β
Person A has 76 natal aspects
# β
Person B has 67 natal aspects
# β
Both have 12 house cusps| Status | Issue | Reference |
|---|---|---|
| β³ Pending | Balance Meter values may show zeros in some exports | Issue Tracker |
| β³ Pending | Composite transits temporarily disabled | Awaiting upstream API stability |
| β Fixed | Person B aspects missing | Oct 12 2025 - Unified natal fetch |
| β Fixed | Orb filtering bug | Oct 12 2025 - Math.abs(orb) |
- Read Core/Four Report Types_Integrated 10.1.25.md (PRIMARY REFERENCE)
- Check Developers Notes/README.md for relevant implementation guide
- Review MAINTENANCE_GUIDE.md
- Run smoke tests before committing
When code changes affect documentation:
- Update relevant files in
Developers Notes/ - Update CHANGELOG.md
- Update this README if architecture changes
- Cross-reference related docs
Project Owner: Jules (Dan Cross / DHCross)
Repository: WovenWebApp
Deployment: Netlify
- Architecture: Review Developers Notes/Core/ docs
- Implementation: Check Developers Notes/Implementation/ specs
- Voice/Persona: Reference Developers Notes/Poetic Brain/ guidelines
- API Integration: See Developers Notes/API/ documentation
See LICENSE file for details.
Last Updated: October 12, 2025
Version: 5.0 (Post-Refactor)
Status: Production-ready with ongoing QA