feat(framework): mosaic doctor structure-anchor provisioning check (T51 WP0b) #1379

Merged
orch-01 merged 2 commits from t51p2wp0b into next 2026-08-24 20:15:10 +00:00
2 Commits
Author SHA1 Message Date
code-be-01 7ad47152c2 fix(framework): track anchor presence separately from value (T51 WP0b rework)
ci/woodpecker/pr/ci Pipeline was successful
${VAR:-} collapsed exported-empty into genuinely-unset, mis-filing
both-empty and the two mixed empty/unset states as informational where
the charter requires WARNs. Presence now tracked via [[ -v VAR ]]
alongside value: NOTES only when both variables are genuinely absent;
any present-but-empty or single-present state emits a loud WARN per
missing/empty anchor, each naming the launchers as authority (unset and
empty get distinct wording). Suite: the wrong both-empty note arm
replaced by three warn arms (both-empty, host-empty+brain-unset,
host-unset+brain-empty); warn arms accept >=1 warn with zero notes
(single-present states warn once, both-present-empty warns twice — per
anchor, by design); red control now mutates presence tracking back to
the nonemptiness collapse (the reviewed defect shape) and must emit
NOTEs for both-empty. 10 arms green; gates green.
2026-08-24 07:32:35 -05:00
code-be-01 023540b151 feat(framework): mosaic doctor structure-anchor provisioning check (T51 WP0b)
ci/woodpecker/pr/ci Pipeline was successful
New check_structure_anchor_provisioning audit per spec 1.2a + PHASE2-MAP
F7: four states — both anchors present pass (paths reported only); one
missing/empty WARNs naming the var with the launchers as authoritative
source; neither present emits INFORMATIONAL launcher-equivalent
derivation explicitly labeled non-authoritative (never an error by
design); doctor never exports, writes, or fabricates values — audit
only. Severity follows the doctor's existing note/warn conventions
(warn counts toward --fail-on-warn). Hermetic suite follows the
test-brain-home-check extraction discipline: 7 arms covering all four
states incl. genuinely-unset (env -u) and empty-string forms, plus a
mutation red control proving the empty-vs-set distinction bites
(-n tests replaced by -v in a mutant copy). Registered in
test:framework-shell; enumeration/sanitization/tools-index green.
2026-08-23 23:36:54 -05:00