AppRoute.miniAppOpen(id:) · MiniAppRuntimeView
Clean-room 量化 Mini App 运行容器
将 manifest、package、账户/环境存储隔离、session、bridge grant、网络策略和撤销做成可观察生命周期
AppRoute.miniAppOpen(id:) · MiniAppRuntimeViewmatrix-quant-im-ios对照 CURRENT · quant-miniapp-runtime →Clean-room 量化 Mini App 运行容器 · 研究证据级页面任务包
把 package、账户/环境存储隔离、session、bridge grant、network policy 与 revoke 组成可观察生命周期。
Features/MiniApps/Presentation/MiniAppRuntimeView.swift
GAP-MAP-001–010 · local host
host-sandbox · K14
通过 Mini App detail launch preflight。
只在全部 Gate 通过后启动;关闭/revoke 后清理 session、storage handle 与 bridge。
Launch request → verifier → isolated namespace → bridge/network grant → runtime → revoke receipt。
宿主关闭/返回、加载、错误、权限确认不可被 Web 内容遮挡;44pt 触控目标。
miniapp_launch_stage · bridge_deny · session_revoke;URL、payload、token 和用户存储脱敏。
- matrix-quant-im-ios main 与 origin/main 均为 631176e;Release 的 Quant、Social、MiniApp 与 Commerce repository 明确返回 unavailable,只有 Debug 可显式使用 fixture。
- iOS 当前有 186 个 Swift 文件、66 个 Features Swift 文件、38 个 View struct、31 个命名测试文件、24 个 AppRoute 与 1 个 Gitea workflow;这些是源码覆盖,不是 App Store 发布证明。
- EC2 未发现 quant/backtest/matrixantai 服务、容器、vhost 或 8141/8200–8205 listener;现有 im-core/Auth/日志健康不能替代 Quant 后端部署证据。
- matrixantai-sim main 与 origin/main 均为 69b87bf;当前是单页 HTML/Canvas/ESM bundle,读取 4 个 BTC/ETH CoinGecko NDJSON slice manifest 并在设备内调用 runOnBars()。
- legacy MiniApp descriptor 与 32,491-byte bundle 存在,但 package signature、Quant clean-room manifest、origin/network allowlist 与生产发布均未证明。
- 资讯在无 IM_SYNC live 配置时回退 NEWS 演示占位;回退内容不能画成实时资讯或 proof-of-news 已接通。
- 画布中的 PACKAGE VERIFIED/4 grants 只是目标 anatomy;当前包尚未重签为 Quant clean-room manifest。
- plain fetch、origin、network、bridge 与 account/environment storage isolation 需要 deny-by-default 运行证据。
- 恶意包、zip-slip、未知 bridge、重复消息、超时、崩溃与 revoke 需故障注入。
九态改变当前页面的证据、许可、数据、水位、包或回执区域,不用通用遮罩冒充真实完成
MiniAppSession
R13-APP-RUNTIME-READY→ 查看运行证据MiniAppSession skeleton
R13-APP-RUNTIME-LOADING→ 取消或保持当前证据query result / next step
R13-APP-RUNTIME-EMPTY→ 调整范围或返回failed region only
R13-APP-RUNTIME-PARTIAL→ 只重试失败区域safe diagnostic
R13-APP-RUNTIME-ERROR→ 重新读取cached evidence
R13-APP-RUNTIME-OFFLINE→ 查看离线证据authorization decision
R13-APP-RUNTIME-FORBIDDEN→ 返回安全页面native confirmation
R13-APP-RUNTIME-CONFIRM→ 确认或取消receipt / next step
R13-APP-RUNTIME-SUCCESS→ 查看回执与下一步target-quant-miniapp-runtimeIMPLEMENTATION MAP
目标定义与下一轮逐页细化入口
当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。
页面区域
- 宿主控制
- 小程序画布
- 输入/结果
- 运行证据抽屉
- 包/隔离状态
- capability grant
- 关闭/撤销
用户动作
- 返回/关闭
- 运行本地模拟
- 查看结果 hash
- 授权/拒绝能力
- 撤销 session
- 清缓存
- 复制诊断
必须状态
- 研究上下文已就绪
- 研究证据核对
- 当前范围为空
- 部分数据或投影失败
- 页面读取失败
- 离线证据只读
- 许可或权益拒绝
- 模拟运行确认
- 命令回执已完成
数据契约
- MiniAppManifest
- PackageVerification
- StorageNamespace
- MiniAppSession
- BridgeEnvelope
- CapabilityGrant
- RuntimeDiagnostic
TARGET MODULES
目标页面必须交付的模块
- 01宿主胶囊
- 02catalog/manifest
- 03package digest
- 04storage isolation
- 05runtime canvas
- 06bridge grants
- 07network policy
- 08session revoke
PRODUCT ROUTE INDEX
Matrix Quant · Research 的 28 个稳定 Screen ID
同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。
RootTab.home · QuantSocialFeedViewRootTab.strategies · StrategyMarketViewRootTab.runtime · QuantRuntimeHomeViewRootTab.miniApps · MiniAppCatalogViewRootTab.messages · MessagingHomeViewAppRoute.strategy(id:) · StrategyDetailViewAppRoute.strategyVersion · StrategyVersionDetailViewAppRoute.backtestCreate · BacktestComposerViewAppRoute.run(id:) · RunDetailViewAppRoute.signal(id:) · SignalDetailViewAppRoute.miniApp(id:) · MiniAppDetailViewAppRoute.miniAppOpen(id:) · MiniAppRuntimeViewAppRoute.contacts · PeopleHubViewAppRoute.profile(userID:) · IdentityViewRootTab.home · QuantSocialFeedViewRootTab.strategies · StrategyMarketViewRootTab.runtime · QuantRuntimeHomeViewRootTab.miniApps · MiniAppCatalogViewRootTab.messages · MessagingHomeViewAppRoute.strategy(id:) · StrategyDetailViewAppRoute.strategyVersion · StrategyVersionDetailViewAppRoute.backtestCreate · BacktestComposerViewAppRoute.run(id:) · RunDetailViewAppRoute.signal(id:) · SignalDetailViewAppRoute.miniApp(id:) · MiniAppDetailViewAppRoute.miniAppOpen(id:) · MiniAppRuntimeViewAppRoute.contacts · PeopleHubViewAppRoute.profile(userID:) · IdentityView