test: align semantic index doc verifier

This commit is contained in:
2026-08-08 21:22:51 +02:00
parent bed43c747e
commit 5c12d9bb79
3 changed files with 71 additions and 4 deletions
+32 -1
View File
@@ -234,9 +234,40 @@ text = text.replace(
)
path.write_text(text)
PY
semantic_index_spec='{"rows":[{"scope":"workspace semantic index","ownership rule":"(each|one|single|exactly one).*(workspace).*(single|one|exactly one).*(Qdrant).*(collection)|(workspace keeps exactly one qdrant collection reserved for itself)","isolation rule":"schema.*evidence.*memory.*(one|that).*(collection).*(kind|payload)|schema.*evidence.*memory.*together.*collection.*(kind|payload)"}]}'
semantic_index_spec="$(semantic_index_relationship_spec)"
verify_markdown_table_relationships "$local_manual_paraphrase" "local manual paraphrase" "Semantic index ownership contract" "$semantic_index_spec" >/dev/null
production_paraphrase_root="$negative_root/production-paraphrase-root"
mkdir -p "$production_paraphrase_root"
rsync -a \
--exclude '.git' \
--exclude '.pytest_cache' \
--exclude 'node_modules' \
--exclude 'backend/node_modules' \
--exclude 'frontend/node_modules' \
--exclude 'harness/.venv' \
"$root/" "$production_paraphrase_root/"
python3 - "$production_paraphrase_root/docs/install/local-workspace-registry.md" <<'PY'
import pathlib, sys
path = pathlib.Path(sys.argv[1])
text = path.read_text()
text = text.replace(
"| Workspace semantic index | Each workspace reserves a single Qdrant collection. | Schema, Evidence, and Memory stay in that one collection and remain isolated by payload `kind`. |",
"| Workspace semantic index | A workspace keeps exactly one Qdrant collection reserved for itself. | Schema, Evidence, and Memory remain together in that collection and are still separated by payload `kind`. |",
)
path.write_text(text)
PY
set +e
"$production_paraphrase_root/scripts/verify-workspace-install-docs.sh" --fixtures-only \
>"$workspace_output" 2>&1
workspace_status=$?
set -e
if [[ $workspace_status -ne 0 ]]; then
echo "production verifier rejected the accepted semantic-index paraphrase" >&2
cat "$workspace_output" >&2
exit 1
fi
local_manual_missing="$negative_root/local-manual-missing.md"
cp "$root/docs/install/local-workspace-registry.md" "$local_manual_missing"
python3 - "$local_manual_missing" <<'PY'
+9 -3
View File
@@ -155,6 +155,14 @@ for row_spec in spec["rows"]:
PY
}
semantic_index_relationship_spec() {
cat <<'JSON'
{"rows":[
{"scope":"workspace semantic index","ownership rule":"(each|one|single|exactly one).*(workspace).*(single|one|exactly one).*(Qdrant).*(collection)|(workspace keeps exactly one qdrant collection reserved for itself)","isolation rule":"schema.*evidence.*memory.*(one|that).*(collection).*(kind|payload)|schema.*evidence.*memory.*together.*collection.*(kind|payload)"}
]}
JSON
}
verify_compose_internal_semantic_contract() {
python3 - "$root/compose.yaml" <<'PY'
import sys, yaml, pathlib
@@ -308,9 +316,7 @@ verify_internal_semantic_infrastructure_docs() {
{"component":"^Qdrant$","ownership":"^Internal$","operator contract":"internal|Compose|qdrant-data"},
{"component":"^Ollama embedding$","ownership":"^Internal$","operator contract":"internal|Compose|qwen3-embedding:0\\.6b"}
]}'
semantic_index_spec='{"rows":[
{"scope":"workspace semantic index","ownership rule":"(each|one|single).*(workspace).*(single|one).*(Qdrant).*(collection)|(each workspace reserves a single qdrant collection)","isolation rule":"schema.*evidence.*memory.*(one|that).*(collection).*(kind|payload)"}
]}'
semantic_index_spec="$(semantic_index_relationship_spec)"
compact_spec='{"rows":[
{"componente":"^DWH$","ownership":"^Esterno$","contratto operativo":"endpoint.*estern"},
{"componente":"^LLM$","ownership":"^Esterno$","contratto operativo":"esterna|esterno"},