Admin console
Features
- Catalog, users, and events — Wired live catalog, user, and event data into searchable tables, detail panels, ingest flows, schedulers, and timeline views.
- Catalog, users, and events — Summon the crawled catalogue into a rebuilt page of their own site
- Find the pictures that were already there, and the right pages to crawl
- Say what the sign-up is for in the button that asks for it
Admin console
Features
- Model lifecycle — Added tenant model families, training kickoff and monitoring, SageMaker deployment automation, learned rankers, embedding refreshes, and endpoint promotion tooling.
- Model lifecycle — Show which models are new in the benchmark release, and carry the new family
- Model lifecycle — Make two model descriptions read without the one above them
- Catalog, users, and events — Update the model catalogue to benchmark v3.2
- Follow the benchmark’s key rename, and stop pinning the size of the field
Admin console
Features
- Model lifecycle — Add publishable keys so a browser can call NSL without a backend
- Model lifecycle — Pin the CDN certificate so the custom domain survives a redeploy
- Model lifecycle — Drop the VPC for outbound lambdas so egress costs nothing
- Add the CDN that serves the embed script
- Let an agent connect a site, and share one implementation with the console
- Dress the preview in the visitor’s brand, not ours
- Stop the preview rate limit locking people out of their own product
- Read the head of a big homepage instead of refusing it
- Email when someone starts a preview
- Tell people which thing actually went wrong
- Let a brand stored before the icon pass be retried, exactly once
- Catalog, users, and events — Import historical events so day one starts warm
- Catalog, users, and events — Spend the budget on items first, and stop scoring every sitemap as one
- Catalog, users, and events — Stop reading “index” in a sitemap name as “a list of index pages”
- Platform foundation — Established the Next.js console shell, product navigation, dashboard surfaces, profile/team areas, and developer-facing project documentation.
- Platform foundation — Merge: zero-integration onboarding
- Platform foundation — Take the brand colour from the favicon, and actually use it
- Ranking controls — Built rule engines, rerank controls, segmentation, experiment wiring, explainability, discovery feature toggles, and recommendation proxy support.
- Ranking controls — Give a preview the identity it needs to rank anything
- …and 7 more changes.
Bug fixes
- Build a workspace for a domain before anyone signs up
- Fix two things production surfaced during deployment
- Fix the type errors adding a metered bucket surfaced
- Make the website a connector, fix the marks, and get Twelve Labs actually working
- Read the visitor’s own brand, and fix two Twelve Labs bugs the live run found
- Accept a site address typed the way people type one
- Move the claim button into the header, and fix a type error I shipped
- Fix three things a real preview showed up
Admin console
Features
- Catalog, users, and events — Scheduled retraining with a promotion gate
- Catalog, users, and events — Provision catalogues from the database, not the network
- ChatGPT integration — Added ChatGPT activation, OAuth onboarding, starter catalogues, recommendation prompts, and handoff from the in-console assistant.
- ChatGPT integration — Add interactive sample onboarding
- ChatGPT integration — Add interactive recommendation widget
Bug fixes
- Materialise finished trainings the pipeline webhook missed
- Apply the sample workspace migration and keep it off the signup path
- Upsert catalogue items on the constraint that actually exists
- Make onboarding handler exhaustive
- Keep an undispatchable run queued instead of failed
- Accept OpenAI relay state length
- Allow ChatGPT connector token exchange
- Fix get_demo_recommendations read-only hint and ship MCP 1.1.0 output schemas (#22)
Admin console
Features
- Model lifecycle — Rewrite the model detail sheet for the person choosing a model
- Model lifecycle — Fold model selection into Details and strip the editor back
- Catalog, users, and events — Add a 2D embedding map view to the users and items pages
Bug fixes
- Keep the template trigger inside its box and stop stealing focus
- Keep password-manager autofill on the email field
Admin console
Features
- Catalog, users, and events — Launch multi-tenant recommender catalog
- Catalog, users, and events — Simplify events training workflow
- Catalog, users, and events — Refine event presets and recommender selection
- Catalog, users, and events — Rework the models page and the events signal library
- Catalog, users, and events — Give the models table the same full-page treatment as Items
- Catalog, users, and events — Drop the catalog counts strip and simplify the Compute column
- Catalog, users, and events — Add gradient heatmap color scale to recommender catalog metric columns
- Assistant and MCP — Introduced the in-console assistant, connected MCP tools, hardened transport options, and routed analytics and management actions through platform APIs.
- Assistant and MCP — Install pinned release development tooling
- Use current pinned CDK executable
- Bind recommender builds to organization connection
- Remove duplicate template badge
- Show p95 as a ten-bar latency meter instead of a number
- Model lifecycle — Surface remote CodeBuild failures
- Model lifecycle — Allow CodeBuild to use repository connection
- Model lifecycle — Grant CodeBuild GitHub App token access
- Model lifecycle — Restore training settings popout
- Model lifecycle — Keep training popout open for recommender selection
- Model lifecycle — Add a tenant seeding script for demo and training data
- Model lifecycle — Colour the models table by where each row sits in the field
Bug fixes
- Pin remote migration runner
- Smoke test recommender release on production domain
- Fix recommender workspace layout
Admin console
Breaking changes
- Enforce integer public resource IDs
Features
- Catalog, users, and events — Add explainable user profiles
Bug fixes
- Complete integer ID serving migration
- Migrate item IDs in targeting configuration
- Satisfy production build type contracts
- Quarantine dangling item targeting rules
- Close remaining integer ID surfaces
- Deploy integer-aware hosted MCP runtime
Admin console
Features
- Vercel integration — Added native Vercel Marketplace provisioning, resource-level plans, server-only environment variables, credential rotation, and console SSO.
- Vercel integration — Add native Vercel resource provisioning and SSO
- Vercel integration — Add Vercel onboarding attribution and intent
Bug fixes
- Expose provisioned runtime identifiers
Admin console
Features
- Controlled distribution — Added staged content distribution controls, rollout metrics, and hardened ranker deployment behavior.
- Controlled distribution — Add controlled content distribution runtime
- Controlled distribution — Harden staged distribution and ranker rollout
- Intent-aware onboarding — Capture signup build intent
Bug fixes
- Type controlled distribution metrics
- Close distribution rollout edge cases
- Align recommendation contract tests
- Type partial distribution stage overrides
- Import signup step navigation icon
- Handle optional blank provisioning result
Admin console
Features
- Access and billing — Added account registration, session handling, team invites, API key and SDK credential management, and Stripe-backed billing workflows.
- Access and billing — Never let Stripe or a post-signup step block a free account
- Access and billing — Add read-only listing of signups abandoned by the billing fault
- Record why a registration failed where it can be read
- ChatGPT integration — Hand the assistant conversation over to ChatGPT
Bug fixes
- Fix the jsonb insert that broke every live signup
Admin console
Features
- Access and billing — Add free billing plan card
- Access and billing — Ensure free signups create Stripe customers
- Access and billing — Add Stripe customer backfill workflow
- Access and billing — Clarify Stripe-managed billing details
- Access and billing — Strengthen billing upgrade flow
- ChatGPT integration — Improve ChatGPT marketplace activation flow
- ChatGPT integration — Add ChatGPT activation onboarding
Bug fixes
- Fix Stripe webhook acknowledgement path
- Fix mobile signup consent formatting
- Fix ChatGPT activation link styling
- Fix signup registration cookie overflow and compact ChatGPT guidance
Admin console
Features
- Analytics and reporting — Added period-aware dashboards, usage gauges, KPI cards, multi-series charts, saved analytic views, and production data refresh paths.
- Analytics and reporting — Add acquisition attribution and server analytics
- Analytics and reporting — Require strict overage for usage alerts
- Platform foundation — Enable onboarding email sequence for new customers
- Access and billing — Guard team page against missing invitations table
Bug fixes
- Fix signup attribution capture
Admin console
Features
- Catalog, users, and events — Support event IDs across legacy schemas (#18)
- Catalog, users, and events — Standardize missing-value dashes and Mailtrap email metadata
- Access and billing — Host account plan MCP tool
- Access and billing — Harden authentication and tenant security boundaries
Bug fixes
- Fix Basic plan resource cleanup (#17)
- Fix platform admin impersonation session handoff
Admin console
Features
- Redesign context configuration editor
- Refine context basics and lifecycle controls
- Ranking controls — Remove recommendation type from context UI
- Model lifecycle — Add hosted Streamable HTTP MCP endpoint at /api/mcp
- Access and billing — Add OAuth 2.1 + dynamic client registration for the MCP endpoint
- Access and billing — Serve OAuth discovery documents from app/.well-known routes
- Assistant and MCP — Bump @neuronsearchlab/mcp to 0.5.0 for annotated tools on /api/mcp
Bug fixes
- Fix context table layout and configuration saves
Admin console
Features
- Visualise competitor capital and investor overlap
- Enhance competitor intelligence workspace
- Catalog, users, and events — Include event-only users in users listing
- Access and billing — Add Free tier with frictionless signup and in-app upsell
- Access and billing — Polish free signup: frosted card + visible blurred console
- Access and billing — Make signup console teaser actually visible
- Access and billing — Render the real console shell behind free signup, blurred
- Access and billing — Apply blurred console preview + frosted card to login page
Bug fixes
- Fix RegisterPage test: mock usePathname for console preview
- Fix signup card border colour (was falling back to default blue)
Admin console
Features
- Catalog, users, and events — Consolidate NSL Resolve UI into Users + Integrations
- Catalog, users, and events — Make user/item slideover tabs horizontally scrollable on mobile
- Make LiveRamp + Partner IDs standard integration cards
- Add tenant-isolated identity backfill script
- Expand competitor intelligence dossiers
- Add consented data collaboration overlap
Bug fixes
- Run competitor research nightly and fix scans
Admin console
Features
- Add competitive landscape intelligence
- Add NSL Resolve: consented, tenant-scoped identity layer
- Redesign competitive intelligence workspace
- Catalog, users, and events — Wire IDENTITY_HMAC_SECRET into the events + recommendation lambdas
- Model lifecycle — Source IDENTITY_HMAC_SECRET from Secrets Manager (shared by both lambdas)
Bug fixes
- Fix competitive landscape CI lint
- Fix identity secret dynamic reference
- Fix competitor research timeouts
Admin console
Features
- Unify context slideover chrome: one header with status chips, constant footer
- Fold the recipe editor into the context surface
- Basics tab: retrieval algorithm is a dropdown in a uniform 3-select grid
- Upgrade Next.js and shadcn
- Fold recipe setup into context tabs
- Ranking controls — Pipeline tab edits the context’s single pipeline directly
- Catalog, users, and events — Recipe editor: one staged draft, explore without saving, tighter layout
Admin console
Features
- Model lifecycle — Surface resolved serving model on context; dedupe DEFAULT_ARCHITECTURE
- Make sliders neutral and actually visible
- Ranking controls — Render context pipeline editor inline; enforce one pipeline per context
- Catalog, users, and events — Add permanent per-user seen-item exclusion to a context’s pipeline
- Catalog, users, and events — Add “don’t re-show seen items” control on the context (Advanced tab)
Bug fixes
- Fix recipe editor tab strip overflowing the context sheet
- Revert “Add permanent per-user seen-item exclusion to a context’s pipeline”
Admin console
Features
- Analytics and reporting — Add analytics journey Sankey widget
- Analytics and reporting — Refine usage limit notice
- Analytics and reporting — Move usage warning into topbar popover
- Refine contexts table and slideover UX
- Access and billing — Reveal API keys and SDK credentials in a one-time modal
- Access and billing — Add in-product integration Quickstart on SDK Credentials
- Platform foundation — Merge integration quickstart onboarding
- Platform foundation — Refine sidebar navigation groups
- Platform foundation — Merge sidebar navigation IA
Bug fixes
- Fix active-dot tests after accent-token change
Admin console
Features
- Catalog, users, and events — Add embedding visualization
- Catalog, users, and events — Improve embedding explorer interactions
- Catalog, users, and events — Record app searches as events
- Add public Terms of Service page
- Enable custom avatar uploads
- Make search a context-backed surface
- Platform foundation — Use existing S3 profile picture bucket for avatars
- Ranking controls — Configure pipelines per-context from the Context surface
- Ranking controls — Add hybrid search pipeline
Bug fixes
- Match per-item rules by item_id in explain trace + audit engine
- Show full embedding context
- Unblock registration bootstrap
- Paginate embeddings without row id
- Remove console search surface
- Honor store scope
- Tolerate legacy context schema
Admin console
Features
- Move recipe editor into context slideover
- Add audit log UI and responsive headers
- Improve recipe readiness validation
- Remove mobile search icon border
- Remove mobile top bar search icon background
- Ranking controls — Add recipe readiness and explain replay
- Platform foundation — Move sidebar toggle into nav
- Platform foundation — Place sidebar toggle beside page title
- Platform foundation — Move mobile sidebar controls to top bar
- Platform foundation — Tune sidebar toggle divider position
- Platform foundation — Adjust sidebar toggle divider resting position
- Platform foundation — Use shadcn primitives and Geist styling
- Platform foundation — Move sidebar toggle divider further left
- Platform foundation — Refine mobile search and theme selector
Bug fixes
- Fix context audit update tests
- Fix sidebar controls and assistant label
- Fix CI expectations after UI label updates
- Fix production theme picker crash
Admin console
Features
- Add Feed Builder with five algorithm presets
- Wire Feed Builder Phase 2 primitives
- Improve feed builder UX
- Refine feed builder creation UI
- Polish feed builder status cards
- Refine feed builder UX
- Access and billing — Wire Feed Builder Phase 3: session state, cold start, blueprint experiments
- Catalog, users, and events — Add Rules Engine metadata for the seven new Phase 2 rule types
- Catalog, users, and events — Frame the Feed Builder as an explicit override layer over Events
- Catalog, users, and events — Frame presets as event suggestions, not phantom overrides
- Platform foundation — Polish feed builder layout and switches
- Platform foundation — Add sidebar active rail marker
Admin console
Features
- Analytics and reporting — Add customizable analytics dashboards
- Analytics and reporting — Enforce analytics data retention
- Meter all core API requests
- Access and billing — Wire data add-ons to Stripe
- Access and billing — Consolidate billing plan comparison cards
- Access and billing — Refine billing plan controls
- Access and billing — Handle billing add-on response errors
- Access and billing — Use Stripe subscription as entitlement source
Bug fixes
- Fix analytics grid runtime import
- Fix analytics empty dashboard actions
- Fix usage limits and data add-ons
- Fix client build imports
- Fix recommendation request metering
- Fix Stripe subscription expansion depth
Admin console
Features
- Platform foundation — Audit README for accuracy
- Platform foundation — Add Twelve Labs enrichment to README workflow diagrams
- Assistant and MCP — Remove dead AssistantPanel and Anthropic chat route
- Ranking controls — Add pluggable recommendation architecture support
- Ranking controls — Add neural ranker training support
- Ranking controls — Update README for pluggable recommendation algorithms
- Ranking controls — Add retrieval ranking announcement post
- Ranking controls — Avoid ranker registry replacement on deploy
- Model lifecycle — Route family exports by retrieval architecture
- Model lifecycle — Train gSASRec with sequential transformer objective
- Model lifecycle — Mark retrieval architecture endpoints live
- Model lifecycle — Clarify tenant model training surfaces
- Materialize learned semantic ID codebooks
- Add semantic ID code transition generator
- Complete pluggable architecture operations plumbing
- Catalog, users, and events — Scope tenant fine-tunes to templates
- Catalog, users, and events — Route fine-tunes through event templates
- Analytics and reporting — Upgrade analytics workbench
Bug fixes
- Fix assistant env description in README
Admin console
Features
- Ranking controls — Regroup pipeline editor into 5 phases and unify toggles
- Ranking controls — Update pipeline editor tests for renamed stages
- Add Twelve Labs video understanding integration
- Expose integrations page and sync local updates
- Refine integrations UI and badge styling
- Refine Twelve Labs integration UI
- Add remaining integration logos
- Use Mailtrap live SMTP in production
- Restore admin impersonation utilities
- Persist avatars with S3-backed options
- Platform foundation — Wire onboarding preferences and avatars
- Access and billing — Prefer SMTP password for Mailtrap auth
- …and 4 more changes.
Bug fixes
- Fix item metering latency and document runtime flows
- Fix stale session signup blocking
- Fix registration auth clearing and email delivery
- Fix registration email transport
Admin console
Features
- Analytics and reporting — Add usage and marketing email notifications
- Analytics and reporting — Improve usage alert email design
- Analytics and reporting — Group usage alerts and add thresholds
- Use marketing site Mailchimp defaults
- Support Mailtrap live API token
- Use notifications sender address
- Redirect super admins to admin page
- Add platform admin page
- Make admin customer query schema tolerant
- Clarify admin impersonation UI
- Platform foundation — Clarify profile contact preferences
- Access and billing — Use billing period in usage digests
- Access and billing — Allow admin impersonation through any team user
- Access and billing — Add platform admin invite flow
Bug fixes
- Fix discounted billing registration
- Fix zero-limit usage meter overage
- Fix training gate tier limit mock
- Fix tier limit Stripe mock
- Fix super admin login redirect build
Admin console
Features
- Catalog, users, and events — Allow unprefixed item IDs
- Ranking controls — Add recommendation pipeline audit coverage
- Vercel integration — Pin Vercel CLI in deploy workflow
- Model lifecycle — Add tier-based limits and feature gating
- Access and billing — Show tier limits during signup
Bug fixes
- Fix recommendation validation build target
- Fix tier limit test harnesses
- Fix billing usage and limit UI
Admin console
Features
- Model lifecycle — Add base-publish kickoff script
- Model lifecycle — Add serverless endpoint deploy script for base publishes
- Model lifecycle — Refine context and model selection flows
- Ranking controls — Namespace family pipeline S3 paths by execution id
- Ranking controls — Rename model families as recommendation types
- Ranking controls — Tighten recommendation type spacing
Admin console
Features
- Access and billing — Handle SNS SubscriptionConfirmation before token check
- Access and billing — Auto-confirm SNS subscription in webhook handler
- Access and billing — Simplify Context form and fix login autofill
- Model lifecycle — Make endpointName optional in nsl-publish
- Model lifecycle — Complete model family follow-ups
- Model lifecycle — Move model families into models slideover
- Model lifecycle — Simplify model family slideover
- Model lifecycle — Models table ui update
- Model lifecycle — Tighten models table and model details slideover
- Catalog, users, and events — Add catalogue ingest scheduler toggle
- Catalog, users, and events — Add model lifecycle workflow and deployment history
- Vercel integration — Upload Vercel deploy as tarball to avoid flaky per-file upload
Admin console
Features
- Model lifecycle — Add model families with NSL base models and tenant fine-tunes
- Model lifecycle — Guard active-model fetch against undefined in tests
- Model lifecycle — Defer active-model fetch so tests read PATCH as first fetch call
- Model lifecycle — Skip model-families fetch under NODE_ENV=test
Bug fixes
- Fix ModelPackageGroup names: SageMaker disallows underscores
Admin console
Features
- Catalog, users, and events — Cap fatigue deficit at 7 serves to prevent scores collapsing to 0%
- Ranking controls — Add exploration slots, trending backfill, and impression fatigue toggles
- Ranking controls — Make all discovery feature defaults configurable per pipeline
- Ranking controls — Add interactive visualizations to all pipeline discovery features
Bug fixes
- Mount code asset in Train step instead of baked-in image
- Switch to exponential decay for much faster demotion
Admin console
Features
- Simplify cmd+k results to title, id, and date only
- Ranking controls — Full learned_ranking stage controls with facet selector
- Ranking controls — Simplify learned_ranking panel to facet fields only
- Catalog, users, and events — Impression fatigue: demote items served without engagement
Bug fixes
- Use created_at instead of updated_at/last_modified for dates
- Fix lambda ranker and VPC endpoint handling
- Escape apostrophe in learned_ranking description
- Remove unused ranker-models API route
Admin console
Features
- Ranking controls — Implement learned second-stage ranker
- Ranking controls — Resolve ranker endpoint from managed target
- Ranking controls — Use CodeBuild runtime image for ranker pipeline
- Ranking controls — Allow SageMaker ranker jobs to reach Aurora
- Ranking controls — Show learned ranking on existing pipelines
- Ranking controls — Merge branch ‘codex/learned-ranker’ into master
- Ranking controls — Use dedicated ranker inference image
- Ranking controls — Handle SageMaker serve entrypoint for ranker
- Model lifecycle — Preserve model package env when promoting endpoints
- Model lifecycle — Support image tag override in CodeBuild
- Catalog, users, and events — Disable inline embedding refresh on events path
- …and 2 more changes.
Bug fixes
- Fix ranker stack output naming
- Fix ranker scripts for SageMaker Python 3.9
- Fix ranker export event_id casting
- Fix embedding refresh: model_type column, re-enable async refresh
- Source user list from user_events instead of embeddings
Admin console
Features
- Model lifecycle — Refine model training workflow and fix test deps
- Model lifecycle — Tighten model target workflow
- Model lifecycle — Handle OCI image indexes during promotion
- Model lifecycle — Show live elapsed time for active training jobs
- Model lifecycle — Simplify training jobs layout
- Model lifecycle — Refine models and training jobs detail layouts
- Model lifecycle — Show active versions for legacy SageMaker endpoints
- Model lifecycle — Refine models layout and serving target details
- Minor changes
Bug fixes
- Fix dashboard period refresh and reconcile model deployments
- Fix SageMaker inference image manifest handling
- Fix training gate test mock for image resolver
Admin console
Features
- Access and billing — Add retraining automation planner to training jobs
- Model lifecycle — Add tenant model endpoints and move deployment controls
- Model lifecycle — Implement model-scoped retraining and deployment targets
- Assistant and MCP — Tune assistant glow motion
- Assistant and MCP — Remove assistant glow motion tuning
- Ranking controls — Clarify training pipeline status labels
Bug fixes
- Fix training start gate tests for model-scoped runs
Admin console
Features
- Analytics and reporting — ML pipeline improvements: AdamW, temporal split, early stopping, freshness decay, cold-start fallbacks, training config UI, metrics dashboard
- Model lifecycle — Use SageMaker status consistently for summary stats and row logic
- Model lifecycle — Custom training image, tenant-isolated outputs, fix type error
- Model lifecycle — Add missing training-data mocks to gate tests
- Model lifecycle — Pin numpy<2 in training image to fix TF 2.13 compatibility
- Model lifecycle — Remove requirements.txt from training source bundle
- Model lifecycle — Use —no-deps for tensorflow-recommenders in training image
- Model lifecycle — Bake Universal Sentence Encoder into training image
Bug fixes
- Fix JSONB cast for training_options insert via RDS Data API
- Fix training jobs status badge to show SageMaker execution status
- Pin tf-keras and tensorflow-hub versions for TF 2.13 compat
- Fix mkdir for USE model directory in training Dockerfile
- Fix timestamp parsing for short timezone offsets in train.py
Admin console
Features
- Catalog, users, and events — Reorder sidebar: move Events into Configuration, swap Explore/Advanced positions
- Assistant and MCP — Wire assistant to npx MCP server
- Assistant and MCP — Sync MCP npm lockfile
- Vercel integration — Use in-memory MCP transport on Vercel
Bug fixes
- Fix MCP admin tool backend compatibility
- Fix training gate tests for config guard
Admin console
Features
- Ranking controls — Move post-scoring context controls into rules engine
- Ranking controls — Refine rules action previews
- Ranking controls — Trim rules preview chrome
- Ranking controls — Make rules previews reflect action state
- Restore rainbow preview palette
- Access and billing — Harden route auth header handling
- Assistant and MCP — Use @neuronsearchlab/mcp in-process instead of spawning child process
- Catalog, users, and events — Add GET and DELETE endpoints for event types
Bug fixes
- Fix serverExternalPackages for Next.js 14
- Fix MCP build resolution and use Layers icon for Context
- Fix tenantId parameter type in GET event-types endpoint
Admin console
Features
- Catalog, users, and events — Add per-user and per-item analytics tools to MCP assistant
- Platform foundation — Add debug overlay toggle to TopBar with profile page debug panel
- Platform foundation — Regroup admin sidebar navigation
- Platform foundation — Add animated AI sidebar label
- Access and billing — Refactor MCP tools to use NeuronClient API instead of direct DB queries
- Assistant and MCP — Remove background from assistant logo avatars, show logo only
- Assistant and MCP — Add assistant starter prompt buttons
- Assistant and MCP — Refine assistant shimmer motion
- Assistant and MCP — Remove global assistant overlay and soften empty state
- Assistant and MCP — Refine assistant aurora edge glow
- Assistant and MCP — Polish assistant aurora and sidebar profile tile
- Assistant and MCP — Route assistant through standalone MCP
Bug fixes
- Fix failing tests for new streaming chat API and renamed assistant route
- Revert “Add debug overlay toggle to TopBar with profile page debug panel”
- Fix assistant MCP auth and UI polish
- Fix CI MCP imports and production build
- Fix assistant sidebar shimmer color
Admin console
Features
- Reliability and CI — Hardened CI, test coverage, build compatibility, database type handling, migration paths, API errors, and production runtime behavior.
- Reliability and CI — Add Studio workflow, search, and verification test
- Assistant and MCP — Replace studio with assistant chat interface
- Assistant and MCP — Modernize assistant chat UI with AI SDK v6, add platform tools, rename to NeuronSearchLab AI
Bug fixes
- Fail fast when CI tests hang
- Stabilize Vitest execution in CI
- Fix hanging component tests in CI
- Fix Studio context row typing for build
- Use normalized context rows in Studio build
- Pin project to Node 24.14.1
- Refresh lockfile for Node 24 CI
- Coalesce optional context json in Studio build
Admin console
Features
- Access and billing — Add migration for team_integrations and embedding_models tables
- Access and billing — Rename “API Keys” to “Platform API Keys”
- Model lifecycle — Remove temporary migration endpoint, add context/editor utilities
- Platform foundation — Consolidate contexts infra, add setup checklist, improve onboarding UX
- Platform foundation — Restore Quick Actions grid on dashboard alongside Setup Checklist
- Ranking controls — Add include_rule_ids config override to experiment variants
- Ranking controls — Wire pipeline config to recommendations proxy, redesign segments/rerank/integrations
- Ranking controls — Wire pipeline context_id into Lambda: resolve context-specific pipeline before global fallback
- Ranking controls — Remove pipeline position breadcrumbs from rules, experiments, and rerank pages
- Ranking controls — Add migration to add context_id column to ranking_pipelines
Bug fixes
- Fix integrations upsert syntax, explainability type error, pipeline dots, and reorder sidebar
- Fix migration: add missing config_json column to team_integrations
- Fix timestamp cast error, add typeHint support, unify pipeline dots
- Fix TypeHint type error: use SDK enum instead of plain string
- Fix rules engine status toggle visual alignment
- Fix context creation 500 error with empty response body
- Fix json_data column type mismatch in context creation
Admin console
Features
- Ranking controls — Wire ranking rules engine into DB + Lambda
- Ranking controls — Wire A/B experiments into recommendation Lambda
- Ranking controls — Wire pipeline config into recommendation Lambda
- Ranking controls — Wire real explainability data through Lambda and Explain page
- Ranking controls — Add time-based scheduling to ranking rules
- Catalog, users, and events — Wire user segments into ranking rules engine
- Catalog, users, and events — Add item-level behavioral conditions to user segments
- Catalog, users, and events — Add real experiment metrics computation from served + event data
- Catalog, users, and events — Reorder sidebar: Ranking first, merge org items into Settings
- Catalog, users, and events — Build complete catalogue ingest system end-to-end
- Wire all aspirational UI to real backends, remove mock data
Bug fixes
- Replace migration API route with SQL file
- Fix Pipeline Config: mobile layout, dot color bug, rename title
Admin console
Features
- Model lifecycle — Remove Start Training button from training-jobs page; fix infra tsconfig exclusion
- Model lifecycle — Port Laravel training jobs table design + add SSE log streaming
- Ranking controls — Add ranking platform workstreams: Rules Engine, Pipeline Builder, Segmentation, A/B Testing, Explainability
Admin console
Features
- Regenerate package-lock.json without legacy-peer-deps
- Add infra directory from Laravel app
- Vercel integration — Deploy to Vercel only after CI passes
- Catalog, users, and events — Reorganize sidebar: move items into Configuration and Settings groups
- Access and billing — Reduce items page size to 50, align SDK Credentials with API Keys design
- Model lifecycle — Trigger redeploy with SAGEMAKER_INFERENCE_IMAGE env var
Bug fixes
- Fix CI: bump Node to 22, fix ContextClient test mock for Sheet
- Regenerate package-lock.json for cross-platform CI
- Fix rerank-controls test: migrate from node:test to vitest
- Fix model_trainings queries: remove non-existent columns
- Exclude infra tests from vitest
Admin console
Features
- Convert context modal to right-side slideover
- Access and billing — Add rerank controls, API keys management, and recommendations proxy
- Access and billing — SDK Credentials: auto-generate on click, remove name input step
- Platform foundation — Standardise full-width flex layout across all pages
Bug fixes
- Escape apostrophe in API keys page to pass eslint build
- Fix SDK Credentials UI, sidebar icons, and template loading
- Fix tenant_id type mismatches against text columns
- Fix int4 type mismatches in templates queries via explicit SQL casts
- Fix SDK Credentials: show credentials without page reload
- Fix Aurora Data API cast: use column::text = :param not :param::type
- Fix event_id bigint = text cast in training start queries
- Paginate RDS Data API queries to avoid 1MB result limit
- …and 1 more change.
Admin console
Features
- Port Laravel context modal advanced fields
- Tabbed process-driven context modal
- Catalog, users, and events — Wire catalogue-ingest Lambda worker and add live-run polling
- Reliability and CI — Add error-logging instrumentation and runtime error API
Bug fixes
- Context modal UX parity: replace native selects, fix a11y, polish mobile
- Fix context modal type errors for production build
- Run CI on staging branch with tests
- Keep dashboard gauge stable across period changes
- Resolve TypeScript error in ContextClient Select value prop
- Use longValue for tenant_id params in events API routes
- Import afterEach from vitest in ContextClient test
Admin console
Features
- Access and billing — Use real Stripe billing period for dashboard gauge and reset countdown
- Improve context modal and dedupe controls
- Add existing-context edit flow
- Improve context modal mobile usability
Bug fixes
- Sync plan to DB on downgrade and refresh teamPlan from DB on JWT rotation
- Gauge uses current month requests, shows real overage count, add upgrade nudge
- Correct daysUntilNextMonth calculation (was always negative)
Admin console
Features
- Catalog, users, and events — Server-side item search API with metadata text filter
- Catalog, users, and events — Add sortable columns and sticky pagination
- Catalog, users, and events — Port usage metrics and top items from Laravel
- Access and billing — Wip: push current billing and events work
- Analytics and reporting — Port usage gauge from Laravel to Next.js dashboard
- Model lifecycle — Port full training kickoff workflow from Laravel to Next.js
Bug fixes
- Avoid 1MB RDS result limit on catalogue list
- Disable list metadata filters after payload reduction
- Widen subscription price typing for schedules
- Use production templates schema with correct tenant_id
- Bind tenant ids as integers for templates
- Align template loader tenant types
- Use text tenant ids for usage queries
- Return event ids as text for availability counts
- …and 2 more changes.
Admin console
Features
- Catalog, users, and events — Restore full filters section on catalogue items page
- Access and billing — Refactor security page to use shadcn table
- Access and billing — Refactor security page to shadcn table with inline edit, env select, copy/revoke
Bug fixes
- Handle Aurora auto-pause resume gracefully
Admin console
Features
- Access and billing — Redesign register flow UI
- Access and billing — Register flow - viewport-fit, login-consistent, mobile-first
- Access and billing — Remove @aws-sdk/client-ses, move @types/nodemailer to devDependencies
- Access and billing — Add inline name editing and editable environment dropdown to SecurityClient
- Access and billing — Add PATCH /api/security/update-client route
- Access and billing — Wire handleInvite to POST /api/team/invite with error/loading state
- Access and billing — Add POST /api/team/invite route
- Access and billing — Wire ContextClient create form to POST /api/context/create
- Reliability and CI — Add nodemailer to serverExternalPackages to fix ESM bundling
- Platform foundation — Update favicon to NSL logo
- Platform foundation — Update favicon to white NSL logo
- Platform foundation — Table layout instead of cards, Linear/shadcn style
- Analytics and reporting — Dashboard API route for period-based usage data
- Catalog, users, and events — Rewrite catalogue-ingest page with ingest method cards
- Catalog, users, and events — Stats row, event type filter pills, clean table with shadcn
- Add POST /api/context/create route
- Read files before modifying, never assume contents
- Vercel integration — Linear/Vercel/shadcn aesthetic: clean table, stat bar, mono IDs, badge for model
- Vercel integration — Clean Linear/Vercel style, proper nsl CSS vars, shadcn invoice table
Bug fixes
- Remove header copy, drop all-caps, fix step indicator, fix verify code pattern
- Switch email from SES to Mailtrap SMTP via nodemailer
- Wrap Stripe calls in try/catch to return JSON errors
- Safe JSON error handling, adaptive layout, clear errors on step change
- Cast payload fields to string to satisfy TypeScript
- Handle already-succeeded PaymentIntent gracefully instead of showing error
- Wrap complete route in try/catch to surface actual errors
- Handle boolean params in toParam (boolean columns were cast to text)
- …and 10 more changes.
Admin console
Features
- Vercel integration — Add Vercel/Linear theme, switch to Geist font, sharpen active states
- Access and billing — Add NextAuth.js Cognito authentication
- Access and billing — Add NextAuth credentials auth via RDS Data API
- Access and billing — Wire real session/DB data into sidebar, topbar, dashboard, profile, team, billing
- Access and billing — Wire real data into analytics, security/API keys, and dashboard chart
- Access and billing — Build NSL signup and Stripe billing flow
- Catalog, users, and events — Wire real DB data into context, training-jobs, events, explore, users, settings pages
- Catalog, users, and events — Add user and item detail slide-over panels with event history tabs
- Analytics and reporting — Full analytics port: time toolbar, KPI cards, dynamic widget builder, drilldown filters
- Analytics and reporting — Full analytics rebuild: metric cards, multi-metric charts, saved views, draggable grid, Sankey funnel, KPI tiles
Bug fixes
- Revert “feat: add NextAuth.js Cognito authentication”
- Normalise PHP $2y$ bcrypt prefix to $2b$ for bcryptjs compatibility
- Use numeric teamId for embeddings tenant_id, fix entity_type casing (Item/User)
- Embeddings tenant_id is text type, use stringValue not longValue
- Panel portals for overflow-hidden clip, tab indicator color, mobile table improvements
- Use tenant_id (not team_id) for user_events queries, order by created_at

