Repository navigation
tracking: redact the path-valued options path, deps, output - #1062
perfectmodelslab wants to merge 1 commit into
Conversation
restore-snapshot (path), install-deps (deps) and the snapshot/deps-in- workflow writers (output) take the user's file paths as plain str — exactly the class the module comment says must be named in _SENSITIVE_EXACT, next to workflow and from_snapshot which were. Their events shipped the user's home directory and install layout verbatim to Mixpanel and PostHog; now they redact to <redacted> like their siblings, keeping only "the option was supplied".
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Redaction filter and test comfy_cli/tracking.py, tests/comfy_cli/test_tracking.py |
The filter treats path, deps, and output as sensitive exact-match names. The test checks redaction for five path-valued options, confirms private path fragments are absent, and checks tracking-event counts. |
Priority:
Estimated code review effort: 2 (Simple) | ~8 minutes
Change: Bug fix
Possibly related PRs
- Comfy-Org/comfy-cli#1059: Adds path-valued logging options that may need the same redaction.
Suggested reviewers: mattmillerai
Merge Risk: 
Minimal · up to f5224
-
The change is mergeable with minimal risk based on the supplied implementation and test coverage.
Pre-merge checks: 
5 · 
1
-
Failed checks: 1 warning Passed checks: 5 passed-
Full details: Title check
-
Explanation
The title "tracking: redact the path-valued options path, deps, output" matches the main change. The PR adds path, deps, and output to the sensitive exact-match names in filter_command_kwargs in comfy_cli/tracking.py, so their non-None values are redacted to "<redacted>" before tracking. A test covering these options was added. The title is short, specific, and free of noise.
Full details: Architecture Decision Compliance
-
Explanation
The diff only extends the existing telemetry redaction set with
path,deps, andoutputand adds coverage for that behavior. The change does not conflict with any Accepted ADR: AUTOMATION-0003 concerns machine-output format, DEPENDENCIES-0001 concerns dependency-resolution ownership, and OPERATIONS-0002 concerns structured workflow operations. No new architectural boundary, dependency choice, or compatibility contract is introduced; this is a reversible implementation detail.
-
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
The comment above
_SENSITIVE_EXACTstates the contract: every path-valued option typedstrmust be named there, because_scrub_valuereturns a bare path verbatim by design.workflow,from_snapshotandfrom_are in; three newer options joined their commands without joining the set:comfy node restore-snapshot <path>—restore_snapshot(path: str)comfy node install-deps --deps <file>—install_deps(deps: str)comfy node save-snapshot --output <file>anddeps-in-workflow --output—output: strSo for example
comfy node restore-snapshot D:\home\priv\snap.jsonshipped"path": "D:\home\priv\snap.json"— the user's home directory and install layout, verbatim, to Mixpanel and PostHog, against the module's own policy.They now redact to
<redacted>like their siblings, keeping only "the option was supplied". A test pins the whole family at once. 149 tracking tests pass.Summary by CodeRabbit
path,deps, andoutputoptions are now redacted in tracked command properties.