You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Parked mid-integration on 2026-05-12. Owner: @marksverdhei to schedule completion.
The mechanical CI restoration (auth + master reset) is complete or in progress separately. This issue tracks the full rebase of ht onto current upstream/master which is a multi-hour subsystem migration, not a routine sync.
The daily cron, once authentication is restored, will rebase-fail and the workflow's existing-issue check should route its automatic comments here rather than create duplicates.
State of the world at park time
origin/master ✓ reset to upstream/master (89730c8), backup tag master-pre-reset-20260512-155945 → old polluted state (5fc05ff) on origin for rollback
origin/ht ✓ untouched at 5be5481f9 (the titan-deployed working state), backup tag ht-pre-rebase-20260512 → same SHA
Local merge work staged in worktree /tmp/ht-rebase-preview branch ht-merged (ephemeral — see Archival below)
All 49 merge conflicts resolved with feature-preservation audit passing
The completed merge attempt verified all 10 subsystems at exact parity (sometimes higher counts because upstream-touched files were already merged). Audit gate one-liner is on the parked patch.
Discoveries to carry forward (do not re-derive)
Soft-reset squash is wrong for this fork. Tree-identity preserves HT but erases upstream's 163 commits worth of improvements over the ~632 upstream-only-touched files. Confirmed by directional analysis. Use merge + linearize instead.
git rerere is unsafe on long-lived divergence. Cached resolutions from prior exploratory merges (May 3) silently dropped the LoRA dedupe block in tools/server/server-models.cpp during a fresh merge of origin/ht. Caught by spot-check, not by tooling. Standing rule: rerere.enabled = false on this fork; archived cache at .git/rr-cache.bak.20260512 if forensic review is wanted.
favicon.ts is a DU file: upstream's e3e3f8e46 "Remove Google Favicons" deletes it; tools/server/webui/src/lib/services/mcp.svelte.ts still imports getFaviconUrl from it. Restored from origin/ht during conflict resolution.
Settings registry is NOT a simple unification. Upstream introduced a complete new settings-registry.ts with SETTINGS_SECTION_TITLES (8 entries), SETTINGS_SECTION_SLUGS, section data structures, and field bindings. HT's settings-sections.ts (12 entries) is the data that needs migrating into upstream's structure — Cat 3 pattern, not Cat 2. ~2-4h of focused work on its own.
Context/component renames change shape, not just name.getChatSettingsDialogContext → getChatSettingsConfigContext is a structural change; calling code that did .open() on the old context fails on the new one. Each rename site needs adaptation, not just renaming.
DU-files-took-ht-side strategy means probable build-time import errors. Expected during merge resolution; address in the integration phase, not the merge phase.
Resolution categories from the 49-file conflict surface
Generated artifacts (4): tools/server/public/{bundle.css,bundle.js,index.html}, tools/server/webui/package-lock.json — take ht, regenerate at end via npm install + npm run build.
GGML (1): ggml/src/ggml-cpu/arch-fallback.h — take upstream.
READMEs (3): tools/{cli,completion,server}/README.md — take upstream, regenerate via llama-gen-docs post-merge. Validation gate: confirm CLI parser still understands HT-specific values (e.g. tbq3_0, tbq4_0) before regenerating; otherwise doc regen consolidates a silent revert.
DU files (11): upstream-deleted, ht still uses — take ht, expect import errors to fix later.
UA files (6): ht-only additions — take ht.
Both-touched conflict resolutions (24+): per-file domain judgment. Heaviest in tools/server/webui/src/lib/** (Svelte sources for Spring Cleaning Refactor conflicts). The full per-file resolution log is in the patch archive (see Archival).
Realistic estimate to completion
8-15h focused integration work on top of the resolved merge:
Settings registry unification (port HT's 4 extra sections into upstream's pattern): 3-5h
Context/component rename adjustments (shape-change, not just rename): 1-2h
npm run build + smoke test on Tauri shell + titan regression: 1-2h
Audit gate re-verification: 30min
Linearize via read-tree + push to origin/ht: 30min
Original "get CI working" estimate was 1h. Actual rebase scope was systematically underestimated; this issue captures the truth so the next attempt budgets correctly.
Archival
Work-in-progress patch saved to ~/ht/forks/parked-work/llamacpp-merge-wip*.patch (host-local).
If Markus authorizes a --no-verify archeology branch push for forensic preservation: branch will be named archeology/ht-merge-wip-20260512 on origin. Otherwise the local patch is the canonical artifact.
Resume protocol
Restore the merge state: cd <ht-llama.cpp> && git checkout upstream/master -B ht-merged && git apply ~/ht/forks/parked-work/llamacpp-merge-wip*.patch
Run the audit baseline grep on ht-merged HEAD — confirm parity vs origin/ht for all 10 subsystems before continuing.
Tackle integration in this order: settings registry → context renames → route paths → implicit-any tail.
After all 148 errors clear: npm run build, smoke, titan regression.
Status
Parked mid-integration on 2026-05-12. Owner: @marksverdhei to schedule completion.
The mechanical CI restoration (auth + master reset) is complete or in progress separately. This issue tracks the full rebase of
htonto currentupstream/masterwhich is a multi-hour subsystem migration, not a routine sync.The daily cron, once authentication is restored, will rebase-fail and the workflow's existing-issue check should route its automatic comments here rather than create duplicates.
State of the world at park time
origin/master✓ reset toupstream/master(89730c8), backup tagmaster-pre-reset-20260512-155945→ old polluted state (5fc05ff) on origin for rollbackorigin/ht✓ untouched at5be5481f9(the titan-deployed working state), backup taght-pre-rebase-20260512→ same SHA/tmp/ht-rebase-previewbranchht-merged(ephemeral — see Archival below)npm run check) blocks the commit with 148 TypeScript errors — structural integration drift from upstream's Spring Cleaning Refactor (webui: Spring Cleaning Refactor v1 ggml-org/llama.cpp#22505)Feature-preservation audit baseline
Recorded so the next attempt can verify no silent feature drops:
common_lora_adapter_info|name_meta|version_meta|discovered_adapters|get_discovered_adapters|gguf_is_lora_adapter|lora-init-without-applytbq3_0|tbq4_0|TBQ3_0|TBQ4_0|TURBOQ|GGML_TYPE_TBQ|ggml-turboqChatMessageSystem|ChatMessageTool|showSystemMessage|alwaysShowAgenticTurns|showToolMessagesAsStandalone|MessageRole\.TOOLcompose_collage|search_images|search_news|fetch_url|fetch_image|web_searchsandbox-terminal|send_keys|WS reconnect|TerminalSession|termdComfyUI|/v1/images|image-artifact|markdown-image|wrap-images-as-artifactswebkit2gtk|WEBKIT_DISABLE_DMABUF_RENDERER|software video decode|tauri\.allowlistht-llama\.cpp|TurquoiseHue|PurplePalette|ht-fork|HeiervangAiCommandsEditor|NextcloudConnectionPanel|ThemeHuePicker|TtsRefAudioPicker/lora-adapters|/cors-proxy|/comfyui-proxyThe completed merge attempt verified all 10 subsystems at exact parity (sometimes higher counts because upstream-touched files were already merged). Audit gate one-liner is on the parked patch.
Discoveries to carry forward (do not re-derive)
git rerereis unsafe on long-lived divergence. Cached resolutions from prior exploratory merges (May 3) silently dropped the LoRA dedupe block intools/server/server-models.cppduring a fresh merge oforigin/ht. Caught by spot-check, not by tooling. Standing rule:rerere.enabled = falseon this fork; archived cache at.git/rr-cache.bak.20260512if forensic review is wanted.favicon.tsis a DU file: upstream'se3e3f8e46 "Remove Google Favicons"deletes it;tools/server/webui/src/lib/services/mcp.svelte.tsstill importsgetFaviconUrlfrom it. Restored from origin/ht during conflict resolution.settings-registry.tswithSETTINGS_SECTION_TITLES(8 entries),SETTINGS_SECTION_SLUGS, section data structures, and field bindings. HT'ssettings-sections.ts(12 entries) is the data that needs migrating into upstream's structure — Cat 3 pattern, not Cat 2. ~2-4h of focused work on its own.getChatSettingsDialogContext→getChatSettingsConfigContextis a structural change; calling code that did.open()on the old context fails on the new one. Each rename site needs adaptation, not just renaming.Resolution categories from the 49-file conflict surface
Generated artifacts (4):
tools/server/public/{bundle.css,bundle.js,index.html},tools/server/webui/package-lock.json— take ht, regenerate at end vianpm install+npm run build.GGML (1):
ggml/src/ggml-cpu/arch-fallback.h— take upstream.READMEs (3):
tools/{cli,completion,server}/README.md— take upstream, regenerate viallama-gen-docspost-merge. Validation gate: confirm CLI parser still understands HT-specific values (e.g.tbq3_0,tbq4_0) before regenerating; otherwise doc regen consolidates a silent revert.DU files (11): upstream-deleted, ht still uses — take ht, expect import errors to fix later.
UA files (6): ht-only additions — take ht.
Both-touched conflict resolutions (24+): per-file domain judgment. Heaviest in
tools/server/webui/src/lib/**(Svelte sources for Spring Cleaning Refactor conflicts). The full per-file resolution log is in the patch archive (see Archival).Realistic estimate to completion
8-15h focused integration work on top of the resolved merge:
/chat/[id]→/(chat)/chat/[id]): 30minnpm run build+ smoke test on Tauri shell + titan regression: 1-2hread-tree+ push to origin/ht: 30minOriginal "get CI working" estimate was 1h. Actual rebase scope was systematically underestimated; this issue captures the truth so the next attempt budgets correctly.
Archival
Work-in-progress patch saved to
~/ht/forks/parked-work/llamacpp-merge-wip*.patch(host-local).If Markus authorizes a
--no-verifyarcheology branch push for forensic preservation: branch will be namedarcheology/ht-merge-wip-20260512on origin. Otherwise the local patch is the canonical artifact.Resume protocol
cd <ht-llama.cpp> && git checkout upstream/master -B ht-merged && git apply ~/ht/forks/parked-work/llamacpp-merge-wip*.patchht-mergedHEAD — confirm parity vs origin/ht for all 10 subsystems before continuing.npm run build, smoke, titan regression.git checkout -b ht-linear upstream/master; git checkout ht-merged -- .; git commit -m "...".Related