Loki Mode v7.116.0
Immutable
release. Only release title and notes can be modified.
Trust-core fixes surfaced by a live calibration build (RED/GREEN, council-gated)
A real bounded engine build (the shipped v7.115 artifact against a 3-item PRD)
produced a genuinely-working, fully-tested deliverable, and surfaced two real
defects that no fixture caught. Both are fixed here with RED/GREEN tests.
- TRUST DEFECT: passing tests were recorded as
tests: not_run, so
genuinely-correct, fully-tested work got a NOT VERIFIED headline (false
negative). The test-runner detection did not recognize Node's built-in
node --testrunner (stable since Node 18, runs*.test.{js,mjs,cjs}with
zero config and NO package.json). A deliverable of slug.js + slug.test.js
(9/9 passing) fell through torunner:none / status:not_run / verification_gap:source_without_tests, so the proof honestly derived NOT
VERIFIED -- a false negative that is as corrosive to a trust-as-product engine
as fake-green. The detection lives in BOTH paths (the in-loop test gate in
autonomy/run.sh AND theloki verifygate in autonomy/verify.sh); both are
now fixed. Anode --testbranch was added as a FALLBACK below every explicit
path (a package.json declaring vitest/jest/mocha still selects that runner):
it fires only whennodeis on PATH and matching test files exist, records
the REAL result (runner="node-test", pass from exit code, parsed counts), and
a FAILING suite records pass:false (never swallowed). Source without test
files still records source_without_tests (no over-fire); no node still falls
through to the honest inconclusive path (never fabricates a pass). Test:
tests/test-node-test-detection.sh (9/9 incl. both-paths + failing-honesty +
jest-no-regression cases). - BUG: double-
.lokipath when writing the COMPLETED / orchestrator state
markers.autonomy/lokisetsLOKI_DIR="${LOKI_DIR:-.loki}", and two sites
in autonomy/run.sh definedloki_dirwith the/.lokiOUTSIDE the:-
default ("${LOKI_DIR:-${TARGET_DIR:-.}}/.loki"), so a set LOKI_DIR of.loki
became.loki/.loki-- the build failed with
.loki/.loki/COMPLETED: No such file or directory. Both sites
(_advance_current_phase+main) are corrected to the sibling form
"${LOKI_DIR:-${TARGET_DIR:-.}/.loki}"(the/.lokiinside the default), so a
set LOKI_DIR is used as-is. Behavior when LOKI_DIR is unset is unchanged. An
exhaustive repo-wide audit confirms these were the only two buggy sites. Test:
tests/test-loki-dir-double-path.sh (11/11).
Both tests are wired into run-all-tests.sh + local-ci.sh. No behavior change to
any shipping command surface beyond correctly recording a Node test run and
writing the marker to the right path.