fix: realign cockpit worker map with gateway routing#76
Merged
Conversation
The WORKERS constant drifted from the gateway's MODEL_FORCE_MAP: - The 10 hardware mascarade aliases (kicad/spice/stm32/emc/embedded/ platformio/freecad/dsp/iot/power) were still attributed to Tower Ollama :8004, but the gateway force-maps them to the Studio MLX bf16 worker :9340 (PR #100/#102). Added a studio-mascarade worker and trimmed tower-ollama to the two aliases it still backs (components-review, coder) plus the embed surface. - ailiance-granite was listed on both macm1-mlx and kxkm-granite; the gateway force-maps it only to kxkm-ai :8003. Dropped it from macm1-mlx so /status request counts are not double-attributed.
There was a problem hiding this comment.
Pull request overview
Aligns the cockpit’s /status worker inventory (WORKERS) with the gateway’s effective routing/force-mapping so that request counting and surfaced worker metadata reflect production reality.
Changes:
- Added a dedicated
studio-mascaradeworker entry (autossh viahost.docker.internal:9340) and moved the 10 “hardware mascarade” aliases to it. - Restricted
tower-ollamato only the remaining gateway aliases it actually backs (components-review,coder, plusembed). - Updated the integration test to expect the new worker id and to validate its
host.docker.internalURL.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| apps/api/tests/integration/test_status_endpoint.py | Updates the production-fleet consistency assertion to include studio-mascarade and its tunnel URL expectation. |
| apps/api/src/ailiance_demo/services/gateway_probe.py | Realigns WORKERS alias-to-worker mapping (adds studio-mascarade, removes duplicate Granite routing on macM1, narrows tower-ollama). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+102
to
+103
| # kxkm-ai :8003, not macM1. macM1 hosts a granite-4.1-30b model but | ||
| # the gateway never routes the alias to it. |
| # aliases the gateway still force-maps to :8004, plus the embed | ||
| # surface. | ||
| "id": "tower-ollama", | ||
| "label": "Tower · Ollama mascarade :8004", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexte
Audit des câblages routeur ↔ modèles servis (demandé). Le
WORKERSdu cockpit (gateway_probe.py) avait dérivé duMODEL_FORCE_MAPréel de la gateway.Constats corrigés
kicad/spice/stm32/emc/embedded/platformio/freecad/dsp/iot/powerétaient encore attribués àtower-ollama:8004. La gateway (MODEL_FORCE_MAP, PR #100/#102) les force-mappe désormais vers le worker Studio MLX bf16:9340. → Ajout d'un workerstudio-mascarade(:9340) ;tower-ollamaréduit aux 2 alias qu'il sert encore (components-review,coder) + l'embed.ailiance-granite: présent à la fois surmacm1-mlxetkxkm-granite. La gateway ne le route que vers kxkm-ai:8003. → Retiré demacm1-mlx(évite le double comptage des requêtes sur/status).Vérification
uv run pytest apps/api/tests→ 118 passed (testtest_workers_constant_matches_production_fleetmis à jour : 12 workers).Hors périmètre — constats d'audit gateway (dépôt
ailiance/ailiance)L'audit end-to-end des 46 alias a montré que 28 ne servent pas leur modèle nommé (repli silencieux sur
eu-kiki-gemma). Causes :MODEL_FORCE_MAPcomplet est déjà dansmainà #102 (« post-audit alias and port drift ») mais non déployé ;:9322— modèle supprimé, devstral:9316/:9330, flagship:9328, mixtral:9329, gemma4-variants:9335).Le correctif gateway n'est pas du code à écrire : c'est déployer #102 + rallumer les workers — actions de prod laissées à décision.