Skip to content

[spark-compete] fix: remove operator path and log file path leaks in CLI output#1426

Open
Esc1200 wants to merge 2 commits into
vibeforge1111:masterfrom
Esc1200:esc1200/fix/operator-path-leak
Open

[spark-compete] fix: remove operator path and log file path leaks in CLI output#1426
Esc1200 wants to merge 2 commits into
vibeforge1111:masterfrom
Esc1200:esc1200/fix/operator-path-leak

Conversation

@Esc1200

@Esc1200 Esc1200 commented Jun 7, 2026

Copy link
Copy Markdown

spark-compete: Operator Path and Log File Path Leak Fix

packet: spark-compete-hotfix-v1
team: drophub_sir (esc1200, drophub_sir, spark-agent)
pr_author: Esc1200
repo: vibeforge1111/spark-cli

actual_behavior

Lines 7789-7791 in cli.py print operator paths (provenance_drilldown, stale_current_adjudication, purge_or_decay_path) verbatim to the console via f-string interpolation, leaking internal filesystem paths. Line 7903 prints the full log file path when no logs exist yet.

expected_behavior

Operator path availability should be shown as generic status (available/unavailable) without exposing actual paths. Missing log messages should not include filesystem paths.

repro_steps

  1. Run spark memory review or any command that triggers the next_memory_review display with operator_paths set.
  2. Observe the full operator paths (provenance_drilldown, stale_current_adjudication, purge_or_decay_path) printed to console.
  3. Run spark live logs when no log files exist yet.
  4. Observe the full log file path printed in the "No logs yet at ..." message.

before_after_proof

Before: lines 7789-7791 use f-strings to print operator_paths dict values directly (e.g., print(f"- provenance path: {operator_paths.get(provenance_drilldown)}")). Line 7903 prints f"No logs yet at {path}". After: lines 7789-7791 print generic available/unavailable status. Line 7903 prints "No logs yet for this target".

tests_or_smoke

Python syntax check passed. Verified via git diff that all four print statements no longer interpolate sensitive path values.

duplicate_notes

Searched open PRs and branches for operator path leak fixes. No prior PR addresses the provenance_drilldown, stale_current_adjudication, or purge_or_decay_path print leaks, or the log file path leak at line 7903.

risk_notes

Low risk. Replacing interpolated path values with generic status strings is safe and backwards-compatible. No functional behavior changes; output remains informative without leaking internal paths.

review_claim

Impact: Prevents exposure of internal operator infrastructure paths and log file paths to CLI users. 4 print statements fixed across 2 functions.

Replace leaked operator paths (provenance_drilldown, stale_current_adjudication,
purge_or_decay_path) with generic available/unavailable status indicators at
lines 7789-7791. Replace leaked log file path at line 7903 with generic message.

Severity: MEDIUM
Owner surface: spark-cli
@Esc1200 Esc1200 changed the title fix: remove operator path and log file path leaks in CLI output [spark-compete] fix: remove operator path and log file path leaks in CLI output Jun 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant