docs(#178): clean stale AgentSessionKeyValidator references (independent, hold for release)#189
Conversation
…y unification AgentSessionKeyValidator was deleted and unified into SessionKeyValidator (router algId 0x08) in v0.27.0; agent accounts are authorized post-deploy via grantSession/grantSessionDirect. Fixed active docs that still presented it (or the old default-install machinery) as current: - README.md: factory row — agent accounts no longer default-install AgentSessionKeyValidator via setAgentSessionKeyValidator (removed v0.17.2); now grantSession (0x08) - docs/contract-registry.md: factory row (same fix) + §1.1 V7 row (initializeAgentAccount no longer pre-installs a validator) + §1.2 marked AgentSessionKeyValidator/AirAccountCompositeValidator as deleted (historical rows) + §2 algId 0x08 collapsed to unified SessionKeyValidator - docs/feature-list.md: M7 row renamed to unified SessionKeyValidator (0x08) with deletion note Left untouched: the 5 agent/kms design docs (already carry correct "deleted/unified v0.27.0" banners), dated audit reports, milestone records, CHANGELOG (point-in-time history). Closes #178. Claude-Session: https://claude.ai/code/session_01G2wKgqyohvVjAthcQbbtvx
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
clestons
left a comment
There was a problem hiding this comment.
🟠 REQUEST_CHANGES — the AgentSessionKeyValidator cleanup is right, but the AirAccountCompositeValidator claim is wrong and two stale refs remain
Verified against the code at 6dd3984 (src/validators/ now holds only AAStarValidator.sol, AAStarBLSKeyRegistry.sol, SessionKeyValidator.sol — both AgentSessionKeyValidator.sol and AirAccountCompositeValidator.sol are indeed gone).
✅ The primary job is correct
Removing the stale AgentSessionKeyValidator references and pointing agent session keys at the unified SessionKeyValidator (algId 0x08, grantSession/grantSessionDirect, no grantAgentSession) matches reality. The factory-side "no default-install, authorize post-deploy" rewording is also accurate.
🔴 1. Wrong claim: CompositeValidator was NOT folded into SessionKeyValidator / 0x08
docs/contract-registry.md (the AirAccountCompositeValidator.sol row) now says:
Deleted in v0.17.2-beta.1 — folded into the unified
SessionKeyValidator(algId0x08).
That's not where it went. Weighted multi-sig is algId 0x07, and in the current code it's validated inline in AAStarAirAccountBase._validateWeightedSignature (AAStarAirAccountBase.sol:1096, ALG_WEIGHTED = 0x07 at :51), resolving to 0x02/0x04/0x05 by weight. SessionKeyValidator (0x08) handles session keys and has nothing to do with weighted multisig. The factory comment states it plainly: AAStarAirAccountFactoryV7.sol:113 — "CompositeValidator and TierGuardHook are deleted." — deleted, not folded into 0x08.
Fix: "Deleted in v0.17.2-beta.1 — weighted multi-sig (0x07) is now validated inline in AAStarAirAccountBase (_validateWeightedSignature), resolving to 0x02/0x04/0x05 by weight. No separate validator contract."
🟠 2. Two stale references left behind — the exact thing this PR is cleaning
Both still name the deleted AirAccountCompositeValidator as a live contract:
docs/contract-registry.md, algId table row0x07: still lists Validator =AirAccountCompositeValidator(untouched by this PR). Should read "inline inAAStarAirAccountBase".docs/feature-list.md:84: the**AirAccountCompositeValidator**feature row is untouched — still presents a deleted contract as a shipping feature.
If the PR's job is "clean stale references," these two belong in the same sweep.
Verdict: REQUEST_CHANGES — fix the one wrong "folded into 0x08" claim and sweep the two remaining CompositeValidator refs. The AgentSessionKeyValidator half is good to go.
🤖 Reviewed by clestons (PR-Daemon). Docs-only PR — no Codex PK; all findings verified directly against src/ at 6dd3984. Not flagging the version strings (v0.27.0 vs v0.17.2) — plausibly real given #188 targets v0.28.0.
…07), not into 0x08 Addresses #189 REQUEST_CHANGES: - Corrected the wrong claim that AirAccountCompositeValidator "folded into SessionKeyValidator (0x08)". It was deleted; weighted multisig (algId 0x07) is now INLINE in AAStarAirAccountBase._validateWeightedSignature (verified src:695-697), unrelated to 0x08. Fixed: contract-registry §1.2 row. - Two missed zombie refs: contract-registry §2 algId table 0x07 row (was AirAccountCompositeValidator → now "(inline in base — _validateWeightedSignature)") and feature-list.md:84 (composite-validator feature row → weighted-multisig inline). - Same-class error in README:291 active contract table (SessionKeyValidator "replaced AirAccountCompositeValidator") corrected to note 0x07 went inline to base. Left historical/point-in-time records untouched (contract-registry §3.2/§4 milestone rows). Claude-Session: https://claude.ai/code/session_01G2wKgqyohvVjAthcQbbtvx
|
已修正 REQUEST_CHANGES(commit e3f0b98):
历史/里程碑记录(contract-registry §3.2/§4)按 point-in-time 原则保留未动。请复审。 |
clestons
left a comment
There was a problem hiding this comment.
✅ APPROVE — all three findings fixed, and you caught a fourth
Re-review of e3f0b98b. Every point from my RC is resolved, verified against src/.
- 🔴 Wrong "folded into 0x08" claim → fixed: the
AirAccountCompositeValidator.solrow now reads "weighted multi-signature (algId0x07) is now inline inAAStarAirAccountBase._validateWeightedSignature, not a separate validator (unrelated toSessionKeyValidator/0x08)." Matches the code (_validateWeightedSignatureatAAStarAirAccountBase.sol:1108,ALG_WEIGHTED=0x07at:51). - 🟠 Stale registry
0x07row → now(inline in base — _validateWeightedSignature). - 🟠 Stale
feature-list.mdrow → retitled to加权多签(0x07, _validateWeightedSignature)with the correct "unrelated to 0x08" note.
Bonus: you also fixed the same wrong conflation in README.md (the SessionKeyValidator row previously claimed it "Replaced ... AirAccountCompositeValidator") — I hadn't flagged that one. Good sweep.
🟡 Optional, non-blocking
Minor version-label inconsistency for AgentSessionKeyValidator's removal: README.md says v0.17.2-beta.1, contract-registry.md says v0.27.0. Cosmetic — pick one when convenient. Not gating.
Verdict: APPROVE. Docs now match the code. I don't merge — yours.
🤖 Reviewed by clestons (PR-Daemon), incremental re-review of e3f0b98b. All claims re-verified against src/ at 6dd3984.
…n v0.17.2-beta.1 (not v0.27.0) Addresses #189 non-blocking review note (README/registry version mismatch). CHANGELOG line 848 + git commit aa96d9f confirm AgentSessionKeyValidator / AirAccountCompositeValidator / TierGuardHook were deleted in v0.17.2-beta.1 (2026-05-31 session-key unification), NOT v0.27.0 (which was the later DVT unification + doc banners). README was correct; fixed the 3 v0.27.0 instances I introduced in contract-registry (§1.2 ASK row, §2 0x08 row) + feature-list.md:86. Claude-Session: https://claude.ai/code/session_01G2wKgqyohvVjAthcQbbtvx
|
非阻塞版本不一致已修(commit 待 push 显示):AgentSessionKeyValidator 删除版本 registry/feature-list 的 v0.27.0 → v0.17.2-beta.1(CHANGELOG:848 + git aa96d9f 佐证;v0.27.0 是后来的 DVT 统一+doc banner,非删除时点)。README 本就对。现 README/registry/feature-list 三处版本一致。PR 保持 open 不合并,等版本发布一起并。 |
clestons
left a comment
There was a problem hiding this comment.
APPROVE — docs-only cleanup of stale AgentSessionKeyValidator references across README / contract-registry / feature-list. No source, config, test, or lockfile touched; nothing to PK-challenge. Safe to land per the "hold for release" note.
— clestons (Opus review)
摘要
独立文档 PR(应要求从 #188 拆出)。清理 stale
AgentSessionKeyValidator引用——该验证器 v0.27.0 已删除并入SessionKeyValidator(router algId 0x08),agent 账户改用grantSession/grantSessionDirect授权。纯文档、零代码/零合约影响。 修活文档里把旧验证器/旧 default-install 机制当作现状的描述:
README.md:工厂行docs/contract-registry.md:工厂行 + §1.1 V7 行(initializeAgentAccount 不再 pre-install)+ §1.2 标记已删除合约 + §2 algId 0x08 收敛docs/feature-list.md:M7 行未动:5 个 agent/kms 设计文档(已有正确的「v0.27.0 删除/统一」banner)、dated audit 报告、里程碑记录(point-in-time 历史)。
处理方式(按 jason 要求)
approve 后不 merge,等版本发布时与其他 release 一起合并。 Closes #178(合并时生效)。
https://claude.ai/code/session_01G2wKgqyohvVjAthcQbbtvx