Skip to content

Stamp session metadata into session.config #93

@samueljklee

Description

@samueljklee

Problem

app-cli stamps application_host, root_session_id, bundle_name, project_slug, project_name, working_dir, project_dir into session.config (the coordinator's config dict) at session_runner.py:159-223. Distro only writes some of these to metadata.json on disk — but never writes to session.config.

Hooks and modules reading session.config["application_host"] or session.config["root_session_id"] for tracing/observability get KeyError or None.

Evidence

  • grep -rn "application_host\|root_session_id\|project_slug" distro-server/src/ returns zero matches in session_backend.py
  • Distro writes session_id, bundle, working_dir, description to metadata.json via MetadataSaveHook — but not to session.config

Fix

After prepared.create_session() returns in both create_session() and _reconnect(), stamp:

session.config["application_host"] = "Amplifier Distro"
session.config["root_session_id"] = session_id
session.config["bundle_name"] = bundle_name or self._bundle_name
session.config["working_dir"] = str(wd)
session.config["project_dir"] = str(wd)
session.config["project_name"] = wd.name
session.config["project_slug"] = project_id

Use guard pattern if "key" not in session.config to prevent child sessions from overwriting inherited values.

~15 lines in session_backend.py, added in two places (create + reconnect).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions