Skip to content

Release Lopu assistant, Builder, and rich text to main - #668

Merged
lopugit merged 163 commits into
mainfrom
codex/lopu-builder-main-release
Sep 6, 2026
Merged

lopugit merged 163 commits into
mainfrom
codex/lopu-builder-main-release

Conversation

@lopugit

@lopugit lopugit commented Sep 6, 2026

Copy link
Copy Markdown
Owner

✅ Develop S3 preview ready

The alias passed the develop bucket CORS preflight and a final live PR/SHA fence.

Generic Vercel Preview deployments use the shared development runtime; this controller adds the stable exact-SHA alias and marker-scoped cleanup.

Summary

Integrate the user-selected Lopu assistant, component library, Builder suites and live details, and rich-text improvements into main. Includes the Watch release ancestry from #667; this is not a promotion of the entire develop branch.

Sources: #291 at 6c9a243, #578 at e87f9ff, #612 at b169d31, #592 at 2233103, #635 at ddf4658. Preserve main's component expansion limits and account-cache cleanup while combining new Builder scope/action behavior. Both native Watch and Lopu widget targets remain embedded; ActivityKit is excluded from the Watch target.

Integration corrections include safe signed-out Watch approval rendering, bounded nested component action data, Lopu composer mobile sizing, and finite PM2 lifecycle behavior.

Verification

  • Full combined unit suite: 1,934 passed before the final focused UI fixes; follow-up editor 87, Lopu UI 91, and notifications 31 passed.
  • Typecheck ratchet retains the existing 108-error baseline; targeted lint has no errors.
  • iPhone, embedded Watch, Lopu widget and XCTest products build successfully. Tests compiled, not executed on a newly booted phone simulator.
  • Isolated Chrome at 1280px and 390px: Builder catalog filtering and nested preview, signed-out pairing, four-square whole-code clipboard paste with leading zero, Lopu draft composer and settings popover. No page errors or horizontal overflow; top-to-bottom scrolling checked. No provider chat request or real Watch approval performed.
  • Latest rich-text overlay source receipt includes desktop, 390px and 320px interactive checks; integrated editor tests pass. Physical iOS editing menus remain device acceptance.
  • Graph refresh and final exact-SHA hosted checks are in progress. Keep automatic edits and merges paused until release verification completes.

Delivery

The user explicitly authorized these selected features to merge into lopugit/thingtime main. Main merge is pending required checks and exact-SHA deployment verification.

Local: http://localhost:17890 (HMR 17891, Nitro 17892). Tailscale/Funnel unavailable: the installed shim targets a missing Tailscale.app binary; no mapping changed.

Preview: pending the trusted Vercel preview controller; discover and verify its exact-SHA URL before final delivery.

Recording automation remains separate in #665; provider-backed audio acceptance and APNs integration are not claimed complete here.

Exact integration follow-up

Product fix 43d2401 and graph snapshot 89352f9 add safe style-tune initialization without crypto.randomUUID and border-box sizing. Integrated editor tests: 88 passed; Chrome 1280/390/320px initializes 16 fields and verifies Changes close/open and selection undo without page errors or horizontal overflow. The graph is structurally and semantically refreshed.

GitGuardian reports two historical generic-password occurrences in the combined ancestry: verify-app-suites.mjs at 93e2fff (old synthetic registration fixture, current implementation uses throwawayCredential()), and PasskeysManager.tsx at 6a4b330 (password-variable guard). No scanner disposition or credential/history rewrite was performed; the findings are not claimed resolved. Main release still awaits all required checks and exact-SHA preview.

Main release receipt (2026-09-06)

Merged to main at 2f94edb after all four required checks passed for 89352f9. Exact-SHA preview dpl_9Zmpa9y7p7K9iZPKmiUEgExiUHXL is READY and its Nitro/storage health is ready. Vercel Security Checkpoint prevented browser rendering on that preview; the integrated local browser checks are recorded above. Production deployment is being verified separately.

lopugit and others added 30 commits August 17, 2026 19:33
…ponent catalog

- Drawer: Schemas moves out of Search into its own top-level item; new
  top-level Components item (🧩, /components).
- New first-class `component` thing kind: registry schema + sanitizer
  (arg descriptors, savedArgs snapshots, render template reusing the schema
  render gate), reserved `component-` shareId prefix, projection pin.
- /components (ComponentsBrowsePage): live template rendering through the
  sanitising allowlist renderers, per-card args tester (ttArg/ttMap/ttIf/
  ttMerge/ttRepeat DSL resolved client-side), hidden Schema expander, react/
  save decoration, and "Save version" → user-owned component thing.
- API: GET /api/v1/components/browse (newest/oldest/popular/q + lib/category
  filters, cursor pagination) and admin POST/GET /api/v1/admin/components/seed
  (idempotent, self-healing system seed; fail-closed rate limit), registered
  in route file + import map + apiEndpointDocs.
- components-db/: 1000-component folder database (25 archetypes × 8 libraries
  × 5 variants — Ant Design, Bootstrap, MUI, shadcn/ui, Untitled UI, daisyUI,
  React Flow, Thingtime), deterministic generator + validator + API seeder
  under scripts/components-db/.
- Kind renderer for component things; verify-components.mjs (23 checks);
  FUNDAMENTALS §3 + TESTING.md + README + CHANGELOG updates.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mmand (+120 → 1120)

Catalog grows past the initial 1000: 3 new archetypes × 8 libraries × 5
variants, layered calc-clip star ratings, terminal/diff/kbd code blocks,
and command-palette/search surfaces. Loop runbook in
scripts/components-db/README.md; tranche accounting in catalog.mjs.
Seeded: census 1120.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… (+120 → 1240)

Messaging bubbles/threads/composer/typing/contact rows, audio/video/mini
player chrome with playlist + volume clusters, and calendar/date-input/
time-picker/range/countdown temporals. Seeded: census 1240.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…a-viz (+120 → 1360)

Product cards/cart/checkout/promo/payment rows, profile headers/user
cards/follower rows/achievements/stat bands, and svg mini-charts (bar,
line, donut, gauge, heatmap). Seeded: census 1360.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…dow-chrome (+120 → 1480)

File rows/folder grids/upload zones/storage meters/toolbars, welcome/
tour/checklist/progress/invite onboarding surfaces, and browser/phone/
window/tab-strip/dock app-frame mockups. Seeded: census 1480.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, designs click-through

Owner feedback: library renditions read as duplicates. Every component now
carries crystal.familyKey; /components groups one card per family with a
designs pill row (server group=family aggregation, client collapse for
q-search, family= roster fetch); cards' Docs buttons open the new
/components/:key + /components/:key/docs detail pages (design switcher,
args tester, deep links, API snippet, definition). Self-healing reseed
stamped familyKey across the catalog; tranche-2 batch 5 (kanban,
forms-advanced, gamification) rode along — census 1600.
verify-components.mjs now 30 checks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…0 → 1720)

Settings rows/sections/danger-zones/API-keys/notification matrices, mail
inbox/thread/compose/sidebar/attachment surfaces, and calendar-app views
(events, agendas, week grids, availability, booking). Seeded: census 1720.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…i (+120 → 1840)

Location/route/weather/itinerary/pin-cluster travel cards, balance/
transaction/transfer/credit-card/spending finance surfaces, and doc-site
headers/TOCs/callouts/references/version pickers. Seeded: census 1840.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ocial-feed (+120 → 1960)

Activity rings/workouts/sleep/nutrition/heart-rate cards, device tiles/
thermostat dials/light dimmers/camera feeds/energy meters, and feed posts/
stories/polls/share sheets/comment threads. Seeded: census 1960.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…livery (+120 → 2080)

Commit diff-stats/CI pipelines/log viewers/env vars/PR cards, course
cards/curricula/quizzes/certificates/learning paths, and menu items/
order trackers/reservations/reviews/courier cards. Seeded: census 2080.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ts, support-help (+120 → 2200)

Price cards/candles/portfolios/swaps/order books, event cards/ticket
stubs/seat maps/lineups/on-sale banners, and support tickets/FAQs/chat
launchers/status banners/CSAT prompts. Seeded: census 2200.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…i-assistant (+120 → 2320)

Masonry/lightbox/album/editor/filmstrip photo surfaces, job cards/
applicant rows/interview slots/offers/hiring funnels, and AI prompt
bars/response cards/model pickers/usage meters/agent status. Batch
survived a mid-flight session-limit pause (2 modules recovered intact,
1 re-authored). Seeded: census 2320.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ab, news-reading (+120 → 2440)

Listing cards/spec sheets/mortgage calcs/agent cards/tour schedulers,
multiplayer cursors/sticky notes/canvas toolbars/comment pins/zoom
clusters, and headline stacks/article cards/reader controls/newsletter
blocks/live blogs. Seeded: census 2440.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…oductivity-notes (+120 → 2560)

Vehicle cards/EV batteries/trip computers/parking/service reminders,
show posters/continue-watching/episode lists/audio-subs/watch parties,
and notes/todos/pomodoro rings/habit trackers/snippet cards.
Seeded: census 2560.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mmunity, form-flows (+120 → 2680)

2FA setup/vault rows/permission dialogs/audit logs/VPN cards, donation
pickers/fundraiser progress/volunteer shifts/impact bands/sponsor tiers,
and wizard shells/review summaries/conditional reveals/signature pads/
two-column sections. Seeded: census 2680.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…batch 15 (→ 2800)

- Seed stamps a provenance tag first on every catalog component so the
  per-definition tags can never squeeze it out; hand-built seed envelopes
  keep the display casing verbatim.
- Cards and detail pages surface thing-level tags, attribution chip first
  (filled + sparkle) ahead of topical tags.
- Batch 15 lands with it: logistics, sports-scores, accessibility (+120).
  The thingtime standings variant was over the 580-node render cap; cells
  now inherit fontSize/color/textAlign from their row instead of repeating
  them 30×.
- Reseed: 2680 refreshed + 120 created = 2800/2800 tagged, 0 untagged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…olved conflicts)

Conflicted paths: remix/CHANGELOG.md

Resolved by the resolve-pr-conflicts workflow: https://github.com/lopugit/thingtime/actions/runs/32104780935

Co-Authored-By: Claude <noreply@anthropic.com>
…olved conflicts)

Conflicted paths: FUNDAMENTALS.md, remix/CHANGELOG.md

Resolved by the resolve-pr-conflicts workflow: https://github.com/lopugit/thingtime/actions/runs/32442647472

Co-Authored-By: Claude <noreply@anthropic.com>
…olved conflicts)

Conflicted paths: remix/app/routes.tsx

Resolved by the resolve-pr-conflicts workflow: https://github.com/lopugit/thingtime/actions/runs/33160215788

Lopu-Conflict-Resolution: run=33160215788 pr=291

Co-Authored-By: Lopu <github-actions[bot]@users.noreply.github.com>
…olved conflicts)

Conflicted paths: deprecated/api/src/index.js, raycast/src/commands/regexToReplacementConverter.tsx, remix/package.json

Resolved by the resolve-pr-conflicts workflow: https://github.com/lopugit/thingtime/actions/runs/33231141951

Lopu-Conflict-Resolution: run=33231141951 pr=291

Co-Authored-By: Lopu <github-actions[bot]@users.noreply.github.com>
Structural `graphify update` completed (graphify 0.9.4); LLM semantic extraction failed, so the verified structural graph was preserved.

Refreshed by the resolve-pr-conflicts workflow: https://github.com/lopugit/thingtime/actions/runs/33231141951

Lopu-Conflict-Resolution: run=33231141951 pr=291
…olved conflicts)

Conflicted paths: README.md, deprecated/api/src/index.js, raycast/src/commands/regexToReplacementConverter.tsx, remix/package.json

Resolved by the resolve-pr-conflicts workflow: https://github.com/lopugit/thingtime/actions/runs/33264184417

Lopu-Conflict-Resolution: run=33264184417 pr=291

Co-Authored-By: Lopu <github-actions[bot]@users.noreply.github.com>
Structural `graphify update` completed (graphify 0.9.4); LLM semantic extraction failed, so the verified structural graph was preserved.

Refreshed by the resolve-pr-conflicts workflow: https://github.com/lopugit/thingtime/actions/runs/33264184417

Lopu-Conflict-Resolution: run=33264184417 pr=291
…olved conflicts)

Conflicted paths: FUNDAMENTALS.md, README.md, TESTING.md, remix/CHANGELOG.md, remix/app/api/utils/components/browse.ts, remix/app/api/utils/components/seed.ts, remix/app/api/utils/rateLimit/config.ts, remix/app/api/utils/things/things.ts, remix/app/components/ComponentsLibrary/componentTemplate.test.ts, remix/app/components/ComponentsLibrary/componentTemplate.ts, remix/app/components/Kinds/kindRenderers.tsx, remix/app/components/Nav/Drawer/drawerMenu.tsx, remix/app/docs/apiDocs.ts, remix/app/hooks/useApi.tsx, remix/app/routes.tsx, remix/app/schemas/builtinSchemaProjection.test.ts, remix/app/schemas/registry.ts, remix/package.json, remix/server/routes/api/[...].ts

Resolved by the resolve-pr-conflicts workflow: https://github.com/lopugit/thingtime/actions/runs/33310978476

Lopu-Conflict-Resolution: run=33310978476 pr=291

Co-Authored-By: Lopu <github-actions[bot]@users.noreply.github.com>
@lopugit lopugit added the preview: develop building tt-preview-state:v1:develop:building label Sep 6, 2026
@gitguardian

gitguardian Bot commented Sep 6, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 2 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
36831149 Triggered Generic Password 93e2fff remix/scripts/verify-app-suites.mjs View secret
36961236 Triggered Generic Password 6a4b330 remix/app/components/Settings/PasskeysManager.tsx View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@lopugit
lopugit temporarily deployed to develop-pr-668 September 6, 2026 03:00 Destroyed
@lopugit lopugit added last preview built 06/09 13:12 AEST #668 tt-pv1:668:develop:89352f940173bf1a4a19ec826d52ec12b0262ad0:1788664362347 preview: develop ready tt-preview-state:v1:develop:ready and removed preview: develop building tt-preview-state:v1:develop:building labels Sep 6, 2026
@lopugit lopugit added preview: develop building tt-preview-state:v1:develop:building and removed preview: develop ready tt-preview-state:v1:develop:ready labels Sep 6, 2026
@github-actions github-actions Bot added lopu: conflicting GitHub reports merge conflicts for the current PR snapshot lopu: overlapping files This PR changes files also changed by another open PR lopu: mergeable The PR branches can currently be merged without conflicts labels Sep 6, 2026
@github-actions github-actions Bot removed lopu: conflicting GitHub reports merge conflicts for the current PR snapshot lopu: overlapping files This PR changes files also changed by another open PR labels Sep 6, 2026
@lopugit
lopugit temporarily deployed to develop-pr-668 September 6, 2026 03:12 Destroyed
@lopugit lopugit added preview: develop ready tt-preview-state:v1:develop:ready and removed preview: develop building tt-preview-state:v1:develop:building labels Sep 6, 2026
@lopugit
lopugit merged commit 2f94edb into main Sep 6, 2026
111 of 136 checks passed
@lopugit lopugit added preview: develop removed tt-preview-state:v1:develop:removed and removed ai-merge-paused AI merge-conflict resolution failed; manual retry required no-lopu-review Pause automatic Lopu review edits while an owner-controlled merge or review is in progress preview: develop ready tt-preview-state:v1:develop:ready labels Sep 6, 2026
@github-actions github-actions Bot mentioned this pull request Sep 6, 2026

This branch was successfully deployed

No deployments
develop-pr-668 89352f94 Deployed Sep 6, 2026 by lopugit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

last preview built 06/09 13:12 AEST #668 tt-pv1:668:develop:89352f940173bf1a4a19ec826d52ec12b0262ad0:1788664362347 lopu: mergeable The PR branches can currently be merged without conflicts preview: develop removed tt-preview-state:v1:develop:removed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant