Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,6 @@ mini-swe-agent/
.nix-stamps/
result
website/static/api/skills-index.json

.claude

16 changes: 16 additions & 0 deletions gateway/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,22 @@ def load_gateway_config() -> GatewayConfig:
with open(config_yaml_path, encoding="utf-8") as f:
yaml_cfg = yaml.safe_load(f) or {}

# Hydrate top-level UPPERCASE_HOME_CHANNEL keys from config.yaml
# into os.environ so `_apply_env_overrides` picks them up on boot.
# Without this, /sethome-written yaml entries get orphaned across
# gateway restarts (yaml survives, process env does not), which
# makes onboarding prompts and home-channel routing flap between
# sessions. Env var (if already set) takes precedence.
for _k, _v in yaml_cfg.items():
if (
isinstance(_k, str)
and _k.endswith("_HOME_CHANNEL")
and _k.isupper()
and _v
and not os.getenv(_k)
):
os.environ[_k] = str(_v)

# Map config.yaml keys → GatewayConfig.from_dict() schema.
# Each key overwrites whatever gateway.json may have set.
sr = yaml_cfg.get("session_reset")
Expand Down
Loading
Loading