Gap
The top-level SDL account model exposes account posture such as password_strength, but it cannot bind a deliberate plaintext exercise fixture to the account it authenticates. Runtime values can already carry a secret_fixture value under ADR-057, yet the canonical relationship between that value and an account is undefined.
This conflates three different things:
- the existence and posture of an account;
- a deliberately disclosed scenario fixture credential; and
- an operator-managed secret that must not appear in the artifact.
Current ownership boundary
RAES owns the typed semantic distinction and the canonical binding between an account and a credential value or reference.
- Packs/catalogs own concrete exercise fixture values.
- env-packs owns pack validation and authoring workflows around those values.
- Backends own secret injection and realization.
- Hub may explain or edit the contract but does not define credential meaning.
Decision required
Choose and specify one canonical model:
- a typed account credential binding that can carry an explicitly classified
secret_fixture; or
- an account-to-runtime-value reference with equivalent type safety and inspectability.
The decision must not make arbitrary runtime placement the implicit convention.
Acceptance criteria
Non-goals
- Building an operator secret store.
- Defining backend-specific injection mechanisms.
- Treating
password_strength as a credential value.
Requirements
Refs: #637, #471, and ADR-057.
Gap
The top-level SDL account model exposes account posture such as
password_strength, but it cannot bind a deliberate plaintext exercise fixture to the account it authenticates. Runtime values can already carry asecret_fixturevalue under ADR-057, yet the canonical relationship between that value and an account is undefined.This conflates three different things:
Current ownership boundary
RAES owns the typed semantic distinction and the canonical binding between an account and a credential value or reference.
Decision required
Choose and specify one canonical model:
secret_fixture; orThe decision must not make arbitrary runtime placement the implicit convention.
Acceptance criteria
Non-goals
password_strengthas a credential value.Requirements
Refs: #637, #471, and ADR-057.