Repository navigation
refactor(core): move the Inbox thread's pure rules into @plannotator/core - #2224
Merged
Merged
Conversation
…core Slice 1 of the Inbox thread extract. folding.ts, deliveryLine.ts, openQuestions.ts and format.ts move from packages/inbox to core as inbox-folding, inbox-delivery-line, inbox-open-questions and inbox-format (the inbox- prefix keeps the Inbox e2e workflow triggering). Only their import specifiers change (@plannotator/core/x -> ./x, ./format -> ./inbox-format). The old paths are export * shims, so every Inbox import and test runs unedited. Four new core subpaths; no version bump (the owner publishes core by hand).
…-core-move # Conflicts: # docs/agent-guides/inbox-messages.md # packages/inbox/deliveryLine.ts
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.
Slice 1 of the Inbox thread extract (plan record, not in this repo). The Inbox thread's pure rules move into
@plannotator/coreunchanged, so a host of the shared thread parts can use the Inbox's own rules. Plannotator's behaviour does not change.packages/inbox)packages/core, new subpath)folding.tsinbox-folding.ts(@plannotator/core/inbox-folding)deliveryLine.tsinbox-delivery-line.ts(./inbox-delivery-line;inbox-delivery.tsalready exists)openQuestions.tsinbox-open-questions.ts(./inbox-open-questions)format.tsinbox-format.ts(./inbox-format;openQuestionsneeds itsformatCount)@plannotator/core/xbecomes./x, and./formatbecomes./inbox-format.git diff origin/main:packages/inbox/folding.ts :packages/core/inbox-folding.ts(and the same for the other three) shows import lines only. The modules stay browser-safe and import only core.export *shims, so every importer (60+) and every test (folding.test.ts,deliveryLine.test.ts,format.test.ts,openQuestions.test.tsx,rowDelivery.test.ts…) runs unedited.exports.files(**/*.ts) already ships them. No version bump: the owner publishes core by hand.inbox-prefix keepsinbox-e2e.ymltriggering onpackages/core/inbox*.vendor.shneeds nothing. Pi imports none of these modules, and its core vendor list is explicit.packages/ui/HANDOFF.mdgets a new section (marked experimental until Workspaces ships on these subpaths). The guide paths ininbox-messages.md,inbox-window.mdandinbox-compose.mdnow point to the new subpaths.Proof (local, dev builds, sandboxed)
All of this was run on the branch with origin/main 86538b3 (0.28.32) merged in. The merge brought main's reload-hosts change to
deliveryLine.ts(#2213:restartNotefor Pi, Oh My Pi and OpenCode 2). It is carried intopackages/core/inbox-delivery-line.tsunchanged: each of the four core files still differs from main'spackages/inboxoriginal only in its import lines. The guide conflict ininbox-messages.mdtakes main's text, withwaitCountpointing at@plannotator/core/inbox-format.iphone-15-dark/choices-year-later.png, by 12 pixels. All of them are on the single pixel row where the thread's scroller clips a picture tile, a few colour levels apart. That is WebKit raster noise: the same capture differed when main ran against itself, and its DOM matches. A second main-vs-main run was identical (709 and 829, 0 differing).format.ts's yesterday branch is covered by the uneditedformat.test.ts.apps/hook/dist/{index,review,inbox,surface,redline}.html,apps/review/dist/index.html, and the OpenCode and Pi copies.npm pack --dry-runare identical: 306 and 17 files, same sizes, same tarball shasum.bun run typecheck: passes. It covers core's own tsconfig (types: [], so nonode:),packages/inbox,apps/inbox,packages/ui/tsconfig.strict-consumer.jsonand Pi's vendor step.bun test packages/inbox packages/corepluspackages/server/inbox-thread-folding.test.ts: 0 fail.DOM_TESTS=1steps of today'stest.yml, the third with--isolate): 6 pass, 40 pass, then 2937 pass with 1 skip. 0 fail.inbox-reload-hosts,inbox-restartandinbox-send-now, which draw the moved delivery line: 14 passed, 1 skipped.test:e2e:inboxbefore main 0.28.32: 517 passed. Its two timing flakes passed on rerun.Not merged, and no versions bumped.