11# =============================================================================
2- # Core deploy runtime
2+ # Core runtime / deploy
33# =============================================================================
44
5- # X OAuth2 user refresh flow (required for polling and posting)
6- X_CLIENT_ID =
7- X_CLIENT_SECRET =
8- X_REFRESH_TOKEN =
9- X_REFRESH_BUFFER_SECONDS = 300
10- X_OAUTH_TOKEN_URL = https://api.x.com/2/oauth2/token
5+ NODE_ENV = production
6+ # Web-service only; the worker path ignores this.
7+ PORT = 10000
8+ DATA_DIR = /data
9+ LOG_LEVEL = INFO
1110
12- # xAI LLM path used by the Render deploy
13- XAI_API_KEY =
14- XAI_BASE_URL = https://api.x.ai/v1
15- XAI_MODEL_PRIMARY = grok-3
16- XAI_MODEL_FALLBACKS = grok-3-mini
11+ # =============================================================================
12+ # Launch / activation / polling
13+ # =============================================================================
1714
18- # Render / worker runtime
1915LAUNCH_MODE = prod
20- # Legacy fallback; LAUNCH_MODE is the primary switch now .
16+ # Optional legacy fallback for local scripts/tests when LAUNCH_MODE is unset .
2117# DRY_RUN=false
22- LOG_LEVEL = INFO
23- USE_REDIS = true
24- KV_URL =
25- REDIS_KEY_PREFIX = ORGANOID:
26- DATA_DIR = /data
27-
28- # Bot runtime
18+ # Runtime handle used by polling/posting.
2919BOT_USERNAME = organoid_on_sol
20+ # Conservative base; render.yaml keeps the production override explicit.
3021BOT_ACTIVATION_MODE = global
31- BOT_DENY_REPLY_MODE = silent
32- ADAPTIVE_POLLING_ENABLED = true
33- MENTIONS_SOURCE = search
22+ # Optional allowlist used only when LAUNCH_MODE=staging
23+ # ALLOWLIST_HANDLES=
24+ # Optional activation whitelist when BOT_ACTIVATION_MODE=whitelist
25+ # BOT_WHITELIST_USERNAMES=
26+ # BOT_WHITELIST_USER_IDS=
3427POLL_INTERVAL_MS = 30000
28+ MENTIONS_SOURCE = search
3529
3630# =============================================================================
37- # Optional X OAuth bootstrap state
31+ # X / Twitter API
3832# =============================================================================
39- # X_ACCESS_TOKEN=
33+
34+ # Required for X OAuth refresh flow and live posting.
35+ X_CLIENT_ID =
36+ X_CLIENT_SECRET =
37+ X_REFRESH_TOKEN =
38+ # Optional access token cache; refresh still works without it.
39+ X_ACCESS_TOKEN =
40+ X_REFRESH_BUFFER_SECONDS = 300
41+ X_OAUTH_TOKEN_URL = https://api.x.com/2/oauth2/token
42+ # Optional bootstrap/cache state for local OAuth helper scripts; keep these out of Render secrets unless needed.
4043# X_EXPIRES_IN=7200
4144# X_TOKEN_CREATED_AT=
4245# X_BOT_USER_ID=
46+ # X_BOT_USERNAME=
47+
48+ # =============================================================================
49+ # Storage / state / redis / kv
50+ # =============================================================================
51+
52+ # Conservative base; Render overrides this to true and requires KV_URL.
53+ USE_REDIS = false
54+ # Only if USE_REDIS=true.
55+ KV_URL =
56+ REDIS_KEY_PREFIX = ORGANOID:
57+ # Optional overrides.
58+ # MAX_LLM_CALLS_PER_MINUTE=30
59+ # COST_WEIGHT_THREAD=2
60+ # COST_WEIGHT_REPLY=1
61+ # RATE_LIMIT_BACKEND=store
62+ # POLL_LOCK_ENABLED=true
63+ # DEBUG_ARTIFACTS=false
4364
4465# =============================================================================
45- # Optional launch and provider overrides
66+ # Networking / fetch
4667# =============================================================================
47- # LLM_PROVIDER=xai
68+
69+ # Optional HTTP retry tuning used by shared fetch helpers.
70+ # FETCH_TIMEOUT_MS=30000
71+ # FETCH_BACKOFF_BASE_MS=5000
72+ # FETCH_BACKOFF_MAX_MS=300000
73+ # FETCH_RETRY_JITTER_MS=500
74+
75+ # =============================================================================
76+ # LLM / provider keys
77+ # =============================================================================
78+
79+ LLM_PROVIDER = xai
80+ # Only for optional provider fallback if the primary is unavailable.
4881# LLM_FALLBACK_PROVIDER=
49- # LLM_API_KEY=
82+ XAI_API_KEY =
83+ XAI_BASE_URL = https://api.x.ai/v1
84+ XAI_MODEL_PRIMARY = grok-3
85+ XAI_MODEL_FALLBACKS = grok-3-mini
86+ # Optional alternative provider credentials.
5087# OPENAI_API_KEY=
5188# OPENAI_MODEL=gpt-4o-mini
5289# OPENAI_BASE_URL=https://api.openai.com/v1
5390# ANTHROPIC_API_KEY=
5491# ANTHROPIC_MODEL=claude-3-5-sonnet-latest
5592# ANTHROPIC_BASE_URL=https://api.anthropic.com/v1
56- # LLM_TEMPERATURE=0.7
57- # LLM_MAX_TOKENS=350
93+ # Optional runtime tuning.
5894# LLM_TIMEOUT_MS=30000
95+ # LLM_MAX_TOKENS=350
96+ # LLM_TEMPERATURE=0.7
5997# LLM_CANNED_FALLBACK=Sorry, gerade keine Antwort moeglich
6098
6199# =============================================================================
62- # Optional storage and rate-limit tuning
100+ # Safety / engagement / feature flags
63101# =============================================================================
64- # MAX_LLM_CALLS_PER_MINUTE=30
65- # COST_WEIGHT_THREAD=2
66- # COST_WEIGHT_REPLY=1
67- # REDIS_URL=
68- # RATE_LIMIT_BACKEND=store
69- # POLL_LOCK_ENABLED=true
70- # SKIP_ENV_VALIDATION=false
71- # DEBUG_ARTIFACTS=false
72102
73- # =============================================================================
74- # Optional whitelist and engagement controls
75- # =============================================================================
76- # ALLOWLIST_HANDLES=
77- # BOT_WHITELIST_USERNAMES=
78- # BOT_WHITELIST_USER_IDS=
103+ # Optional compliance gate for proactive engagement.
79104# ENGAGEMENT_AI_APPROVED=false
80105# ENGAGEMENT_OPT_IN_HANDLES=
81106# ENGAGEMENT_OPT_OUT_HANDLES=
107+ # Only for the proactive timeline loop.
82108# TIMELINE_ENGAGEMENT_ENABLED=false
83109# TIMELINE_ENGAGEMENT_INTERVAL_MS=600000
84110# TIMELINE_ENGAGEMENT_MAX_PER_RUN=2
@@ -93,8 +119,33 @@ POLL_INTERVAL_MS=30000
93119# TIMELINE_CONVERSATION_COOLDOWN_MINUTES=120
94120
95121# =============================================================================
96- # Optional memory and semantic layers
122+ # Orchestration / embodiments / hybrid runtime
97123# =============================================================================
124+
125+ # EMBODIMENTS_ENABLED=true
126+ # DEFAULT_SAFE_EMBODIMENT=stillhalter
127+ # EMBODIMENT_ROUTING_DEBUG=false
128+ # Conservative base; render.yaml keeps orchestration off explicitly.
129+ # EMBODIMENT_ORCHESTRATION_ENABLED=false
130+ # EMBODIMENT_CONTINUITY_ENABLED=true
131+ # EMBODIMENT_SWARM_ENABLED=false
132+ # EMBODIMENT_MAX_CAMEOS=2
133+ # Optional embodiment feature flags that stay false unless explicitly enabled.
134+ # EMBODIMENT_MEMORY_ENABLED=false
135+ # EMBODIMENT_EVOLUTION_ENABLED=false
136+ # EMBODIMENT_RUNNING_JOKES_ENABLED=false
137+ # EMBODIMENT_TRAIT_DRIFT_LIMIT=0.25
138+ # EMBODIMENT_ENSEMBLE_ENABLED=false
139+ # EMBODIMENT_AUTONOMY_ENABLED=false
140+ # EMBODIMENT_ARC_ENGINE_ENABLED=false
141+ # EMBODIMENT_WORLD_ENABLED=false
142+ # EMBODIMENT_WORLD_EVENTS_ENABLED=false
143+ # EMBODIMENT_FACTIONS_ENABLED=false
144+ # EMBODIMENT_RITUALS_ENABLED=false
145+ # EMBODIMENT_LORE_EXPANSION_ENABLED=false
146+ # Optional governance ceilings for world/ritual overlays.
147+ # EMBODIMENT_MAX_ACTIVE_WORLD_EVENTS=2
148+ # EMBODIMENT_MAX_ACTIVE_RITUAL_OVERLAYS=1
98149# HYBRID_RUNTIME_MODE=hybrid
99150# HYBRID_MEMORY_STORE_PATH=
100151# HYBRID_MEMORY_FILE_PATH=
@@ -108,60 +159,21 @@ POLL_INTERVAL_MS=30000
108159# HYBRID_RUNTIME_MAX_REASONS=4
109160# HYBRID_RUNTIME_MAX_CONTEXT_CHARS=720
110161
111- # SEMANTIC_ENABLED=false
112- # SEMANTIC_MODE=shadow
113- # SEMANTIC_TOPK=20
114- # SEMANTIC_CLUSTER_SIM=0.82
115- # SEMANTIC_QUERY_MAX_RESULTS=50
116- # SEMANTIC_MEMORY_TTL_DAYS=14
117- # SEMANTIC_INDEX_TTL_DAYS=7
118- # SEMANTIC_INDEX_MAX_DOCS=2000
119-
120162# =============================================================================
121- # Optional identity and Solana verification
163+ # Identity / Solana
122164# =============================================================================
123- # BOT_TOKEN_MINT=
165+
166+ # BOT_TOKEN_MINT=So11111111111111111111111111111111111111112
124167# BOT_TREASURY_WALLET=
125168# BOT_TICKER=Organoid
126169# BOT_PROGRAM_ID=
127170# SOLANA_RPC_PRIMARY_URL=https://api.mainnet-beta.solana.com
128171# SOLANA_RPC_FALLBACK_URL=https://solana-api.projectserum.com
129172
130173# =============================================================================
131- # Embodiment runtime
174+ # Observability / pulse heart
132175# =============================================================================
133- # EMBODIMENTS_ENABLED=true
134- # DEFAULT_SAFE_EMBODIMENT=stillhalter
135- # EMBODIMENT_MEMORY_ENABLED=false
136- # EMBODIMENT_ROUTING_DEBUG=false
137- # EMBODIMENT_CONTINUITY_ENABLED=true
138- # EMBODIMENT_EVOLUTION_ENABLED=false
139- # EMBODIMENT_RUNNING_JOKES_ENABLED=false
140- # EMBODIMENT_SWARM_ENABLED=false
141- # EMBODIMENT_TRAIT_DRIFT_LIMIT=0.25
142- # EMBODIMENT_ENSEMBLE_ENABLED=false
143- # EMBODIMENT_AUTONOMY_ENABLED=false
144- # EMBODIMENT_ARC_ENGINE_ENABLED=false
145- # EMBODIMENT_MAX_CAMEOS=2
146- # EMBODIMENT_WORLD_ENABLED=false
147- # EMBODIMENT_FACTIONS_ENABLED=false
148- # EMBODIMENT_WORLD_EVENTS_ENABLED=false
149- # EMBODIMENT_RITUALS_ENABLED=false
150- # EMBODIMENT_LORE_EXPANSION_ENABLED=false
151- # EMBODIMENT_MAX_ACTIVE_WORLD_EVENTS=2
152- # EMBODIMENT_MAX_ACTIVE_RITUAL_OVERLAYS=1
153- # EMBODIMENT_SAFE_MODE=false
154176
155- # =============================================================================
156- # Optional local tooling
157- # =============================================================================
158- # REPLICATE_API_KEY=
159- # REPLICATE_IMAGE_MODEL=black-forest-labs/flux-schnell
160- # REPLICATE_RUN_TIMEOUT_MS=45000
161- # REPLICATE_DOWNLOAD_TIMEOUT_MS=20000
162- # AGGRESSIVE_MODE=analyst
163- # TEST_MODE=true
164- # FULL_SPECTRUM_PROMPT=true
165- # DEMO_OUTPUT_DIR=out
166- # DEMO_INPUT_IMAGE=assets/demo_base.png
167- # EMBODIMENT_SEMANTIC_VERSION=v1
177+ # Optional console/terminal tap controls for pulse-heart telemetry.
178+ # ORGANOID_PULSE_HEART_TERMINAL=true
179+ # ORGANOID_PULSE_HEART_CONSOLE_TAP=false
0 commit comments