ci / ci (pull_request) Canceled after 21s
Scaffold the per-repo configuration the engineering skills expect, and put
the three-way split of work into standing law:
- Live work -> wayfinder maps + Gitea issues (closeable, assignable,
queryable).
- Settled decisions -> ADR files in docs/adr/ (immutable, findable, never
closed).
- Standing law -> DOCTRINE.md / AGENTS.md / CONTEXT.md.
Adds docs/agents/{issue-tracker,triage-labels,domain}.md and an
"Agent skills" section in AGENTS.md. The tracker doc records Gitea via the
tea CLI, the wayfinder map/ticket/blocking operations, and the rule that
issues follow ownership: file work in the repo that owns it, not the one you
happen to be standing in.
ADR-0001 (markdown is reference, law, or an ADR - nothing else) is adopted
from sow-codebase so the rule is local to every repo.
sow-docs is retired: its 35 decisions become ADRs in the repos that own them,
its living docs move to sow-platform and sow-assets-manifest, and its
unfinished intent becomes Gitea issues.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.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).