Auditor drill: OpenRouter lane sweep + warren Gitea repoint (post-PR11 polish) #14

Open
profit wants to merge 65 commits from demo/post-pr11-polish-2026-04-28 into main
Showing only changes of commit 991db7be1a - Show all commits
+22 -8
View File
@@ -87,19 +87,33 @@ export LH_GATEWAY="${LH_GATEWAY:-http://127.0.0.1:4110}"
# works correctly (lands in golangLAKEHOUSE root, where reports/ lives).
SCRUM_DIR=$(dirname "$SCRUM_REVIEW")
SCRUM_REPO=$(dirname "$SCRUM_DIR")
( cd "$SCRUM_REPO" && bash "$SCRUM_REVIEW" "$DIFF_FILE" "$LABEL" ) || {
echo "[scrum] reviewers failed — bailing"
rm -f "$DIFF_FILE"
exit 1
}
# Run the underlying review. We treat ANY tally-file produced as a usable
# result, even if scrum_review.sh exits non-zero on its own aggregation
# step (its tally-counting can mis-fire while the verdicts themselves are
# fine — the per-reviewer markdown files are what matter).
( cd "$SCRUM_REPO" && bash "$SCRUM_REVIEW" "$DIFF_FILE" "$LABEL" ) || true
# Locate the tally file the review just wrote
TALLY="$SCRUM_REPO/reports/scrum/_evidence/$(date +%Y-%m-%d)/verdicts/${LABEL}_tally.md"
if [ ! -f "$TALLY" ]; then
echo "[scrum] no tally found at $TALLY (review may have failed silently)"
# Build a minimal tally from the per-reviewer files if scrum_review.sh
# didn't produce one. Lets findings still flow to the KB.
VERDICTS_DIR="$SCRUM_REPO/reports/scrum/_evidence/$(date +%Y-%m-%d)/verdicts"
if ls "$VERDICTS_DIR/${LABEL}_"*.md >/dev/null 2>&1; then
{
echo "# Convergence tally — $LABEL (auto-rebuilt by ./scrum wrapper)"
echo
echo "scrum_review.sh did not emit a tally; per-reviewer verdicts:"
echo
for f in "$VERDICTS_DIR/${LABEL}_"*.md; do
echo "- $(basename "$f")"
done
} > "$TALLY"
else
echo "[scrum] no per-reviewer verdicts produced — bailing"
rm -f "$DIFF_FILE"
exit 1
fi
fi
# Push to KB — one JSONL row per scrum run, queryable via DuckDB or jq
KB_DIR="$(git rev-parse --show-toplevel)/data/_kb"
@@ -121,7 +135,7 @@ from pathlib import Path
tally = Path("$TALLY").read_text()
row = {
"schema": "scrum_finding.v1",
"ts": datetime.datetime.utcnow().isoformat() + "Z",
"ts": datetime.datetime.now(datetime.UTC).isoformat().replace("+00:00", "Z"),
"label": "$LABEL",
"diff_mode": "$DIFF_MODE",
"diff_bytes": $DIFF_SIZE,