molecule-core/workspace-server
Molecule AI Fullstack Engineer 83764f4c6f
All checks were successful
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 11s
sop-tier-check / tier-check (pull_request) Successful in 10s
fix(handlers/discovery): nil-guard in filterPeersByQuery + test coverage for #730
Fixes a type-assertion panic when a workspace has an empty role string.
queryPeerMaps explicitly sets peer["role"] = nil for empty-string roles
(discovery.go:340), and filterPeersByQuery did p["role"].(string) without
guarding for nil. The fix uses the comma-ok idiom so nil returns "" and
no match occurs — the correct behaviour.

Test files added (all pure functions, no DB/side effects):

- discovery_filter_test.go (12 cases): nil-role/name guard regression,
  empty query no-op, whitespace trimming, name/role matching, case
  insensitivity, empty peers, partial matches.

- org_helpers_walk_test.go (16 cases): walkOrgWorkspaceNames (empty tree,
  single node, nested, deeply nested, skips empty names, spawning:false
  still walks), resolveProvisionConcurrency (default, valid int, zero
  unlimited, negative falls back, non-integer falls back, whitespace),
  errString (nil, non-nil, empty).

- delegation_extract_response_text_test.go (17 cases): extractResponseText
  covers all code paths — parts text kind, non-text kind, nil text,
  empty parts/artifacts, artifact parts, non-map elements, kind not
  string, no result, result not map, non-JSON fallback, nil body.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 18:13:53 +00:00
..
cmd docs(runbook): add admin-auth.md covering test-token route lockdown 2026-05-10 02:20:30 +00:00
internal fix(handlers/discovery): nil-guard in filterPeersByQuery + test coverage for #730 2026-05-12 18:13:53 +00:00
migrations feat(plugins): plugin drift detector + queue + admin apply endpoint (#123) 2026-05-10 00:39:50 +00:00
pkg/provisionhook
.air.toml
.ci-force
.gitignore
.golangci.yaml
Dockerfile ci(docker): pin base image digests in all Dockerfiles 2026-05-09 23:56:39 +00:00
Dockerfile.dev ci(docker): pin base image digests in all Dockerfiles 2026-05-09 23:56:39 +00:00
Dockerfile.tenant fix(dockerfile-tenant): chown /org-templates to canvas user so !external resolver can mkdir cache 2026-05-09 19:40:52 -07:00
entrypoint-tenant.sh
go.mod fix(platform): add CWE-22 guard to loadWorkspaceEnv (closes #321) 2026-05-11 11:36:14 +00:00
go.sum [core-lead-agent] fix(core#228): cascade fixes for PluginResolver — make main compile 2026-05-10 09:46:35 +00:00