fix: align Profile authoring with compaction and reasoning contracts (T-710)
Resolve MR seq9 supported-compaction-fields and numeric-extraction-reasoning findings. Cover all canonical CompactionConfigPartial settings, token aliases and ratio helpers; accept string effort and signed integer extraction budgets without materializing editor defaults. Audit the remaining Profile field groups against their real serde contracts.
Share an actual-provider value corpus across native, generated WASM, and shared save/projection/verified Runtime archive consumption. Prove inline/import/patch exact values and effective Manifest settings; gate canonical compaction field coverage against serialization of the actual partial type. Keep prior scope union and worker/feature diagnostics fixes intact.
Validation: root cargo check; config-source40; unfiltered server644+11; Runtime340+17+17; API typescript77; Deno39; deno task check0/0; wasm32 release regeneration byte-identical with wasm-bindgen0.2.117/Binaryen132; cargo fmt/diff checks. Logs target/t710-contract-{check,config-source,server,api,runtime}.log. Reviewer seq9 independently confirmed seq3/5/7 resolution and correct main/relative-cwd routing. No target integration/ref mutations.
This commit is contained in:
@@ -9,7 +9,8 @@ let
|
||||
capability = Unknown; context_window = Int; max_context_window = Int;
|
||||
};
|
||||
Extraction = {
|
||||
enabled = Bool; model = Model; reasoning = String;
|
||||
# ReasoningControl accepts string effort or signed integer budget.
|
||||
enabled = Bool; model = Model; reasoning = Unknown;
|
||||
threshold = Int; worker_max_turns = Int;
|
||||
};
|
||||
# Profile scope accepts either a string intent or a table. Decodal 0.4 has
|
||||
@@ -56,9 +57,19 @@ let
|
||||
env = { inherit = [...String]; set = { ...Unknown }; };
|
||||
}]; };
|
||||
compaction = {
|
||||
# Token settings (CompactionConfigPartial) and ratio helper fields.
|
||||
# Threshold/context values accept integer tokens or numeric ratios.
|
||||
kind = String; threshold = Unknown; request_threshold = Unknown;
|
||||
prune_enabled = Bool; worker_context_max_tokens = Unknown;
|
||||
worker_max_turns = Int; model = Model;
|
||||
worker_context_max_tokens = Unknown; request = Unknown; worker = Unknown;
|
||||
prune_enabled = Bool; prune_protected_tokens = Int; prune_min_savings = Int;
|
||||
retained_tokens = Int;
|
||||
overview_target_tokens = Int; overview_warning_tokens = Int; overview_deadline_tokens = Int;
|
||||
finish_warning_remaining_tokens = Int; final_reserve_tokens = Int;
|
||||
worker_max_turns = Int; summary_target_tokens = Int; summary_max_tokens = Int;
|
||||
auto_read_budget_tokens = Int; result_context_max_tokens = Int; model = Model;
|
||||
# Supported token aliases remain authorable without rewriting recipes.
|
||||
compact_threshold = Int; compact_request_threshold = Int; compact_retained_tokens = Int;
|
||||
compact_worker_max_input_tokens = Int; compact_worker_max_turns = Int; compact_auto_read_budget = Int;
|
||||
};
|
||||
web = {
|
||||
enabled = Bool; allow_private_addresses = Bool;
|
||||
|
||||
Reference in New Issue
Block a user