Skip to content

Re-base the app-bundle overlay onto canonical opencode v1.18.29 (#796) - #797

Merged
aarontrowbridge merged 2 commits into
mainfrom
796-rebase-app-bundle-overlay-v1.18.29
Sep 5, 2026
Merged

aarontrowbridge merged 2 commits into
mainfrom
796-rebase-app-bundle-overlay-v1.18.29

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

Closes #796.

What lands

  • Overlay re-based from canonical v1.18.12 → v1.18.29 (19 upstream releases): materialized fresh, manifest carries the tag ref + archive sha (verified byte-stable across fetches; release-asset digest ea800b7f… anchors the Phase-0 binary lineage).
  • Drift-report tooling (drift_report.mjs + committed drift-report.json, re-runnable): 298 added / 278 modified / 0 unchanged of 576 overlay files; 7 deletions active, 0 stale. The drift gate's fork-extraction equality checks are retired — post-re-base the overlay is maintained against upstream, not extracted from the fork.
  • Mechanical repairs in 5 clusters: the marked-stack split (incl. carrying marked-code-span.ts — a fork file the old overlay never shipped), the desktop-native i18n rewrite (46 locales) with the L1 payload re-applied, i18n dict merges across en + 17 overlay locales, the desktop-native branding surface, and the server-session/session-cache rewrite adoption with the fork-side diff_version guard.
  • Boot proof PASS against the stock v1.18.29 binary (auth gate, origin doc, assets, SSE — through both the direct server and the static+proxy front).

Honest residuals

  • Branding localization: Amicode-branded strings carry in en only; 17 locales hold upstream copy (pre-existing L1 state, recorded follow-up).
  • Upstream's i18n parity test demands Amicode keys in 28 extra locales — structurally incompatible with the overlay; the overlaid test scopes to the overlay's 18 locales and documents why.
  • Extension suite: 2164 passed / 4 failed — all 4 verified pre-existing on pristine main via stash (cli_gate, pasqal_python, terminal ×2).
  • Architecture finding for the fork-retirement slice: the stock binary serves only its embedded web UI — there is no app-dir override. The cutover needs an extension-service static+proxy app shelf (the TELAIO_APP_DIR pattern) for the opencode harness; the boot proof's front script is the working prototype.

Phase-0 recon (ledger loop 28a) + full AC evidence in the campaign ledger, loop 28b.

…aintained overlay

- drift_report.mjs: classify every overlay file against the upstream tree at
  a tag (added/modified/unchanged + deletion staleness); regenerable, output
  committed as drift-report.json (#796).
- refresh_manifest.mjs: recompute the manifest from the committed overlay vs
  the upstream base — post-re-base the overlay is maintained against upstream,
  no longer a byte-exact fork extraction.
- drift_gate.mjs: retire the fork-extraction equality checks (invalid after
  the re-base); keep overlay<->manifest sync and add the upstream archive-sha
  verification against the materializer's cache stamp.
#796)

Materialized the app tree at v1.18.29 (archive sha256 8fd2a4e1... verified
against two independent fetches; tag commit 16747470 pinned) and repaired the
mechanical breakage class — all packages typecheck clean, unit tests green
(app 1063/1063, session-ui 155/155, ui 508/508), vite production build
succeeds.

Repairs (overlay payload re-applied on the new upstream reality):
- marked stack: upstream .29 split the monolith (marked-parser/theme/theme-
  register). Retire the overlay's fork-era marked.tsx (its nativeParser path
  was dead); carry the fork's marked-code-span.ts (+test) which the old file
  imported but the overlay never shipped; re-apply the Amicode payload
  (KATEX_MACROS, single-dollar math) on the new marked-parser.tsx.
- language.tsx: adopt upstream's desktop-native i18n rewrite (plural, RTL,
  onNativeTranslations); re-apply the L1 default-locale payload (?? "en").
- desktop-native.ts (new overlay): product-name branding (Amicode) now rides
  the desktop-native label surface upstream's menus consume.
- helpers.ts: adopt upstream's compareSessionTime; keep the Amicode
  recency-window sort + sessionListDirectories (amicode#288).
- v2 prompt-input / image-attachments / windows-app-menu: adopt upstream's
  i18n'd + fileLabel'd versions; re-apply trailingControl (#116) + rounded-sm.
- placeholder.ts: retire the overlay's hardcoded 2-arg version (broke
  upstream's own test); brand via ui/en.ts instead.
- message-part.tsx: migrate to the new AnimatedCountList plural-key API +
  3-arg typeLabel.
- server-session.ts / desktop-menu.ts: adopt upstream wholesale (retired).
- session-cache.ts: guard diff_version eviction (fork-side field absent from
  upstream-shaped stores).
- i18n dicts: merge upstream .29's new keys into en + the 17 overlay locales
  (branded values preserved); overlay upstream's parity test scoped to the
  overlay's dict set (Amicode keys don't exist in upstream's 28 extra locales).

Manifest: upstream_base v1.18.29 @ 16747470, archive sha recorded.
@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 18a7cb1e-2b5d-4fc7-a7c2-e53107679ba0


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@aarontrowbridge
aarontrowbridge merged commit 4ef3191 into main Sep 5, 2026
9 checks passed
@aarontrowbridge
aarontrowbridge deleted the 796-rebase-app-bundle-overlay-v1.18.29 branch September 5, 2026 05:45
@aarontrowbridge
aarontrowbridge restored the 796-rebase-app-bundle-overlay-v1.18.29 branch September 6, 2026 02:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Re-base the app-bundle overlay onto canonical opencode v1.18.29

1 participant