arrow_backRetour aux issues
Tracer-Cloud/opensre
#5503
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
Remove the two utils/ wrapper packages under interactive_shell
ecoDébutant
good first issue
refactor
naming
descriptionDescription
## Goal
There is no `utils.py` or `helpers.py` file anywhere under `surfaces/` — the
house style is role-named modules. Two `utils/` *packages* survive, and neither
holds anything general: each is a single-member directory whose name says only
"things nobody placed".
## What is there
```
surfaces/interactive_shell/utils/
__init__.py "Shared interactive-shell utilities." <- says nothing
telemetry/ config, recorder, sinks, console_capture,
investigation_analytics, turn_outcome, ...
surfaces/interactive_shell/runtime/utils/
__init__.py "Runtime utility helpers ..." <- says nothing
input_policy.py exclusive-stdin / spinner policy
```
Both `utils/` layers hold exactly one member. Deleting them loses nothing and
each import site gains a name that states what it imports.
## Target
Two independent moves, both in this PR:
1. `interactive_shell/utils/telemetry/` → `interactive_shell/telemetry/`,
then delete `interactive_shell/utils/`
2. `interactive_shell/runtime/utils/input_policy.py` →
`interactive_shell/runtime/input_policy.py`, then delete
`interactive_shell/runtime/utils/`
No file contents change beyond the import lines. There are 12 import sites for
the first and 2 for the second — plus a comment in
`command_registry/cli_parity.py` and a line in
`surfaces/interactive_shell/AGENTS.md` that both spell the old path.
## Acceptance
- [ ] `find surfaces -type d -name utils` prints nothing
- [ ] `grep -rn "utils.telemetry\|runtime.utils" --include='*.py' .` prints
nothing, and neither does the same grep over `*.md`
- [ ] `git diff -M --stat` shows renames, not rewrites — no function body moved
or edited
- [ ] The REPL starts and a turn runs:
`uv run opensre` → send one message → exit
- [ ] Telemetry still records. Prompt logging is on unless
`OPENSRE_PROMPT_LOG_DISABLED` is set, so point it somewhere you can watch:
```
OPENSRE_PROMPT_LOG_PATH=/tmp/sf02.jsonl uv run opensre
```
run one turn, then confirm `/tmp/sf02.jsonl` gained a line. An import that
silently stops being reached would not fail any test.
- [ ] `make lint format typecheck test`
## Out of scope
`core/tool_framework/utils` — that is a different package, outside `surfaces/`,
and several tools import from it. Leave it alone.
## Claiming this issue
Ask in [OpenSRE Discord](https://discord.com/invite/opensre) before you start so
a maintainer can assign it. Ask OpenSRE maintainers and write a commit under
this issue.
Issues similaires
calkit/calkit
star53
Poids du dépôt moyen
VS Code extension should be robust to YAML parser errors
Seeing this error: ``` Failed to read calkit.yaml: YAMLParseError: A block sequence may not be used as an implicit map…
Python
bug
good first issue
fu351/Doberman-Core
star211
Poids du dépôt léger
dash: a manual Refresh control
The dashboard polls: `refreshStats()` (`src/doberman/dash/app.py:408`) every 5 s and `refreshPending()` (`:546`) every …
Python
enhancement
good first issue
fu351/Doberman-Core
star211
Poids du dépôt léger
dash: "Copy details" button on each pending-approval card
Each pending-approval card in the dashboard (`renderPending`, `src/doberman/dash/app.py:448-544`) shows the risk badge,…
Python
enhancement
good first issue