ci: point eval at the checkout and keep DevOps in the corpus.
/tmp/brain-eval cannot walk up to var/kb.lbug; KB_ROOT is required. Recall fragments must exist in README/docs so a repo-only rebuild gates.
This commit is contained in:
@@ -62,10 +62,15 @@ jobs:
|
|||||||
bin/cgo/zig go build -tags system_ladybug -o /tmp/brain-search ./bin/brain/search.go
|
bin/cgo/zig go build -tags system_ladybug -o /tmp/brain-search ./bin/brain/search.go
|
||||||
bin/cgo/zig go build -tags 'system_ladybug,brain_eval' -o /tmp/brain-eval ./bin/brain/eval.go
|
bin/cgo/zig go build -tags 'system_ladybug,brain_eval' -o /tmp/brain-eval ./bin/brain/eval.go
|
||||||
|
|
||||||
|
- uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.cache/huggingface
|
||||||
|
key: ${{ runner.os }}-hf-potion-multilingual-128M
|
||||||
|
|
||||||
- name: recall@5 SoT (Zig bin/brain/eval.go)
|
- name: recall@5 SoT (Zig bin/brain/eval.go)
|
||||||
run: |
|
run: |
|
||||||
uv run python bin/kb/index --rebuild --json
|
uv run python bin/kb/index --rebuild --json
|
||||||
/tmp/brain-eval --json
|
KB_ROOT="$PWD" /tmp/brain-eval --json
|
||||||
|
|
||||||
release:
|
release:
|
||||||
name: Release (semver)
|
name: Release (semver)
|
||||||
|
|||||||
@@ -169,6 +169,9 @@ docker compose up brain-watch # auto re-index on change
|
|||||||
|
|
||||||
## Related
|
## Related
|
||||||
|
|
||||||
|
eSlider DevOps engineer practice: ops, OnlyOffice, and mail feed the facts
|
||||||
|
root through `bin/facts/extract` (two-source pairing).
|
||||||
|
|
||||||
- [go-second-brain](https://github.com/eSlider/go-second-brain) — the earlier
|
- [go-second-brain](https://github.com/eSlider/go-second-brain) — the earlier
|
||||||
Neo4j + Qdrant + Matrix RAG brain
|
Neo4j + Qdrant + Matrix RAG brain
|
||||||
- [agent-skills](https://github.com/eSlider/agent-skills) — upstream
|
- [agent-skills](https://github.com/eSlider/agent-skills) — upstream
|
||||||
|
|||||||
@@ -213,6 +213,19 @@ class BinLayoutTest(unittest.TestCase):
|
|||||||
self.assertIn("bin/brain/eval.go", ci)
|
self.assertIn("bin/brain/eval.go", ci)
|
||||||
self.assertIn("system_ladybug,brain_eval", ci)
|
self.assertIn("system_ladybug,brain_eval", ci)
|
||||||
self.assertIn("/tmp/brain-eval", ci)
|
self.assertIn("/tmp/brain-eval", ci)
|
||||||
|
self.assertIn("KB_ROOT", ci)
|
||||||
self.assertNotIn("bin/kb/eval", ci)
|
self.assertNotIn("bin/kb/eval", ci)
|
||||||
self.assertNotIn("gate skipped", ci)
|
self.assertNotIn("gate skipped", ci)
|
||||||
self.assertIn("./bin/facts/audit self", ci)
|
self.assertIn("./bin/facts/audit self", ci)
|
||||||
|
|
||||||
|
def test_eval_fragments_live_in_default_corpus(self) -> None:
|
||||||
|
"""CI --rebuild indexes README/PLAN/docs/skills; fragments must be there."""
|
||||||
|
corpus = []
|
||||||
|
for rel in ("README.md", "PLAN.md", "AGENTS.md"):
|
||||||
|
corpus.append((ROOT / rel).read_text())
|
||||||
|
for d in ("docs", "skills"):
|
||||||
|
for p in (ROOT / d).rglob("*.md"):
|
||||||
|
corpus.append(p.read_text())
|
||||||
|
blob = "\n".join(corpus)
|
||||||
|
for frag in ("BM25", "DevOps", "LadybugDB"):
|
||||||
|
self.assertIn(frag, blob, f"{frag} must appear in default index corpus")
|
||||||
|
|||||||
Reference in New Issue
Block a user