Skip to content

Conversation

@cpdata
Copy link
Owner

@cpdata cpdata commented Oct 15, 2025

Summary

  • add a provider-agnostic meshmind/llm_client.py and thread LLM override plumbing through the client, pipelines, CLI, and service layers
  • standardize timestamp handling on timezone-aware UTC defaults and introduce provisioning-script smoke tests alongside REST/gRPC override coverage
  • refresh developer documentation, backlog artifacts, and environment guides to describe the new override cascade, optional package installs, and setup automation

Testing

  • pytest

https://chatgpt.com/codex/tasks/task_b_68ee1c9ee92c83218cbbebce8b0667b8

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting

Comment on lines +198 to +202
return LLMClient(
self.config.override(
models=models, base_urls=base_urls, api_key=api_key
),
client_kwargs=self._default_kwargs,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge with_overrides ignores base URL and API key changes

The new override helper creates a fresh LLMClient, but it passes the existing _default_kwargs as client_kwargs. Inside LLMClient.__init__ those kwargs are only merged with the new config via setdefault, so any previously cached api_key or base_url entries remain unchanged and the override never takes effect. Calling client.with_overrides(api_key="..." or base_urls={...}) therefore still talks to the original endpoint/credential. The constructor should rebuild client_kwargs from the overridden config (or omit the old defaults) so that the new key/URL is actually used.

Useful? React with 👍 / 👎.

Comment on lines +88 to +92
"label": payload.get("entity_label", label),
"name": payload.get("name", name),
"namespace": namespace,
"props": json.dumps(payload),
},

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge SQLite driver fails to persist entities with datetimes/UUIDs

Entity properties are stored by dumping the entire payload with json.dumps(payload). Typical Memory instances contain uuid.UUID, datetime, and other non‑JSON‑serializable objects, so json.dumps raises TypeError before any insert occurs. As a result the SQLite backend cannot store memories out of the box. Properties should be converted to JSON‑safe values (e.g. via Pydantic’s model_dump(mode="json") or explicit isoformat()/str()) before calling json.dumps.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants