Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
319 commits
Select commit Hold shift + click to select a range
81ffa91
fix(mcp): cap process pool size
orenlab May 29, 2026
e590acf
docs(security): document trust boundaries
orenlab May 29, 2026
c8b2b5f
test: cover MCP process cap and symlink resolve edge paths
orenlab May 29, 2026
da046f9
feat(mcp): tighten agent contracts and restore baseline health
orenlab May 29, 2026
2d5c742
refactor(mcp): extract agent-facing copy into messages package
orenlab May 29, 2026
c643bd4
refactor(copy): centralize user-facing strings across CLI, report, an…
orenlab May 29, 2026
52a551d
feat(mcp): add auditable SQLite workspace intent registry
orenlab May 29, 2026
bab4d5b
feat(metrics): refine LCOM4 cohesion and add 2.0.2 migration tip
orenlab May 30, 2026
af9d3b3
refactor(mcp): eliminate duplicated_branches in intent registry valid…
orenlab May 30, 2026
f3b4113
docs(mcp): bind change-control skill and advisory acceptance reporting
orenlab May 30, 2026
247e941
test(mcp): expand workspace intent registry validation coverage
orenlab May 30, 2026
0b58566
test: add targeted coverage for CLI, report, and metrics paths
orenlab May 30, 2026
0ca0c4f
test(mcp): expand workspace intent registry validation coverage
orenlab May 30, 2026
5370c0b
test: add targeted coverage for CLI, report, and metrics paths
orenlab May 30, 2026
c7c8d06
feat(mcp): add gitignore workspace hygiene tip for MCP and CLI
orenlab May 30, 2026
6aca43a
refactor(mcp): extract workspace intent leaf modules and scoped hygiene
orenlab May 30, 2026
e71afbd
feat(mcp): harden multi-agent change-control workflow and claim guard
orenlab May 30, 2026
bea0e94
docs(mcp): sync multi-agent change-control and claim guard contracts
orenlab May 30, 2026
db116bf
fix(cli): count expired intents via recovery listing in session stats
orenlab May 30, 2026
cfb39bb
refactor(mcp): flatten session mixin import chain in session.py
orenlab May 30, 2026
9c72b7f
test(mcp): expand Phase 17 coverage and hygiene test contracts
orenlab May 30, 2026
550af01
docs(mcp,changelog): fix doc divergences and condense 2.1.0a1 entry
orenlab May 30, 2026
9223980
fix(mcp): restore strict no-any-return typing for composed mixins
orenlab May 30, 2026
a5487ed
fix(mcp): extract foreign dirty overlap skip guard
orenlab May 30, 2026
1a44cc6
Merge remote-tracking branch 'origin/feat/2.1-alpha' into feat/2.1-alpha
orenlab May 30, 2026
3384c31
docs: align docs and client surfaces with MCP contracts
orenlab May 30, 2026
0bab286
fix(launcher,vscode): harden poetry probe env and live triage refresh
orenlab May 31, 2026
af7250e
fix(mcp): separate claims_text from review_text and harden workspace …
orenlab May 31, 2026
9291eb8
feat(mcp): reconcile finish evidence with git and extract blast-radiu…
orenlab May 31, 2026
c01b3bc
feat(memory): add Engineering Memory phases 18.1-18.5
orenlab May 31, 2026
464e844
fix(memory): validate cached report on init and fix for-path lookup
orenlab May 31, 2026
c44ca7e
feat(memory): Phase 18.6 FTS search, git ingest, and schema 1.1
orenlab May 31, 2026
b63d8b6
feat(memory): Rich CLI for memory commands and shared console helpers
orenlab May 31, 2026
a069928
docs: CHANGELOG for Engineering Memory Phase 18.6
orenlab May 31, 2026
957730d
docs: add Engineering Memory book chapter and site navigation
orenlab May 31, 2026
3a5da34
docs: integrate Engineering Memory across contract book and MCP guide
orenlab May 31, 2026
9ad1827
docs(agent): add Engineering Memory playbook to skills and MCP help
orenlab May 31, 2026
3a11d51
feat(memory,mcp): MCP memory sync and retrieval governance polish
orenlab May 31, 2026
ceb2d91
feat(memory): agent retrieval, IDE governance, and VS Code Memory view
orenlab Jun 1, 2026
6785e2c
docs(agent): gate requires MCP memory before finish after incident
orenlab Jun 1, 2026
c90d1a4
docs(agent): spell out Engineering Memory gate in CLAUDE.md
orenlab Jun 1, 2026
4301ecb
fix(mcp): attribute finish hygiene dirty state
orenlab Jun 1, 2026
942b4bd
fix(memory): add approval evidence warrant
orenlab Jun 1, 2026
0fa5a56
chore(baseline): update project baseline
orenlab Jun 1, 2026
df16996
fix(memory): harden governance and tool guidance
orenlab Jun 1, 2026
9686a73
refactor(mcp): simplify workspace hygiene payloads
orenlab Jun 1, 2026
e7580ca
feat(cursor): gate writes through workspace intents
orenlab Jun 1, 2026
1ed7448
fix(workspace-intent): close sqlite gate reads
orenlab Jun 1, 2026
a8562c1
feat(mcp): scope-aware finish hygiene
orenlab Jun 1, 2026
f0a01f6
feat(mcp): scope-aware finish hygiene
orenlab Jun 1, 2026
f27ec09
fix(cursor): stop tracking local hook configs
orenlab Jun 1, 2026
f989612
feat(mcp): compact finish hygiene payload + detail_level
orenlab Jun 1, 2026
4cf86ed
docs: fix MkDocs admonitions and document finish hygiene
orenlab Jun 1, 2026
a63c12c
test(memory): expand memory and MCP coverage edge suites
orenlab Jun 2, 2026
0aebd49
feat(audit): record the human intent description in the audit trail
orenlab Jun 2, 2026
a8e8729
test(coverage): reach 99% and clear duplicated-branch findings
orenlab Jun 2, 2026
4d0a715
docs: align book and guides with current MCP and CI behavior
orenlab Jun 2, 2026
49a9cd4
test(cursor): fix hook CI without committed .cursor/hooks.json
orenlab Jun 2, 2026
516708c
feat(memory): add optional semantic retrieval index (Phase 20)
orenlab Jun 2, 2026
49c8a08
feat(audit): add workflow payload forensics
orenlab Jun 2, 2026
65d1603
fix(cli): clarify session stats forensics
orenlab Jun 2, 2026
43e8d39
feat(memory): enforce scoped retrieval and token hygiene contract
orenlab Jun 2, 2026
2968ab6
docs(mcp): clarify baseline novelty semantics
orenlab Jun 3, 2026
3af60a7
feat(memory): semantic retrieval index for engineering memory + audit
orenlab Jun 3, 2026
eddc766
feat(memory): harden semantic retrieval contracts
orenlab Jun 3, 2026
3eccc44
feat(vscode): memory search and IDE-only session/audit insights
orenlab Jun 3, 2026
0dc553d
docs: Engineering Memory Phase 20, semantic search, and plugin surfaces
orenlab Jun 3, 2026
703c492
fix(ci): sync integration overlays, docs contracts, and API snapshot
orenlab Jun 3, 2026
bd3d37c
ci: run hooks through uv
orenlab Jun 3, 2026
a45a542
docs: migrate site build to zensical
orenlab Jun 3, 2026
f4a7d56
test: expand memory and contract coverage
orenlab Jun 3, 2026
d9e4963
fix(memory): keep semantic lancedb optional in CI
orenlab Jun 3, 2026
6485cca
docs: note zensical migration in changelog
orenlab Jun 3, 2026
0f3c8f4
fix(memory): report semantic provider errors first
orenlab Jun 3, 2026
347b61a
test(memory): decouple semantic cli coverage from lancedb
orenlab Jun 3, 2026
dce00b8
feat(memory): harden semantic retrieval contracts
orenlab Jun 3, 2026
cb1f2a4
fix(ci): sync CI tests coverage gate
orenlab Jun 3, 2026
34d0970
feat(memory): add optional fastembed semantic provider
orenlab Jun 4, 2026
3f216a5
docs(memory): document fastembed semantic setup
orenlab Jun 4, 2026
ee6ea57
chore(docs): align docs tooling with zensical
orenlab Jun 4, 2026
2a41878
feat(memory): add MCP semantic index rebuild
orenlab Jun 4, 2026
8314985
fix(memory): recover semantic index schema mismatches
orenlab Jun 4, 2026
5cb0c63
chore(memory): configure local fastembed semantic index
orenlab Jun 4, 2026
21588b3
fix(security,mcp): require opt-in external artifacts
orenlab Jun 4, 2026
b7c06d9
fix(security): bound JSON and coverage XML reads
orenlab Jun 4, 2026
7f18e12
fix(mcp): tighten workspace intent lifecycle gates
orenlab Jun 4, 2026
fd719eb
fix(mcp): harden run and resource path checks
orenlab Jun 4, 2026
0bcdd95
chore(docs): reorganize documentation — renumber book, merge integrat…
orenlab Jun 4, 2026
50caadc
chore(docs): reorganize documentation — renumber book, merge integrat…
orenlab Jun 4, 2026
c07617b
fix(mcp): require bearer auth for http transport
orenlab Jun 4, 2026
abeb09b
fix(memory): require explicit governance break-glass
orenlab Jun 4, 2026
25ff4e8
chore(docs): fix admonitions
orenlab Jun 4, 2026
078fa71
feat(core): migrate workspace artifacts to .codeclone/
orenlab Jun 4, 2026
1f10a9e
fix(test): stop memory CLI tests writing production engineering_memor…
orenlab Jun 4, 2026
14a3b52
fix(memory): survive unclean MCP exit and protect drafts from refresh
orenlab Jun 4, 2026
b3eda3b
test(memory,cli): isolate memory DB in tests and fix CI coverage when…
orenlab Jun 4, 2026
0c91190
test: keep 99% coverage on Python 3.10 without checkout report.json
orenlab Jun 4, 2026
3e11d2a
test: keep 99% coverage on Python 3.10 without checkout report.json
orenlab Jun 4, 2026
f8e8925
fix(vscode,claude-desktop): unbreak manifest test, humanize audit DB …
orenlab Jun 4, 2026
c61485c
docs: sync chapter headings, expand plans tiers, consolidate changelog
orenlab Jun 4, 2026
56a2c5c
ci: add integrations workflow for extensions and plugins
orenlab Jun 4, 2026
2eb174d
refactor(typing): drop Any from MCP, CLI memory, semantic, and hook s…
orenlab Jun 4, 2026
15daabc
docs: sync chapter headings, expand plans tiers, consolidate changelog
orenlab Jun 4, 2026
0ee94c3
fix(vscode): align formatBytes JSDoc with invalid-input handling
orenlab Jun 4, 2026
79b6fdf
fix(security): tighten config and lock path handling
orenlab Jun 4, 2026
bdd9af9
fix(security): tighten workspace intent gates
orenlab Jun 4, 2026
2632926
fix(security): document path policy and hook foreign-intent gate
orenlab Jun 4, 2026
a547385
fix(cache): allow contained absolute wire paths
orenlab Jun 4, 2026
c8a94da
fix(vscode): pass repo-relative coverage_xml to MCP after path hardening
orenlab Jun 4, 2026
f91faa3
fix(security): preserve unknown PID ownership
orenlab Jun 4, 2026
025cb4e
fix(security): close semantic index resources
orenlab Jun 5, 2026
2c516ef
fix(mcp): keep audit token estimates lightweight by default
orenlab Jun 5, 2026
fba09ba
feat(design): detect instance-independent methods
orenlab Jun 5, 2026
294c422
feat(audit): persist analysis.completed for session-stats latest run
orenlab Jun 5, 2026
6c21cd1
chore(pre-commit): add new hook
orenlab Jun 5, 2026
5a7ef4c
chore(tests): extending the test coverage
orenlab Jun 5, 2026
55c51b7
feat(cursor): ignore foreign intents in stop-hook cleanup warnings
orenlab Jun 5, 2026
649b8a5
feat(memory): commit-anchored durability with historical status
orenlab Jun 5, 2026
5854f32
feat(vscode): bulk Memory inbox/stale governance for extension 0.3.0
orenlab Jun 5, 2026
05167c4
feat(audit): add replay event core for trajectories
orenlab Jun 6, 2026
0a82d33
feat(memory): add trajectory projection storage
orenlab Jun 6, 2026
5cd4f0c
feat(memory): surface trajectory retrieval
orenlab Jun 6, 2026
41078c6
feat(memory): trajectory export, projection jobs, and audit core v2
orenlab Jun 6, 2026
1390157
feat(memory): patch trail, trajectory export v2, and structural cleanup
orenlab Jun 6, 2026
615b1a2
chore(docs): alignment of docs to the current state of the code
orenlab Jun 6, 2026
4d8b478
feat(memory): trajectory/projection jobs, agent docs sync, coverage h…
orenlab Jun 6, 2026
b1247c4
feat(memory): align agent-facing docs with code
orenlab Jun 6, 2026
bae9b94
feat(memory,docs): semantic retrieval, configurable ingest, and Phase…
orenlab Jun 7, 2026
77f6125
feat(memory,docs): semantic retrieval, configurable ingest, and Phase…
orenlab Jun 7, 2026
b53a53c
feat(memory,docs): semantic retrieval, Phase 27 docs IA, and trajecto…
orenlab Jun 7, 2026
1282b82
feat(memory,vscode,mcp): trajectory passport and contract-quality sco…
orenlab Jun 7, 2026
5ee3f87
refactor(core): move memory version constants into contracts
orenlab Jun 8, 2026
59edc0d
feat(core): add Experience Layer domain model
orenlab Jun 8, 2026
d1f8619
perf(core): replace stdlib json with orjson in memory domain
orenlab Jun 8, 2026
da81e19
feat(core): Experience distiller and persistence (schema 1.6)
orenlab Jun 8, 2026
56ff7a7
perf(core): incremental semantic rebuild (hash-skip, bounded RSS)
orenlab Jun 8, 2026
7679997
docs(config): centralize CODECLONE_* env overrides in 10-config-and-d…
orenlab Jun 8, 2026
48d1456
perf(core): skip redundant projection worker spawn when one is running
orenlab Jun 8, 2026
ed9be05
perf(core): incremental trajectory rebuild by watermark
orenlab Jun 9, 2026
977b4c1
feat(core): auto experience distillation in projection job
orenlab Jun 9, 2026
9bc5efc
feat(core): surface experiences[] in get_relevant_memory
orenlab Jun 9, 2026
b72737f
feat(core): promote_experience governance core
orenlab Jun 9, 2026
e998396
feat(mcp): expose promote_experience action
orenlab Jun 9, 2026
05da359
feat(core): honest 1-hop retrieval with contradiction down-rank
orenlab Jun 9, 2026
667d16b
feat(core): platform observability config + disabled contract
orenlab Jun 9, 2026
5b14c97
feat(core): observability data model + sqlite store
orenlab Jun 9, 2026
6a14fb4
feat(core): observability write API (operation/span)
orenlab Jun 9, 2026
8934f58
feat(core): observability read model (TraceView + aggregates)
orenlab Jun 9, 2026
dd86bf1
feat(core): instrument projection worker chain (operation + spans)
orenlab Jun 9, 2026
2aacfd6
feat(mcp): record per-tool payload sizes via observability registrar
orenlab Jun 9, 2026
2513dd2
feat(core): capture psutil RSS/CPU profile on operations and spans
orenlab Jun 9, 2026
225780c
chore(core): bump psutil perf extra to >=7,<8
orenlab Jun 9, 2026
225453f
feat(cli): instrument core analyze pipeline (cli.analyze + stage spans)
orenlab Jun 10, 2026
c7008c7
feat(cli): add observability trace command (json + branded html)
orenlab Jun 10, 2026
67955e0
feat(core): correlate finish->worker across processes via env handoff
orenlab Jun 10, 2026
c599ba0
refactor(html): align observability trace report into a grid layout
orenlab Jun 10, 2026
82b42f8
feat(core): observability cost views and waterfall read model
orenlab Jun 10, 2026
ac6e090
feat(html): runtime-diagnosis cockpit with waterfall timeline
orenlab Jun 10, 2026
0e796dc
feat(core): record memory.projection.spawn op for the worker chain
orenlab Jun 10, 2026
14d087d
feat(mcp): add stage spans to analyze_repository
orenlab Jun 10, 2026
cae7ac3
chore(deps): bump transitive lockfile pins
orenlab Jun 10, 2026
66aa8ab
feat(html): name the top memory consumer in the runtime summary
orenlab Jun 10, 2026
06edcc4
feat(core): count SQL queries per observability span (29.DB)
orenlab Jun 11, 2026
710e87c
feat(html): add DB cost table to the cockpit
orenlab Jun 11, 2026
6281a36
feat(html): add Agent context view (token/context pressure)
orenlab Jun 11, 2026
b693f0e
feat(html): add Waste view (no-op + high-payload fix candidates)
orenlab Jun 11, 2026
022a448
feat(html): surface CPU cost and a pipeline-by-subsystem roll-up
orenlab Jun 11, 2026
1f4af26
feat(core): attribute worker cold-start as a bootstrap span
orenlab Jun 11, 2026
44e4bdf
fix(memory): honor compact retrieval detail
orenlab Jun 11, 2026
004ad10
fix(memory): refine retrieval evidence context
orenlab Jun 11, 2026
5b5ea05
fix(memory): prioritize reliable retrieval context
orenlab Jun 11, 2026
e59e672
test(memory): add coverage tests for memory and observability surfaces
orenlab Jun 11, 2026
3129c05
feat(core): centralize DB query instrumentation via read-only openers
orenlab Jun 11, 2026
a571a5d
perf(memory): batch retrieval subject/evidence/trail loads
orenlab Jun 11, 2026
7b1b393
docs(memory): document records/experiences/trajectories evidence lanes
orenlab Jun 11, 2026
7e17462
test: add CI coverage-uplift tests
orenlab Jun 11, 2026
d4c2024
feat(core): add literal-free SQL fingerprint normalizer (29.DB Track B)
orenlab Jun 11, 2026
8769e12
feat(core): capture per-span SQL query fingerprints (29.DB Track B)
orenlab Jun 11, 2026
cf081cc
feat(html): surface DB query shapes in the cockpit (29.DB Track B.3)
orenlab Jun 11, 2026
edbb1cd
feat(html): interpret DB query shapes in the cockpit (29.DB)
orenlab Jun 12, 2026
5fc5027
fix(html): align correlated-chains metric columns
orenlab Jun 12, 2026
a9325be
feat(core): add query_platform_observability slicer core (29 RFC)
orenlab Jun 12, 2026
802e621
feat(mcp): register query_platform_observability tool (29 RFC)
orenlab Jun 12, 2026
3f88987
docs(mcp): add observability help topic for the new tool
orenlab Jun 12, 2026
056d05f
refactor(memory): dedup get_relevant_memory payload (Track A)
orenlab Jun 12, 2026
e5138f7
docs(memory): document lane semantics + fix stale patch_trail refs (T…
orenlab Jun 12, 2026
20a0777
refactor(memory): slim compact trajectory + coverage payloads (Track B)
orenlab Jun 12, 2026
9f9d6fa
fix(memory): bootstrap observability before opening worker store (29.DB)
orenlab Jun 12, 2026
512d24f
fix(memory): apply query filters to semantic candidates (#1)
orenlab Jun 12, 2026
f27404a
fix(integrations): sync MCP surfaces with current contract
orenlab Jun 12, 2026
29d07e9
feat(core): per-source vector top-K budgets in semantic retrieval
orenlab Jun 12, 2026
b7378d4
docs: align documentation with current platform features
orenlab Jun 12, 2026
832c60b
test: expanding test coverage for new branches and reorganizing test …
orenlab Jun 12, 2026
446a6f3
chore(deps): update all deps
orenlab Jun 12, 2026
0401ccd
fix(tests): mock CI gate and bootstrap span in projection job tests
orenlab Jun 12, 2026
bbe82ce
feat(core): rank-preserving RRF fusion for hybrid memory search
orenlab Jun 13, 2026
02313e7
feat(core): lazy FastEmbed model load with resilient embed degradation
orenlab Jun 13, 2026
8f02f95
docs(changelog): refine the 2.1.0a1 release narrative
orenlab Jun 13, 2026
de43e0a
fix(mcp): wrap tool handlers in a span so MCP DB-query cost is recorded
orenlab Jun 13, 2026
ada26b4
feat(integrations): add marketplace install surfaces
orenlab Jun 13, 2026
ae71cc0
chore(docs, deps): reformat docs and refresh transitive deps
orenlab Jun 13, 2026
b09f9c3
feat(analytics): corpus analytics slice 1 (intent lane), shared embed…
orenlab Jun 13, 2026
52f9800
feat(core): retrieval telemetry counters + record_counter span primitive
orenlab Jun 13, 2026
92cf143
refactor(core): batch trajectory hydration to fix experience.distill N+1
orenlab Jun 13, 2026
2b675d2
refactor(core): batch semantic.reindex sources to fix N+1
orenlab Jun 13, 2026
26a3015
feat(analytics): corpus clustering inspectability (sweep, diagnostics…
orenlab Jun 13, 2026
77db06c
feat(memory): schema 1.7 flush_claimed_by column + projection coalesc…
orenlab Jun 13, 2026
044172d
fix(tests): align MemoryIndexSource mock with batch subject loader
orenlab Jun 13, 2026
948eb40
refactor(tests): dissolve test_memory_coverage_gaps into taxonomy-ali…
orenlab Jun 13, 2026
854a308
feat(memory): delayed single-shot projection flush worker (--not-before)
orenlab Jun 14, 2026
d7f6221
feat(memory): coalesce sub-threshold projection rebuilds via delayed-…
orenlab Jun 14, 2026
0cd756b
feat(analytics): add corpus report interpretability
orenlab Jun 14, 2026
89f0052
feat(analytics): add profile control plane with manifests, suitabilit…
orenlab Jun 14, 2026
24e0220
feat(observability): semantic rebuild spans, peak RSS 1.1, cockpit fixes
orenlab Jun 14, 2026
699222e
feat(memory): length-aware semantic embed batching and lane probe
orenlab Jun 14, 2026
91a45d9
refactor(memory): reuse budget token estimator for semantic planning
orenlab Jun 14, 2026
290d9ec
feat(memory): add trajectory multi-vector chunking for semantic index v2
orenlab Jun 14, 2026
2142078
feat(mcp): track run workspace drift
orenlab Jun 14, 2026
f09b67b
docs(memory): align semantic v2 chunking docs with probe and search c…
orenlab Jun 14, 2026
61201ab
feat(mcp): add implementation context surface
orenlab Jun 14, 2026
e6baa63
feat(mcp): bind context to active intent
orenlab Jun 14, 2026
c86ec8a
feat(mcp): resolve context symbols
orenlab Jun 14, 2026
22520a7
feat(mcp): complete implementation context v1
orenlab Jun 14, 2026
257d983
feat(cache): store function relationship facts
orenlab Jun 14, 2026
0217f08
feat(core): resolve cross-module call and reference relationships
orenlab Jun 15, 2026
1e7d455
feat(core): resolve intra-module and self/cls relationship edges
orenlab Jun 15, 2026
ed2b925
feat(core): aggregate cross-file relationship facts onto the run record
orenlab Jun 15, 2026
db65fca
perf(tests): track sqlite connections instead of per-test gc sweep
orenlab Jun 15, 2026
3a47b11
feat(mcp): project call context from run-record relationship facts
orenlab Jun 15, 2026
b79ad35
feat(mcp): enable contract mode in implementation context
orenlab Jun 15, 2026
61e2724
feat(mcp): polish get_implementation_context symbol scope and facets
orenlab Jun 15, 2026
92f9468
feat(plugins): add codeclone-implementation-context skill
orenlab Jun 15, 2026
f67d54c
feat(skills): synchronized skills
orenlab Jun 15, 2026
561ce6d
fix(memory): make persist_batch atomic (audit H1)
orenlab Jun 16, 2026
25203b2
fix(audit): count swallowed best-effort failures (audit M9+M10)
orenlab Jun 16, 2026
1058db4
fix(mcp): compact subject_not_found in get_implementation_context
orenlab Jun 16, 2026
6891f7e
feat(mcp): expose raw module imports off-report (track 2 step 1)
orenlab Jun 16, 2026
4ac48c7
feat(mcp): add graph search via get_implementation_context query param
orenlab Jun 16, 2026
f2dab51
docs: align site and agent playbooks with current contracts
orenlab Jun 17, 2026
4041dbf
fix(memory): align IDE stale-reject with reject_record
orenlab Jun 17, 2026
baf753a
fix(memory): tolerate corrupt payload_json on read
orenlab Jun 17, 2026
7b4a5bd
docs(skills): sync all plugins to one strict 8-skill set + gate→findi…
orenlab Jun 17, 2026
38940cf
chore(tests): extend tests coverage
orenlab Jun 17, 2026
4cb89d1
chore(deps): update direct and transitive project deps
orenlab Jun 17, 2026
5291b8f
fix(test): isolate fastembed import_module mock in foundation test
orenlab Jun 17, 2026
f67507f
chore(vscode): require VS Code 1.120 and bump @types/vscode
orenlab Jun 17, 2026
98f73e2
fix(claude-desktop): sync manifest with get_implementation_context MC…
orenlab Jun 17, 2026
4ba631c
docs: align site and agent playbooks with current contracts
orenlab Jun 17, 2026
088b077
test(memory): include contracts path in init batch repo smoke registry
orenlab Jun 17, 2026
ece558d
feat(core): drop OSS intent-registry retention cap (default 14, confi…
orenlab Jun 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 5 additions & 4 deletions .github/actions/codeclone/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# CodeClone GitHub Action

Baseline-aware structural code quality analysis for Python with:
**Structural Change Controller for AI-assisted Python development** — CI
integration with:

- configurable CI gating
- SARIF upload for GitHub Code Scanning
Expand Down Expand Up @@ -82,9 +83,9 @@ jobs:
| `python-version` | `3.14` | Python version used to run the action |
| `package-version` | `2.0.2` | CodeClone version from PyPI for remote installs; ignored when the action runs from the checked-out CodeClone repo |
| `path` | `.` | Project root to analyze |
| `json-path` | `.cache/codeclone/report.json` | JSON report output path |
| `json-path` | `.codeclone/report.json` | JSON report output path |
| `sarif` | `true` | Generate SARIF and try to upload it |
| `sarif-path` | `.cache/codeclone/report.sarif` | SARIF output path |
| `sarif-path` | `.codeclone/report.sarif` | SARIF output path |
| `pr-comment` | `true` | Post or update a PR summary comment |
| `fail-on-new` | `true` | Fail if new clone groups are detected |
| `fail-on-new-metrics` | `false` | Fail if metrics regress vs baseline |
Expand Down Expand Up @@ -182,4 +183,4 @@ Local/self-repo validation:

- [CodeClone repository](https://github.com/orenlab/codeclone)
- [Documentation](https://orenlab.github.io/codeclone/)
- [SARIF integration](https://orenlab.github.io/codeclone/sarif/)
- [SARIF integration](https://orenlab.github.io/codeclone/guide/integrations/sarif/export/)
2 changes: 1 addition & 1 deletion .github/actions/codeclone/_action_impl.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from typing import Literal

COMMENT_MARKER = "<!-- codeclone-report -->"
DEFAULT_CODECLONE_PACKAGE_VERSION = "2.0.2"
DEFAULT_CODECLONE_PACKAGE_VERSION = "2.1.0a1"


@dataclass(frozen=True, slots=True)
Expand Down
6 changes: 3 additions & 3 deletions .github/actions/codeclone/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ inputs:
package-version:
description: "CodeClone version from PyPI for remote installs (ignored when the action runs from the checked-out CodeClone repo)"
required: false
default: "2.0.2"
default: "2.1.0a1"

path:
description: "Project root"
Expand All @@ -28,7 +28,7 @@ inputs:
json-path:
description: "Canonical JSON report output path"
required: false
default: ".cache/codeclone/report.json"
default: ".codeclone/report.json"

sarif:
description: "Generate SARIF and upload to Code Scanning"
Expand All @@ -38,7 +38,7 @@ inputs:
sarif-path:
description: "SARIF output path"
required: false
default: ".cache/codeclone/report.sarif"
default: ".codeclone/report.sarif"

pr-comment:
description: "Post or update a PR summary comment"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
uses: actions/configure-pages@v5

- name: Build docs site
run: uv run --with mkdocs --with mkdocs-material mkdocs build --strict
run: uv run --with zensical==0.0.43 zensical build --clean --strict

- name: Generate sample report artifacts
run: uv run python scripts/build_docs_example_report.py --output-dir site/examples/report/live
Expand Down
126 changes: 126 additions & 0 deletions .github/workflows/integrations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
name: integrations
run-name: integrations • ${{ github.event_name }} • ${{ github.ref_name }}

# Tests the IDE/agent integration surfaces that the main `tests` workflow does
# not cover: the Node-based VS Code extension and Claude Desktop bundle, plus
# the Codex and Cursor plugin contract tests. Runs only when an integration
# surface (or the shared MCP tool snapshot the manifests are pinned to) changes.

on:
push:
branches: [ "**" ]
paths:
- "extensions/**"
- "plugins/**"
- "tests/test_codex_plugin.py"
- "tests/test_cursor_plugin.py"
- "tests/test_cursor_plugin_hooks.py"
- "tests/fixtures/contract_snapshots/mcp_tool_schemas.json"
- ".github/workflows/integrations.yml"
pull_request:
paths:
- "extensions/**"
- "plugins/**"
- "tests/test_codex_plugin.py"
- "tests/test_cursor_plugin.py"
- "tests/test_cursor_plugin_hooks.py"
- "tests/fixtures/contract_snapshots/mcp_tool_schemas.json"
- ".github/workflows/integrations.yml"
workflow_dispatch:

permissions:
contents: read

concurrency:
group: integrations-${{ github.ref }}
cancel-in-progress: true

jobs:
vscode-extension:
name: VS Code extension
runs-on: ubuntu-latest
defaults:
run:
working-directory: extensions/vscode-codeclone
steps:
- name: Checkout
uses: actions/checkout@v6.0.2

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: extensions/vscode-codeclone/package-lock.json

- name: Install dependencies
run: npm ci

- name: Build, typecheck, and syntax-check
run: npm run check

- name: Unit tests
run: npm test

claude-desktop-bundle:
name: Claude Desktop bundle
runs-on: ubuntu-latest
defaults:
run:
working-directory: extensions/claude-desktop-codeclone
steps:
- name: Checkout
uses: actions/checkout@v6.0.2

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: extensions/claude-desktop-codeclone/package-lock.json

- name: Install dependencies
run: npm ci

- name: Syntax-check launcher and server
run: npm run check

- name: Unit tests
run: npm test

- name: Bundle build smoke
run: npm run pack

plugins:
name: Codex and Cursor plugins
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.2

- name: Set up Python
uses: actions/setup-python@v6.2.0
with:
python-version: "3.14"
allow-prereleases: true

- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true

- name: Install dependencies
run: uv sync --extra dev --extra mcp

- name: Plugin contract tests
run: >-
uv run pytest -q
tests/test_codex_plugin.py
tests/test_cursor_plugin.py
tests/test_cursor_plugin_hooks.py

- name: Validate bundled plugin manifests
run: |
python3 -m json.tool plugins/codeclone/.codex-plugin/plugin.json > /dev/null
python3 -m json.tool plugins/codeclone/.mcp.json > /dev/null
python3 -m json.tool .agents/plugins/marketplace.json > /dev/null
6 changes: 3 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
enable-cache: true

- name: Install dependencies
run: uv sync --extra dev --extra mcp
run: uv sync --all-extras

- name: Run tests
# Smoke CLI tests intentionally disable subprocess coverage collection
Expand Down Expand Up @@ -67,10 +67,10 @@ jobs:
enable-cache: true

- name: Install dependencies
run: uv sync --extra dev --extra mcp
run: uv sync --all-extras

- name: Ruff
run: uv run ruff check .

- name: Mypy
run: uv run mypy .
run: uv run mypy
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,14 @@ site/

# Tool caches
.cache/
.codeclone/
.codeclone-cache/
.codeclone-baseline.json.bak

# IDE
.idea/
.vscode/
/.cursor/

# OS
.DS_Store
Expand All @@ -45,3 +47,8 @@ extensions/vscode-codeclone/node_modules
/scripts/refactor_guard.sh
/docs/refactoring-spec.md
/smoke_cli.sh
/codeclone-v2.1-roadmap.md
/specs/
/coverage.json
/benchmarks/memory_semantic_eval.md
/scripts/commit_memory_phases.sh
50 changes: 33 additions & 17 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
default_install_hook_types: [ pre-commit, pre-push ]
default_install_hook_types: [pre-commit, pre-push]

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
Expand All @@ -10,46 +10,62 @@ repos:
- id: check-added-large-files
- id: check-toml
- id: check-yaml
- id: check-json
- id: check-ast
- id: debug-statements
- id: check-case-conflict
- id: check-symlinks
- id: destroyed-symlinks
- id: detect-private-key
- id: mixed-line-ending
args: [--fix=lf]
- id: forbid-submodules

- repo: local
hooks:
- id: ruff-format
name: Ruff (format)
entry: ruff format .
entry: uv run ruff format .
language: system
pass_filenames: false
types: [ python ]
stages: [ pre-commit ]
stages: [pre-commit]

- id: ruff-check
name: Ruff (lint)
entry: ruff check .
entry: uv run ruff check .
language: system
pass_filenames: false
types: [ python ]
stages: [ pre-commit ]
stages: [pre-commit]

- id: mypy
name: Mypy
entry: mypy
entry: uv run mypy
language: system
pass_filenames: false
types: [ python ]
stages: [ pre-commit ]
always_run: true
stages: [pre-commit]

- id: codeclone
name: CodeClone
entry: codeclone
entry: uv run codeclone
language: system
pass_filenames: false
args: [ ".", "--ci" ]
types: [ python ]
stages: [ pre-commit ]
args: [".", "--ci"]
always_run: true
stages: [pre-commit]

- id: pytest
name: Pytest
entry: pytest -q
entry: uv run pytest -q --cov=codeclone --cov-report=term-missing --cov-fail-under=99
language: system
pass_filenames: false
types: [ python ]
stages: [ pre-push ]
always_run: true
stages: [pre-push]

- id: lint-admonitions
name: Lint admonitions
entry: uv run scripts/lint_admonitions.py docs/ --fix
language: system
pass_filenames: false
files: ^docs/.*\.md$
stages: [ pre-commit ]
Loading
Loading