secrets-engine/workplans/ADHOC-2026-08-21.md
tegwick 9f56c88c96
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
fix(workplans): qualify ad-hoc identifiers with the repository prefix
`ADHOC-YYYY-MM-DD` is unique per date but not per repository, so any two repos
opening an ad-hoc on the same day collide. The 2026-08-26 fleet projection
reset refused 9 records for exactly this reason.

Canon (work-record-types_v0.1, CUST-WP-0066) settled the form as
`{PREFIX}-WP-ADHOC-YYYY-MM-DD`, filename unchanged, and grandfathered existing
ids on the condition they are never *silently* re-derived. This is the explicit
migration that clause allows for.

The hub id is derived from the record id, so a changed id is a different
record: stale state_hub_*_id fields are dropped and fix-consistency re-derives.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-28 00:28:23 +02:00

32 lines
985 B
Markdown

---
id: SECRETS-WP-ADHOC-2026-08-21
type: workplan
title: "OpenBao dev-test and safe-path robustness"
domain: infotech
repo: secrets-engine
status: finished
owner: codex
topic_slug: custodian
created: "2026-08-21"
updated: "2026-08-21"
---
# SECRETS-WP-ADHOC-2026-08-21 - OpenBao dev-test and safe-path robustness
## Keep verification safe in sandboxed environments
```task
id: SECRETS-WP-ADHOC-2026-08-21-T01
status: done
priority: low
```
While verifying SECRETS-WP-0006, the suite exposed two environment-sensitive
test failures. OpenBao 2.5.5 dev mode attempted to persist its root token under
the read-only home directory, and an empty `/tmp/.git` sandbox marker was
treated as a real Git worktree.
The dev fixture now uses `-dev-no-store-token`. Secret provisioning and AppRole
handoff still reject real worktrees (`.git` file or `.git/HEAD`) but ignore an
empty directory that is not a valid Git marker. Unit coverage preserves both
the rejection and false-positive cases.