Skip to content

prep(release): finalize CodeClone 2.1.0a1 pre-release#51

Merged
orenlab merged 18 commits into
mainfrom
fix/prerelease-2.1.0a1
Jul 9, 2026
Merged

prep(release): finalize CodeClone 2.1.0a1 pre-release#51
orenlab merged 18 commits into
mainfrom
fix/prerelease-2.1.0a1

Conversation

@orenlab

@orenlab orenlab commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Unify MCP compare_runs parameters to before_run_id / after_run_id.
  • Speed up analysis by collapsing the relationship walk and replaying reachability from captured handler nodes (with observability subphase timers).
  • Align plugin/extension versions and docs to 2.1.0a1, restore the PyPI long-description, and ship analytics profile manifests as an explicit setuptools namespace package.
  • Set the changelog release date to 2026-07-09.

Test plan

  • uv run pytest -q tests/test_mcp_service.py tests/test_mcp_server.py
  • uv run pytest -q tests/test_packaging.py tests/test_claude_code_plugin.py tests/test_codex_plugin.py tests/test_cursor_plugin.py
  • uv run pytest -q tests/test_extractor.py tests/test_analysis_phase_ledger.py tests/test_observability_analysis_phases.py
  • uv lock --check
  • Confirm VS Code extension 0.3.0 is published with vsce publish --pre-release (odd minor; stable 0.2.x users must not auto-update)

orenlab added 18 commits July 8, 2026 13:18
Avoid the second DFS-style relationship pass in module walking by collecting
the required relationship facts during the primary traversal.

Strict cold-cache A/B in the same worktree:

- files_timed: 769 → 769
- phase_relationship: 2393.2 ms → 1726.6 ms (-667 ms, -27.9%)
- pipeline.process: 3121 ms → 2888 ms (-233 ms, -7.5%)
- cli.analyze: 3786.9 ms → 3558.1 ms (-229 ms, -6.0%)

Verification:
- 4248 tests passed, including goldens
Record adoption, security, and reachability alias/binding/visit worker
time as optional subphase_us counters on the phase ledger when
observability is enabled. Collectors are unchanged; timers are no-ops
when the ledger is inactive.

Cold-cache split on this repo (769 files_timed):
- phase_module_passes: 1803 ms
- reachability Σ: 1201 ms (66.6% of module_passes)
- security: 463 ms; adoption: 38 ms

Verification: pre-commit (all hooks) and pre-push pytest green.
During the binding AST walk, capture FunctionDef/ClassDef/Assign nodes in
visit order. After binding completes, emit reachability facts by replaying
_apply_handler_node on that list instead of a third full generic_visit pass.
Alias pass stays separate so import aliases are complete before binding.

Strict cold-cache A/B (same worktree, files_timed=769):
- phase_module_passes: 1872.8 ms → 1795.5 ms (-77 ms, -4.1%)
- reachability visit subphase: 396.4 ms → 384.3 ms (-12 ms, -3.0%)
- cli.analyze: 3673 ms → 3606 ms (-67 ms, -1.8%)

Verification: reachability tests + goldens green.
…nd dedupe manifest version checks via shared helper
@orenlab orenlab self-assigned this Jul 9, 2026
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

CodeClone Review

✅ Passed · Health 91/100 (A) · Baseline ok · Cache miss · CodeClone 2.1.0a1

Review snapshot

Area Signal Review note
Clones 0 total, 0 new, 0 known no new clone debt reported
Quality CC max 20, CBO max 9, LCOM4 max 3, overloaded 43 structural metric snapshot
Dependencies avg 7.0, p95 22, max 24, cycles 0 acyclic
Coverage Join not joined no coverage.xml facts in this report
Security Surfaces 281 surfaces, 6 categories, 133 production report-only boundary inventory
API Surface 7672 symbols, 656 modules 0 breaking, 0 added
Dead code 0 high-confidence, 2 suppressed clean

Review focus

  • Treat 133 production security surface(s) as review-first boundary code when touched.
  • Review 43 overloaded module candidate(s) when they intersect this PR.

Security Surfaces are report-only capability inventory, not vulnerability claims. Generated by CodeClone

@orenlab orenlab merged commit 51a59ca into main Jul 9, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant