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
serverFetchhelper - 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_counselorwithcluster_id=Xsees only cluster Xmarketing_staff+marketing_adminare 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_idpropagation 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_notifyLISTEN bridge → Socket.io rooms - 5 DB trigger functions (message, conversation, lead, notification, followup)
- Enterprise shell fix (
h-screen overflow-hidden, notmin-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.upsertatomic with inline status recompute/admin/leads-v2with filter chips + 30s polling- 11 backend analytics endpoints +
/admin/analytics-v2with 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/adminusing 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/