Conversation
Merging this PR will degrade performance by 17.2%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ❌ | session_key_to_filename[2026-02-09T12:00:00Z] |
745 ns | 832.5 ns | -10.51% |
| ❌ | env_substitution |
10 µs | 12 µs | -17.2% |
Comparing issue-109 (83aabfc) with main (5287718)
Footnotes
-
5 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
Greptile SummaryThis PR adds backward-compatibility support for legacy Key changes:
Issue: When a config contains both a legacy key and its modern replacement (e.g. Confidence Score: 3/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Raw TOML string] --> B[Step 1: Parse TOML syntax]
B -->|Syntax error| ERR1[Emit syntax diagnostic\nReturn early]
B -->|OK| C[Step 2: check_unknown_fields\nagainst build_schema_map]
C -->|Legacy keys now in schema map| D[Step 3: check_deprecated_fields]
D --> D1{embedding_provider\npresent?}
D1 -->|Yes| W1[Emit deprecated-field warning\n→ use memory.provider]
D1 -->|No| D2{embedding_base_url\npresent?}
W1 --> D2
D2 -->|Yes| W2[Emit deprecated-field warning\n→ use memory.base_url]
D2 -->|No| D3{embedding_model /\nembedding_api_key /\nembedding_dimensions?}
W2 --> D3
D3 -->|Yes| W3[Emit deprecated-field warning]
D3 -->|No| E
W3 --> E[Step 4: check_provider_names]
E --> F[Step 5: toml::from_str MoltisConfig\nSerde alias resolves legacy → modern field]
F -->|Deser error e.g. duplicate field| ERR2[Emit type-error diagnostic]
F -->|OK| G[Step 6: check_semantic_warnings\non parsed config]
G --> H[Return ValidationResult]
ERR2 --> H
H --> I[moltis doctor check_config\nDisplays unknown-field / deprecated-field /\ntype-error / security diagnostics]
Last reviewed commit: 29fa048 |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 29fa048b44
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
* fix(config): support legacy memory embedding keys * fix(config): address legacy key review feedback * test(web): wait for openclaw scan in onboarding e2e * test(web): wait for llm step in onboarding e2e * test(tools): make sandbox off test explicit
* fix(config): support legacy memory embedding keys * fix(config): address legacy key review feedback * test(web): wait for openclaw scan in onboarding e2e * test(web): wait for llm step in onboarding e2e * test(tools): make sandbox off test explicit
Summary
Closes #109.
[memory]keys likeembedding_provider,embedding_base_url,embedding_model, andembedding_api_keyembedding_dimensionsas a deprecated ignored field so old configs still validate cleanlymoltis doctorValidation
Completed
cargo +nightly-2025-11-30 fmt --all -- --checkcargo test -p moltis-config memory_embedding_legacy_aliases_map_to_current_fieldscargo test -p moltis-config legacy_memory_embedding_fields_warn_but_do_not_errorcargo clippy -p moltis-config --tests -- -D warningsMOLTIS_CONFIG_DIR="$tmpdir" cargo run -q -p moltis --no-default-features -- config check./scripts/local-validate.sh 400(started, progressed through fmt/biome/i18n/zizmor, CSS build, Rust lint, WASM build and precompile, then stopped at the 5-minute repo limit during a subsequent long compile phase)Remaining
./scripts/local-validate.sh 400to completion in an environment where the full validation window is available.Manual QA
moltis.tomlusing the legacy[memory]keys from issue [Bug]: Custom endpoint for embeddings is not working #109.moltis config checkand verify it reports warnings, not errors, with replacement keys forprovider,base_url, andmodel.