feat(ingest): Add diagnose-run-ingest.sh diagnostic tool
This commit is contained in:
parent
e0465b6f25
commit
35f476c2c7
1 changed files with 130 additions and 0 deletions
130
diagnose-run-ingest.sh
Normal file
130
diagnose-run-ingest.sh
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/env bash
|
||||
# diagnose-run-ingest.sh
|
||||
# Run from the repo root: bash diagnose-run-ingest.sh
|
||||
# Builds the same fixture the bats test uses and runs run-ingest under `bash -x`
|
||||
# so we can see exactly which command makes it exit non-zero.
|
||||
|
||||
set -uo pipefail
|
||||
|
||||
REPO="$(pwd)"
|
||||
RI="${REPO}/skills/ingest/scripts/run-ingest.sh"
|
||||
|
||||
echo "==================== ENV ===================="
|
||||
echo "bash: $(bash --version | head -1)"
|
||||
echo "git : $(git --version)"
|
||||
echo "jq : $(jq --version 2>/dev/null || echo MISSING)"
|
||||
echo "py : $(python3 --version 2>/dev/null || echo MISSING)"
|
||||
echo
|
||||
|
||||
echo "============ run-ingest.sh on disk ============"
|
||||
if [[ ! -f "$RI" ]]; then echo "NOT FOUND: $RI (run me from the repo root)"; exit 1; fi
|
||||
echo "-- helper invocations (want 'bash ...'): --"
|
||||
grep -nE 'log-append\.sh|scoped-lint\.sh|open-pr\.sh' "$RI"
|
||||
echo "-- result emitter (want 'jq -nc'): --"
|
||||
grep -nE 'jq -nc?|jq -n ' "$RI"
|
||||
echo
|
||||
|
||||
echo "============ build hermetic fixture ============"
|
||||
T="$(mktemp -d)"
|
||||
mkdir -p "$T/nohooks"
|
||||
git init --bare -q "$T/origin.git"
|
||||
g="$T/g"
|
||||
mkdir -p "$g"/{raw/articles,wiki/sources,wiki/entities,wiki/concepts,wiki/queries,wiki/private}
|
||||
|
||||
cat > "$g/wiki/index.md" <<'EOF'
|
||||
---
|
||||
title: "Index"
|
||||
type: index
|
||||
domain: genome-test
|
||||
maturity: stable
|
||||
last_updated: 2026-01-01
|
||||
private: false
|
||||
---
|
||||
|
||||
# Index
|
||||
|
||||
---
|
||||
|
||||
## Sources (`wiki/sources/`)
|
||||
*x*
|
||||
|
||||
|
||||
## Entities (`wiki/entities/`)
|
||||
*x*
|
||||
|
||||
|
||||
## Concepts (`wiki/concepts/`)
|
||||
*x*
|
||||
|
||||
|
||||
## Queries (`wiki/queries/`)
|
||||
*x*
|
||||
|
||||
|
||||
## Conflicts Pending Review (`wiki/queries/conflict-*.md`)
|
||||
*x*
|
||||
EOF
|
||||
|
||||
cat > "$g/wiki/log.md" <<'EOF'
|
||||
---
|
||||
title: "Log"
|
||||
type: log
|
||||
domain: genome-test
|
||||
maturity: stable
|
||||
last_updated: 2026-01-01
|
||||
private: false
|
||||
---
|
||||
|
||||
# Log
|
||||
|
||||
---
|
||||
|
||||
## [2026-01-01] CONFIG | init
|
||||
- run_id: `init`
|
||||
EOF
|
||||
|
||||
echo raw > "$g/raw/articles/test.md"
|
||||
|
||||
(
|
||||
cd "$g"
|
||||
git init -q
|
||||
git config commit.gpgsign false
|
||||
git config core.hooksPath "$T/nohooks"
|
||||
git config user.email t@t
|
||||
git config user.name t
|
||||
git add .
|
||||
git commit -qm init
|
||||
git branch -M main
|
||||
git remote add origin "$T/origin.git"
|
||||
git push -q -u origin main
|
||||
) && echo "fixture commit+push OK" || echo "FIXTURE SETUP FAILED (look above)"
|
||||
|
||||
cat > "$g/wiki/sources/test-source.md" <<'EOF'
|
||||
---
|
||||
title: "Test Source"
|
||||
type: source
|
||||
domain: genome-test
|
||||
tags: [t]
|
||||
maturity: draft
|
||||
last_updated: 2026-06-04
|
||||
private: false
|
||||
---
|
||||
body
|
||||
EOF
|
||||
|
||||
cat > "$g/.ingest-manifest.json" <<'EOF'
|
||||
{ "raw_source":"raw/articles/test.md","model":"m","reasoning":"r","pr_summary":"s","contradictions":"None",
|
||||
"pages":[{"path":"wiki/sources/test-source.md","summary":"a source","maturity":"draft","status":"created"}] }
|
||||
EOF
|
||||
|
||||
echo
|
||||
echo "============ run-ingest (bash -x) ============"
|
||||
cd "$g"
|
||||
export KG_LIB_DIR="${REPO}/lib" FORGEJO_URL=http://x FORGEJO_USER=u FORGEJO_TOKEN=t DRY_RUN=1
|
||||
bash -x "$RI" genome-test >"$T/out.txt" 2>"$T/trace.txt"
|
||||
rc=$?
|
||||
echo "EXIT=$rc"
|
||||
echo "-- run-ingest stdout (final JSON should be here): --"
|
||||
cat "$T/out.txt"
|
||||
echo "-- last 25 lines of the trace (the failing command is near the end): --"
|
||||
tail -n 25 "$T/trace.txt"
|
||||
Loading…
Add table
Reference in a new issue