Merge remote-tracking branch 'gh/main'

# Conflicts:
#	prolog-sessions/kb.pl
This commit is contained in:
Edward Langley
2026-09-19 12:48:16 -07:00
10 changed files with 720 additions and 41 deletions
+3
View File
@@ -552,3 +552,6 @@ doctrine(derive_the_enum_from_the_effects,'when a wire vocabulary must mirror an
% --- 2026-09-19: reconcile recent commits against the tracker ---
work_done('improvise-sef',maintenance,'kb.pl audited and repaired (a406b52): may_depend_on/2 and before_fixing/2 were unsound, and sixteen lines of captured MCP runtime predicates were removed. kb_report/0 and kb_consistent/0 added (3a58d3c) over four error classes -- domain integrity, layering, rule soundness, functional keys -- and wired into CI; every class verified by fault injection. Backlog-grooming method recorded (3697171).').
decision('improvise-sef',retroactive_ticket,'The three kb commits landed with no beads issue at all. Filed and closed 2026-09-19 during a commit/tracker reconciliation rather than left untracked, because the CI job they add is a durable capability someone will later ask the provenance of. Every other commit back to cc3889d already named a ticket that is closed with a close_reason.').
% ── Cloud-session tooling (PR #7) ───────────────────────────────────────────
doctrine(force_the_failure,'an unchecked status whose failure yields a usable-looking value is not a style nit: force the failure and look at what the next line does with it. Four on one branch -- bd init exits non-zero but still leaves an empty database behind, an unchecked mv lands the new tracker INSIDE the old directory and reports success, jq status swallowed by a process substitution reads as "no inputs found" and exits 0, and a failed mktemp turns "$TMP/$NAME" into an absolute path at the filesystem root. Every one looked like success at runtime, so reading the failure paths found none of them; stubbing mv and mktemp to fail is what exposed them. Note chmod a-w proves nothing when the tests run as root -- it returned 0 and looked like a pass.').