Commit Graph

374 Commits

Author SHA1 Message Date
f90f358862 docs(mobile): defer sync engine adoption 2026-05-05 09:35:47 -07:00
41a0e4e8bb docs(roadmap): record mobile sdk decision 2026-05-05 09:34:52 -07:00
bea7579f60 docs(mobile): defer react native platform sdk 2026-05-05 09:34:34 -07:00
145dcb376c docs(roadmap): record p2 client verification 2026-05-05 09:33:25 -07:00
efa20979fc test(platform): verify client propagation 2026-05-05 09:33:10 -07:00
3503ac86ad docs(roadmap): record p2 smoke script 2026-05-05 09:30:22 -07:00
a2053a70f1 chore(platform): add local smoke script 2026-05-05 09:29:42 -07:00
dc5e79b1d5 docs(roadmap): record p2.2 commit hash 2026-05-05 09:21:32 -07:00
85b682aa73 docs(platform): add shared service smoke checks 2026-05-05 09:21:19 -07:00
e5cc6fb39e docs(roadmap): record p2.1 commit hash 2026-05-05 09:19:26 -07:00
da3129c89b fix(platform): align mcp service urls 2026-05-05 09:19:11 -07:00
aea4c4963c docs(roadmap): record p1.5 commit hash 2026-05-05 09:17:12 -07:00
8798fdd2e9 docs(architecture): clarify platform boundary 2026-05-05 09:17:02 -07:00
f7a695e996 docs(roadmap): record p1.4 commit hash 2026-05-05 09:16:28 -07:00
6307c60c41 docs(roadmap): mark stale planning docs historical 2026-05-05 09:16:17 -07:00
cd40cecd09 docs(roadmap): record p1.3 commit hash 2026-05-05 09:15:10 -07:00
014b0983df docs(readme): refresh production quick start 2026-05-05 09:15:00 -07:00
3fdef4097b docs(roadmap): record p1.2 commit hash 2026-05-05 09:13:47 -07:00
99efad80c0 docs(agents): refresh current project guide 2026-05-05 09:13:33 -07:00
87e9eed597 docs(roadmap): record p1.1 commit hash 2026-05-05 01:31:28 -07:00
3553b6e296 docs(roadmap): reconcile current implementation status 2026-05-05 01:31:16 -07:00
1051e77705 docs(roadmap): record p0.5 commit hash 2026-05-05 01:29:39 -07:00
45b16d9a71 docs(roadmap): inventory baseline failures 2026-05-05 01:29:28 -07:00
1ff477925e docs(roadmap): record p0.4 commit hash 2026-05-05 01:12:29 -07:00
b469d16c4e docs(roadmap): record lint baseline failures 2026-05-05 01:12:15 -07:00
cb81cec62a docs(roadmap): record p0.3 commit hash 2026-05-05 01:11:47 -07:00
5c02ce4ae6 docs(roadmap): record baseline verification failures 2026-05-05 01:11:34 -07:00
4eb3ada301 docs(roadmap): record p0.2 commit hash 2026-05-05 01:10:55 -07:00
282bb8d6fa fix(deps): link common platform workspace 2026-05-05 01:10:43 -07:00
e9e757a56a docs(roadmap): record p0.1 commit hash 2026-05-05 00:09:18 -07:00
fa30191efa docs(roadmap): record baseline git status 2026-05-05 00:09:06 -07:00
244b59150e docs(roadmap): add production readiness handoff 2026-05-04 23:42:35 -07:00
saravanakumardb1
ea2d8029ff docs(agents): add .npmrc canonical template rule to AGENTS.md
Never edit .npmrc directly in product repos — managed by
canonical template in learning_ai_common_plat/scripts/npmrc.template.
Use sync-npmrc.sh to propagate. Prevents gitea.bytelyst.com hardcoding.
2026-04-14 11:57:26 -07:00
saravanakumardb1
163f488506 fix(infra): sync .npmrc from canonical template
Aligns with scripts/npmrc.template in learning_ai_common_plat.
Uses ${GITEA_NPM_HOST:-localhost}:3300 SSH tunnel pattern.
2026-04-14 11:49:16 -07:00
saravanakumardb1
ff7f658628 fix(docker): filter pnpm build to packages/ only — avoids mcp-server type error 2026-04-13 15:51:39 -07:00
saravanakumardb1
e0258a2c0d chore: gitignore .docker-deps/ directory 2026-04-13 14:36:43 -07:00
saravanakumardb1
cc6558277c fix(docker): bash 3.2 compat + .docker-deps COPY + pnpm.overrides for transitive deps
- docker-prep.sh: replace declare -A with temp file (macOS bash 3.2)
- docker-prep.sh: inject pnpm.overrides so transitive @bytelyst/* deps resolve from tarballs
- backend/Dockerfile + web/Dockerfile: COPY .docker-deps/ into build context
- .npmrc.docker: remove scoped registry (tarballs handle all @bytelyst/* resolution)
2026-04-13 14:02:31 -07:00
saravanakumardb1
ba89cfd643 refactor(embeddings): replace local cosineSimilarity with @bytelyst/palace re-export
Remove duplicate cosine similarity implementation in favor of the
shared @bytelyst/palace primitive. All consumers import from
embeddings.ts unchanged.
2026-04-13 12:33:52 -07:00
saravanakumardb1
7d7e445135 feat(prompts): inject palace wake-up context into Smart Actions
Enrich the system prompt with L0/L1/L2 workspace context from the
palace when running Smart Actions. Best-effort — failures never block
prompt execution. Gives LLM access to decisions, preferences, and
semantically relevant memories from the workspace.
2026-04-13 12:33:34 -07:00
saravanakumardb1
06590b9175 feat(palace): extract KG triples from entities + refresh L1 cache on note save
After storing memories, generate subject-predicate-object triples from
entity pairs found in extracted memories. Also trigger L1 critical facts
cache regeneration so wake-up context stays fresh.
2026-04-13 12:33:16 -07:00
saravanakumardb1
18b680ad53 fix(backend): fix sync throw isolation in event bus + add 6 tests
Promise.allSettled only catches rejected promises, not synchronous throws.
Wrap handler calls in Promise.resolve().then() to isolate sync errors.
Add 6 unit tests covering delivery, unsubscribe, error isolation,
singleton, reset, and removeAll.
2026-04-13 11:42:52 -07:00
saravanakumardb1
cce4ca610f refactor(web): merge platform-api.ts into platform.ts
platform.ts and platform-api.ts both created PlatformClient instances.
Merge all typed helpers (getUserSettings, updateUserSettings,
listSessions, revokeSession, updateProfile) into platform.ts and
delete the duplicate file. Use lazy singleton instead of eager.
2026-04-13 11:06:40 -07:00
saravanakumardb1
bb6d77b1a4 refactor(mobile): DRY getAccessToken into shared auth-helpers.ts
Extract the duplicated getAccessToken() function from platform.ts,
billing-client.ts, and platform-api.ts into a single auth-helpers.ts.
All three now import from the shared module.
2026-04-13 11:06:22 -07:00
saravanakumardb1
4813c850a3 feat(web,mobile): add @bytelyst/billing-client and platform-client
Web:
- New lib/billing-client.ts: factory wrapper using shared getAccessToken.
- Add @bytelyst/billing-client to web deps.

Mobile:
- New lib/billing-client.ts: factory wrapper using MMKV token storage.
- New lib/platform-api.ts: typed platform-client wrapper for settings,
  sessions, and profile management.
- Add @bytelyst/billing-client and @bytelyst/platform-client to deps.
2026-04-13 10:30:02 -07:00
saravanakumardb1
61de6ce94a feat(backend): wire @bytelyst/webhook-dispatch to domain event bus
- New lib/webhook-subscriber.ts: bridges event bus to webhook dispatch.
  Registers listeners on all 5 domain events (note.created, updated,
  deleted, task.created, workspace.created). Dispatches to registered
  targets with HMAC-SHA256 signing, retry, and delivery log.
- server.ts: init webhook subscriber on startup, stop on close.
- Adds @bytelyst/webhook-dispatch dependency.
2026-04-13 10:29:43 -07:00
saravanakumardb1
7c4a09f9e9 chore: add common-plat workspace link and switch to localhost Gitea
- pnpm-workspace.yaml: include ../learning_ai_common_plat/packages/*
  so @bytelyst/* resolve locally without Gitea registry access.
- .npmrc: point registry to localhost:3300 for corp network,
  enable link-workspace-packages and prefer-workspace-packages.
2026-04-13 10:29:23 -07:00
saravanakumardb1
190d23280f feat(backend): add domain event bus and wire note CRUD events
- New lib/event-bus.ts: lightweight typed pub/sub with error isolation
  via Promise.allSettled. Supports note.created, note.updated,
  note.deleted, task.created, workspace.created events.
- notes/repository.ts: emit events on create, update, and delete.
- .env.example: add TELEMETRY_ENABLED, FEATURE_FLAGS_ENABLED,
  FIELD_ENCRYPT_ENABLED, PALACE_ENABLED, PALACE_EXTRACTION_ENABLED.
2026-04-13 10:00:12 -07:00
saravanakumardb1
58a778bc1e feat(web): init feature flags + kill switch on startup, fix hardcoded colors
- Providers.tsx now calls initFeatureFlags() and checkKillSwitch()
  on mount (both were wired but never initialized).
- globals.css: replace hardcoded #0b1020 with color-mix() from canvas token.
- layout.tsx: make themeColor responsive (dark/light media queries).
- use-theme.ts: prefix localStorage key with PRODUCT_ID for consistency.
2026-04-13 09:59:54 -07:00
saravanakumardb1
4246d58798 fix(docker): switch Alpine to Debian slim and remove prod NODE_TLS_REJECT_UNAUTHORIZED
Alpine breaks under corporate proxy TLS interception. Debian slim
works reliably. NODE_TLS_REJECT_UNAUTHORIZED=0 removed from production
stages — only kept in build stages where npm registries need it.
2026-04-13 09:59:36 -07:00
saravanakumardb1
71062a57be fix(web): fix auth token key inconsistency and DRY getAccessToken()
feature-flags.ts and prompt-client.ts used bare 'access_token' key
instead of PRODUCT_ID-prefixed key — auth tokens were never sent.

Consolidates 10 web lib files to import the shared getAccessToken()
from api-helpers.ts instead of each redefining their own copy.
2026-04-13 09:59:18 -07:00