Conversation
|
Correct fix. The key change in tools/mcp_tool.py—calling load_hermes_dotenv() before load_config()—ensures env vars are refreshed before config.yaml expansion. The reset_secret_source_cache() change clears the Bitwarden cache properly. Tests verify the order of operations. No issues found. |
1 similar comment
|
Correct fix. The key change in tools/mcp_tool.py—calling load_hermes_dotenv() before load_config()—ensures env vars are refreshed before config.yaml expansion. The reset_secret_source_cache() change clears the Bitwarden cache properly. Tests verify the order of operations. No issues found. |
8534883 to
df1cf6f
Compare
|
Thanks for identifying the dotenv/config ordering issue. The cron half has already landed through later work: current Problems
Suggested changes
Automated hermes-sweeper review. |
df1cf6f to
6f2fd9a
Compare
|
Rebased onto current |
|
Exact-head QA confirms the MCP reload ordering at 6f2fd9a is correct (including a real temp- |
bee-san
left a comment
There was a problem hiding this comment.
QA verdict at exact head 6f2fd9a92: blocked. The focused env-loader/MCP/cron suite passes (450 tests), but the required two-pass refresh behavior does not: a vault-owned value remains in os.environ after the remote key disappears. No real profile, gateway, cron, or Bitwarden state was modified.
|
Exact-head independent QA at
Please distinguish config parse/read failure from an intentionally empty/disabled secrets config. On parse/read failure, retain pending ownership plus current known-good values and leave the home retryable; add a regression covering valid first load → reset → malformed config → value/provenance retained without leaking parser/backend details. GitHub's required |
|
Closing with thanks — the bug halves of this have landed on main via the secrets cluster: #69056 made failed secret loads retryable (the permanent-skip half), #69053 fixed MCP stdio servers missing vault-injected vars, and cron jobs re-enter load_hermes_dotenv() per run. What remains from your PR is mid-process refresh of ROTATED values inside one long-lived process — a real feature ask, but it belongs as a small TTL knob on the orchestrator's once-per-process guard (a few lines in apply_all/env_loader), not a cli.py+gateway+tui patch. If you want to resubmit that focused version against the current agent/secret_sources/registry.py, we'd welcome it. Thanks @bee-san! |
Summary
Tests