v1.0 發布:SSR i18n 全清掃 + EDGAR S-1 自動發現 + 發布就緒聚合
首頁 SSR 文案全 locale(覆蓋 SEO + aria + section + thead + footer);新增 EDGAR 全文搜尋發現待提交 S-1;一個 /api/admin/release-readiness 端點聚合 env_checks + 資料健康 + 審計 + 待定漂移,作為發布 go/no-go 單視圖。
每次股票池增刪改、報告編輯、基本面自動同步 — 都在這裡。Anchored 經得起檢驗的核心承諾。
先看方法論 → 📡 Subscribe (Atom) →首頁 SSR 文案全 locale(覆蓋 SEO + aria + section + thead + footer);新增 EDGAR 全文搜尋發現待提交 S-1;一個 /api/admin/release-readiness 端點聚合 env_checks + 資料健康 + 審計 + 待定漂移,作為發布 go/no-go 單視圖。
_localize_home_html(html, locale) 在 SSR 階段把 80 串硬編碼 zh-CN 替換為 4 locale 對應版本;覆蓋 SEO meta / aria-label / hero / 表頭 / 篩選 / footer 全部靜態文案;爬蟲與首屏不再看到中文。
/stocks/:ticker SSR + /api/stocks/:ticker/chart 都走 content-based 語言檢測(不再信 stored locale),命中即調 translate_event_headline_cached 寫 DB cache;海外用戶首次訪問觸發翻譯,二次訪問 88ms cache 命中。
≤5% 漂移自動 INSERT/UPDATE stock_fundamentals(status='applied' / decided_by='auto'),大漂移留 admin 拍板,新 daily cron 解審計 #8 積壓;analytics_events 表 + 21 個白名單事件 + admin funnel 30d 計數 + 3 關鍵轉化率。
搜尋框現在覆蓋 8007 家 SEC 上市公司,池外標「未追蹤」。新 /changelog?kind=product 展示歷次產品更新。Research tier 可在 /account 查看 API 呼叫統計。
登入後首次訪問會彈「生成你的第一份 AI Brief」;Pro+ 用戶第 3 次訪問彈推送訂閱 toast;hero 價格隨 currency 切換;mobile 搜尋改 🔍 icon 彈覆蓋。
首頁加 6 深度主題卡片直接入口;股票詳情顯示真實 watcher 數;新 /why-anchored 與 Seeking Alpha / Motley Fool 7 維對比。
SEC EDGAR XBRL 自動回填 26/29 ticker 真實基本面(7%→90%);quote_history × events 真算歷史 score 寫 score_history 8717 行,backtest 真正可跑。
子頁面 logo 與首頁對齊;dark mode 下「免費 / ¥49 / 月 / 7 天免費試用」對比度修;新聞翻譯加 Google Translate gtx 免 key 兜底。
SSR 子頁面 locale 切換寫 cookie 跨頁持久;nav/dropdown 對比度;hero h1 改強 value-prop 不再被 AI news 覆蓋;6 chip 改行動驅動名;Claude 翻譯新聞標題。
漢堡 drawer 12 連結 + footer 7 法務全 4 locale 譯;chart event dots 渲染 bug 修;新增日 cron 自動評估非錨標的 swap 候選(參考 Serenity 選股思路)。
/account 5 通道 email/push 各開關;股票詳情 30/90/180 切換 + 事件點懸浮 tooltip + 點擊跳源;watchlist/AI 報告/portfolio 全 CSV 匯出;nav 加全站股票搜尋 autocomplete。
Initial seed from STOCK_META v68
openai: — → 88anthropic: — → 40spacex: — → 0risk: — → coreInitial seed from STOCK_META v68
openai: — → 5anthropic: — → 92spacex: — → 0risk: — → coreInitial seed from STOCK_META v68
openai: — → 90anthropic: — → 25spacex: — → 0risk: — → balancedInitial seed from STOCK_META v68
openai: — → 92anthropic: — → 0spacex: — → 0risk: — → coreInitial seed from STOCK_META v68
openai: — → 75anthropic: — → 75spacex: — → 40risk: — → coreInitial seed from STOCK_META v68
openai: — → 88anthropic: — → 10spacex: — → 0risk: — → balancedInitial seed from STOCK_META v68
openai: — → 0anthropic: — → 82spacex: — → 0risk: — → coreInitial seed from STOCK_META v68
openai: — → 85anthropic: — → 25spacex: — → 0risk: — → speculativeInitial seed from STOCK_META v68
openai: — → 65anthropic: — → 60spacex: — → 25risk: — → balancedInitial seed from STOCK_META v68
openai: — → 48anthropic: — → 45spacex: — → 15risk: — → speculativeInitial seed from STOCK_META v68
openai: — → 40anthropic: — → 40spacex: — → 20risk: — → speculativeInitial seed from STOCK_META v68
openai: — → 40anthropic: — → 40spacex: — → 20risk: — → speculativeInitial seed from STOCK_META v68
openai: — → 35anthropic: — → 35spacex: — → 15risk: — → balancedInitial seed from STOCK_META v68
openai: — → 50anthropic: — → 45spacex: — → 10risk: — → balancedInitial seed from STOCK_META v68
openai: — → 78anthropic: — → 68spacex: — → 5risk: — → balancedInitial seed from STOCK_META v68
openai: — → 60anthropic: — → 55spacex: — → 10risk: — → coreInitial seed from STOCK_META v68
openai: — → 70anthropic: — → 78spacex: — → 0risk: — → balancedInitial seed from STOCK_META v68
openai: — → 70anthropic: — → 30spacex: — → 10risk: — → balancedInitial seed from STOCK_META v68
openai: — → 65anthropic: — → 50spacex: — → 5risk: — → speculativeInitial seed from STOCK_META v68
openai: — → 60anthropic: — → 55spacex: — → 0risk: — → speculativeInitial seed from STOCK_META v68
openai: — → 55anthropic: — → 50spacex: — → 5risk: — → balancedInitial seed from STOCK_META v68
openai: — → 50anthropic: — → 45spacex: — → 5risk: — → speculativeInitial seed from STOCK_META v68
openai: — → 0anthropic: — → 0spacex: — → 85risk: — → eventInitial seed from STOCK_META v68
openai: — → 0anthropic: — → 0spacex: — → 70risk: — → speculativeInitial seed from STOCK_META v68
openai: — → 0anthropic: — → 0spacex: — → 55risk: — → eventInitial seed from STOCK_META v68
openai: — → 70anthropic: — → 40spacex: — → 5risk: — → balancedInitial seed from STOCK_META v68
openai: — → 80anthropic: — → 35spacex: — → 5risk: — → speculativeInitial seed from STOCK_META v68
openai: — → 50anthropic: — → 55spacex: — → 30risk: — → balancedInitial seed from STOCK_META v68
openai: — → 5anthropic: — → 0spacex: — → 60risk: — → speculativeInitial seed from DEEP_REPORT_TOPICS v70
icon: — → ◆tier: — → proInitial seed from DEEP_REPORT_TOPICS v70
icon: — → ◇tier: — → proInitial seed from DEEP_REPORT_TOPICS v70
icon: — → ▲tier: — → proInitial seed from DEEP_REPORT_TOPICS v70
icon: — → ■tier: — → proInitial seed from DEEP_REPORT_TOPICS v70
icon: — → ★tier: — → research