Repository navigation
config: one effective configuration in both processes, one digest on every event - #469
Merged
Merged
Conversation
…action policies with one digest TildeProductProfile now names only the build; behaviour lives in GeneratorProfile, DecisionPolicy, and InteractionPolicy, assembled by the app into TildeEffectiveConfiguration with a canonical-JSON SHA-256. The app stamps the digest and the interaction policy on every response line; the keyboard adopts the served interaction policy instead of its bundle's; every outcome event carries the digest into the Lab. The enum's behaviour properties delegate to the presets, so production is unchanged by construction and every existing pin passes untouched. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Step 3 of the ruler work: the settings split-brain.
TildeProductProfilekeeps only build identity.GeneratorProfile,DecisionPolicy,InteractionPolicyhold behaviour, with.conservativeand.tuned9Bpresets;TildeEffectiveConfigurationassembles them and exposesdigestSHA256(canonical JSON).ProfileSceneOptionsTests,TildeProductProfileTests, the display-filter and H01 pins pass unchanged. Production with Qwen stays: tuned generation and decision, conservative interaction, now stated explicitly.configurationDigestandinteractionon every response line (partials included); the keyboard adopts the served interaction policy (ServedConfiguration) instead of reading its own bundle. The app's wire check for punctuation boundaries reads the served policy too.TextFreeOnlineEvent.configurationDigestSHA256, through the Lab allowlist, event, and bridge, so a report can slice by exact behaviour. Three built-in digests: production+Gemma, production+Qwen, 9B preview.Docs: sixth rule in
docs/tilde-lab.md,next-on-device.md, lab log.Test plan
TildeConfigurationTests: production pinned, tuned stack pinned, three distinct deterministic digests, keyboard adoption, stamp composition./script/proof.sh fastgreen🤖 Generated with Claude Code