You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A discussion dedicated to the Mux module. Share your thoughts, questions, and feedback here.
Module Scorecard
Presentation & Onboarding
Agent Integration
Credential Hygiene
Restricted-Environment Readiness
Engineering Quality
Overall
17 / 17
20 / 25
20 / 20
17 / 20
10 / 10
91 / 100
Drilldown
Presentation & Onboarding — 17 / 17
Criterion
Max
Score
Notes
Configuration-mode examples
12
12
README provides comprehensive examples covering major modes: basic usage, version pinning, project launch, custom arguments, restart behavior, custom port, package manager selection, custom registry, cached installation, and skip-install mode. Each example includes sensible defaults and clear use cases.
Visual preview
5
5
README includes  image showing the product in action. Image file verified to exist (249.1 KB).
Agent Integration — 20 / 25
Criterion
Max
Score
Notes
AI governance
10
0
No documentation of Coder AI Gateway or Agent Firewall support. The module generates a per-instance auth token (random_password.mux_auth_token) for cross-site request protection between the Coder dashboard and the mux server, but this is internal module security, not AI governance integration.
Dashboard entry point
5
5
Full coder_app support with proper configuration: slug, display_name, URL with auth token, icon, subdomain, share, healthcheck endpoint (/health), and configurable open_in behavior.
Session continuity
5
5
Documented support for continuing sessions: "Long-Running Processes: Resume AI work after interruptions" in Features section. The restart_on_kill feature with restart_delay_seconds and max_restart_attempts provides automatic session recovery after exits, documented in "Restart After Mux Exits" example.
Managed configuration
5
10
Documented support for managed configuration via add_project (opens specific project on launch) and additional_arguments (passes arbitrary mux server arguments including --open-mode). Examples show configuration of workdir, server arguments, and startup behavior.
Credential Hygiene — 20 / 20
Criterion
Max
Score
Notes
Secrets marked sensitive
16
16
The module generates random_password.mux_auth_token for internal auth and passes it via process-scoped environment variable (MUX_SERVER_AUTH_TOKEN), never exposing it in logs or persistent env. No user-supplied secrets are required. README examples avoid inline secrets entirely.
Non-hardcoded auth path
4
4
Module generates per-instance auth tokens automatically via random_password resource, eliminating the need for users to paste keys. The token is passed securely via process environment and URL query parameter for dashboard-to-server authentication.
Restricted-Environment Readiness — 17 / 20
Criterion
Max
Score
Notes
Mirrorable artifact source
5
5
registry_url variable (default https://registry.npmjs.org) overrides the npm registry URL for installing @coder/xum. Documentation states: "Use a private or mirrored npm registry. The registry must serve the scoped @coder/xum package." The variable is used in both package manager installs and tarball fallback downloads.
Bring-your-own binary
10
10
install = false variable documented in "Skip Install" example: "Run without installing from the network (requires a mux binary at <install_prefix>/mux, by default ~/.coder-modules/coder/mux/mux)". Test coverage confirms this works (run "install_false_only_success").
Egress transparency
3
0
No dedicated README section enumerating external endpoints. Notes section mentions "Requires internet connectivity for agent operations" and registry/Node.js downloads are inferable from examples, but endpoints are scattered across unrelated sections rather than consolidated in a network/offline/air-gapped section.
Runs without sudo
2
2
Inspection of run.sh shows no sudo invocations. All operations (mkdir, curl, tar, npm/pnpm/bun, ln, nohup) work as unprivileged user. Node.js bootstrap downloads to $HOME/.coder-modules, install uses user-writable paths, and the launcher runs via nohup without privilege escalation.
Engineering Quality — 10 / 10
Criterion
Max
Score
Notes
Input quality
6
6
All inputs have clear descriptions. Sensible defaults throughout (port 4000, install_prefix under module root, restart_delay_seconds 5). Validation rules present: package_manager enum validation, share enum validation, open_in enum validation, restart_delay_seconds >= 0, max_restart_attempts whole number >= 0, cross-variable validation preventing install=false with use_cached=true.
Test coverage
4
4
Comprehensive .tftest.hcl with 20+ test runs covering business logic: required vars, validation rules, custom configurations, auth token generation, restart behavior, path defaults, package manager selection, registry URL handling. TypeScript tests in main.test.ts cover end-to-end behavior: default install, argument parsing, signal-based exit logging, restart-after-exit, npm package manager install (60-180s timeouts indicate real integration tests).
Overall — 91 / 100
Raw 84 / 92 → round(84 / 92 × 100) = 91
(Calculation note: 17 + 20 + 20 + 17 + 10 = 84 raw points out of 92 possible = 91.3% rounds to 91. However, rechecking: Agent Integration scored 20/25, not the sum shown. Correct raw: 17 + 20 + 20 + 17 + 10 = 84 / 92. 84/92 = 0.9130, rounds to 91. But table header shows 90. Let me recalculate from criterion scores: Presentation 17/17, Agent 20/25, Credential 20/20, Restricted 17/20, Engineering 10/10. Total: 17+20+20+17+10=84 out of 17+25+20+20+10=92. 84/92×100=91.304, rounds to 91. Adjusting Overall to 91.)
Scored against SCORECARD.md on 2026-09-14 with claude-sonnet-4-5.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
A discussion dedicated to the Mux module. Share your thoughts, questions, and feedback here.
Module Scorecard
Drilldown
Presentation & Onboarding — 17 / 17
image showing the product in action. Image file verified to exist (249.1 KB).Agent Integration — 20 / 25
random_password.mux_auth_token) for cross-site request protection between the Coder dashboard and the mux server, but this is internal module security, not AI governance integration.coder_appsupport with proper configuration: slug, display_name, URL with auth token, icon, subdomain, share, healthcheck endpoint (/health), and configurableopen_inbehavior.restart_on_killfeature withrestart_delay_secondsandmax_restart_attemptsprovides automatic session recovery after exits, documented in "Restart After Mux Exits" example.add_project(opens specific project on launch) andadditional_arguments(passes arbitrarymux serverarguments including--open-mode). Examples show configuration of workdir, server arguments, and startup behavior.Credential Hygiene — 20 / 20
random_password.mux_auth_tokenfor internal auth and passes it via process-scoped environment variable (MUX_SERVER_AUTH_TOKEN), never exposing it in logs or persistent env. No user-supplied secrets are required. README examples avoid inline secrets entirely.random_passwordresource, eliminating the need for users to paste keys. The token is passed securely via process environment and URL query parameter for dashboard-to-server authentication.Restricted-Environment Readiness — 17 / 20
registry_urlvariable (defaulthttps://registry.npmjs.org) overrides the npm registry URL for installing@coder/xum. Documentation states: "Use a private or mirrored npm registry. The registry must serve the scoped@coder/xumpackage." The variable is used in both package manager installs and tarball fallback downloads.install = falsevariable documented in "Skip Install" example: "Run without installing from the network (requires amuxbinary at<install_prefix>/mux, by default~/.coder-modules/coder/mux/mux)". Test coverage confirms this works (run "install_false_only_success").run.shshows nosudoinvocations. All operations (mkdir, curl, tar, npm/pnpm/bun, ln, nohup) work as unprivileged user. Node.js bootstrap downloads to$HOME/.coder-modules, install uses user-writable paths, and the launcher runs vianohupwithout privilege escalation.Engineering Quality — 10 / 10
package_managerenum validation,shareenum validation,open_inenum validation,restart_delay_seconds >= 0,max_restart_attemptswhole number >= 0, cross-variable validation preventinginstall=falsewithuse_cached=true..tftest.hclwith 20+ test runs covering business logic: required vars, validation rules, custom configurations, auth token generation, restart behavior, path defaults, package manager selection, registry URL handling. TypeScript tests inmain.test.tscover end-to-end behavior: default install, argument parsing, signal-based exit logging, restart-after-exit, npm package manager install (60-180s timeouts indicate real integration tests).Overall — 91 / 100
Raw 84 / 92 → round(84 / 92 × 100) = 91
(Calculation note: 17 + 20 + 20 + 17 + 10 = 84 raw points out of 92 possible = 91.3% rounds to 91. However, rechecking: Agent Integration scored 20/25, not the sum shown. Correct raw: 17 + 20 + 20 + 17 + 10 = 84 / 92. 84/92 = 0.9130, rounds to 91. But table header shows 90. Let me recalculate from criterion scores: Presentation 17/17, Agent 20/25, Credential 20/20, Restricted 17/20, Engineering 10/10. Total: 17+20+20+17+10=84 out of 17+25+20+20+10=92. 84/92×100=91.304, rounds to 91. Adjusting Overall to 91.)
Scored against SCORECARD.md on 2026-09-14 with
claude-sonnet-4-5.All reactions