Skip to content

sync(common-v8): AppOwner/docs/logging wave + governance merge#47

Merged
miccy merged 13 commits intomainfrom
sync/common-v8-2026-02-23-wave3
Feb 23, 2026
Merged

sync(common-v8): AppOwner/docs/logging wave + governance merge#47
miccy merged 13 commits intomainfrom
sync/common-v8-2026-02-23-wave3

Conversation

@miccy
Copy link
Copy Markdown
Contributor

@miccy miccy commented Feb 23, 2026

Summary

  • rebased sync lane on 5db1e07 (safeInt wave)
  • merged feat/codeowners-team-alignment into this sync branch
  • merged latest upstream/common-v8 commits:
    • e6b0a6e Clarify AppOwner privacy and unnull mnemonic
    • 49eda0d Revive minimal example
    • bf156ee Improve logging in Db worker
    • 23c5750 Add debug logs and re-scope postMessage
    • bf48e6a Fix indentation of PRAGMA SQL block

Conflict resolution

  • kept deletion of apps/web/src/app/(playgrounds)/playgrounds/minimal/EvoluMinimalExample.tsx (fork no longer maintains apps/web lane)

Verification

  • bun clean
  • bun install
  • bun verify

All verification commands passed.

Summary by CodeRabbit

Poznámky k vydání

  • Dokumentace

    • Aktualizováno vysvětlení bezpečnosti a soukromí týkající se sdílení vlastnických dat
    • Objasnění pokynů pro agenty umělé inteligence
  • Refaktor

    • Interní vylepšení validace a logování pro zlepšení ladění
    • Reorganizace interní struktury typu
  • Chores

    • Aktualizace pravidel správy a vlastnictví kódu

steida and others added 3 commits February 23, 2026 08:57
Replace the previous createInt/int alias with a safeInt BrandFactory and update Int to use safeInt(Number). Update the JSDoc example and add a note explaining the rename (to avoid a Next.js runtime `int is not defined` regression). Functionality (using Number.isSafeInteger) is preserved.
@miccy miccy self-assigned this Feb 23, 2026
@miccy miccy added the feat New feature or request label Feb 23, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 23, 2026

ℹ️ Recent review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Free

📥 Commits

Reviewing files that changed from the base of the PR and between 043d450 and e27c8b9.

📒 Files selected for processing (2)
  • AGENTS.md
  • packages/common/src/local-first/Owner.ts
✅ Files skipped from review due to trivial changes (1)
  • AGENTS.md

📝 Walkthrough

Walkthrough

Reorganizace pravidel vlastnictví v .github/CODEOWNERS, refaktoring interní továrny Int na safeInt, povinné pole mnemonic v AppOwner, rozšířené ladicí logování v Evolu a Db, plus drobné formátování SQL a upravený odkaz v AGENTS.md.

Changes

Cohort / File(s) Summary
Governance & Ownership
\.github/CODEOWNERS
Odstraněn individuální vlastník; přidáno strukturované záhlaví CODEOWNERS, výchozí vlastnictví @SQLoot/maintainers, kritické cesty (/.github/, /SECURITY.md, /CODEOWNERS) přiřazeny @SQLoot/core.
Refaktoring typu Int
packages/common/src/Type.ts
Smazán veřejný alias int a továrna createInt; přidán interní safeInt a export const Int nyní používá safeInt(Number). Validace zůstává stejná.
Protokolování & Db
packages/common/src/local-first/Db.ts, packages/common/src/local-first/Evolu.ts
Změna logu "leaderAcquired" → "leaderLock acquired", přidán "SQLite created". Přidána debug logování v Evolu pro mutateBatch, queryBatch, onPatchesByQuery a log při disposalu.
Veřejné API Owner
packages/common/src/local-first/Owner.ts
Pole mnemonic v AppOwner změněno z nepovinného na povinné (readonly mnemonic: Mnemonic). Aktualizovány texty o sdílení a soukromí AppOwner.
Formátování SQL
packages/web/src/Sqlite.ts
Reformátování vnitřního bloku SQL (odsazení) v šabloně db.exec bez změny SQL příkazů.
Dokumentace
AGENTS.md
Upraven odkaz v sekci "AI Agents Do/" z upstream#XXX na upstream# (drobné textové/dokumentační změny).

Sequence Diagram(s)

(žádné — změny neuvádějí nový vícekrokový tok mezi více komponentami, pouze refaktory a logování)

Estimated code review effort

🎯 3 (Středně složité) | ⏱️ ~20 minutes

Poem

🐰 Vlastnictví přeuspořádáno, Int pod dekou schovaný,
Logy šeptají cesty, SQLite nově zaznamenaný,
AppOwner teď mnemonik drží pevně ve svém tlapce,
SQL se krásně roztřídilo do slok a odstavců,
Malý králíček hopká a slaví ten zápis v repo! 🎋


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

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

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request addresses a Next.js runtime issue by renaming the internal integer type branding helper from int to safeInt to avoid a naming conflict that caused int is not defined errors in Next.js environments. The change updates the helper function name and its references in documentation while maintaining the public Int export that uses this helper internally.

Changes:

  • Renamed the internal brand factory helper from int (via createInt) to safeInt
  • Updated the JSDoc example to reference safeInt instead of int
  • Added a note in the documentation explaining the rename reason
  • Updated the Int export to use safeInt internally

Comment on lines +2085 to +2090
const safeInt: BrandFactory<"Int", number, IntError> = (parent) =>
brand("Int", parent, (value) =>
globalThis.Number.isSafeInteger(value)
? ok(value)
: err<IntError>({ type: "Int", value }),
);
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The safeInt helper should be exported to maintain backward compatibility. The previous int helper was exported (via export const int = createInt), and other similar brand factories in this file (nonNegative, positive, nonPositive, negative) are also exported. Not exporting safeInt is a breaking change for users who were using int(Number) to create custom Int types.

Copilot uses AI. Check for mistakes.
steida and others added 8 commits February 23, 2026 11:43
Add console.debug traces for mutateBatch, queryBatch and onPatchesByQuery (reporting change/query/onComplete counts) and a console.info on dispose to improve observability. Re-scope the postMessage variable declaration so worker/channel wiring stays inside its block and only postMessage remains in the outer scope. Minor comment clarifies the intent; no functional logic changes aside from logging and variable relocation.
Refine console output in packages/common/src/local-first/Db.ts: rename the leader acquisition message from "leaderAcquired" to "leaderLock acquired" for clarity, and add a "SQLite created" log after sqlite initialization to aid debugging of worker startup.
# Conflicts:
#	apps/web/src/app/(playgrounds)/playgrounds/minimal/EvoluMinimalExample.tsx
@miccy miccy marked this pull request as ready for review February 23, 2026 14:26
@miccy miccy changed the title Sync/common v8 2026 02 23 wave3 sync(common-v8): AppOwner/docs/logging wave + governance merge Feb 23, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Miccy <code@miccy.dev>
@miccy miccy merged commit c3263ba into main Feb 23, 2026
7 checks passed
@miccy miccy deleted the sync/common-v8-2026-02-23-wave3 branch February 23, 2026 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants