Experiments
Experimental Flags
How to read Wenlan's opt-in main-branch flags without mistaking them for released defaults.
At a glance
01
Experimental flags are for source checkouts, evaluation runs, and maintainer testing. They are not stable product defaults.
02
Use release notes and the changelog to decide what installed users can rely on.
01
Status first
Wenlan's main branch often carries opt-in work before a release promotes it. A flag on main means the code path exists for testing; it does not mean normal users receive that behavior after npx setup.
When writing docs, bug reports, or benchmark notes, describe the flag, the branch or release, and whether it is enabled by default.
02
Retrieval and context flags
Recent main-branch work explores how to retrieve and assemble smaller, more useful context bundles: graph activation, temporal filtering, FTS hardening, session diversity, salience priors, episode and fact channels, PRF, k-hop graph traversal, global preludes, iterative retrieval, LLM routing, and read-time context compression.
These flags can change ranking, context composition, token cost, or evaluation labels. Do not compare results across flag sets without naming the active flags.
Retrieval flags
WENLAN_ENABLE_GRAPH_GATE
WENLAN_ENABLE_GRAPH_SEED
WENLAN_ENABLE_TEMPORAL_FILTER
WENLAN_ENABLE_QUERY_INTENT
WENLAN_MAGNITUDE_FUSION
WENLAN_ENABLE_FTS_HARDENING
WENLAN_ENABLE_SESSION_DIVERSITY
WENLAN_ENABLE_SALIENCE_PRIOR
WENLAN_ENABLE_EPISODE_CHANNEL
WENLAN_ENABLE_FACT_CHANNEL
WENLAN_PRF_ROUNDS
WENLAN_ENABLE_GRAPH_KHOP
WENLAN_ENABLE_GLOBAL_PRELUDE
WENLAN_ENABLE_COT_RETRIEVAL
WENLAN_LLM_ROUTE
WENLAN_ENABLE_CONTEXT_COMPRESS03
Memory maintenance flags
Other experiments target write-time and background maintenance: temporal grounding, entity near-dedup, page rewrite shrink guards, dual-pool dedup/contradiction resolution, soft eviction, and debounced reflection.
These are especially sensitive because they affect what becomes durable context. Use them on isolated development data unless a release note says the behavior is ready for normal installs.
Maintenance flags
WENLAN_ENABLE_TEMPORAL_GROUNDING
WENLAN_ENABLE_ENTITY_MINHASH
WENLAN_MERGE_SHRINK_GUARD
WENLAN_ENABLE_DUAL_POOL_RESOLVE
WENLAN_ENABLE_EVICTION
WENLAN_ENABLE_REFLECTION_DEBOUNCE04
Eval discipline
Every flag that changes retrieval, compression, graph expansion, or maintenance can also change benchmark meaning. A result is only useful if it records the fixture, schema, model, run count, and active flags.
If a flag is eval-only or not wired into the normal daemon path yet, say so plainly. Context compression is an example of a main-branch experiment that should not be described as default chat-context behavior until release notes promote it.
05
Safe local testing
Do not test experimental maintenance flags against your normal product data unless you mean to. Run a source checkout on a separate port and data directory so experiments cannot rewrite the memory store you rely on daily.
After a flag test, capture the exact command, environment, and git commit. That makes the result reproducible and keeps later docs from turning a local experiment into a product claim.
Isolated daemon
WENLAN_PORT=7879
WENLAN_DATA_DIR=/tmp/wenlan-test
cargo run -p wenlan-serverNext
Data and Privacy
Where Wenlan keeps data, what stays local, and how readable artifacts work with the daemon-owned retrieval store.
Read next