fix: secrets which prints full .secrets-store path (v0.1.0.1)

_find_secrets_store_file used to set _LAST_FOUND_AT inside the $(...)
subshell that resolve_store invoked it from, so the parent shell never
received the value and `secrets which` reported `source: .secrets-store
file ()` with empty parens. Function now returns a tab-separated
<dir>\t<source-path> tuple; resolve_store splits it in the parent shell.

Caught by /land-and-deploy post-merge fresh-clone verification — the
existing test grepped for the substring ".secrets-store file" which
matched the broken truncated form. Tightened to assert the full file
path appears in the parenthetical.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Brian Majewski 2026-05-09 14:33:39 -07:00
parent 09a7bdcc46
commit 1bb729f73b
4 changed files with 20 additions and 6 deletions

View file

@ -540,7 +540,9 @@ EOF
run "$SECRETS_BIN" which
[ "$status" -eq 0 ]
[[ "$output" == *"$HOME/.secrets-work"* ]]
[[ "$output" == *".secrets-store file"* ]]
# Source line must include both the rule name AND the resolved file path,
# not the empty parens (".secrets-store file ()") that v0.1.0.0 shipped.
[[ "$output" == *".secrets-store file ("*"$WORK_DIR/myapp/.secrets-store)"* ]]
}
@test "--store flag overrides .secrets-store file and SECRETS_DIR env" {