molecule-ai-workspace-runtime/molecule_runtime
Molecule AI Infra-SRE 42bdf530b5 fix(builtin_tools/validation): extend WORKSPACE_ID validation to top-level modules
Fixes remaining unguarded WORKSPACE_ID URL usages identified after the initial
builtin_tools/ fix:

- a2a_client.py: get_peers() and get_workspace_info() now use
  get_validated_workspace_id() before URL construction. The raw module-level
  constant is still used in the discover_peer() header (low risk, not URL path).
- a2a_cli.py: peers() and info() CLI commands now validate WORKSPACE_ID before
  calling the platform API. Commands exit with error code 1 + descriptive
  message if WORKSPACE_ID is empty or malformed.

Follow-up candidates (lower priority, not URL injection risk):
- coordinator.py: WORKSPACE_ID in registry peer URL
- consolidation.py: WORKSPACE_ID in memory URLs (long-running consolidation job)
- molecule_ai_status.py: WORKSPACE_ID in activity log URL
2026-04-21 00:55:08 +00:00
..
adapters fix(adapter-loader): fall back to any BaseAdapter subclass 2026-04-20 16:59:12 -07:00
builtin_tools fix(builtin_tools): validate WORKSPACE_ID before URL construction 2026-04-21 00:55:08 +00:00
plugins_registry fix(plugins_registry/builtins): strip API keys from plugin setup.sh env 2026-04-20 22:52:13 +00:00
policies feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
skill_loader feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
__init__.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
a2a_cli.py fix(builtin_tools/validation): extend WORKSPACE_ID validation to top-level modules 2026-04-21 00:55:08 +00:00
a2a_client.py fix(builtin_tools/validation): extend WORKSPACE_ID validation to top-level modules 2026-04-21 00:55:08 +00:00
a2a_executor.py fix: switch top-level from adapters import to absolute imports (#1) 2026-04-16 07:53:03 -07:00
a2a_mcp_server.py fix(builtin_tools/audit): fail-secure RBAC — read-only default when config unavailable 2026-04-20 22:47:38 +00:00
a2a_tools.py fix: MCP server path resolution + absolute imports (2nd half of #507) 2026-04-16 13:28:57 -07:00
agent.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
claude_sdk_executor.py fix: gate session resume on file existence (closes #488) 2026-04-16 11:12:03 -07:00
cli_executor.py fix(cli_executor + sandbox): CWE-78 auth helper + subprocess warning 2026-04-20 23:05:57 +00:00
config.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
consolidation.py fix: MCP server path resolution + absolute imports (2nd half of #507) 2026-04-16 13:28:57 -07:00
coordinator.py fix: switch top-level from adapters import to absolute imports (#1) 2026-04-16 07:53:03 -07:00
events.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
executor_helpers.py fix: MCP server path resolution + absolute imports (2nd half of #507) 2026-04-16 13:28:57 -07:00
heartbeat.py fix: MCP server path resolution + absolute imports (2nd half of #507) 2026-04-16 13:28:57 -07:00
initial_prompt.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
main.py fix(builtin_tools/audit): fail-secure RBAC — read-only default when config unavailable 2026-04-20 22:47:38 +00:00
molecule_ai_status.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
platform_auth.py fix(platform_auth): validate WORKSPACE_ID at import time (issue #14, CWE-20) (#29) 2026-04-21 00:04:54 +00:00
plugins.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
preflight.py fix: gate session resume on file existence (closes #488) 2026-04-16 11:12:03 -07:00
prompt.py fix: switch top-level from adapters import to absolute imports (#1) 2026-04-16 07:53:03 -07:00
transcript_auth.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
watcher.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00