Skip to content

Latest commit

 

History

792 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Selemene Engine

Reflection-First Consciousness Calculation Engine
Part of the Tryambakam Noesis Project

Live: selemene.tryambakam.space  ·  17 public engines  ·  6 workflows  ·  Two surfaces  ·  Rust + TypeScript witness pipeline

Tests Deploy Version License

Tech Stack


Noesis Glass Logo


Not prediction. Reflection. Inquiry. Witness.

Reflection-first astronomical and consciousness calculation engine.

Every system you've tried positioned you as user, not author.

Selemene Engine offers something different: 17 public symbolic mirrors that reflect patterns in your birth data, timing, and energetic signature. Not to give answers, but to train self-consciousness.

Built in Rust, with Swiss Ephemeris-backed astronomical calculations and validated fixtures. Outputs remain reflective, not predictive.

Two surfaces for different callers:

  • Deterministic (Rust) — direct engine + workflow calls via @selemene/bridge or /api/v1/workflows/{id}/execute.
  • Narrative Witness — rich multi-subject reports (language, relationship_context, L0–L5, Folio headers, NotebookLM-ready) via packages/witness-pipeline surfaced at /api/v1/assets/generate.

Part of Tryambakam Noesis — a living inquiry field where success means you outgrow the system.

Production release and billing

The current production release is the Dodo-free mode release, deployed from main commit 561c3e47. Dodo Payments is unavailable and is not used for entitlement decisions. The billing routes and SDK shapes remain available for compatibility, while BILLING_MODE=free provides deterministic free access; checkout, portal, and webhook routes return the stable 503 BILLING_DISABLED response. Operators can select free or disabled through the admin control, but cannot enable Dodo without a future provider release gate.

Tarot currently exposes deterministic local truth only. Generated, fallback, and unavailable Tarot states are not implemented or claimed. Rust SDK/TUI and other registry publication remain held until their package dependency-chain receipts are available.


Every System You've Tried...

...positioned you as user, not author.

Apps that gamify meditation. Courses that promise transformation. Retreats that crack you open then leave you alone with the fragments.

Each delivered value while creating dependency.

Selemene offers something different: 17 public symbolic mirrors that reflect patterns in your birth data, timing, and energetic signature. Not to give answers, but to train the capacity to witness yourself.

Built Different

  • Sub-millisecond calculations — Technical rigor in service of inquiry
  • Swiss Ephemeris-backed Vedic core — Panchanga, Vimshottari, and Transits validated against trusted chart references
  • 17 public engines, one coherence — Vedic, Western, and biofield traditions integrated
  • Two surfaces — Deterministic Rust + agent-friendly narrative witness pipeline (language, relationship, Folio, NotebookLM)
  • Anti-dependency design — Succeeds when you outgrow it

✦ The Philosophy — Kha-Ba-La, Consciousness Levels & Why This Exists

The Problem

You've tried the apps. The courses. The retreats.

Each promised clarity while positioning you as dependent user, not sovereign author.

  • Therapy: Narrates your wounds, but who is the narrator?
  • Meditation: Observes thoughts, but who observes the observer?
  • Productivity: Optimizes actions, but who chose the target?

The Alternative

Selemene doesn't deliver answers. It offers mirrors — 17 symbolic lenses calibrated to reflect different frequencies of your pattern.

Not prediction. Reflection. Inquiry. Witness.

Kha-Ba-La: The Three Forces

Every calculation operates on three co-arising principles:

Force Domain Function
Kha (Spirit) Awareness, witness The field that observes
Ba (Body) Embodiment, action Vehicle for knowing → doing
La (Inertia) Resistance, gravity Friction that gives form

Your "stuckness" isn't the enemy. It's the necessary resistance that makes authorship possible.

Self-Consciousness Levels

The system adapts to your relationship with awareness:

  • Level 0 (Dormant): "What sensations arise?"
  • Level 1 (Glimpsing): "When does this pattern show up?"
  • Level 2 (Practicing): "What might this pattern protect?"
  • Level 3 (Integrated): "How do you choose to work with this?"
  • Level 4+ (Embodied): "What witnesses this pattern arising?"

This isn't gamification. It's meeting you where you are.


✦ Quick Start

First call in 30 seconds. Experience the mirror. Not the answer.

📖 API Quickstart
Zero to first call in 5 minutes
🖥 Terminal TUI
Interactive Ratatui interface
🔮 Terminal Explorer
CLI for every engine
📜 Swagger UI
Full API documentation

First Call in 30 Seconds
# Set your API key
export NOESIS_API_KEY="nk_your_key_here"

# Ask the mirror a question
curl -s -X POST https://selemene.tryambakam.space/api/v1/engines/numerology/calculate \
  -H "X-API-Key: $NOESIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "birth_data": {
      "name": "Your Name",
      "date": "1991-08-13",
      "time": "13:31",
      "latitude": 12.9716,
      "longitude": 77.5946,
      "timezone": "Asia/Kolkata"
    }
  }' | python3 -m json.tool
{
    "engine_id": "numerology",
    "result": {
        "life_path": { "value": 5, "meaning": "Freedom, change, adventure" },
        "expression": { "value": 1, "meaning": "Leadership, independence, pioneering" },
        "soul_urge": { "value": 5, "meaning": "Freedom, change, adventure" }
    },
    "witness_prompt": "What patterns arise when freedom meets discipline?",
    "consciousness_level": 0,
    "metadata": { "calculation_time_ms": 0, "backend": "native" }
}

✦ For Agents & Integrators (Canonical)

Primary reference: docs/api/AGENT_FLOW.md

Two surfaces. One canonical contract for rich narrative reports.

3 Key Shapes (copy these)

1. ReportGenerationRequest (recommended for most agents)

{
  "report_level": "L2",
  "report_mode": "synastry",
  "subjects": [
    {
      "role": "mother",
      "name": "Aarav",
      "birth_date": "1970-01-01",
      "birth_time": "10:30",
      "birth_time_confidence": "exact",
      "birth_location_query": "Bengaluru, India",
      "normalized_location": {
        "display_name": "Bengaluru, Karnataka, India",
        "latitude": 12.9716,
        "longitude": 77.5946,
        "timezone": "Asia/Kolkata",
        "provider": "manual",
        "confidence": "manual"
      }
    }
  ],
  "relationship_context": {
    "type": "family",
    "mapping_goal": "understand lineage transmission patterns without outcome prediction",
    "sensitivity_level": "high"
  },
  "language": "en",
  "output": {
    "format": "markdown",
    "include_rubric": true,
    "include_pattern_extraction": true
  }
}

2. OrchestratorInput (internal / direct calls)

{
  "subjectNames": ["Aarav", "Vikram"],
  "subjectRoles": [
    { "role": "mother", "name": "Aarav" },
    { "role": "son", "name": "Vikram" }
  ],
  "relationshipContext": { "type": "family", "mapping_goal": "...", "sensitivity_level": "high" },
  "language": "en",
  "consciousnessLevel": 2,
  "engineResultsBySubject": [ /* ... */ ]
}

3. OrchestratorOutput (what you receive back)

{
  "mode": "mother-son-lineage",
  "subject_names": ["Aarav", "Vikram"],
  "register": "l1_l3",
  "relationship_header": "Mother-Son Lineage Mapping — non-predictive pattern witness",
  "assembled": "...",
  "passes": { "rubric": "...", "patterns": "..." },
  "patterns": [ /* ... */ ]
}

Important: When relationship_context is present, relationship_header is prepended to assembled.

8-Step Guided Flow (for agents)

  1. Surface — witness (narrative) or deterministic
  2. Subjects — one block per person (role + birth + normalized_location)
  3. Relationship — relationship_context or null for solo
  4. Language + Level — language + consciousness_level (0-5)
  5. Mode + Level — report_level + report_mode
  6. Assemble — output under ### FINAL ASSEMBLED REQUEST
  7. Run — get OrchestratorOutput
  8. Post-process — Source pack → NotebookLM slides via selemene-notebooklm

Current Variables

  • NOESIS_API_KEY — X-API-Key header
  • SELEMENE_RUST_URL — base for deterministic + witness calls
  • language — first-class (default "en")
  • report_level — L0–L5

Key Modes (2026-07)

birth-blueprint, integrated-reading / integrated-reading-l4, mother-son-lineage, business-partners, family-penta, unmarried-partners, married-partners.

Post-Processing

  • Folio header — inside assembled when relationship present
  • Source pack — createSourcePack(...)
  • NotebookLM slides prompt — generateSlidesPrompt(output, { language, bridgeMandates })

Non-Prescriptive Rules

  • "Facts only. No prediction. No diagnosis."
  • Use relationship_header verbatim
  • Respect sensitivity_level
  • Never promise outcomes

Agent Skills (recommended)

  • selemene-core — contract + taxonomy
  • selemene-report — guided Q&A with INPUT BOXes
  • selemene-notebooklm — turn OrchestratorOutput into NotebookLM prompt
  • selemene-cheatsheet.md — ultra-minimal 3-shapes + 8-steps

See docs/api/AGENT_FLOW.md for full copy-paste examples and guardrails.


✦ Noesis SDK & TUI

Rust SDK (noesis-sdk)

First-party Rust SDK for interacting with the Selemene API. Use it to build your own tools, integrations, or TUI extensions.

use noesis_sdk::{Config, NoesisClient, LocalProfile};

let config = Config::load().unwrap_or_default();
let client = NoesisClient::new(&config)?;
let profile = LocalProfile::load_or_default()?.unwrap();
let output = client.calculate("numerology", profile.to_engine_input()).await?;
println!("{}", MarkdownRenderer::new().render_engine_output(&output));

Features: HTTP client for all 17 public engines & 6 workflows, local profile management (~/.noesis/profile.json), macOS Keychain API key storage, Markdown/JSON report rendering, TOML + env config.

Terminal TUI (noesis-tui)

Full interactive terminal interface built with Ratatui. Run engines, browse workflows, manage your profile, and export reports — all from the terminal.

cargo run --bin noesis-tui

Screens: Welcome (with connection status) · Onboarding wizard (8-step profile setup) · Engine picker (17 public engines, / to filter) · Workflow picker (6 workflows) · Result display (styled Markdown, scroll, export) · History browser (past readings) · Profile editor (birth data + API key)

Keybinds: j/k navigate · Enter select · / filter · e export MD · J export JSON · r re-run · ? help overlay · Ctrl+Q quit


✦ The Mirrors (Visual Gallery)

A small selection of the symbolic mirrors. Each is a non-predictive lens — reflection, not instruction.

Stained Glass Logo
Stained Glass — Core Identity

Numerology — Life Path, Expression

Enneagram — Type, Wings, Instincts

Gene Keys — Shadow → Gift → Siddhi

Human Design — Type, Centers, Gates

Biofield Raaga — Sound & Field

See docs/assets/images/engines/ for the full collection (videos + posters + contact sheets).


✦ Roadmap

P0 — SDK Foundation ✅

  • noesis-sdk crate — HTTP client, profile, keychain, renderer, config
  • 27 tests passing

P1 — Terminal TUI ✅

  • noesis-tui crate — Ratatui interactive interface (2,829+ lines)
  • All 7 screens + 3 widgets + UX gap analysis fixes (18 issues resolved)

P2 — Desktop Surfaces (planned)

  • Raycast extension for quick readings
  • macOS menu bar applet
  • Tauri wrapper app

P3 — Apple Ecosystem (planned)

  • Apple Shortcuts actions
  • Apple Watch complications
  • On-device caching

✦ The 17 Engines

Each engine is a mirror, not a method. They don't predict; they reflect. The value isn't in the calculation — it's in what you witness when you see the pattern.


Rust Engines (11)

Panchanga
Tithi · Nakshatra · Yoga · Karana
date, lat/lng
Human Design
Type · Centers · Gates · Profile
date, time, lat/lng
Gene Keys
Shadow · Gift · Siddhi
date, time, lat/lng
Vimshottari
120-Year Dasha Periods
date, time, lat/lng
Numerology
Life Path · Expression
date, name

Biorhythm
Physical · Emotional · Intellectual
date
Vedic Clock
TCM Meridians · Doshas
current_time
Biofield
Vedic Chakra · Birth-Data Analysis
date, time, lat/lng
Face Reading
Physiognomy Analysis
photo
Transits
Current Planetary Positions
date, time, lat/lng

Nadabrahman
Sound Current · Mantra Resonance
date, time, lat/lng
Vedic Clock (alt)
Hourly Meridian Flow
current_time
+ 6 more in the full matrix

TypeScript / Witness Pipeline (Narrative Surface)

  • packages/witness-pipeline — Integrated reading orchestrator for rich multi-subject reports
  • Modes: birth-blueprint, integrated-reading (L0–L5), mother-son-lineage, business-partners, family-penta, unmarried-partners, married-partners
  • Outputs: relationship_header (Folio B-surface), assembled narrative, rubric passes, pattern extraction, NotebookLM slides prompt
  • Language: first-class (language field, default en)
  • Retrieval: vectorized pattern memory with relationship + level filters

✦ The 6 Workflows

Workflows compose multiple engines into coherent portraits.

Workflow Engines Purpose
birth-blueprint Core identity set Foundational self-map
full-spectrum Up to 14 Complete consciousness portrait
daily-practice Time-based Body-paced daily alignment
decision-support Multi-engine Inquiry for choice points
self-inquiry Reflective set Deep pattern witnessing
transit Time + natal Current field overlay

All workflows accept EngineInput and return WorkflowResult with per-engine outputs + witness prompts.


✦ API Surfaces

  • Deterministic (Rust): POST /api/v1/engines/{id}/calculate, POST /api/v1/workflows/{id}/execute
  • Narrative Witness (Rich): POST /api/v1/assets/generate — accepts ReportGenerationRequest (subjects, relationship_context, language, report_level), returns OrchestratorOutput (with Folio header, assembled, passes, patterns)
  • Source Pack: createSourcePack(...) from OrchestratorOutput
  • NotebookLM: generateSlidesPrompt(output, { language, bridgeMandates })

See:

✦ Release and billing status

The public API contract is preserved while release gates are being completed.

  • Billing: BILLING_MODE=free is the safe default when Dodo Payments is unavailable. disabled is a hard ceiling. Checkout, portal, and webhook routes remain registered for compatibility but return 503 BILLING_DISABLED; free mode returns the documented free-tier balance.
  • Tarot: the current truth fixture proves a deterministic local replay and explicitly does not claim generated, fallback, or unavailable provider behavior that the implementation does not expose.
  • Distribution: Rust SDK/TUI package publication is held until the dependency chain has matching crates.io receipts. Build/test success is not a registry publication receipt.
  • Operations: tag creation, package publication, deployment, production promotion, and merge require the receipts listed in docs/release/dodo-free-mode-promotion-gate.md.

The release candidate checklist and proposed notes live in docs/release/external-release-candidate.md and CHANGELOG.md. No published release or provider entitlement is implied by this repository state.


✦ Agent Skills

Skills for Claude/OpenCode/Codex/Hermes/OpenClaw:

  • selemene-core — contract, taxonomy, shapes
  • selemene-report — guided 8-step Q&A (INPUT BOXes) for rich reports
  • selemene-notebooklm — produce NotebookLM slides prompt from OrchestratorOutput
  • selemene-cheatsheet.md + quick-reference.md — minimal reference

Activated in ~/.agents/skill-clusters.


✦ Project Health

Health is evidence-scoped rather than a single score:

Surface Current statement
Local repository gate Must pass on the exact release candidate commit
Billing Free/disabled modes are implemented; paid Dodo mode is release-gated
Distribution Rust SDK/TUI registry receipts remain pending
Deployment Source, schema, image, rollback, and protection attestations remain pending
License MIT

See the release candidate checklist for the receipt required to move any surface from prepared to externally released.


✦ Contributing

See docs/contributing/ and the canonical agent guide docs/api/AGENT_FLOW.md.


✦ License

MIT — see LICENSE.


Built with ❤️ by Contributors

Reflection is the work. The mirror is just the surface.

About

Reflection-first engine for 17 public symbolic mirrors, deterministic workflows, and witness APIs. Not prediction—reflection, inquiry, witness.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages