diff --git a/docs/RELEASE.md b/docs/RELEASE.md
index c2118700..00ed8126 100644
--- a/docs/RELEASE.md
+++ b/docs/RELEASE.md
@@ -2,7 +2,7 @@
`kinic-vfs-cli` is published as the single operator binary for database setup, scripted writes, archive/restore, and Skill Registry maintenance. The Browser remains the primary public UI.
-Primary distribution is npm. The npm package downloads GitHub Release assets and verifies SHA-256 checksums. Homebrew is optional follow-up packaging. Cargo install is a Rust-user fallback; crates.io publication is deferred.
+Primary distribution is npm. The npm package downloads GitHub Release assets and verifies SHA-256 checksums. Cargo install is a Rust-user fallback; crates.io publication is deferred.
## npm
@@ -74,37 +74,6 @@ tar -xzf kinic-vfs-cli-v0.1.3-macos-arm64.tar.gz
./kinic-vfs-cli --version
```
-## Homebrew
-
-Homebrew packaging is optional. The standard tap is `ICME-Lab/homebrew-tap`. If the tap does not exist yet, create it first.
-
-After a GitHub Release is available:
-
-1. Read the release checksum:
-
- ```bash
- shasum -a 256 kinic-vfs-cli-v0.1.3-macos-arm64.tar.gz
- ```
-
-2. Copy [`../packaging/homebrew/Formula/kinic-vfs-cli.rb`](../packaging/homebrew/Formula/kinic-vfs-cli.rb) into `ICME-Lab/homebrew-tap`.
-
-3. Replace the placeholder `sha256` with the release checksum.
-
-4. Validate inside the tap repo:
-
- ```bash
- brew audit --strict --online kinic-vfs-cli
- brew install ICME-Lab/tap/kinic-vfs-cli
- brew test kinic-vfs-cli
- ```
-
-Before release assets exist, only local syntax and style checks are expected to pass:
-
-```bash
-ruby -c packaging/homebrew/Formula/kinic-vfs-cli.rb
-brew style packaging/homebrew/Formula/kinic-vfs-cli.rb
-```
-
## CI Artifacts
The normal `cli-artifacts` CI job uses the same tarball layout as the release workflow, but uploads workflow artifacts instead of creating a GitHub Release.
diff --git a/docs/internal/LLM_WIKI_STRUCTURE.md b/docs/internal/LLM_WIKI_STRUCTURE.md
index 984a8d62..e442fc2c 100644
--- a/docs/internal/LLM_WIKI_STRUCTURE.md
+++ b/docs/internal/LLM_WIKI_STRUCTURE.md
@@ -190,12 +190,12 @@ sequenceDiagram
| --- | --- | --- |
| build | `build-vfs-canister.sh`, `build-vfs-canister-canbench.sh` | canister build |
| canbench | `run_canbench_guard.sh`, `run_canbench_scale.sh`, `canbench/*.py` | canbench 集計・比較 |
-| bench | `bench/run_beam_bench.sh`, `bench/run_canister_vfs_*.sh` | beam / canister workload |
+| bench | `bench/run_canister_vfs_*.sh` | canister workload |
| env | `setup_canbench_ci.sh` | 実行環境補助 |
### 8.3 `fixtures/`
-- `fixtures/beam/`: beam sample 入力
+- 現在、永続 fixture はない
### 8.4 `artifacts/`
diff --git a/docs/internal/llm-wiki-structure.svg b/docs/internal/llm-wiki-structure.svg
deleted file mode 100644
index 47ea3feb..00000000
--- a/docs/internal/llm-wiki-structure.svg
+++ /dev/null
@@ -1,111 +0,0 @@
-
diff --git a/fixtures/beam/beam_evidence_sample.json b/fixtures/beam/beam_evidence_sample.json
deleted file mode 100644
index 857c937c..00000000
--- a/fixtures/beam/beam_evidence_sample.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "100K": [
- {
- "conversation_id": "beam-evidence-1",
- "conversation_seed": {
- "category": "General",
- "title": "Calendar planning"
- },
- "narratives": "A short planning conversation about a meeting date.",
- "user_profile": {
- "user_info": "Sample user profile"
- },
- "conversation_plan": "Discuss one meeting date and confirm it.",
- "user_questions": [
- {
- "messages": [
- [
- "Can you help me remember the meeting date?"
- ]
- ]
- }
- ],
- "chat": [
- [
- {
- "role": "user",
- "content": "Please remember that the meeting is on March 15, 2024."
- },
- {
- "role": "assistant",
- "content": "Understood. I will remember March 15, 2024."
- }
- ]
- ],
- "probing_questions": "{'factoid':[{'question':'When is the meeting?','answer':'March 15, 2024','gold_answers':['March 15, 2024'],'gold_paths':['facts.md'],'gold_spans':['March 15, 2024'],'tags':['factoid','facts']},{'question':'What was the conversation plan?','answer':'Discuss one meeting date and confirm it.','gold_answers':['Discuss one meeting date and confirm it.'],'gold_paths':['plan.md'],'gold_spans':['Discuss one meeting date and confirm it.'],'tags':['factoid','plan']}],'temporal_reasoning':[{'question':'What happened in the first turn?','answer':'Please remember that the meeting is on March 15, 2024.','gold_answers':['Please remember that the meeting is on March 15, 2024.'],'gold_paths':['events.md'],'gold_spans':['Turn 0001 user: Please remember that the meeting is on March 15, 2024.'],'as_of':'2026-04-16T00:00:00+09:00','tags':['temporal','events']}],'abstention':[{'question':'What city was the meeting in?','answer':'insufficient evidence','expects_abstention':true,'gold_answers':['insufficient evidence'],'tags':['abstention']}]}"
- }
- ]
-}
diff --git a/fixtures/beam/beam_sample.json b/fixtures/beam/beam_sample.json
deleted file mode 100644
index 1f19ce51..00000000
--- a/fixtures/beam/beam_sample.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "100K": [
- {
- "conversation_id": "beam-sample-1",
- "conversation_seed": {
- "category": "General",
- "title": "Calendar planning"
- },
- "narratives": "A short planning conversation about a meeting date.",
- "user_profile": {
- "user_info": "Sample user profile"
- },
- "conversation_plan": "Discuss one meeting date and confirm it.",
- "user_questions": [
- {
- "messages": [
- [
- "Can you help me remember the meeting date?"
- ]
- ]
- }
- ],
- "chat": [
- [
- {
- "role": "user",
- "content": "Please remember that the meeting is on March 15, 2024."
- },
- {
- "role": "assistant",
- "content": "Understood. I will remember March 15, 2024."
- }
- ]
- ],
- "probing_questions": "{'abstention':[{'question':'What city was the meeting in?','answer':'insufficient evidence','expects_abstention':true,'gold_answers':['insufficient evidence'],'tags':['abstention']}],'factoid':[{'question':'When is the meeting?','answer':'March 15, 2024','gold_answers':['March 15, 2024'],'gold_paths':['facts.md'],'gold_spans':['March 15, 2024'],'tags':['factoid','facts']},{'question':'What was the conversation plan?','answer':'Discuss one meeting date and confirm it.','gold_answers':['Discuss one meeting date and confirm it.'],'gold_paths':['plan.md'],'gold_spans':['Discuss one meeting date and confirm it.'],'tags':['factoid','plan']}],'temporal_reasoning':[{'question':'What happened in the first turn?','answer':'Please remember that the meeting is on March 15, 2024.','gold_answers':['Please remember that the meeting is on March 15, 2024.'],'gold_paths':['events.md'],'gold_spans':['Turn 0001 user: Please remember that the meeting is on March 15, 2024.'],'as_of':'2026-04-16T00:00:00+09:00','tags':['temporal','events']}]}"
- }
- ]
-}
diff --git a/packaging/homebrew/Formula/kinic-vfs-cli.rb b/packaging/homebrew/Formula/kinic-vfs-cli.rb
deleted file mode 100644
index 5ebf8759..00000000
--- a/packaging/homebrew/Formula/kinic-vfs-cli.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-class KinicVfsCli < Formula
- desc "Operator CLI for Kinic VFS-backed wiki databases and Skill Registry packages"
- homepage "https://github.com/ICME-Lab/kinic-wiki"
- version "0.1.1"
-
- if OS.mac? && Hardware::CPU.arm?
- url "https://github.com/ICME-Lab/kinic-wiki/releases/download/v#{version}/kinic-vfs-cli-v#{version}-macos-arm64.tar.gz"
- sha256 "232a81c1a3ecd0b7d1c3e189e276fe5bf56fb546b6d14900bdbfee4cce9e5b24"
- else
- odie "kinic-vfs-cli v#{version} formula currently supports macOS arm64 only"
- end
-
- def install
- bin.install "kinic-vfs-cli"
- end
-
- test do
- assert_match "Usage:", shell_output("#{bin}/kinic-vfs-cli --help")
- end
-end
diff --git a/scripts/bench/run_beam_bench.sh b/scripts/bench/run_beam_bench.sh
deleted file mode 100755
index f79fa369..00000000
--- a/scripts/bench/run_beam_bench.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-# Where: scripts/bench/run_beam_bench.sh
-# What: Run the read-only BEAM-derived retrieval benchmark binary.
-# Why: Eval must stay separate from namespace preparation and canister writes.
-
-SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
-REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
-
-cd "${REPO_ROOT}"
-cargo run -p kinic-vfs-cli --bin beam_bench -- "$@"
diff --git a/scripts/bench/run_beam_grounded_slice.sh b/scripts/bench/run_beam_grounded_slice.sh
deleted file mode 100755
index 6041086f..00000000
--- a/scripts/bench/run_beam_grounded_slice.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-# Where: scripts/bench/run_beam_grounded_slice.sh
-# What: Prepare then run one grounded QA slice against the read-only BEAM eval harness.
-# Why: Test runs should use one command so prepare/eval order is never skipped.
-
-if [[ $# -lt 5 ]]; then
- echo "usage: $0 [extra args...]" >&2
- exit 1
-fi
-
-SLICE="$1"
-CANISTER_ID="$2"
-DATASET_PATH="$3"
-OUTPUT_DIR="$4"
-NAMESPACE="$5"
-shift 5
-
-SPLIT="100K"
-LIMIT_ARGS=(--limit 20)
-PASSTHROUGH_ARGS=()
-while [[ $# -gt 0 ]]; do
- case "$1" in
- --split)
- SPLIT="$2"
- shift 2
- ;;
- --limit)
- LIMIT_ARGS=("$1" "$2")
- shift 2
- ;;
- *)
- PASSTHROUGH_ARGS+=("$1")
- shift
- ;;
- esac
-done
-
-ARGS=(
- --local
- --canister-id "$CANISTER_ID"
- --dataset-path "$DATASET_PATH"
- --split "$SPLIT"
- --output-dir "$OUTPUT_DIR"
- --eval-mode retrieve-and-extract
- --top-k 3
- --parallelism 1
- --namespace "$NAMESPACE"
-)
-ARGS+=("${LIMIT_ARGS[@]}")
-
-case "$SLICE" in
- information-extraction)
- ARGS+=(--include-question-type information_extraction)
- ;;
- temporal-reasoning)
- ARGS+=(--include-question-type temporal_reasoning)
- ;;
- event-ordering)
- ARGS+=(--include-question-type event_ordering)
- ;;
- instruction-following)
- ARGS+=(--include-question-type instruction_following)
- ;;
- preference-following)
- ARGS+=(--include-question-type preference_following)
- ;;
- knowledge-update)
- ARGS+=(--include-question-type knowledge_update)
- ;;
- contradiction-resolution)
- ARGS+=(--include-question-type contradiction_resolution)
- ;;
- summarization)
- ARGS+=(--include-question-type summarization)
- ;;
- multi-session-reasoning)
- ARGS+=(--include-question-type multi_session_reasoning)
- ;;
- abstention)
- ARGS+=(--include-question-type abstention)
- ;;
- facts)
- ARGS+=(--include-question-type information_extraction)
- ;;
- temporal)
- ARGS+=(--include-question-type temporal_reasoning)
- ;;
- plan)
- ARGS+=(--include-question-class factoid --include-tag plan)
- ;;
- *)
- echo "unknown slice: $SLICE" >&2
- exit 1
- ;;
-esac
-
-BENCH_DIR="$(cd "$(dirname "$0")" && pwd)"
-PREPARE_ARGS=(
- --local
- --canister-id "$CANISTER_ID"
- --dataset-path "$DATASET_PATH"
- --split "$SPLIT"
- --namespace "$NAMESPACE"
-)
-if [[ ${#LIMIT_ARGS[@]} -gt 0 ]]; then
- PREPARE_ARGS+=("${LIMIT_ARGS[@]}")
-fi
-BENCH_ARGS=("${ARGS[@]}")
-if [[ ${#PASSTHROUGH_ARGS[@]} -gt 0 ]]; then
- BENCH_ARGS+=("${PASSTHROUGH_ARGS[@]}")
-fi
-
-bash "${BENCH_DIR}/run_beam_prepare.sh" "${PREPARE_ARGS[@]}"
-bash "${BENCH_DIR}/run_beam_bench.sh" "${BENCH_ARGS[@]}"
diff --git a/scripts/bench/run_beam_improvement_slices.sh b/scripts/bench/run_beam_improvement_slices.sh
deleted file mode 100755
index c8329cfa..00000000
--- a/scripts/bench/run_beam_improvement_slices.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-# Where: scripts/bench/run_beam_improvement_slices.sh
-# What: Run the BEAM improvement slices in the recommended order with fixed names.
-# Why: Prompt-tuning checks should rerun the same question-type slices without ad hoc command drift.
-
-if [[ $# -lt 3 ]]; then
- echo "usage: $0 [namespace] [extra args...]" >&2
- exit 1
-fi
-
-CANISTER_ID="$1"
-DATASET_PATH="$2"
-OUTPUT_ROOT="$3"
-NAMESPACE="${4:-beam-full-reset}"
-
-if [[ $# -ge 4 ]]; then
- shift 4
-else
- shift 3
-fi
-
-EXTRA_ARGS=("$@")
-SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
-
-SLICES=(
- preference-following
- information-extraction
- summarization
- multi-session-reasoning
- contradiction-resolution
- temporal-reasoning
-)
-
-for slice in "${SLICES[@]}"; do
- ARGS=(
- "$slice"
- "$CANISTER_ID"
- "$DATASET_PATH"
- "${OUTPUT_ROOT}/${slice}"
- "$NAMESPACE"
- )
- if [[ ${#EXTRA_ARGS[@]} -gt 0 ]]; then
- ARGS+=("${EXTRA_ARGS[@]}")
- fi
- bash "${SCRIPT_DIR}/run_beam_grounded_slice.sh" "${ARGS[@]}"
-done
diff --git a/scripts/bench/run_beam_prepare.sh b/scripts/bench/run_beam_prepare.sh
deleted file mode 100755
index bf10d3ab..00000000
--- a/scripts/bench/run_beam_prepare.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-# Where: scripts/bench/run_beam_prepare.sh
-# What: Prepare a BEAM benchmark namespace before read-only eval.
-# Why: Note import and index sync must happen outside `beam_bench`.
-
-SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
-REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
-
-cd "${REPO_ROOT}"
-cargo run -p kinic-vfs-cli --bin beam_prepare -- "$@"
diff --git a/scripts/bench/run_canister_vfs_workload.sh b/scripts/bench/run_canister_vfs_workload.sh
index 81205d88..2a09f0f3 100644
--- a/scripts/bench/run_canister_vfs_workload.sh
+++ b/scripts/bench/run_canister_vfs_workload.sh
@@ -89,14 +89,14 @@ node -e '
const pickIterations = (operation, size) => {
if (operation === "list") return Number(process.env.WORKLOAD_LIST_ITERATIONS || 100);
if (operation === "search") return Number(process.env.WORKLOAD_SEARCH_ITERATIONS || 50);
- if (operation === "mkdir" || operation === "glob" || operation === "recent") {
+ if (operation === "mkdir" || operation === "glob") {
return Number(process.env.WORKLOAD_QUERY_ITERATIONS || process.env.WORKLOAD_LIST_ITERATIONS || 100);
}
return size.iterations;
};
const defaultOperations = [
"create", "update", "append", "edit", "move_same_dir", "move_cross_dir", "delete", "read", "list", "search",
- "mkdir", "glob", "recent", "multi_edit"
+ "mkdir", "glob", "multi_edit"
];
const operations = parseList(process.env.WORKLOAD_OPERATIONS, defaultOperations);
const directoryShapes = parseList(process.env.WORKLOAD_DIRECTORY_SHAPES, ["flat"]);
@@ -244,7 +244,6 @@ write_failed_raw() {
search: { openai_tool: "search", openai_tool_variant: null },
mkdir: { openai_tool: "mkdir", openai_tool_variant: null },
glob: { openai_tool: "glob", openai_tool_variant: null },
- recent: { openai_tool: "recent", openai_tool_variant: null },
multi_edit: { openai_tool: "multi_edit", openai_tool_variant: null }
};
const oa = openaiMap[op] ?? { openai_tool: op, openai_tool_variant: null };