Repository navigation
Conversation
…the stack Toad's settings menu PR replaces ui.compact-input (a flag every prompt part branched on) with the ui.input.box choice and moves ui.prompt_message (declared, never read) to ui.input.placeholder. Settings decoding refuses unknown keys, so a saved file holding either retired key must cross once: compact-input true becomes the Flush layout, false is the default and is dropped, and the message becomes the placeholder. formbridge now owns the declared-field semantics Toad's forms read, so the stack overrides it to main like the other OpenHCSDev packages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RnH6dR85kyFKcc2tQAJLhK
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XbFMSoWgC3ZwKzjT4SwMDu
|
debt-src at 010ce48, every finding: |
|
debt-tools at 010ce48, every finding: |
…#1304, 35770a0c2) batrachian-toad 35770a0c, formbridge b67c97e5; the carry's toad.preferences InputSettings and toad.setting_choices FlushInputBox now resolve, and every cutover module imports against this lock. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XbFMSoWgC3ZwKzjT4SwMDu
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
|
Closing after the requested live-reader check (claude-ai, #comms53577). The actual running Toad frontend uses /home/ts/.config/toad/toad.json; installed SavedSettings.path declares that path through XDG config. Read-only inspection found neither ui.compact-input nor ui.prompt_message (and neither literal dotted top-level spelling). File was stable across the read: 3092 bytes, SHA256 830e32d711ee64b5d2eaf52f6d091cbc22a17c286929820e8355ae4951a4a9dd. The current frontend incarnation was checked before/after; settings and process were unchanged. This exact head only adds that retired-input carry plus an old stack lock refresh. No actual live preference needs the carry, so no migration, backup or carry execution is justified. Original branch/commits are retained; no application or carry success is claimed. Evidence: pi-publication-carry/shared-board/3568-live-preference-presence.json. |
Pull request was closed
Summary
2 files, +97/-9 against current fetched main. Correction 64512ff deletes 23 lines and adds 8 in the carry. Continue the original carry and PR; no rewritten history, duplicate PR, runtime fallback or compatibility reader.
The original accidental main change (1e5b565) was reverted by #3567. This is its reviewed publication path. The Toad prerequisite #1304 is merged; the former draft hold no longer applies.
Structure and behavior
Before: saved
ui.compact-inputandui.prompt_messageare unknown to the new strict Toad settings decoder.After:
ToadInputSettings(ToadSettingsCarry)implements onlyrewrite(document) -> int. The existing parent at carry_toad_key_mode.py:29 owns SavedSettings confinement/read, rewriting every settings family member before validation, atomic write and reporting. Removed this child's opened_files/writer_owned/carry and imports. It decodes only its retired fields at the carry boundary, deriving current field names and box serialization through FieldCodec and Toad declarations. IMPL-12 was present in the earlier head: I copied the owner instead of inheriting it (paper1 Theorems 4.6/4.7).ui.inputfail explicitly with RelationViolationError rather than guessing precedence.Integration
/home/ts/.local/state/agent-comms/upgrade-bus/uv lock --project stack --upgradesuccessfully. Plainuvwas absent from PATH (exit127); the declared installer executable succeeded.Latest correction and proof
Head 64512ff follows the conflict-free main refresh and deletes the copied settings lifecycle. NRA parser inventory covered 955 modules across Core src/tools and installed Toad production: no parse failures; dynamic resolution remains outside this syntactic evidence. Read the resulting Carry, CarryChain, ToadSettingsCarry, key-mode, arrow-key and SavedSettings sites semantically. Siblings now share one lifecycle; only the input rewrite differs.
Actual CarryChain worker on a selected PracticeCopy:22 declarations, only toad_input_settings unfinished. Two inputs used simultaneous retired
vim-keys: trueplus compact true/false and prompt text. Each dry/apply reported changed=2 (input plus key-mode rewrites); both real WriterOwnedOpeningProbe calls passed; each rerun changed=0. True produced flush layout, false omitted the default layout. Typed decode proved VimNormal and exact placeholder. Conflicting old/current prompt forms raised before write, bytes unchanged. Original live settings hash unchanged. Exit0 inp1041-owner-proof.log. This proof supersedes the earlier copied-lifecycle run below; dependency/install limitations still apply.True before/after:
{"ui":{"compact-input":true,"prompt_message":"Keep this text","vim-keys":true}} {"ui":{"key-mode":"vim_normal","input":{"box":"flush","placeholder":"Keep this text"}}}False before/after:
{"ui":{"compact-input":false,"prompt_message":"Keep this text","vim-keys":true}} {"ui":{"key-mode":"vim_normal","input":{"placeholder":"Keep this text"}}}Earlier proof and setup history
git archive HEADextracted into owned scratch; initialized its index so NativeBuildInputs can enumerate the archived tracked source, then ranNativeBuildInputs(root).require_pinned(root / 'stack/pi-native.sha256'): ARCHIVE_PIN_OK, exit0. The manifest did not need a change. An initial archive check failed because GitLaunch deliberately removes GIT_DIR/GIT_WORK_TREE; that failure did not establish the pin.Used the shared
/home/ts/code/projects/agent-comms/.venv/bin/python, checkoutsrcandtools, and already-installed stack dependencies. No author pytest/full suite/local NRA gate, package installation, or live install.Real CarryChain.at(checkout) discovered 22 ordered declarations. The live root's copied FinishedCarryStore left exactly
toad_input_settingsunfinished. PracticeCopy copied 125 declared files (registry/runtime/finished carries/referenced turns/writer-owned settings), not the full 16GiB bus. Seeded the retired preferences only in the copied writer-owned settings. Actual InstallCommands interpreter worker ran CarryProbe/MigrateOperation, followed by WriterOwnedOpeningProbe using SavedSettings's real decoder.Before:
{"ui":{"compact-input":true,"prompt_message":"Carry this prompt","key-mode":"standard"}}After:
{"ui":{"key-mode":"standard","input":{"box":"flush","placeholder":"Carry this prompt"}}}/home/ts/.cache/agent-scratch/allocation-repair/p1041-carry-proof2.log.Scope of proof: actual carry worker and saved-settings opening on a selected scratch root copy using existing dependencies. Not a fresh install of the newly relocked Toad/Textual revisions, not full installer reconcile/readback, not live/UI acceptance. Those remain integration acceptance debt; the sync prohibition prevented constructing that runtime here.
Assumed
compact-inputandprompt_message(the order'scompact_inputdescribes the field, not its WireName).