Skip to content

Changelog

High-level milestones in the HUPH project, reverse chronological. This is not a per-commit log — for that, use git log. For design decisions, see specs in docs/superpowers/specs/.

2026-04-09 — Documentation revamp Pass 1

  • Full bilingual MkDocs Material site (ID + EN via mkdocs-static-i18n)
  • 8 operator pages, 2 stakeholder lifts, 1 content-team stub, 5 dev onboarding + 5 dev architecture + 4 new dev ops pages + 3 lifted runbooks, bilingual glossary + this changelog
  • 9 stale root markdown files archived to docs/archive/root-legacy/
  • docs/discovery/ archived
  • Spec: docs/superpowers/specs/2026-04-09-documentation-revamp-design.md
  • Plan: docs/superpowers/plans/2026-04-09-documentation-revamp.md

2026-04-09 — API HTTP Auth middleware (Phase 0)

  • Defense-in-depth HTTP auth for Express API in apps/api
  • Layer 1: HMAC internal secret (constant-time verify)
  • Layer 2: NextAuth JWE forwarding via X-Forwarded-Session
  • Layer 3 (webhook HMAC): DEFERRED — current 360dialog tier does not expose an App Secret
  • 3-mode middleware: disabled | warn | enforce, env-flip rollback in sub-30 s
  • 21 admin proxy routes migrated to serverFetch helper
  • PR #3 (open as of 2026-04-09, not yet merged)
  • Spec: 2026-04-09-api-http-auth-design.md

2026-04-09 — Counselor Dashboard (Phase 1.6)

  • Per-counselor queue view with scoped lead + conversation access
  • KPIs (conversion rate, response time, contacted count)
  • Merged via PR #2
  • Spec: 2026-04-08-counselor-dashboard-design.md

2026-04-08 — RBAC Phase 1.5

  • Cluster-based access control on admin endpoints
  • marketing_counselor with cluster_id=X sees only cluster X
  • marketing_staff + marketing_admin are global
  • Applied at admin proxy + Prisma route layer
  • Spec: 2026-04-08-rbac-phase15-design.md

2026-04-08 — Escalation Routing Phase 1

  • conversations.cluster_id propagation via trigger from leads
  • Notification fan-out with 2 kinds: escalation + notify
  • Cluster-scoped Socket.io rooms (cluster:<id>) receive events
  • Global recipients bootstrapped: marketing_admin + marketing_staff
  • Spec: 2026-04-08-escalation-routing-phase1-design.md

2026-04-08 — Team Ownership

  • Hybrid-lite cluster ownership model: program_match (fluid) → register_intent (locks) → manual (always wins)
  • Cluster resolver with exact + prefix program match
  • Admin reassign UI with ConfirmDialog
  • Backfill: 25 of 28 existing leads matched; 3 legacy rows kept NULL
  • Spec: 2026-04-08-team-ownership-design.md

2026-04-08 — Realtime Socket.io + channel cleanup

  • Replaced deprecated SSE with Socket.io substrate in API server
  • Single pg_notify LISTEN bridge → Socket.io rooms
  • 5 DB trigger functions (message, conversation, lead, notification, followup)
  • Enterprise shell fix (h-screen overflow-hidden, not min-h-screen)
  • Telegram + Web channels deleted — WhatsApp only going forward
  • Apr 8 ClickHouse OOM fix (memory cap + log disable)
  • Timezone WIB trigger bug fix (AT TIME ZONE 'UTC' in all triggers)
  • 148 commits over Apr 7-8 sessions
  • Spec: 2026-04-07-realtime-socketio-design.md

2026-04-07 — Lead Capture Phase 2A + Analytics Phase 2B.1

  • 4-tier hybrid contact extractor (regex Layer 1 + Claude Haiku Layer 2)
  • State machine for multi-turn slot filling (6h TTL)
  • leadStore.upsert atomic with inline status recompute
  • /admin/leads-v2 with filter chips + 30s polling
  • 11 backend analytics endpoints + /admin/analytics-v2 with 13 chart components
  • Spec: 2026-04-07-intent-routing-phase2a-design.md

2026-04-07 — Intent Router Phase 1

  • 4-tier classifier: deterministic regex → keyword heuristic → Claude Haiku → default
  • 10 seeded intent handlers (wantRegister, sharePersonalInfo, wantVisitCampus, etc.)
  • Escalation rules engine with 3 seeded rules
  • Spec: 2026-04-07-intent-routing-design.md

2026-03-27 — KB Phase 1-3 complete

  • Full KB system: Milvus + Langfuse + Dify integration
  • 308+ pages crawled from uph.edu
  • Eval jump: 26% → 74% → 95.2% via dataset fix + faculty content + prompt tuning
  • Hybrid search (dense + sparse) with reranking
  • Memory: project_kb_phase3_complete, project_eval_baseline

2026-03-21 — Enterprise Admin Redesign (Phases 0-9)

  • Full redesign of apps/admin using shadcn/ui (new-york style)
  • Recharts for analytics
  • Inter font, primary UPH blue scale design tokens
  • Split-pane Conversations, tabbed Leads/Analytics
  • SSE-based realtime (later replaced by Socket.io in Apr 8)
  • Spec: 2026-03-21-enterprise-admin-redesign-design.md

2026-03-18 — Phase 1 Foundation complete

  • Initial repo + DNS setup
  • Infrastructure services (Postgres, Redis, Qdrant, Phoenix)
  • API skeleton (Node.js + Express)
  • RAG skeleton (Python + FastAPI)
  • SSL certificates + auto-renewal
  • Docker + docker-compose infrastructure

See also: - Per-commit history: git log --oneline - Design specs: docs/superpowers/specs/ - Implementation plans: docs/superpowers/plans/ - Memory records: /home/valid/.claude/projects/-opt-huph/memory/