Repository navigation
Batch: resolve all open bug/fix/discovery issues #10440
Copy link
Copy link
Closed
Description
Activity
Progress — batch complete (pending final PR merge)
Merged + closed:
- ✅ bug(api): /api/security/domain-security/stats 500 — SecurityConstants.ALLOWED_WEB_PORTS undefined #10384 bug(api): /api/long-running 500 — operation_integration_manager never initialized (operation_manager None) #10385 bug(restart): LLM key-rotation int('') import crash + AutoBotMemoryGraph await-None on close #10415 fix(frontend): vite/rolldown build fails — cannot resolve 'vega' from vega-embed #9284 — already fixed in base, verified-closed
- ✅ bug(knowledge): doc_indexer drops every chunk on embedding-dimension mismatch (stale Chroma collection) #10420 (PR fix(knowledge): migrate Chroma collection on embedding-dimension mismatch (#10420) #10439) chroma dim-migration
- ✅ bug(frontend): health-check calls hit wrong/missing paths — /vision/health (→/vision/status), /batch-jobs/health, /mcp/health 404 #10429 (PR fix(frontend): repoint 404 health-checks — add /api/mcp/health route + SLM batch-jobs health (#10429) #10441) health-check paths + /api/mcp/health route
- ✅ core-plugins entry_point (plugins.core_plugins.*) not importable — plugin-loader tool registration silently fails #10294 discovery(whatsapp): route inbound media/voice messages into chat pipeline #10267 (PR feat(integrations): plugin-loader file-path fallback for core-plugins + route WhatsApp inbound media into chat (#10294, #10267) #10442) plugin-loader fallback + WhatsApp media
- ✅ bug(slm): SSO OAuth-state uses sync get_redis_client() with await → fails against real Redis #10284 bug(rbac): two divergent permission vocabularies — colon SYSTEM_PERMISSIONS/SYSTEM_ROLES vs dot Permission enum/ROLE_PERMISSIONS #10221 (PR fix(auth): async redis for SSO/PKCE OAuth-state + reconcile RBAC seed to canonical Permission enum (#10284, #10221) #10455) async-redis SSO + RBAC seed reconcile
- ✅ bug(nginx): /autobot-api proxies to :8443 (https) but backend is http :8001 — 502 + hardcoded Connection upgrade #10378 bug(service-auth): backend→SLM WebSocket fails (403 handshake + 4001 token); JWT secret not distributed #10400 bug(deploy): code-sync rebuild of autobot-slm-frontend fails silently — VITE_API_URL unset #10435 (PR fix(deploy): nginx /autobot-api→http :8001 + connection_upgrade map, distribute SLM_SECRET_KEY, SLM build VITE_API_URL=/slm (#10378, #10400, #10435) #10456) nginx/secret-distribution/SLM-build
- ✅ deps: unblock langchain >=1.3.10 — decouple websockets>=16.0 from langgraph-sdk constraint #10386 (PR deps(backend): relax websockets to >=15,<16 to unblock langchain >=1.3.10 (#10386) #10462) langchain ≥1.3.10 unblock
- ✅ fix(governance): scope branch-cleanup merged-PR confirmation search (avoid broad --search match) #10114 discovery(hooks): block-dangerous-commands.sh git guard bypassed by a global option (git -c foo=bar checkout <branch>) #10434 discovery(license): mcp-task-manager-server LICENSE is GPL-3.0 but package.json declares ISC — Apache-2.0 incompatible #10117 (PR fix(governance): scope branch-cleanup PR search, harden git-guard vs global opts, reconcile mcp-task-manager-server license (#10114, #10434, #10117) #10464) governance/git-guard/license
- ✅ Fleet health degraded on fresh install: VM agent dies after early-404 heartbeats + optional assigned roles never activate (vnc detection gap) #9965 (PR fix(fleet): slm-agent 404 heartbeat backoff + vnc target_path detection + optional-role health classification (#9965) #10463) fleet health
- ✅ bug(llc/tests): 41 pre-existing functional test failures (fail in isolation, not pollution) #10388 (PR fix(llc/tests): resolve all 41 pre-existing functional test failures — llc/tests now green (#10388) #10468) llc/tests — all 41 failures fixed, suite green
- ✅ discovery(frontend): two coexisting feature-flag conventions — vite.config __FEATURE_* (!== 'false', opt-out) vs navItems VITE_FEATURE_* (=== 'true', opt-in) #10086 (PR refactor(frontend): consolidate to single feature-flag convention — remove unused __FEATURE_* defines (#10086) #10446, other session) feature-flag consolidation
- 🔄 bug(singletons): 3 health singletons fail to instantiate (revealed by #10460) #10466 + bug(health): detailed-health probes mis-report — request not propagated + probe exceptions #10460 (PR fix(health): repair model-optimizer/project-state/enterprise singletons + graceful-degrade optional probes (#10466, #10460) #10477) health singletons — in CI
Follow-ups filed (deferred with rationale):
- chore(db): migrate existing colon-style RBAC permission/role rows to canonical dot vocabulary (follow-up of #10221) #10458 — DB data-migration for colon→dot RBAC rows (part of epic(auth): unify AutoBot + SLM into ONE user store with role-based access (SLM = role-gated view, not a separate userbase) #10193)
- bug(service-auth): backend→SLM WebSocket 403 handshake rejection (pre-app-auth) — needs live repro (follow-up of #10400) #10459 — backend→SLM WS 403 handshake (needs live repro; 4001 secret-mismatch already fixed)
- bug(tests): test_probe_batch_jobs_data_shape_redis_ok monkeypatches get_async_redis_client on wrong module scope #10476 — pre-existing batch_jobs probe test monkeypatch scope bug
Total: 22 bug/fix/discovery issues resolved across 11 PRs (multiple issues per PR).
✅ Batch complete
All bug/fix/discovery issues open at batch start are resolved. 22 issues closed across 11 merged PRs (multiple issues per PR):
PR Issues #10439 #10420 #10441 #10429 #10442 #10294, #10267 #10446 (other) #10086 #10455 #10284, #10221 #10456 #10378, #10400(4001), #10435 #10462 #10386 #10463 #9965 #10464 #10114, #10434, #10117 #10468 #10388 (all 41 llc test failures) #10477 #10466, #10460 — (already in base) #10384, #10385, #10415, #9284 — verified-closed Deferred with rationale (cannot be safely fixed in-codebase here):
- chore(db): migrate existing colon-style RBAC permission/role rows to canonical dot vocabulary (follow-up of #10221) #10458 — DB data-migration for colon→dot RBAC rows (alembic; part of epic epic(auth): unify AutoBot + SLM into ONE user store with role-based access (SLM = role-gated view, not a separate userbase) #10193). Code layer + parity tests done.
- bug(service-auth): backend→SLM WebSocket 403 handshake rejection (pre-app-auth) — needs live repro (follow-up of #10400) #10459 — backend→SLM WS 403 handshake (the 4001 secret-mismatch IS fixed). 403 originates pre-FastAPI; needs live-SLM reproduction.
- bug(tests): test_probe_batch_jobs_data_shape_redis_ok monkeypatches get_async_redis_client on wrong module scope #10476 — orphaned health-probe test references a non-existent `probe_batch_jobs`; needs a design decision (implement probe vs. rewrite test), not a workaround.
Closing this umbrella.
Batch complete — all tracked issues closed (verified 2026-06-23)
Every issue in this cross-cutting tracker is resolved:
- PR-A backend: bug(api): /api/security/domain-security/stats 500 — SecurityConstants.ALLOWED_WEB_PORTS undefined #10384 ✓ bug(api): /api/long-running 500 — operation_integration_manager never initialized (operation_manager None) #10385 ✓ bug(restart): LLM key-rotation int('') import crash + AutoBotMemoryGraph await-None on close #10415 ✓
- PR-B frontend: bug(frontend): health-check calls hit wrong/missing paths — /vision/health (→/vision/status), /batch-jobs/health, /mcp/health 404 #10429 ✓ fix(frontend): vite/rolldown build fails — cannot resolve 'vega' from vega-embed #9284 ✓
- PR-C auth: bug(slm): SSO OAuth-state uses sync get_redis_client() with await → fails against real Redis #10284 ✓ bug(rbac): two divergent permission vocabularies — colon SYSTEM_PERMISSIONS/SYSTEM_ROLES vs dot Permission enum/ROLE_PERMISSIONS #10221 ✓
- PR-D deploy/infra: bug(nginx): /autobot-api proxies to :8443 (https) but backend is http :8001 — 502 + hardcoded Connection upgrade #10378 ✓ bug(service-auth): backend→SLM WebSocket fails (403 handshake + 4001 token); JWT secret not distributed #10400 ✓ bug(deploy): code-sync rebuild of autobot-slm-frontend fails silently — VITE_API_URL unset #10435 ✓
- PR-E integrations: core-plugins entry_point (plugins.core_plugins.*) not importable — plugin-loader tool registration silently fails #10294 ✓ discovery(whatsapp): route inbound media/voice messages into chat pipeline #10267 ✓
- PR-F deps: deps: unblock langchain >=1.3.10 — decouple websockets>=16.0 from langgraph-sdk constraint #10386 ✓
- PR-G governance/hooks/license/flags: fix(governance): scope branch-cleanup merged-PR confirmation search (avoid broad --search match) #10114 ✓ discovery(hooks): block-dangerous-commands.sh git guard bypassed by a global option (git -c foo=bar checkout <branch>) #10434 ✓ discovery(license): mcp-task-manager-server LICENSE is GPL-3.0 but package.json declares ISC — Apache-2.0 incompatible #10117 ✓ discovery(frontend): two coexisting feature-flag conventions — vite.config __FEATURE_* (!== 'false', opt-out) vs navItems VITE_FEATURE_* (=== 'true', opt-in) #10086 ✓
- Fleet health degraded on fresh install: VM agent dies after early-404 heartbeats + optional assigned roles never activate (vnc detection gap) #9965 ✓ · bug(llc/tests): 41 pre-existing functional test failures (fail in isolation, not pollution) #10388 ✓ · bug(knowledge): doc_indexer drops every chunk on embedding-dimension mismatch (stale Chroma collection) #10420 ✓ (PR fix(knowledge): migrate Chroma collection on embedding-dimension mismatch (#10420) #10439)
20/20 closed. Closing the tracker.
Batch: fix all open bug/fix/discovery issues (multiple per PR)
Grouping cohesive issues into shared PRs per the batch-implement workflow.
PRs
All work in
.worktrees/issue-*, baseDev_new_gui, merged serially (single runner, PR-queue cap 5).