fix: preserve string and table Profile scope authoring (T-710)
Resolve MR sequence 5 profile_authoring_rejects_valid_string_scope_intents. Decodal 0.4 has no union constraint: retain an opaque scope range with non-materialized table completion hints so string intents remain valid. Keep shared Backend semantic validation authoritative for scope forms/types/unknown keys without changing persisted values or weakening worker/feature editor diagnostics.
Prove actual-provider native/WASM scalar/table, inline/import/patch, nested intent/deny_write/symlink_policy completion and evaluation invariance. Add real save/projection/Runtime scope equivalence and invalid-scope save non-loss coverage. Regenerated WASM artifact is byte-identical; the changed shape is transported via the fingerprint-bound Backend schema metadata.
Validation: root cargo check; config-source39; value_profiles4; unfiltered server643+11; worker-runtime340+17+17; server-api --features typescript77; wasm32 release/wasm-bindgen0.2.117/Binaryen132 -Oz; Deno39; deno task check0/0; fmt/diff checks. Logs target/t710-scope-{check,server,server-api,runtime}.log. No target/ref integration changes.
This commit is contained in:
@@ -12,7 +12,11 @@ let
|
||||
enabled = Bool; model = Model; reasoning = String;
|
||||
threshold = Int; worker_max_turns = Int;
|
||||
};
|
||||
Scope = { intent = String; deny_write = [...String]; symlink_policy = String; };
|
||||
# Profile scope accepts either a string intent or a table. Decodal 0.4 has
|
||||
# no union range; keep this field opaque to constraint analysis and expose
|
||||
# the table only as a completion hint. This shape is never materialized;
|
||||
# actual scope forms, intent values and table fields are checked on save.
|
||||
Scope = Unknown default { intent = String; deny_write = [...String]; symlink_policy = String; };
|
||||
Profile = {
|
||||
slug = String;
|
||||
description = String;
|
||||
|
||||
Reference in New Issue
Block a user