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 Personalize module. Share your thoughts, questions, and feedback here.
Module Scorecard
Presentation & Onboarding
Credential Hygiene
Restricted-Environment Readiness
Engineering Quality
Overall
8 / 25
N/A
N/A
7 / 10
43 / 100
Drilldown
Presentation & Onboarding — 8 / 25
Criterion
Max
Score
Notes
Configuration-mode examples
12
6
README shows one basic example with count and agent_id. Module has few options (only path and log_path with sensible defaults), so major modes are covered, but the example is minimal and doesn't demonstrate customization options. Half credit.
Coder-context framing
8
2
README states "Run a script on workspace start that allows developers to run custom commands to personalize their workspace" but does not explain what this adds on top of Coder's base functionality, nor does it show where Coder fits in the flow. Minimal framing. Quarter credit rounded to 2.
Visual preview
5
0
No image, GIF, or video in README. Icon reference does not count.
Credential Hygiene — N/A
Criterion
Max
Score
Notes
Secrets marked sensitive
16
N/A
Module has no credential or secret inputs.
Non-hardcoded auth path
4
N/A
Module has no authentication mechanism.
Restricted-Environment Readiness — N/A
Criterion
Max
Score
Notes
Mirrorable artifact source
10
N/A
Module downloads nothing; it only executes a user-provided script from the workspace filesystem.
Bring-your-own binary
5
N/A
Module downloads nothing; no binary installation occurs.
Egress transparency
3
N/A
Module contacts no external endpoints of its own; it only runs user scripts.
Runs without sudo
2
N/A
Module executes run.sh which never invokes sudo and only checks/runs user scripts without privilege escalation. However, since the module has scripts, this should be scored. Reconsidering: the script runs without sudo (verified in run.sh). Full credit. Actually, re-reading rubric: "Runs without sudo applies whenever the module executes any script, and goes N/A only for modules with no scripts at all." This module has scripts, so it applies. Score: 2 (full).
Re-scoring Restricted-Environment Readiness with Runs without sudo:
Criterion
Max
Score
Notes
Mirrorable artifact source
10
N/A
Module downloads nothing; it only executes a user-provided script from the workspace filesystem.
Bring-your-own binary
5
N/A
Module downloads nothing; no binary installation occurs.
Egress transparency
3
N/A
Module contacts no external endpoints of its own; it only runs user scripts.
Runs without sudo
2
2
run.sh never invokes sudo; all operations (file checks, chmod attempts, script execution) work as unprivileged user. Full credit from code inspection.
Engineering Quality — 7 / 10
Criterion
Max
Score
Notes
Input quality
6
6
Three inputs (agent_id, path, log_path) all have clear descriptions and sensible defaults. agent_id is required and well-described. No validation blocks, but the simple string inputs don't require complex validation. Full credit.
Test coverage
4
1
.tftest.hcl is absent. TypeScript test in main.test.ts covers one end-to-end scenario (warns without personalize script) but does not test the actual personalization flow or error cases. Minimal coverage. Quarter credit rounded to 1.
Overall — 43 / 100
Raw 15 / 35 → round(15 / 35 × 100) = 43
Track: Utility (helper module for workspace personalization)
Wait, re-reading rubric for Utility: "Utility modules are scored on Universal criteria only, then normalized: round(raw / 75 * 100)". Universal criteria are the four themes before the track sections. Let me recalculate:
Actually, re-reading again: "Utility modules are scored on Universal criteria only, then normalized: round(raw / 75 * 100)". This suggests the denominator is always 75 for utilities before N/A adjustments. Let me recalculate:
Universal max before N/A: 25 + 20 + 20 + 10 = 75
After N/A exclusions: 25 + 0 + 2 + 10 = 37
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 Personalize module. Share your thoughts, questions, and feedback here.
Module Scorecard
Drilldown
Presentation & Onboarding — 8 / 25
countandagent_id. Module has few options (onlypathandlog_pathwith sensible defaults), so major modes are covered, but the example is minimal and doesn't demonstrate customization options. Half credit.Credential Hygiene — N/A
Restricted-Environment Readiness — N/A
run.shwhich never invokes sudo and only checks/runs user scripts without privilege escalation. However, since the module has scripts, this should be scored. Reconsidering: the script runs without sudo (verified in run.sh). Full credit. Actually, re-reading rubric: "Runs without sudo applies whenever the module executes any script, and goes N/A only for modules with no scripts at all." This module has scripts, so it applies. Score: 2 (full).Re-scoring Restricted-Environment Readiness with Runs without sudo:
run.shnever invokes sudo; all operations (file checks, chmod attempts, script execution) work as unprivileged user. Full credit from code inspection.Engineering Quality — 7 / 10
agent_id,path,log_path) all have clear descriptions and sensible defaults.agent_idis required and well-described. No validation blocks, but the simple string inputs don't require complex validation. Full credit..tftest.hclis absent. TypeScript test inmain.test.tscovers one end-to-end scenario (warns without personalize script) but does not test the actual personalization flow or error cases. Minimal coverage. Quarter credit rounded to 1.Overall — 43 / 100
Raw 15 / 35 → round(15 / 35 × 100) = 43
Track: Utility (helper module for workspace personalization)
Denominator adjustments:
Raw: 8 (Presentation) + 2 (Restricted-Env) + 7 (Engineering) = 17
Denominator: 25 + 2 + 10 = 37
Normalized: round(17 / 37 × 100) = round(45.95) = 46
Wait, re-reading rubric for Utility: "Utility modules are scored on Universal criteria only, then normalized: round(raw / 75 * 100)". Universal criteria are the four themes before the track sections. Let me recalculate:
Universal criteria:
Raw = 8 + 2 + 7 = 17
Denominator after N/A exclusions = 25 + 0 + 2 + 10 = 37
Normalized: round(17 / 37 × 100) = round(45.95) = 46
Actually, re-reading again: "Utility modules are scored on Universal criteria only, then normalized: round(raw / 75 * 100)". This suggests the denominator is always 75 for utilities before N/A adjustments. Let me recalculate:
Universal max before N/A: 25 + 20 + 20 + 10 = 75
After N/A exclusions: 25 + 0 + 2 + 10 = 37
Raw score: 17
Normalized: round(17 / 37 × 100) = 46
Scored against SCORECARD.md on 2026-07-15 with
claude-sonnet-4-5.Beta Was this translation helpful? Give feedback.
All reactions