Skip to content

fix(sensor): create missing parent directories for --output-dir - #192

Open
rudycelekli wants to merge 1 commit into
uber:mainfrom
rudycelekli:fix/sensor-nested-output-dir
Open

rudycelekli wants to merge 1 commit into
uber:mainfrom
rudycelekli:fix/sensor-nested-output-dir

Conversation

@rudycelekli

@rudycelekli rudycelekli commented Oct 19, 2026 •

Copy link
Copy Markdown

What type of PR is this? (check all applicable)

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

Related issue: N/A (found by reading the code; reproduced on main at 6b33dff)

What changed?
Use mkdir(parents=True, exist_ok=True) in both places (diagnostics/session/runtime-log writers already do).

Why?
adr-sensor --source gemini --output-dir /tmp/x/a/b/c (parents missing) -> traceback FileNotFoundError from AgentObserver.__init__ (Sensor/adr_sensor/observer.py:109 self.output_dir.mkdir(exist_ok=True)); save_to_file (observer.py:314) has the same issue for library callers.

How did you test it?

  • Reproduction: uv run pytest tests/test_observer.py -q -k nested -> main (source reverted): 2 failed; branch: 2 passed. Manual CLI run on main reproduced the FileNotFoundError traceback.
  • Test suite: uv sync --extra dev && uv run pytest tests/ -q -> 610 passed (608 on main + 2 new). ruff check has one pre-existing I001 in tests/test_utils.py (also on main); changed files pass ruff format --check.
  • Not tested: Windows.

Potential risks
The change only affects the input described above; other paths go through the same code as before, and the component's existing tests pass.

`adr-sensor --output-dir out/nested/dir` crashed with FileNotFoundError
when the parent directories did not exist yet: AgentObserver.__init__ and
save_to_file created the output directory without parents=True, even
though the diagnostics, session and runtime-log writers already do.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

This branch has not been deployed

No deployments
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.

2 participants