fix(bus): make the private store root at start when a reference names the store (#1886) #1888

Merged
jason.woltje merged 1 commits from org-defect-l into refactor 2026-11-09 23:14:51 +00:00
Owner

Fixes #1886 (F3 defect l). On an instance with no <configDir>/secrets/agents, adding an agent with a store credential left the bus unable to start, failing with credential-file. The cause: Credentials refuses a missing store root, and only issue() created it, which needs a running bus.

The fix: at bus start, the runtime now creates the root with mode 0700, the same way issue() does. It only does this when some reference has store: true. Credentials' own refusal is unchanged (credential-store T1), and a root with loose modes or that is a symlink still refuses.

Tests:

  • Two new credential-verbs tests. The creation test fails on the parent with credential-file.
  • All 171 bus test files, run one at a time: 1713 pass, 0 fail.
  • After rebasing onto 03fe321b1, credential-verbs is 4/0 and requirements is 3/0.

Review: one Sol round approved it with 0 findings (reports/defectl-review.md). It ran 40 checks, and the parent reproduced the original refusal.

Fixes #1886 (F3 defect l). On an instance with no `<configDir>/secrets/agents`, adding an agent with a store credential left the bus unable to start, failing with `credential-file`. The cause: Credentials refuses a missing store root, and only `issue()` created it, which needs a running bus. The fix: at bus start, the runtime now creates the root with mode 0700, the same way `issue()` does. It only does this when some reference has `store: true`. Credentials' own refusal is unchanged (credential-store T1), and a root with loose modes or that is a symlink still refuses. Tests: - Two new credential-verbs tests. The creation test fails on the parent with `credential-file`. - All 171 bus test files, run one at a time: 1713 pass, 0 fail. - After rebasing onto 03fe321b1, credential-verbs is 4/0 and requirements is 3/0. Review: one Sol round approved it with 0 findings (`reports/defectl-review.md`). It ran 40 checks, and the parent reproduced the original refusal.
jason.woltje added 1 commit 2026-11-09 23:14:42 +00:00
Adding an agent with a store credential on an instance with no
<configDir>/secrets/agents left the bus unable to start
(credential-file): Credentials refuses a missing store root, and only
issue() made it, which needs a running bus. Start now makes the root
(0700) the same way issue() does, only when some reference has
store: true. Credentials' own refusal (credential-store T1) is unchanged,
and a root with loose modes or a symlink still refuses start.

Tests: two new credential-verbs tests; the creation test fails on
483eccb3d with credential-file. All 171 bus test files run one at a
time: 1713 pass, 0 fail.
jason.woltje merged commit 7a97cfc4f3 into refactor 2026-11-09 23:14:51 +00:00
Sign in to join this conversation.