Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Dual-Repo Progress Report

This chapter documents the ongoing progress of applying aspect-rs methodology to two AI agent frameworks simultaneously. It serves as a living record of the RE2026 research validation.

Why Two Repositories

A single case study can demonstrate feasibility, but not generalizability. By targeting two frameworks with fundamentally different architectures, we test whether AOP patterns are truly orthogonal to design choices:

DimensionZeroClawClaw-Code-Parity
Scale130K lines, 192 files~20K lines, 8 crates
Tool abstractionPer-tool Tool traitPer-executor ToolExecutor trait
Dispatch modelIndividual tool instancesCentral match-based dispatch
Community~29K stars, active PRs~3.4K stars, PRs disabled upstream
Wrapper granularityRateLimitedTool<T: Tool>RateLimitedExecutor<T: ToolExecutor>

Comparative Aspect Mapping

The same crosscutting concerns manifest in both projects, despite different abstractions:

AspectZeroClaw PatternClaw-Code-Parity Pattern
Rate limitingRateLimitedTool<T: Tool>RateLimitedExecutor<T: ToolExecutor>
Path/Permission guardPathGuardedTool<T: Tool>PermissionGuardedExecutor<T: ToolExecutor>
Audit loggingPlannedAuditLoggingExecutor<T: ToolExecutor>
aspect-rs applicability11/12 (92%)11/12 (92%)

The identical 92% applicability rate across different architectures is the key finding. Crosscutting concerns are inherent to the problem domain (AI agent tool execution), not artifacts of a particular implementation style.

Contribution Scoreboard

ProjectTotal PRsMergedPendingSuccess Rate
ZeroClaw81712.5%
Claw-Code-Parity220100%
Total103730%

ZeroClaw PR Status

PRBatchDescriptionStatus
#49051ShellTool + wrappers.rs foundationMerged
#49442File tools (FileRead, FileWrite, FileEdit)Open – CI pending
#49473Search tools (GlobSearch, ContentSearch)Open – CI pending
#49484Doc/Image (PdfRead, ImageInfo)Open – CI pending
#49495Cron tools (CronAdd, CronRemove, CronUpdate)Open – CI pending
#49526aAI CLI tools (Gemini, Claude, Codex, OpenCode)Open – CI pending
#49536bClaudeCodeRunnerToolOpen – CI pending
#49547Network/Skill (Browser, HttpRequest, WebFetch, Skill)Open – CI pending

Claw-Code-Parity PR Status

PRDescriptionStatus
#1Composable ToolExecutor wrappersMerged
#2Nightly CI build (~17% faster than stable)Merged

Challenges Encountered

ZeroClaw: Repository Instability

  • Impersonation incident (Issue #527): Bad actors impersonated ZeroClaw team members to scam cryptocurrency, forcing the team to issue security statements and reorganize community channels.
  • Repository 404: The entire repository went offline around March 29, 2026. All submitted PRs were inaccessible for several days until recovery in early April.
  • 59-commit divergence: After recovery, master had advanced 59 commits (including a rollback-and-remerge of 153 commits). All 7 PR branches showed 611 changed files and 281K+ additions due to divergence. Fixed by rebasing all branches onto current master.

CI Compatibility

  • Clippy warnings as errors: ZeroClaw’s CI runs cargo clippy -- -D warnings. Wrapper functions that replace direct tool type usage create unused import warnings. Resolved with #[allow(unused_imports)] on combined pub use statements.
  • rustfmt ordering: Splitting pub use statements to add #[allow] attributes breaks rustfmt’s alphabetical sorting. Resolved by keeping items in a single pub use with the attribute on the combined line.
  • Security Audit: Pre-existing cargo audit failures (RUSTSEC-2026-0049 in rustls-webpki, unmaintained GTK3 bindings) block all PRs. This is an upstream dependency issue, not introduced by our changes.

Claw-Code-Parity: Restricted Upstream

  • PRs disabled: Both ultraworkers/claw-code and claw-code-parity have pull requests disabled on the upstream repositories.
  • Forking disabled: ultraworkers/claw-code returns HTTP 404 on fork attempts.
  • Workaround: All contributions are demonstrated on the fork (yijunyu/claw-code-parity).

Quantitative Impact

Lines of Code Reduction

MetricZeroClawClaw-Code-Parity
Lines removed per tool12–188–12
Rate limit scatter sites17 -> 1N/A (executor-level)
Path guard scatter sites10+ -> 1N/A (executor-level)
New wrapper code~160 lines~200 lines (incl. tests)

Build Performance (Claw-Code-Parity)

ConfigurationTimeDelta
Stable release50.2sbaseline
Nightly release41.4s-17.5%
cargo-slicer (syn)52.5s+4.6%
cargo-slicer (MIR)49.3s-1.7%

Key insight: cargo-slicer’s RUSTC_WRAPPER dispatch overhead exceeds LLVM savings on small workspaces (8 crates). The tool is effective on larger workspaces (ZeroClaw: ~27% savings with 100+ crates).

Timeline

DateEvent
2026-03-28Batches 1–7 created and submitted to ZeroClaw
2026-03-29ZeroClaw repository goes 404
2026-04-01Batch 1 (PR #4905) merged via SimianAstronaut7
2026-04-02Repository recovers; all branches rebased
2026-04-03Claw-Code-Parity analysis + PRs #1 and #2 created
2026-04-05Claw-Code-Parity PRs merged; ZeroClaw CI lint fixes pushed
2026-04-06All ZeroClaw branches pass local clippy + fmt; awaiting CI