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
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/bridgeor/api/v1/workflows/{id}/execute.- Narrative Witness — rich multi-subject reports (language, relationship_context, L0–L5, Folio headers, NotebookLM-ready) via
packages/witness-pipelinesurfaced at/api/v1/assets/generate.Part of Tryambakam Noesis — a living inquiry field where success means you outgrow the system.
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.
...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.
- 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
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?
Selemene doesn't deliver answers. It offers mirrors — 17 symbolic lenses calibrated to reflect different frequencies of your pattern.
Not prediction. Reflection. Inquiry. Witness.
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.
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.
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" }
}Primary reference: docs/api/AGENT_FLOW.md
Two surfaces. One canonical contract for rich narrative reports.
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.
- Surface —
witness(narrative) ordeterministic - Subjects — one block per person (role + birth + normalized_location)
- Relationship —
relationship_contextornullfor solo - Language + Level —
language+consciousness_level(0-5) - Mode + Level —
report_level+report_mode - Assemble — output under
### FINAL ASSEMBLED REQUEST - Run — get
OrchestratorOutput - Post-process — Source pack → NotebookLM slides via
selemene-notebooklm
NOESIS_API_KEY—X-API-KeyheaderSELEMENE_RUST_URL— base for deterministic + witness callslanguage— first-class (default"en")report_level—L0–L5
birth-blueprint, integrated-reading / integrated-reading-l4, mother-son-lineage, business-partners, family-penta, unmarried-partners, married-partners.
- Folio header — inside
assembledwhen relationship present - Source pack —
createSourcePack(...) - NotebookLM slides prompt —
generateSlidesPrompt(output, { language, bridgeMandates })
- "Facts only. No prediction. No diagnosis."
- Use
relationship_headerverbatim - Respect
sensitivity_level - Never promise outcomes
selemene-core— contract + taxonomyselemene-report— guided Q&A with INPUT BOXesselemene-notebooklm— turnOrchestratorOutputinto NotebookLM promptselemene-cheatsheet.md— ultra-minimal 3-shapes + 8-steps
See docs/api/AGENT_FLOW.md for full copy-paste examples and guardrails.
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.
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-tuiScreens: 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
A small selection of the symbolic mirrors. Each is a non-predictive lens — reflection, not instruction.
See docs/assets/images/engines/ for the full collection (videos + posters + contact sheets).
P0 — SDK Foundation ✅
noesis-sdkcrate — HTTP client, profile, keychain, renderer, config- 27 tests passing
P1 — Terminal TUI ✅
noesis-tuicrate — 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
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.
|
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 | ||
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 (
languagefield, defaulten) - Retrieval: vectorized pattern memory with relationship + level filters
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.
- Deterministic (Rust):
POST /api/v1/engines/{id}/calculate,POST /api/v1/workflows/{id}/execute - Narrative Witness (Rich):
POST /api/v1/assets/generate— acceptsReportGenerationRequest(subjects, relationship_context, language, report_level), returnsOrchestratorOutput(with Folio header, assembled, passes, patterns) - Source Pack:
createSourcePack(...)fromOrchestratorOutput - NotebookLM:
generateSlidesPrompt(output, { language, bridgeMandates })
See:
docs/api/README.mddocs/api/AGENT_FLOW.md— canonical for agentsdocs/api/engines.mddocs/api/workflows.md
The public API contract is preserved while release gates are being completed.
- Billing:
BILLING_MODE=freeis the safe default when Dodo Payments is unavailable.disabledis a hard ceiling. Checkout, portal, and webhook routes remain registered for compatibility but return503 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.
Skills for Claude/OpenCode/Codex/Hermes/OpenClaw:
selemene-core— contract, taxonomy, shapesselemene-report— guided 8-step Q&A (INPUT BOXes) for rich reportsselemene-notebooklm— produce NotebookLM slides prompt fromOrchestratorOutputselemene-cheatsheet.md+quick-reference.md— minimal reference
Activated in ~/.agents/skill-clusters.
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.
See docs/contributing/ and the canonical agent guide docs/api/AGENT_FLOW.md.
MIT — see LICENSE.
