Part of the workspace-wide standards rollout. Establishes where work lives (issues vs ADRs vs standing law), scaffolds `docs/agents/` for the engineering skills, and adopts ADR-0001 locally. See `sow-platform` ADR-0021 for the `sow-docs` retirement.Reviewed-on: #51 Reviewed-by: xtul <mpiasecki720@protonmail.com> Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
1.7 KiB
1.7 KiB
ADR-0003: Crucible binary contract: standalone shims, fail-closed scaffold, no committed binaries
-
Status: Accepted
-
Date: 2026-06-11
-
Migrated from:
sow-docs07-decisions-log.mdentry D19, on the retirement ofsow-docs. Content is the original decision, unchanged. -
Decision: Phase 5 builds
migration/sow-tools(Crucible, D11) as a multi-binary Go scaffold:- One
crucibledispatcher plus standalonecrucible-{depot,hak,module,topdata,wiki}binaries sharing one registry (internal/dispatch). The dispatcher is for humans/CI; the standalone shims are canonical for consumers so wrapper scripts resolve a single-token command and"$builder" argsquoting stays correct. - Consumer resolution order: explicit env override
(
$SOW_MODULE_BUILD/$SOW_TOPDATA_BUILD/$CRUCIBLE) →crucible-<name>→ legacysow-<name>-build. CI runs inside the pinnedcrucible:<sha>image. - Every builder is unwired in the scaffold and fails closed (exit 70);
it never fakes an artifact. The
internal/logic is migrated fromgitea/sow-toolsby the operator at cutover (hard rule: no source transplant by tooling). - Binaries are never committed — they are CI artifacts / image layers.
Retires the committed
nwn-tool/tools/sow-toolkit. - Builders take
NWN_ROOTonly via explicit env/flag; no$HOMEdefaulting.
- One
-
Rationale: Locks the command surface, container, and CI shape so migrated logic drops into a stable frame; aligns the three artifact repos onto one Crucible contract while keeping back-compat with the pre-D11 skeletons.
-
Image name:
registry.westgate.pw/deployment/crucible:<git-sha>(the barecrucible:<sha>is the local/dev tag).