Commit Graph

141 Commits

Author SHA1 Message Date
saravanakumardb1
8a568932b4 feat(infra): add production-grade k3s Kubernetes setup for single VM
Complete K8s deployment alternative to Docker Compose, targeting
~50 beta users on a Standard_D8s_v5 Azure VM (8 vCPU, 32 GB RAM).

setup-k8s.sh (6 phases):
  1. Pre-flight: verify docker phases 1-5 ran, disk/RAM checks
  2. Install k3s: Docker runtime, NodePort range 1024-32767
  3. Build images: docker compose build + tag as bytelyst/<svc>
  4. Config: namespaces, ConfigMap (3 copies), Secrets (JWT + blob keys), Ollama
  5. Deploy: infra -> platform -> dashboards -> products (ordered)
  6. Health check: 32 endpoints + kubectl pod status

K8s manifests (18 files):
  - 4 namespaces (infra, platform, dashboards, products)
  - 6 infra (cosmos StatefulSet+PVC, azurite StatefulSet+PVC,
    mailpit, loki StatefulSet+PVC, grafana+PVC, ollama external)
  - 3 platform (Deployment+Service+NodePort each)
  - 2 dashboards (Deployment+Service+NodePort each)
  - 10 backends + 9 webs (all with readiness+liveness probes,
    resource limits, product-specific NEXT_PUBLIC_* env vars)

Design decisions:
  - k3s --docker: reuses existing Docker images, no containerd import
  - Same ports as Docker Compose (NodePort with extended range)
  - ConfigMap replaces .env.ecosystem, copied to 3 app namespaces
  - Blob storage keys injected at deploy time via Secret (not in YAML)
  - Cross-namespace DNS: <svc>.<ns>.svc for service discovery
  - Ollama as Endpoints+Service pointing to host node IP
  - Resource limits: ~19 Gi total, fits in 32 GB with 13 GB headroom
  - Teardown: --teardown flag deletes namespaces, keeps k3s
2026-03-24 14:47:17 -07:00
saravanakumardb1
7d0c469858 refactor(infra): reorganize single_azure_vm into docker/ and k8s/ subfolders
- Move setup.sh, README.md, prompt.md into docker/ subfolder
- Create top-level README.md comparing both approaches
- Create k8s/README.md with full design doc: k3s architecture,
  namespace strategy, manifest structure, ConfigMap/Secret design,
  Cosmos emulator StatefulSet, Ollama host service, resource limits,
  5-phase implementation plan, and kubectl cheat sheet
2026-03-24 14:11:50 -07:00
saravanakumardb1
40731e06f4 docs(infra): update prompt.md with 15 new bug fixes and stale corrections
- Added 15 recent fixes to the Bugs Already Fixed table
- Fixed line count (~940 → ~990)
- Fixed stale lysnrai-web → lysnrai-dashboard in architecture diagram
- Fixed test plan service count (27+ → 30+)
- Updated constraint: compose/Dockerfile changes allowed with verification
2026-03-24 13:49:17 -07:00
saravanakumardb1
d64ea4fba7 fix(infra): add cd path to banner compose logs command
The banner showed bare COMPOSE_FILE filename without the directory,
making the command unusable via copy-paste. Now shows the cd first.
2026-03-24 13:48:05 -07:00
saravanakumardb1
e928ec6025 fix(infra): audit round 2 — token guard, frozen-lockfile, build cache, docs
- Add require_gitea_token() guard — fail early with actionable message
  if GITEA_NPM_TOKEN is empty after restore (prevents silent failures
  in Phase 4/5/7)
- Wire require_gitea_token() into phase4_build and setup_compose_env
- Remove --frozen-lockfile from admin-web + tracker-web Dockerfiles
  (Docker context is missing services/ and scripts/ workspace members;
  Phase 4 reconciles lockfile so --frozen-lockfile is unnecessary)
- Add docker builder prune after Phase 7 builds (reclaim 20-40 GB)
- Update README: pre-flight thresholds, Ollama stop/restart behavior,
  Loki + Azurite in port map, updated memory pressure note
2026-03-24 13:37:21 -07:00
saravanakumardb1
1a8697d8ed fix(infra): fix last stale service count comment (27→30) in setup.sh 2026-03-24 13:18:12 -07:00
saravanakumardb1
f78d382d62 fix(infra): add Azurite + Loki to health check script
- Azurite blob storage (:10000) was missing from check-health.sh
- Loki log aggregation (:3100/ready) was missing from check-health.sh
- Now covers all 30 compose services + Gitea + Ollama = 32 endpoints
2026-03-24 13:08:12 -07:00
saravanakumardb1
1a1f7dd55c fix(infra): harden setup.sh — pre-flight checks, pipefail safety, RAM management
- Add pre-flight disk space + memory checks after root validation
- Add --batch --yes to gpg dearmor calls (idempotent on re-run)
- Fix jq abort on malformed Gitea token response (|| echo guard)
- Wrap pnpm install/build in if-blocks with explicit fail() messages
- Stop Ollama during Phase 7 Docker builds to free ~3 GB RAM
- Restart Ollama after Phase 7 builds complete (before Phase 8 health check)
2026-03-24 13:06:05 -07:00
saravanakumardb1
c2ca7f53b4 fix(infra): harden setup.sh from independent audit findings
- Replace deprecated NodeSource curl|bash with modern GPG key + apt source
- Add build-essential + python3 to apt deps (native addons: better-sqlite3)
- Add --if-present to pnpm -r build (defensive: skip workspace members without build script)
- Fix README: remove stale proxy stripping reference from Phase 3
- Add Known Limitations section: remote browser access, ARM VM, memory pressure
- Remove AUDIT_PROMPT.md (served its purpose)
2026-03-24 12:56:43 -07:00
saravanakumardb1
35021b67b9 docs(infra): fix stale service count (27→30), update prompt.md + README.md for Codex agent readiness
- prompt.md: mark tasks 1-3 as DONE, add 'Current State' section listing
  all implemented features, update bugs-fixed table (16 items), fix service
  count in architecture diagram, add CLI reference, remove stale --frozen-lockfile
- README.md: add Resume & Retry section with examples, add CLI Flags table,
  fix service count in title/phases, update build failure troubleshooting
  with build log paths and retry command
- setup.sh: fix '27 services' → '30 services' in header comment and banner
2026-03-24 12:35:59 -07:00
saravanakumardb1
acbab75aaa docs(infra): add complete CLI reference, examples, and phase docs to setup.sh + ECOSYSTEM_DEPLOYMENT.md
setup.sh header now includes:
- All 6 CLI flags (--resume, --resume-from, --phase, --reset, --status, --help)
- Phase descriptions (1-8)
- 6 usage examples (fresh install, retry, resume, jump, status, reset)
- Resume/retry explanation with state dir and build log paths

ECOSYSTEM_DEPLOYMENT.md now includes:
- Single-VM Bootstrap section with quick start
- Resume & Retry examples
- Phase table
- Per-service build & fallback explanation
- Health check script reference
2026-03-24 12:24:16 -07:00
saravanakumardb1
b634708da8 fix(infra): make ollama model pull non-fatal in setup.sh
ollama pull piped through tail with set -euo pipefail would abort the
entire 8-phase setup on a slow network or wrong model name. Only
LocalMemGPT needs the model — the other 9 products are unaffected.
2026-03-24 12:20:13 -07:00
saravanakumardb1
a3f4c6facf fix(infra): fix sequential phase gap + add phase 7 guards
1. last_completed_phase now stops at first gap — prevents --resume from
   skipping phases when --phase=N created non-sequential markers
2. Phase 7 fails early if .env.ecosystem is missing (points to --phase=6)
3. Warns if compose config JSON cache fails — graceful degradation
2026-03-24 12:17:45 -07:00
saravanakumardb1
a9414218ba fix(infra): fix 5 bugs in setup.sh per-service build + resume logic
1. set -e + pipefail: docker compose up piped through tail would abort
   script on partial startup failure before printing summary — add || true
2. Phase 7 marked done even with build failures, so --resume would skip
   it — now only marks done when all builds succeed
3. --phase=7 printed 'Phase 7 complete' even with failures — now exits
   with code 1 and points to build logs
4. docker compose config --format json called 30 times in build loop —
   now cached once (saves ~3s)
5. Build logs now saved per-service to STATE_DIR/builds/<svc>.log for
   post-failure debugging
2026-03-24 12:13:14 -07:00
saravanakumardb1
8ff9e42817 feat(infra): add resume/retry, per-service build, and fallback to setup.sh
- --resume: auto-detect last completed phase and continue from there
- --resume-from=N: resume from a specific phase
- --phase=N: run only one phase (e.g. --phase=7 to retry deploy)
- --reset: clear phase markers and start fresh
- --status: show completed phases
- Phase 7 now builds each of 27 services individually with progress
- Failed builds are skipped; remaining services still start
- Phase completion markers stored in /opt/bytelyst/.setup-state/
- GITEA_NPM_TOKEN auto-restored from saved state on resume
2026-03-24 12:03:55 -07:00
saravanakumardb1
c0bc13e10a fix(infra): improve setup.sh publish error handling — distinguish real failures from 409 conflicts 2026-03-24 11:56:26 -07:00
saravanakumardb1
52b424937a refactor(infra): remove proxy-stripping sed from setup.sh — Dockerfiles are clean at source 2026-03-24 11:17:02 -07:00
saravanakumardb1
c8a196de58 docs(infra): add bugs-already-fixed section to Codex handoff prompt 2026-03-24 11:04:11 -07:00
saravanakumardb1
ddd2db848e fix(infra): 6 bugs in setup.sh — jfrog sed, apt source, token fallback, log file 2026-03-24 11:02:16 -07:00
saravanakumardb1
6abf13d983 docs(infra): add Codex agent handoff prompt for VM setup 2026-03-24 10:53:20 -07:00
saravanakumardb1
7c34cee0ab feat(infra): install Ollama + full raw-VM bootstrap in setup.sh 2026-03-24 10:47:20 -07:00
saravanakumardb1
2b9fd71740 fix(docker): make proxy optional in dashboard Dockerfiles, strip proxy in VM setup 2026-03-24 10:35:00 -07:00
saravanakumardb1
3b31709b47 fix(infra): add extra_hosts for Linux, improve env example docs, harden setup.sh 2026-03-24 10:26:47 -07:00
saravanakumardb1
2458a9d3b0 feat(infra): add single Azure VM bootstrap script + README 2026-03-24 10:14:16 -07:00
saravanakumardb1
25a1bd5187 fix(infra): add BuildKit secrets + GITEA_NPM_HOST to ecosystem compose 2026-03-24 10:02:40 -07:00
saravanakumardb1
3a840572bf chore(infra): add .env.ecosystem.example for ecosystem compose 2026-03-24 09:08:30 -07:00
saravanakumardb1
d466b8a7c4 docs: clean stale sections in GITEA_NPM_REGISTRY_MIGRATION.md 2026-03-24 08:44:29 -07:00
saravanakumardb1
fee5e87052 docs: remove versioning refs and stale transition language from deployment docs
- Remove 'Supersedes' and 'What Changed' section from enhanced plan
- Rewrite Package-Manager Strategy (transition complete, all repos on pnpm)
- Remove docker-prep.sh prerequisites, .tarballs/ references, npm variants
- Replace Dockerfile templates with current Gitea registry-backed pattern
- Remove §11.1 Package-Manager Migration Roadmap (migration complete)
- Clean up §11.2 Gitea section (remove 'Current pain', comparison table)
- Clean up §12 audit findings (remove tarball references)
- Simplify §10 Dockerization table (remove transition columns)
- Update §5.1/5.2 to reflect validated state, not open gaps
- Fix v2 tag in K3s exercise to use semver 1.1.0
- Update Summary table with current state
2026-03-24 08:10:17 -07:00
saravanakumardb1
baf47ac56b docs: add enhanced single-VM deployment plan with Coolify, Valkey, Uptime Kuma, SOPS
New SINGLE_VM_ENHANCED_PLAN.md covers:
- Coolify as self-hosted PaaS (15-min setup vs 6-7hr manual)
- Valkey (Redis fork) for sessions, cache, pub/sub, rate limits
- Uptime Kuma for status page + alerting
- Dozzle for live container logs
- SOPS + age for git-safe encrypted secrets
- Restic for volume backups
- BuildKit cache mounts for faster Docker builds
- Docker Compose profiles for selective startup
- Revised 4.5-hour implementation timeline

Also updates SINGLE_VM_DEPLOYMENT.md §3 prerequisite to reference
resolved Gitea registry migration and new enhanced plan.
2026-03-24 07:49:50 -07:00
saravanakumardb1
b0a4b2d9c3 docs: add Docker build verification section (§17) — all 4 images pass, 1591 tests green 2026-03-24 07:28:44 -07:00
saravanakumardb1
d64acd79e3 docs: add post-migration audit section (§16) — 5 bugs/gaps found and fixed 2026-03-24 06:53:15 -07:00
saravanakumardb1
266f45a851 docs: finalize Gitea registry migration — all 10 repos migrated, rollback + Azure documented, Definition of Done 10/10 2026-03-24 06:23:33 -07:00
saravanakumardb1
4929cb9202 docs(devops): update registry migration status — 8 repos migrated, 38 packages published
- Update validation results: 8 repos migrated, all Docker builds verified
- Update rollout order with completion status
- Update definition of done: 7/10 items checked
- Update next actions: remaining 2 non-standard repos (MindLyst, LysnrAI)
- Mark gaps section: mobile stays on file: refs, CI queue sequential
2026-03-23 21:08:27 -07:00
saravanakumardb1
0dd57b9d00 fix(docs): distinguish NETWORK=corp local-dev topology from VM deployment 2026-03-23 19:48:55 -07:00
saravanakumardb1
f0945a2d86 fix(ci): prefer ipv4 for local runner registration 2026-03-23 19:39:11 -07:00
saravanakumardb1
64db209bab fix(docs): refresh local Gitea rehearsal status 2026-03-23 19:26:31 -07:00
saravanakumardb1
39f33c4342 fix(docs): export local Docker token example 2026-03-23 19:24:32 -07:00
saravanakumardb1
688aad624a fix(docs): document hardened FlowMonk Docker workaround 2026-03-23 19:19:46 -07:00
saravanakumardb1
03b92eb2df fix(docs): update local Gitea migration status 2026-03-23 19:17:07 -07:00
saravanakumardb1
6f748b11d4 fix(docs): record local FlowMonk Docker workaround 2026-03-23 19:09:04 -07:00
saravanakumardb1
2296d98bf6 fix(docs): capture localhost tarball blocker in Docker 2026-03-23 19:02:49 -07:00
saravanakumardb1
fdf640e5bd fix(docs): capture local Docker auth blocker 2026-03-23 18:57:34 -07:00
saravanakumardb1
90e3f8d056 fix(docs): narrow docker-prep assumptions in vm guide 2026-03-23 18:54:18 -07:00
saravanakumardb1
a0469c2a57 fix(docs): clarify local Gitea consumer auth behavior 2026-03-23 18:52:26 -07:00
saravanakumardb1
fdf80d6470 fix(docs): correct FlowMonk compose build examples 2026-03-23 18:50:38 -07:00
saravanakumardb1
7361cba125 fix(docs): restore valid helm template examples 2026-03-23 18:16:01 -07:00
saravanakumardb1
4687351de0 ci: update CI/CD configuration 2026-03-23 18:04:18 -07:00
saravanakumardb1
fa1adf829c docs(devops): capture azure vm and scaling readiness gaps 2026-03-23 16:10:02 -07:00
saravanakumardb1
7116749bbd docs(devops): record local gitea registry rehearsal 2026-03-23 15:48:18 -07:00
saravanakumardb1
e427282234 docs(ci): update Gitea CI docs + add /gitea-ci workflow
- Add key settings, runner log path, detailed repo/job matrix to GITEA_LOCAL_CI.md
- Add /gitea-ci Windsurf workflow: start, push all, check status, view logs
- Add learning_ai_local_memory_gpt to repos.txt
2026-03-22 20:56:03 -07:00
saravanakumardb1
6d4579da37 chore(ci): migrate to Gitea local CI, disable GitHub Actions
- Add .gitea/workflows/ci.yml for Gitea Actions
- Disable GitHub Actions: ci-extraction-service, ci-mcp-server, reusable-pnpm-workspace
- Add docs/devops/GITEA_LOCAL_CI.md setup guide
2026-03-22 20:13:02 -07:00
saravanakumardb1
828d31b63d docs: update documentation 2026-03-22 14:06:44 -07:00
saravanakumardb1
a92373adec docs(devops): fix 15 bugs/gaps in single-VM deployment guide — add 4 missing web services, update stale references 2026-03-22 00:49:14 -07:00
saravanakumardb1
0502dead68 docs(devops): add Docker Desktop K8s as primary local option alongside K3s 2026-03-22 00:44:23 -07:00
saravanakumardb1
5646cefcbd docs(devops): add K8s best practices from production comparisons, update gap table to reflect all Dockerfiles created 2026-03-22 00:36:59 -07:00
saravanakumardb1
ae2af43d71 docs(devops): add single-VM deployment guide with audit findings 2026-03-22 00:18:17 -07:00
saravanakumardb1
b1af8e550a docs(e2ee): detailed SQLCipher + AKV implementation plan for LocalMemGPT Sprint 5.4
- Decision: SQLCipher full-DB encryption (preserves FTS5 search)
- Key hierarchy: AKV secret > env var > auto-generated file > unencrypted dev
- Existing DB migration via sqlcipher_export
- 6 implementation steps documented
2026-03-21 13:39:01 -07:00
saravanakumardb1
c252cfd198 feat(devops): encryption migration CLI with embedded product configs
- scripts/encrypt-migrate.ts — batch-encrypt existing plaintext Cosmos docs
- scripts/ added as pnpm workspace member for clean @bytelyst/* imports
- 10 product configs, 20 containers, 40+ fields
- --dry-run, --product, --container, --batch-size, --verbose flags
- Idempotent via __encrypted sentinel (migrateDocuments helper)
- Updated E2EE roadmap Sprint 6.2 as complete
2026-03-21 13:19:55 -07:00
saravanakumardb1
32afe8dde7 docs(e2ee): update roadmap — ChronoMind + PeakPulse backends encrypted (9 total)
- ChronoMind: timers.description, routines.description, routines.steps[].notes (182 tests)
- PeakPulse: peak-sessions.notes (65 tests)
- Only MindLyst (KMP) and LocalMemGPT (SQLite) deferred
2026-03-21 12:04:10 -07:00
saravanakumardb1
d11f84da5f docs(e2ee): update roadmap — Sprint 4 complete
- 4.1.2: Swift Keychain key derivation ✓
- 4.2.2: Kotlin SecureStore key derivation ✓
- 4.3: @bytelyst/client-encrypt (22 tests) ✓
- 4.4.1: @bytelyst/secure-storage-web (16 tests) ✓
- 4.5: FlowMonk tasks.description encrypted (211 tests) ✓
- Only 4.4.2 (auth-client migration) deferred to Sprint 5
2026-03-21 11:23:26 -07:00
saravanakumardb1
e59dcdb9ac docs(e2ee): update roadmap — Sprint 4.1/4.2 native SDKs complete
- Swift BLFieldEncrypt: 22 XCTest tests, CryptoKit AES-256-GCM
- Kotlin BLFieldEncrypt: 21/21 JUnit5 tests, javax.crypto AES-256-GCM
- Both wire-compatible with @bytelyst/field-encrypt EncryptedField JSON
2026-03-21 10:58:47 -07:00
saravanakumardb1
d6de30ee57 docs(devops): refresh backend audit baseline 2026-03-21 10:45:55 -07:00
saravanakumardb1
7c99f5a5fa docs(e2ee): update roadmap — Phase 1 + Sprint 3 complete, 6 backends encrypted
- Sprint 1: @bytelyst/field-encrypt package — all items complete
- Sprint 2: LysnrAI + JarvisJr encrypted, MFA refactor deferred (data format risk)
- Sprint 3: NoteLett + NomGap + ActionTrail encrypted
- MindLyst deferred (KMP/Gradle repo, not Fastify backend pattern)
- Total: 6 product backends with field-level encryption, all tests green
2026-03-21 09:36:39 -07:00
saravanakumardb1
8af997ba0f docs(devops): update stale mywisprai/MyWisprAI branding across 5 AKV docs
- BytelystAI → ByteLyst in titles
- MyWisprAI → LysnrAI (legacy) for wispr-* secret references
- Added 'legacy resource name' annotations to Azure resource names
  (kv-mywisprai, cosmos-mywisprai, etc. cannot be renamed)
- Updated dashboard paths (admin-web moved to dashboards/)
- Fixed telemetry role name: mywisprai-admin → lysnrai-admin
- Updated last-updated dates to 2026-03-21

Files: AZURE_KEY_VAULT_AND_SECRETS_ROTATION.md,
AZURE_PORTAL_SETUP.md, AZURE_RESOURCE_INVENTORY.md,
ENVIRONMENT_VARIABLES_AND_KEYVAULT_AUDIT.md,
END_TO_END_ENCRYPTION_ROADMAP.md
2026-03-21 09:15:30 -07:00
saravanakumardb1
2e35334e13 docs(devops): add coding agent automation playbook
- 11 cross-repo automation tasks for AI coding agents
- Workspace hygiene, test suites, coverage gaps, typecheck, deps, secrets
- Baseline test counts: 1,457 backend + 864 web = 2,321 total
- Priority matrix, quick-start commands, existing workflow references
2026-03-21 09:04:35 -07:00
saravanakumardb1
af5684587d docs(devops): fix 14 bugs/gaps in E2EE design + roadmap after codebase review 2026-03-21 09:01:35 -07:00
saravanakumardb1
b6a1d637fb docs(devops): add E2EE design document and implementation roadmap 2026-03-21 08:51:43 -07:00
6d6ca217a5 chore(devops): improve railway deploy script, add env sync and deployment runbook
- Refactor railway-deploy.sh: add --sync-env, --dry-run, --detach flags and service selector
- Add railway-sync-env.sh for pre-deploy environment variable synchronization
- Add RAILWAY_DEPLOYMENT_RUNBOOK.md with step-by-step deployment guide

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-05 20:03:59 -08:00
saravanakumardb1
cb3aa640ae docs(roadmap): mark Phase 3.2 Session Detail View complete
- Phase 3.2: Session Detail View with 5 tabs

- All Phase 3 exit criteria now met

Next: Phase 4 Advanced Features (auto-triggers, session replay)
2026-03-03 09:48:15 -08:00
saravanakumardb1
e955668e6a docs(roadmap): mark Phases 2 and 3.1 complete
- Phase 2.1: TypeScript SDK (21 tests)

- Phase 2.2: Swift SDK (20+ tests, iOS 15+)

- Phase 2.3: Kotlin SDK (16+ tests, API 26+)

- Phase 3.1: Admin Debug Sessions UI

Screenshot capture deferred to Phase 4 for all platforms

Session Detail View (3.2) marked as next priority
2026-03-03 09:39:57 -08:00
saravanakumardb1
e4c3c7cc13 docs(roadmap): mark Phase 2.1 TypeScript SDK complete
- Mark all 2.1.* items complete with commit 8acb8db

- 21 Vitest tests passing

- Screenshot capture deferred to Phase 2.2+

- Update Current Status section
2026-03-03 09:25:06 -08:00
saravanakumardb1
3b9eb5bd19 docs(diagnostics): mark Phase 1.5 complete, update roadmap status
Phase 1.5 items completed:

- 1.5.1: Wired into server.ts (routes + subscribers)

- 1.5.2: Event bus subscribers for 8 events + email templates

- 1.5.3: Audit logging for all session lifecycle events

- 1.5.4: Rate limiting keys configured

Phase 1 now COMPLETE with 17 diagnostics tests passing

Next: Phase 2 Client SDKs (TS/Swift/Kotlin)
2026-03-03 08:21:01 -08:00
saravanakumardb1
cc9129bc60 docs(feedback): mark all TODOs as completed in roadmap 2026-03-03 07:20:56 -08:00
saravanakumardb1
698e114b65 docs(feedback): update roadmap with TODO completions 2026-03-03 07:12:04 -08:00
saravanakumardb1
76569417f1 docs(feedback): update roadmap with second review bug fixes 2026-03-03 07:04:32 -08:00
saravanakumardb1
4839ac2799 docs(feedback): update roadmap with Phase 2.1 and Phase 3 completion status 2026-03-03 07:00:18 -08:00
saravanakumardb1
fdaffdb13c docs(feedback): fix 8 bugs/gaps identified in systematic review
- Fix inconsistent screenshotUrl fields (removed, SAS generated on-demand)
- Fix blob path pattern to match feedbackScreenshots container
- Clarify flow: direct upload to final container (no temp/move)
- Add rate limiting specs to endpoint table
- Clarify access control: users submit but cannot view (security)
- Remove sas.ts from appendix (not created)
- Align size limits to 5MB consistently
- Add missing screenshotContentType and screenshotSizeBytes
2026-03-03 00:00:14 -08:00
saravanakumardb1
0996534fb4 docs(feedback): update roadmap with Phase 1 completion and commit links 2026-03-02 23:57:48 -08:00
saravanakumardb1
1b11db3f6f feat(broadcasts,surveys): Phase 1 complete - backend modules
- broadcasts/types.ts: Broadcast, BroadcastTarget, BroadcastMetrics, InAppMessage
- broadcasts/repository.ts: CRUD + delivery tracking + read receipts
- broadcasts/targeting.ts: evaluateTarget(), semver, FNV-1a hash
- broadcasts/routes.ts: Admin CRUD + public endpoints (14 routes)
- surveys/types.ts: Survey, Question, SurveyResponse, conditional logic
- surveys/repository.ts: CRUD + analytics + CSV export
- surveys/routes.ts: Admin CRUD + public endpoints (13 routes)
- cosmos-init.ts: 7 new containers with TTL policies
- server.ts: Register broadcastRoutes + surveyRoutes

Implements Phase 1 of platform_BROADCAST_SURVEY_ROADMAP.md
2026-03-02 23:51:23 -08:00
saravanakumardb1
890a558c31 docs(diagnostics): update roadmap with Phase 1 completion status and commit links 2026-03-02 23:40:02 -08:00
saravanakumardb1
4163e1410a docs(diagnostics): add REMOTE_DIAGNOSTICS_ROADMAP.md with 140+ tasks across 4 phases
Complete roadmap for remote debug tracing system with:
- Phase 1: Server foundation (types, repository, routes, 38+ tests)
- Phase 2: Client SDKs (TypeScript, Swift, Kotlin)
- Phase 3: Admin UI (Next.js dashboard)
- Phase 4: Advanced features (auto-triggers, profiling)

Review fixes included:
- Fixed partition keys to avoid hot partitions (composite pk)
- Added PII redaction patterns (email, SSN, CC, phone, IP, JWT)
- Added event bus integration with 8 events
- Fixed screenshot storage to use Azure Blob
- Added rate limiting specs for all endpoints
- Added ETag caching for config polling
2026-03-02 23:29:39 -08:00
saravanakumardb1
4d78c45e85 docs: mark all 13 lysnr-* secrets as seeded, remove kv.txt + kv_azure.txt, update audit + rotation docs 2026-02-15 00:53:04 -08:00
7b529b420c docs: kv values 2026-02-15 00:51:19 -08:00
469efc6b8a chore: add kv export audit 2026-02-15 00:43:29 -08:00
saravanakumardb1
a7dd0a3daf chore: add kv.txt seed script for 13 lysnr-* secrets + update audit doc recovery status 2026-02-14 23:52:16 -08:00
saravanakumardb1
3bfdb7a084 docs: add git history recovery summary to KV audit, gitignore kv.txt seed file 2026-02-14 23:43:27 -08:00
saravanakumardb1
e5a481fb05 docs: holistic devops docs review — fix stale refs, rewrite KV rotation doc, delete scratchpad + outdated files 2026-02-14 23:24:41 -08:00
e4a9998e4b devops: kv action 2026-02-14 23:11:48 -08:00
ea44a73b62 docs(devops): add environment variables and Key Vault audit
Comprehensive audit of environment variables and Azure Key Vault secrets:
- Scanned all 35+ environment variables used across services
- Audited all 17 secrets in Azure Key Vault
- Identified critical gap: ZERO LysnrAI secrets in Key Vault
- MindLyst: 12 secrets (fully populated)
- MyWisprAI: 7 secrets (partially populated)
- LysnrAI: 0 secrets (100% missing)
- Listed 13 missing critical/high priority secrets
- Provided remediation plan with seed script instructions
- Added secret rotation strategy
- Included quick fix commands for Azure CLI

Critical findings:
- Missing Cosmos DB, JWT, Stripe, Gemini API keys for LysnrAI
- Code expects lysnr-* prefixed secrets but none exist
- Immediate action required to seed Key Vault

Co-Authored-By: Warp <agent@warp.dev>
2026-02-14 23:05:56 -08:00
598a84513a docs(devops): add comprehensive Azure resource inventory
Added AZURE_RESOURCE_INVENTORY.md with complete Azure infrastructure documentation:
- Subscription details and resource groups
- Full resource tree with all 13 Azure resources
- Cosmos DB databases (mindlyst, lysnrai, mywisprai) with all containers
- Storage, Key Vault, OpenAI, Speech Services, Notification Hubs
- Environment variables and resource IDs
- Geographic distribution and cost optimization notes
- Azure CLI quick commands

Co-Authored-By: Warp <agent@warp.dev>
2026-02-14 22:59:46 -08:00
saravanakumardb1
dcf6914419 docs: move Azure KV and portal setup docs into docs/devops/ 2026-02-14 22:52:06 -08:00