Selemene Core
Cross-cutting rules for every Selemene skill.
Two report surfaces
Deterministic reports —
crates/noesis-vedic-api/src/report_generator/birth_report.rscompatibility_report.rstransit_report.rs- Inputs:
BirthDetails,CompatibilityPair, date ranges. - Output:
GeneratedReportJSON withsectionsandsummary.
Narrative witness readings —
packages/witness-pipeline/src/orchestrator/integrated.tsIntegratedReadingOrchestrator- Inputs:
ReportGenerationRequestwithsubjects,report_level,report_mode. - Output: assembled markdown + source-pack (manifest + reading + reflection questions).
Bridge CLI contract
The existing @selemene/bridge CLI at bridges/cli/src/cli.ts exposes:
init— interactive wizard, writes.selemenerc.jsongenerate— fetches Rust + TS OpenAPI specs and emits Claude/OpenAI/LangChain tool definitionscheck— health checkdoctor— diagnostics
The skill cluster reads .selemenerc.json for rustUrl, tsUrl, and apiKey. It does not regenerate tool definitions.
Output manifest
Every report run must produce:
{
"report_type": "birth|compatibility|transit|witness",
"created_at": "ISO-8601",
"subject_count": 1,
"engines_used": ["vedic"],
"artifact_path": "/absolute/path/to/artifact",
"witness_prompt": "..."
}
Tone rule
All generated prompts and summaries are non-prescriptive mirrors. No medical, financial, or deterministic life advice. Questions only.