feat(config): apply fixed_size ±3 as stabilized defaults

Why:
- Final benchmark selected fixed_size with neighbor expansion ±3 as the winning Candidate.

Changes:
- Set neighbor_prev/neighbor_next defaults to 3 in Settings.
- Default Query tab to fixed_size ±3/3 and Benchmarks to single-strategy fixed_size.

Impact:
- API and Dashboard runs use ±3 unless explicitly overridden.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-22 13:27:15 +03:30
parent 640691b8ab
commit d5ccec2f2c
2 changed files with 7 additions and 7 deletions

View File

@@ -22,9 +22,9 @@ class Settings(BaseSettings):
# Retrieval # Retrieval
top_k: int = 5 top_k: int = 5
# Neighbor Expansion for fixed_size (ADR-0023); 0/0 = off # Neighbor Expansion for fixed_size (ADR-0023); 3/3 = decision default (see final-chunking-strategy-decision.md)
neighbor_prev: int = 0 neighbor_prev: int = 3
neighbor_next: int = 0 neighbor_next: int = 3
# LLM generation # LLM generation
temperature: float = 0.0 temperature: float = 0.0

View File

@@ -1287,8 +1287,8 @@ function RetrievalInspectView({ experiment, onBack }) {
function QueryTab({ documents, strategies, addToast, formatFilter = 'word', hideTitle = false }) { function QueryTab({ documents, strategies, addToast, formatFilter = 'word', hideTitle = false }) {
const [form, setForm] = useState({ const [form, setForm] = useState({
document_id: '', strategy: '', question: '', top_k: 5, document_id: '', strategy: 'fixed_size', question: '', top_k: 5,
neighbor_prev: 0, neighbor_next: 0, corpus_model_id: '', neighbor_prev: 3, neighbor_next: 3, corpus_model_id: '',
}); });
const [result, setResult] = useState(null); const [result, setResult] = useState(null);
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
@@ -1761,9 +1761,9 @@ function ComparisonView({ experiments, addToast, onBack }) {
function BenchmarksTab({ documents, strategies, addToast, questionsFile, formatFilter = 'word', hideTitle = false }) { function BenchmarksTab({ documents, strategies, addToast, questionsFile, formatFilter = 'word', hideTitle = false }) {
const [experiments, setExperiments] = useState([]); const [experiments, setExperiments] = useState([]);
const [form, setForm] = useState({ const [form, setForm] = useState({
document_id: '', strategies: strategies.map(s => s.name), document_id: '', strategies: ['fixed_size'],
questions_file: questionsFile, top_k: 5, questions_file: questionsFile, top_k: 5,
neighbor_prev: 0, neighbor_next: 0, dry_run: false, corpus_model_id: '', neighbor_prev: 3, neighbor_next: 3, dry_run: false, corpus_model_id: '',
}); });
const [running, setRunning] = useState(false); const [running, setRunning] = useState(false);
const [embModels, setEmbModels] = useState([]); const [embModels, setEmbModels] = useState([]);