From 020d099c3970513d618859893ebe14bf1e816fee Mon Sep 17 00:00:00 2001 From: bokiko Date: Wed, 18 Mar 2026 00:40:21 +0000 Subject: [PATCH] kyzn(deep): improve performance [run:20260318-003649-bd91183e] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Health: 96 → 96 (→0) Cost: $0.6498867 --- .kyzn/.gitignore | 3 +++ .kyzn/config.yaml | 18 ++++++++++++++++++ scripts/indexer.py | 6 ++---- scripts/mcp_server.py | 5 +++-- 4 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 .kyzn/.gitignore create mode 100644 .kyzn/config.yaml diff --git a/.kyzn/.gitignore b/.kyzn/.gitignore new file mode 100644 index 0000000..101f1a8 --- /dev/null +++ b/.kyzn/.gitignore @@ -0,0 +1,3 @@ +# kyzn — gitignored local data +history/ +reports/ diff --git a/.kyzn/config.yaml b/.kyzn/config.yaml new file mode 100644 index 0000000..bfb09cd --- /dev/null +++ b/.kyzn/config.yaml @@ -0,0 +1,18 @@ +# kyzn configuration — commit this file +# Generated by: kyzn init +# Date: 2026-03-18T00:35:36Z + +project: + name: bloxcue + type: generic + +preferences: + mode: deep + budget: 2.50 + max_turns: 30 + diff_limit: 2000 + trust: guardian + on_build_fail: report + +focus: + priorities: ["auto"] diff --git a/scripts/indexer.py b/scripts/indexer.py index a803459..a8362cb 100755 --- a/scripts/indexer.py +++ b/scripts/indexer.py @@ -984,8 +984,9 @@ def search(query: str, limit: int = 5) -> List[Dict]: for field, multiplier in weight_adjustments.items(): if field == "title": title_lower = entry.get("title", "").lower() + title_stems = {porter_stem(normalize_word(w)) for w in title_lower.split()} for term in query_terms: - if porter_stem(term) in [porter_stem(normalize_word(w)) for w in title_lower.split()]: + if porter_stem(term) in title_stems: score *= multiplier break elif field == "tags": @@ -1006,9 +1007,6 @@ def search(query: str, limit: int = 5) -> List[Dict]: if score > 0: results.append({"entry": entry, "score": score}) - # Sort by BM25 score - results.sort(key=lambda x: x["score"], reverse=True) - # Recency boost: gently favor recently modified blocks for result in results: modified = result["entry"].get("modified", "") diff --git a/scripts/mcp_server.py b/scripts/mcp_server.py index a337f88..c7525b7 100644 --- a/scripts/mcp_server.py +++ b/scripts/mcp_server.py @@ -251,12 +251,13 @@ def handle_index_blocks(arguments: dict) -> dict: """Execute index_blocks tool.""" # Redirect stdout to capture indexer output old_stdout = sys.stdout - sys.stdout = open(os.devnull, 'w') + devnull = open(os.devnull, 'w') + sys.stdout = devnull try: index = indexer.build_index() finally: - sys.stdout.close() sys.stdout = old_stdout + devnull.close() file_count = len(index.get("files", [])) idf_count = len(index.get("idf", {}))