Skip to content

docs(#178): clean stale AgentSessionKeyValidator references (independent, hold for release)#189

Merged
jhfnetboy merged 3 commits into
mainfrom
docs/cc-178-agentsessionkey-cleanup
Jul 17, 2026
Merged

docs(#178): clean stale AgentSessionKeyValidator references (independent, hold for release)#189
jhfnetboy merged 3 commits into
mainfrom
docs/cc-178-agentsessionkey-cleanup

Conversation

@jhfnetboy

Copy link
Copy Markdown
Member

摘要

独立文档 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

…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
@jhfnetboy
jhfnetboy requested a review from fanhousanbu as a code owner July 13, 2026 07:59
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@clestons clestons left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟠 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 (algId 0x08).

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 row 0x07: still lists Validator = AirAccountCompositeValidator (untouched by this PR). Should read "inline in AAStarAirAccountBase".
  • 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
@jhfnetboy

Copy link
Copy Markdown
Member Author

已修正 REQUEST_CHANGES(commit e3f0b98):

  1. 核心错误已改AirAccountCompositeValidator 不是 "folded into SessionKeyValidator (0x08)"。已核源码 AAStarAirAccountBase.sol:695-697——0x07 加权多签走 _validateWeightedSignature 内联在 Base,与 0x08 无关。改了 contract-registry §1.2 行。
  2. 两处漏扫僵尸引用已补:contract-registry §2 algId 表 0x07 行(→ (inline in base — _validateWeightedSignature))+ feature-list.md:84。
  3. 同类错误一并修:README:291 活跃合约表里 "SessionKeyValidator replaced AirAccountCompositeValidator" 也是同一混淆,已注明 0x07 走 Base 内联。

历史/里程碑记录(contract-registry §3.2/§4)按 point-in-time 原则保留未动。请复审。

@clestons clestons left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ APPROVE — all three findings fixed, and you caught a fourth

Re-review of e3f0b98b. Every point from my RC is resolved, verified against src/.

  1. 🔴 Wrong "folded into 0x08" claim → fixed: the AirAccountCompositeValidator.sol row now reads "weighted multi-signature (algId 0x07) is now inline in AAStarAirAccountBase._validateWeightedSignature, not a separate validator (unrelated to SessionKeyValidator / 0x08)." Matches the code (_validateWeightedSignature at AAStarAirAccountBase.sol:1108, ALG_WEIGHTED=0x07 at :51).
  2. 🟠 Stale registry 0x07 row → now (inline in base — _validateWeightedSignature).
  3. 🟠 Stale feature-list.md row → 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
@jhfnetboy

Copy link
Copy Markdown
Member Author

非阻塞版本不一致已修(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 clestons left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

@jhfnetboy
jhfnetboy merged commit 39e0ff6 into main Jul 17, 2026
3 checks passed
@jhfnetboy
jhfnetboy deleted the docs/cc-178-agentsessionkey-cleanup branch July 17, 2026 07:12
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: clean up stale AgentSessionKeyValidator references post session-key unification (v0.27.0)

2 participants