M2 slice (b): app-bundle — the complete app-graph overlay + the machine-derived M3 port inventory - #487
Merged
Conversation
…ort inventory machine-derived M2 slice (b) of #451, with an honest scope correction discovered by the build proof: the planned additive-only scope (app+session-ui A-files) does NOT typecheck. ~10 additive files depend on symbol-level additions in modified files (settings.developer, tabs.openPath, model.pin, QuestionInfo.kind — the typed question cards spanning schema/core/sdk), and the debug-bar deletion forces layout.tsx into the overlay (base layout imports the deleted module). The fork delta is a cross-cutting FEATURE delta, not an app-layer delta. Corrected scope: the complete fork-vs-base delta of the app's build graph (packages/{app,ui,session-ui,schema,core,sdk}) — 422 files + 1 deletion, per-package: app 94A/105M/1D, ui 142A/22M, session-ui 8A/16M, schema 2A/5M, core 3A/23M, sdk 0A/2M. The correction yields the M2/M3 hinge artifact: manifest.json now carries the machine-derived M3 CUTOVER PORT INVENTORY — the 35 server-coupled files (schema/core/sdk) whose types/runtime the canonical server will NOT have. Every app feature touching them is a cutover decision (port upstream / extension service / drop). The true overlays ride wholesale (correct for one-push cutover); compose-vs-fork decomposition is recorded as post-cutover maintenance (manifest.true_overlays). Tooling: symlink-aware extraction round-trip + materialization (the amico.svg → ui-asset symlink), archive batching for the larger file set. Proofs (all green): bun install (4,695 pkgs) → schema + session-ui typechecks → ui tsc build → app tsgo -b typecheck → app VITE PRODUCTION BUILD (14.3s, 1,587 assets, Amicode surfaces verified in the emitted bundle) → 103/103 session-ui unit tests on the materialized tree.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (6)
📒 Files selected for processing (256)
📝 WalkthroughWalkthroughThis PR replaces the previous UI-only overlay with a complete cross-package app-graph delta spanning app, session-ui, schema, core, and SDK packages. It rewrites the Amicode application shell, contexts, and components under a chat-first layout, adds core session/permission/tool services, updates schemas, adds a session-ui package, and updates overlay extraction/materialization tooling and manifests. ChangesComplete App-Graph Overlay
Estimated code review effort: 5 (Critical) | ~180 minutes ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
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.
Part of #451 (M2 slice (b); not closing).
The scope correction (the finding that drove this slice)
The planned additive-only scope — app + session-ui A-files — does not typecheck, and the failure is informative: ~10 additive app files depend on symbol-level additions in modified files (
settings.developer,tabs.openPath,model.pin,QuestionInfo.kind— the typed question cards spanning schema/core/sdk), and the fork's debug-bar deletion forceslayout.tsxinto the overlay (base layout imports the deleted module). The fork delta is a cross-cutting feature delta, not an app-layer delta.Corrected scope: the complete fork-vs-base delta of the app's build graph —
packages/{app,ui,session-ui,schema,core,sdk}— 422 files + 1 deletion.The M2/M3 hinge artifact
manifest.jsonnow carries the machine-derived M3 CUTOVER PORT INVENTORY: the 35 server-coupled files (schema/core/sdk) whose types or runtime the canonical server will NOT have. At cutover the bundle hits exactly these gaps — each is a port-upstream / extension-service / drop decision. Recorded, not resolved. The true overlays (home.tsx & co.) ride wholesale — correct for the one-push cutover — with compose-vs-fork decomposition recorded as post-cutover maintenance (manifest.true_overlaysis the worklist).Proofs (all green)
app/public/amico.svgis a symlink).bun install(4,695 pkgs) →schematypecheck →session-uitypecheck →uitsc build →apptsgo -btypecheck →appvite production build (14.3s, 1,587 assets, Amicode surfaces verified in the emitted bundle) → 103/103 session-ui unit tests on the materialized tree.Remaining M2
The bundle's CI pin (drift detection against canonical releases) and the consumer flip (deck panes → service origin, CSP/
?auth_token=wiring). M3 remains gated on those + the port-inventory decisions.Summary by CodeRabbit