Avant Exec仪表板V2
这个存储库是下一代Avant操作系统的全新引导。
回购名称是历史名称。当前活跃的产品方向是 MCP优先,而不是仪表板第一。 此回购的主要目的是公开策略真相、实时监控、变化检测, 通过Avant可以插入的本地MCP服务器跟踪和缩小批准的写入工作流 日常药剂使用。CLI仍然是次要的调试和兼容性界面。任何未来的仪表板 在相同的MCP和语义契约之上应该是一个薄壳。
目标是在围绕更清晰的边界重建产品的同时,保持当前工具中来之不易的业务不变性:
evidence:具有来源的原始源有效载荷canonical:规范化事实semantic:签署每日指标和实时覆盖serve:面向MCP和面向API的合同explain:每个指标的可追溯性
产品意图现在存在于:
docs/strategy-os-prd.md:操作员工作流、产品对象和阶段结果plan.md:工程策略、阶段、护栏和建造顺序docs/architecture-v2.md:运行时层边界
什么被重复使用
- 参考文档位于
reference/current/docs/. - 选定的策略配置在下面
config/. - 隔离的遗留协议代码存在
legacy_reuse/.
这些副本是参考资料。它们不是活跃的架构。
什么是活动
- 新运行时包:
src/avant_v2/ - MCP表面:
src/avant_v2/mcp/ - 新模式和迁移:
src/avant_v2/db/,alembic/ - 引导不变量的新测试:
tests/
Bootstrap状态
这个仓库有意以窄的垂直切片开始:
wallet_balances.ethereum固定稳定币持久性和可追溯性wallet_balances.ethereum固定稳定币子集的实时RPC审计路径aave_v3.ethereum钉住USDe/sUSDe带有手动Ethena奖励覆盖的证明片- 库存驱动的实时
aave_v3avUSD通过每个链的配置Aave预言机对活动审查链中的策略敞口行进行估值 - 审阅
config/aave_strategy_inventory.yaml涵盖配置的Aave家族/链桶以及跨链的候选业务风险 - 审阅
config/morpho_strategy_inventory.yaml覆盖配置钱包中的Morpho Blue家族/链桶 - 跨配置链的实时Morpho Blue证据,尽最大努力实现部分链行为
- 库存驱动的实时Morpho策略曝光和通过MCP和CLI调试镜像曝光的本地市场行
- 签署了Aave和Morpho切片的每日策略数学,并在活动路径上进行了绿色审查的夹具回归覆盖
- 在
signed_off_strategy_metrics - 在MCP读取/问题界面和批准的写入预览/应用工具上打破响应包络展开
explain_performance用于Aave、Morpho和Pendle的MCP工具通过以下方式签署了卷起窗口和曝光级别窗口exposure_slug- 持续的现场市场历史
market_facts以及生命周期支持的风险状态risk_violations - 第一
detect_constraint_violationsMCP工具涵盖扭结、价差压缩、流动性和借款尖峰检查,具有主动、接近阈值、最近解决和阻塞的输出 avant-v2 run-risk-monitorCLI作业,用于每小时进行外部调度,并使用回购跟踪的风险警报记录,用于关键打开、关键解决和阻止评估- 针对已配置的市场和钱包,通过MCP公开Pendle PT/YT敞口行和Pendle市场背景
get_pt_portfolio_truth将直接持有的Pendle PT/YT与Morpho PT抵押品敞口相结合的支持面- 从ERC-20传输日志中自动恢复直接PT采集时间戳,并保留
position_fixed_yield_cache单位置固定产量重构复用 - 首次审核已签字的Pendle/PT支持真相
pendle:avUSD:ethereum暴露通过get_pendle_signed_off,preview_signed_off_decision,apply_signed_off_decision,以及serve-pendle-signed-off - 审阅
config/pendle_strategy_inventory.yaml涵盖了Pendle战略的第一个通用暴露范围avUSD:ethereum - 第一个通用的Pendle策略曝光桥
pendle:avUSD:ethereum,直接PT作为添加剂fixed_income仅将YT作为监视器yield_tranche排 - 通用Pendle参与审查的库存、通用实时风险敞口、通用已签核风险敞口和第一个审查范围的通用比较/变更工具
- 实时指标叠加合约
- 可解释性合同
- stdio MCP服务器,具有协议覆盖、通用和协议特定的实时Aave、Morpho和Pendle工具、已签署的Aave、Murpho和Pendle表面、PT组合真相、跟踪查找、协议感知批准的写入预览/应用以及任务形状的更改检测
尽管第一批已签署的战略切片现在已被审查的夹具案例所证明,但持有人的情报仍被故意推迟。下一个深度步骤是更丰富的Pendle固定收益语义和协议深度,而不是持有者归属。
当前差距与PRD
- 风险监控已部分构建:CLI作业和回购跟踪的警报发件箱现在存在,但调度仍然是外部的,目前还没有Slack/webhook交付或浓度/预言机/上限检查
borrow_spike取决于累积的市场历史,因此在存在足够的持续观察之前,对新范围的早期运行可能是局部的- 更广泛的执行归因仍被推迟:
execution_drag和idle_cash_drag是中的显式零占位符explain_performance直到第3阶段钱包操作数据存在 - Pendle/PT实时投资组合真相现在是为直接持有的Pendle PT/YT和Morpho PT抵押品构建的,Pendle现在首次参与了通用的审查库存/实时/签字/变更/归因堆栈
avUSD:ethereumPT建模为fixed_incomeYT作为yield_tranche除了第一个PT/YT桥接、LP/SY/交叉PT覆盖、风险整合和机会扫描工作流程之外,更广泛的Pendle语义仍然被推迟 - 实时Pendle/PT真相现在变得更加困难:直接PT余额被标准化,原始金额被保留以供审计,直接PT采集元数据可以在EVM链上自动恢复,重建的固定收益率被缓存以供重用
- 直接通知传递仍然被推迟,但目前已签署的信任+信封+归因门现在足以开始明确的协议深度工作
执行说明
当前重启切片的最新决定:
- 在扩大范围之前恢复已签署的信任
- 在进一步扩展适配器之前,在MCP读取/问题表面上发送中断响应信封
- 将已签署的指标持久化到现有的语义表中,而不是添加新的归因表
- 船
explain_performance作为Aave在汇总范围内每日指标的第一部分 - 将所有四个已配置的风险规则系列放入第一个监控切片中,而不是推迟
borrow_spike - 现在坚持实时市场历史,因为
borrow_spike需要跟踪观测 - 在一个第一MCP界面中返回活动和最近解决的风险项目,而不是拆分生命周期视图
- 现在完成突变预览/应用工具上的突破性响应包络部署,而不是携带分割的MCP合约
- 在此切片中保持突变失败行为不变,仅对成功的顶级响应契约进行标准化
- 通过一流的CLI作业和回购跟踪的警报发件箱来操作风险,而不是添加回购内调度器
- 仅升级第一个版本中的关键打开/解决;警告和接近阈值的项目保持查询可见,但不会升级
- 在恢复方案深度之前,rebasine签署了对当前绿色Aave/Morpho回归集的信任
- 拓宽
explain_performance在添加更多协议深度之前,先查看Morpho汇总范围 - 传播显式
missing_sources/fallback_sources通过当前比较风格的MCP表面和离开fallback_sources当不存在真正的回退路径时为空 - 通过保持组件原子性、处理
customer_net_yield_daily_usd作为衍生的汇总总额而非组成部分,以及持续的残差price_mark_changes使用明确的部分标记,而不是让它不可用 - 将当前门视为显式Pendle/PT工作的实际解锁,而不是通用适配器蔓延的许可证
- 将Pendle/PT作为实时第一深度切片,以便在更广泛的已签署Pendle策略暴露语义存在之前,PT真相可用
- 将PT投资组合的真实性作为一个专用的支持面进行公开,而不是将Pendle PT/YT和Morpho PT的直接抵押品强制纳入一个特定于协议的公开视图中
- 保持更广泛的Pendle语义,如LP/SY/交叉PT处理,
explain_performance在首次审查PT支持切片后,整合、风险整合和机会哨点工作被推迟 - 在开始签署Pendle之前,加强实时PT真值路径,以便第一次审查的PT支持切片建立在归一化数量、稳定的聚合身份和可重用的固定收益元数据的基础上,而不是重新编码实时路径的粗糙边缘
- 将配置的手动PT固定APY视为权威,仅当不存在固定APY覆盖时,才使用自动采集元数据和Pendle历史记录
- 保留一个位置的PT固定产量重建元数据,以便将来的现场和已签署的Pendle工作可以重用相同的采集近似值,而不是临时重新计算
- 首先将第一个已签署的Pendle/PT切片作为协议特定的已审查PT支持面,然后只有在审查的直接PT/YT策略语义明确后,才能将Pendle桥接到通用暴露/更改堆栈中
- 要求经过审查的Pendle夹具断言精确的摘要和聚合输出,因此“签名”意味着渲染的有效负载被冻结,而不仅仅是从YAML加载
- 当两层都是诚实的时,协议应该存在于通用和特定于协议的工具中:通用用于跨协议运算符问题,特定于协议用于本地深入挖掘和支持真相
- 在第一个Pendle通用切片中,直接PT是唯一的可加Pendle行,直接YT仅用于监测,Morpho-PT侧支在通用模型中保持在Morpho之下,同时通过PT支持工具保持链接
- 直接Pendle PT应建模为
fixed_income,不lend,因为它的行为类似于对未来赎回的零息索赔,而不是基于利用率的贷款 - 直接Pendle YT应仅建模为监视器
yield_tranche,不是固定收益,也不是普通贷款 - 使Alembic迁移引导程序对此仓库的较长版本ID进行自我修复,这样升级的本地Postgres环境就不需要手动
ALTER TABLE alembic_version ...初始32字符版本表形状后的解决方法
此切片的更正:
- 切片中的直接精度策略更改是对所审查的夹具漂移的错误修复;持久的解决方案是通过纠正Morpho零携带率证据和重新冻结不一致的固定装置来恢复参考合同
- Aave发球烟雾测试有一个陈旧的四组分预期;当前审查的参考案例产生了五个组件,因此对测试进行了校正,以匹配夹具支撑的切片
market_facts独特性(as_of_ts_utc, market_key)一旦实时市场历史开始变得重要,是否存在错误的持久性身份;它被扩展到协议+链+市场身份,因此历史在共享符号中是安全的- 使用served
market_slug由于借用穗评价的历史关键是错误的;运行时现在按规范对历史借款率查找进行关键处理market_key因此,持久性和评估是一致的 - 暴露原始
Path预览突变有效载荷中的对象是错误的MCP合同;变异预览现在将目标路径规范化为包装内的字符串result - 保护老人
triggered_at重新打开违规的时间戳是操作警报的错误生命周期行为;重新打开的行现在重置triggered_at因此,新的临界开放可以与持续的临界开放区分开来 - 一旦签署的Aave/Morpho回归集为绿色,将审查的夹具漂移视为仍然活跃的回购状态就过时了;活动文档现在对已检查的路径重新设置信任,而不是携带过时的部分状态语言
- 使用原始
protocol_code因为持久的归因汇总键前缀是错误的加入契约;explain_performance现在与现有切片键匹配(aave-.../morpho-...)因此,持久的已签署指标能够正确解决 - 假设只需要捕获Pendle运行时错误的手动PT固定产量回退是错误的;当存在覆盖时,HTTP获取失败现在也会通过覆盖回退路径路由
- 未解决的直接PT行最初暗示了Pendle历史证据,即使没有解决固定的产量来源;这些行现在仍然可见,没有虚假地声称历史来源
- 按原始数据对PT投资组合聚合进行排序
(chain_code, token_symbol, token_address)元组错误,因为与Morpho链接的PT行可以具有token_address = null;聚合路径现在对null进行安全排序,因此实时PT真值曲面可以返回部分数据,而不是崩溃 - 直接暴露彭德
token_amount在原始基础单位中,实时PT真相合同是错误的;实时PT/YT行现在正常化token_amount通过配置小数,并将源数量保留为raw_token_amount - 仅通过以下方式键控Morpho PT价格联动
market_key太窄了;在将行标记为部分之前,实时PT真相路径现在通过Morpho资产标识、令牌符号和解析的PT令牌地址回退 - 即使存在手动PT固定APY覆盖,要求采集元数据也是错误的;配置的固定APY覆盖现在可以直接解析该行,而采集元数据只需要用于基于历史的重建和缓存刷新
- 将原始基本单元PT余额缓存为
position_size_native_at_refresh对于固定收益率缓存来说是错误的,因为较大的基本单位值可能会溢出持久的数字合约;缓存现在存储标准化的PT位置大小,并仅在实时PT行上保留原始钱包数量以供审计 - 依赖Alembic的默认值
alembic_version.version_num此仓库的宽度错误,因为我们的修订标识符超过了32个字符;迁移环境现在将新版本表补丁为64个字符,并在运行迁移之前自动扩展旧的Postgres版本表 - 在经过审查的Pendle YAML夹具中未列出EVM地址是错误的,因为YAML解析
0x...标量为整数;夹具现在引用钱包、市场和代币地址,因此经过审查的合约保持稳定 - 加载已审查的Pendle预期摘要和聚合值,而不断言所呈现的有效载荷是错误的;已签字的Pendle转轮现在可以在服务有效载荷之前验证精确的审查值
- 第一场Pendle比赛的总成绩与渲染的签名数学略有出入;经过审查的值现在被重新冻结为当前实施所发射的确切有效载荷
- 推导通用Pendle
weighted_supply_apy四舍五入的每日利差是错误的度量映射;通用的PT/YT行和累加汇总现在使用直接加权进位率,因此共享风险敞口合约在数字上保持诚实 - 假设Pendle的第一个通用比较/解释示例纯粹是经济变化,那么一旦估值和利差都发生了变化,这是错误的;经过审查的桥梁现在将这些案件分为
mixed_change而不是强制使用更窄的原因代码 - 迫使Pendle PT/YT直接进入现有
lend形状是错误的语义捷径;通用网桥现在将PT建模为fixed_incomeYT作为yield_tranche同时保持共享度量契约的稳定性以实现兼容性 - 对待
customer_net_yield_daily_usd因为归因组件是错误的分解,因为它与原子产量和成本驱动因素重叠;explain_performance现在只将其报告为导出的汇总总数,而组件保持不重叠
本地工作流
- 复制
.env.example到.env并设置AVANT_V2_DATABASE_URL和AVANT_V2_EVM_RPC_URLS. - 使用以下命令启动本地数据库
make db-up. - 使用以下命令运行迁移
make db-migrate. - 使用以下命令运行引导测试套件
make test. - 跑
uv run avant-v2-mcp启动本地stdio MCP服务器。 - 使用以下方式在Codex注册
codex mcp add ...如果你想在日常使用中使用代理访问。 - 使用
avant-v2 audit-wallet-balances-live,avant-v2 audit-aave-live --product-family avUSD,avant-v2 audit-morpho-live --product-family avUSD,avant-v2 audit-morpho-markets-live,avant-v2 serve-aave-signed-off YYYY-MM-DD --product-family avUSD --chain-code ethereum,avant-v2 serve-morpho-signed-off YYYY-MM-DD --product-family avUSD --chain-code arbitrum,avant-v2 serve-pendle-signed-off YYYY-MM-DD --product-family avUSD --chain-code ethereum,avant-v2 draft-aave-strategy-inventory-live,avant-v2 draft-morpho-strategy-inventory-live,以及avant-v2 run-risk-monitor --protocol-code aave_v3 --product-family avUSD --chain-code ethereum作为辅助调试/审计命令。
audit-aave-avusd-live 和 audit-aave-ethena-live 保留为旧的仅avUSD命令名的临时别名。
布局
src/avant_v2/:活动运行时src/avant_v2/mcp/:MCP第一产品表面config/:从当前工具复制的活动策略配置reference/current/:从当前工具复制文档和测试legacy_reuse/:从当前工具中隔离可重用代码docs/strategy-os-prd.md:战略操作系统的产品要求docs/archive/:被吸收到PRD中的存档阶段简报docs/architecture-v2.md:v2架构摘要
