What's deprecated
The old product — PulseAd Portal (retired)
Section titled “The old product — PulseAd Portal (retired)”The entire Portal generation is deprecated. It was the Tableau-dashboard product that the agentic product (Pulsy → Pulson) replaced.
| Surface | What it was | Deprecated since | Use instead |
|---|---|---|---|
portal (SPA) | The original Auth0 SPA + Tableau dashboards on S3/CloudFront. | Effectively retired after 2025-07-09 (last feature commit). | The Pulson app (pulsy-frontend). |
portal-frontend (“portal-next”) | The Next.js rewrite of the Portal SPA. | Frozen 2025-11-21 (last commit). | The Pulson app (pulsy-frontend). |
portal-api v1 routers (tableau, amazon_auth, service_user) | First-gen API endpoints. | Superseded by their _v2 counterparts after the 2025-07-02 v2 cutover. | The _v2 routers (while portal-api lasts). |
Deprecated within the current product
Section titled “Deprecated within the current product”The new product also has superseded surfaces. These are frozen or replaced even though the product around them is live.
| Surface | What it was | Deprecated since | Use instead |
|---|---|---|---|
PSM chat — psm_chatbot.py, /pulsy/chats | The original (2025-06) chat engine, branded “Pulsy chat.” | Frozen 2026-05-26 ([LEGACY / FROZEN — 신규 작업 금지]). | Action chat — action_chatbot.py, /pulsy/action-chats (the sole live chat path). |
data_semanticview — manual semantic layer | The hand-built Cortex Agent + 6 semantic views (v1). | Superseded through 2026-04 (last commit 2026-04-23). | snowflake-semantic-agent — the automated refresh runtime (v2). See data model. |
semantic-view-refresh shared runtime | The earlier shared refresh runtime inside snowflake-semantic-agent. | Kept only as a deprecated fallback, pending a formal retirement checklist. | The per-action AgentCore execution-plane runtime. |
list_scopes_for_brand (memory scope) | A memory-scope helper. | @deprecated 2026-05-27. | The team+country scope resolution from the “Pulson renewal.” |
save_user_connection_profile_postgresql | An account-connection write path. | @deprecated (no production callers), 2026-05. | Current account-connection repository methods. |
Report generate-batch endpoint | A batch report-generation endpoint. | Deprecated 2026-06-11 (plan 026). | The current report generation flow. |
aop-hermes growth-cell skills + rebalance-v2 script | Early operator skills/scripts. | Superseded by aop-tools (2026-06). | The aop-tools catalogs. |
Naming that signals “old”
Section titled “Naming that signals “old””These names mean you’re looking at an earlier generation:
- “Portal” — the old product. (
portal,portal-api,portal-frontend.) - “PSM” / “Pulsy Smart Manager” /
/pulsy/chats— the frozen chat engine. - “Pulsy” as a product brand — the pre-rebrand name; still valid in code, repo
names, and the
PULSYSnowflake schema, but the current brand is Pulson.
A name being old doesn’t always mean the code is gone — psm_chatbot.py is frozen
but still wired (the Pulson agent wrapper can call it), and portal-api lingers.
“Deprecated” here means don’t build on it, not necessarily “already deleted.”