flip cross-call diffing to default-on; add --no-diff opt-outs#76
Merged
Conversation
The validation program that kept --diff opt-in is complete — pair fluency (4-model panel 100%), nested-record coverage (#72), and the drift soak (#75: mechanical zero-drift at depth 300, behavioral depth-1..5 PASS on real corpus chains). The default now matches the measured reality. - Policy.diff defaults True; load_policy's doc.get("diff") default flips to match. An explicit policy-file "diff": false is still honored. - proxy: tri-state CLI — --diff forces on (only useful against an opting-out policy file), new --no-diff forces off, neither keeps the policy value. Mutually exclusive, exit 2. multiproxy diff_override becomes Optional[bool] (None = leave each peer's policy alone) so --no-diff is proxy-wide too. - install-mcp: diff param is tri-state — plain wraps write NO diff flag and inherit the proxy default; --diff/--no-diff bake an explicit override into the entry; keyframe-interval no longer requires --diff (but is dropped with --no-diff, where it would be dead weight). - Tests: the two off-by-default pins become on-by-default + policy-false opt-out pins; install-mcp tri-state covered (None drops flags, False bakes --no-diff). 471 pass, ruff clean. - Docs: README tier/Status, TECHNICAL diff bullet (opt-in rationale rewritten as history + the compaction residual keeps --no-diff as escape hatch), USAGE proxy/install-mcp/text-diff sections; also documents the stash hand-edit gotcha found during the #74 rollout. Live smoke: flagless proxy diffs the repeat structure call (117,587 -> 205 chars); --no-diff sends the full form both times.
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.
Why
The validation program that kept
--diffopt-in is complete: pair fluency (4-model panel, 100%), the nested-record surface (#72:structurediff 100% vs full-terse 94%), and the drift soak (#75: mechanical zero-drift at depth 300 with an independent client-side reconstructor; behavioral depth-1..5 PASS on real corpus chains — overall worst gap −2% ±1, depth-5 gap −1% ±2). The default should match the measured reality; the opt-in stance was a validation gate, not a design preference.What
Policy.diffdefaultsTrue;load_policymatches. An explicit policy-file"diff": falseis still honored.--diffforces on (only meaningful against an opting-out policy file), new--no-diffforces off, neither keeps the policy value. Mutually exclusive (exit 2).multiproxy'sdiff_overridebecomesOptional[bool](None= leave each peer's policy alone), so both flags stay proxy-wide including peers with their ownpolicy_path.diff— a plain wrap writes no diff flag (the entry inherits the proxy default);--diff/--no-diffbake an explicit override into the entry;--diff-keyframe-intervalno longer requires--diff(and is dropped with--no-diff, where it would be dead weight). Flags still always reflect the latest install invocation.--no-diffas the escape hatch); USAGE proxy/install-mcp/text-diff sections, incl. the stash hand-edit gotcha found during the install-mcp: opt-in --diff wiring; docs: diff fluency is now validated #74 rollout.Verification
ruffclean. The two off-by-default pins became on-by-default +"diff": falseopt-out pins (JSON and CDC-text paths); install-mcp tri-state covered (Nonedrops flags,Falsebakes--no-diff).structurecall (117,587 → 205 chars);--no-diffsends the full form both times.