Skip to content

Commit 4034117

Browse files
committed
feat(docs): refresh CHANGELOG.md
1 parent 1448801 commit 4034117

1 file changed

Lines changed: 73 additions & 212 deletions

File tree

CHANGELOG.md

Lines changed: 73 additions & 212 deletions
Original file line numberDiff line numberDiff line change
@@ -1,217 +1,78 @@
1-
Changelog
2-
3-
[2.1.0a1] - Unreleased
4-
5-
2.1.0a1 opens the CodeClone 2.1 alpha line with intent-first structural
6-
change control, Engineering Memory, trajectory and experience layers, semantic
7-
retrieval, Platform Observability, native agent integrations, and a reorganized
8-
documentation site.
9-
10-
Added
11-
12-
* Structural Change Controller. The new
13-
start_controlled_change / finish_controlled_change workflow reduces the
14-
governed agent edit cycle from 7–11 MCP calls to 3–4. It combines workspace
15-
checks, intent declaration, blast-radius mapping, bounded edit scope, patch
16-
verification, review-claim validation, and deterministic review receipts.
17-
CodeClone now exposes 33 agent-visible MCP tools by default.
18-
* Live Implementation Context. The new read-only
19-
get_implementation_context tool projects bounded structural facts for
20-
repo-relative paths from one existing run. It reports workspace freshness,
21-
cache origin, imports/importers, public surface, blast radius, and test
22-
anchors, with separate deterministic digests for the off-report context
23-
artifact and the exact bounded projection. Active intents add explicit
24-
allowed/review/do-not-touch boundaries, while impact mode adds transitive
25-
dependency context and baseline-sensitive findings. Engineering Memory,
26-
tests, docs, trajectories, and Experiences remain lane-separated evidence.
27-
Exact qualname subjects resolve through an off-report Unit and API-surface
28-
location index, with unknown symbols reported explicitly rather than guessed.
29-
Zero-argument queries now resolve active intent scope or bounded live dirty
30-
paths, related module roles collapse with explicit relation tags, and one
31-
safety-first global budget reports all ordinary and safety omissions.
32-
Cache schema 2.9 adds a separate, rebuildable per-function relationship-fact
33-
projection without changing Unit serialization or canonical report identity.
34-
Cross-module calls and resolved non-call references are now attributed to
35-
their caller with production/test lanes; conservative caller-scope shadow
36-
guards keep ambiguous imported names as unresolved call observations.
37-
Intra-module functions, same-module class methods, and self/cls receiver
38-
methods now resolve against the enclosing module and class (keyed on the
39-
actual first-parameter name, never a hardcoded self, and never for
40-
staticmethods), only when the target definition exists; cache schema 2.10.
41-
Per-function relationship facts now aggregate across files (cold and cached)
42-
onto the analysis result and the MCP run record, off the canonical report.
43-
get_implementation_context now projects call_context (callers, callees,
44-
references, test_callers) from those facts with relation_kind x
45-
resolution_status evidence tags, separate production and test caller lanes,
46-
unresolved call observations, and a complete/partial/unavailable
47-
call_graph_status; relationship records are bound into context_artifact_digest.
48-
contract mode returns a truth-map (definition_sites, version_constants,
49-
contract_tests, memory_conflicts) and persistence/serialization path callers
50-
that are emitted only with a typed or memory-backed anchor and are otherwise
51-
not_available rather than name- or directory-guessed.
52-
Context evidence never authorizes edits; edit_allowed remains authoritative.
53-
* Change-intent lifecycle and multi-agent coordination.
54-
manage_change_intent supports declare, check, clear, queue, promote, and
55-
recover operations. Renewable leases, ownership classification, optional
56-
SQLite coordination, retention, workspace hygiene, and recoverable-intent
57-
handling make concurrent agent work explicit and auditable.
58-
* Engineering Memory. A local SQLite knowledge graph stores typed,
59-
evidence-linked repository facts such as contracts, decisions, risks, test
60-
anchors, prior changes, and git provenance. Agents receive ranked,
61-
scope-aware context through get_relevant_memory and
62-
query_engineering_memory; drafts remain human-governed and can be approved
63-
through the CLI or VS Code Memory view. Memory never authorizes edits or
64-
overrides the canonical report, gates, or Patch Trail.
65-
* Trajectory Memory and Patch Trail. Audit-derived trajectories preserve
66-
agent workflows, declared scope, actual changed paths, verification outcomes,
67-
incidents, citations, and review evidence. The current trajectory-v3
68-
projection adds quality passports, complexity scoring, anomaly detection,
69-
agent profiles, dashboards, semantic retrieval, and deterministic Patch Trail
70-
summaries. Engineering Memory schema 1.7 persists trajectory and Patch
71-
Trail evidence.
72-
* Experience Layer. Deterministic experience-v1 patterns are distilled
73-
from canonical trajectories across all outcomes and exposed through a
74-
separate advisory retrieval lane. Experiences retain supporting evidence and
75-
agent-diversity facets, but never become authority automatically;
76-
promote_experience creates a human-governed memory draft.
77-
* Semantic memory retrieval. Optional LanceDB-backed hybrid search combines
78-
FTS5/BM25 and vector retrieval using deterministic Reciprocal Rank Fusion.
79-
Local embeddings are available through codeclone[semantic-local] with
80-
BAAI/bge-small-en-v1.5. Semantic indexing is lazy, failure-tolerant, and
81-
eventually consistent rather than synchronously rebuilt after every finish.
82-
* Platform Observability. Opt-in, development-only telemetry traces
83-
CodeClone’s own CLI, MCP, analysis, database, semantic-index, and projection
84-
worker activity. The local observer captures timings, RSS/CPU, MCP payload and
85-
token pressure, DB query counts and shapes, causal worker chains, and costly
86-
no-ops. JSON/HTML views provide a diagnostic cockpit, while
87-
query_platform_observability exposes bounded MCP sections for development
88-
agents. Observability never affects reports, gates, baselines, memory facts,
89-
or edit authorization.
90-
* IDE and agent integrations. The VS Code extension gains Engineering
91-
Memory governance, trajectory dashboards, controller audit views, and
92-
workspace session statistics. Native integrations are available for Claude
93-
Desktop, Claude Code, Codex, and Cursor. Claude Code now has a dedicated
94-
marketplace plugin and storefront, separate from the Desktop `.mcpb` bundle.
95-
The Cursor plugin includes skills, rules, fail-closed preToolUse enforcement,
96-
scoped workspace-intent checks, and a structural-review agent.
97-
* Controller and diagnostic CLI surfaces. Added blast-radius, patch
98-
verification, session statistics, controller audit, memory trajectory,
99-
anomaly, agent-profile, semantic-search, and Platform Observability commands.
100-
* Documentation and edition model. Documentation is reorganized into a
101-
thematic 00–26 contract book with unified integration guides, dedicated
102-
chapters for the Controller, Engineering Memory, trajectories, Experiences,
103-
and Platform Observability, plus explicit Open Source / Team / Enterprise
104-
retention and capability tiers.
105-
* MCP schemas now include parameter-level descriptions and deterministic
106-
next_tool guidance. Workspace hygiene warnings, audit events, token-budget
107-
tracking, and documentation-contract linting were also added.
108-
* **Corpus Analytics (intent lane, Slice 1).** Optional offline clustering of
109-
historical change-control intents via `codeclone analytics …`.
110-
Requires `codeclone[analytics]`. Reads audit + trajectory (+ optional registry
111-
overlay), writes SQLite/LanceDB artifacts under `.codeclone/analytics/`, and
112-
exports inspectable JSON/HTML with sweep comparison, cluster diagnostics,
113-
noise exploration, explicit heuristic recommendation vs maintainer selection,
114-
and runtime observability spans. Analytics embeddings and their lifecycle are
115-
separate from the Engineering Memory semantic index;
116-
`[tool.codeclone.analytics]` configures paths and clustering defaults.
117-
* **Corpus Analytics interpretability (Slice 1.1).** JSON export schema `1.2`
118-
and the self-contained HTML report now separate formal technical validity
119-
from human interpretation. Valid runs expose dominant-cluster ratios,
120-
bounded representative/boundary/noise previews, numeric summaries,
121-
categorical correlations, small-cluster provenance completeness, and
122-
explicit preview disclosure. Invalid and failed runs remain inspectable in a
123-
limited diagnostic mode without partition metrics, previews, score, or rank;
124-
sweep comparison includes every persisted candidate. Representation contract
125-
`3` materializes explicit trajectory, Patch Trail, and registry-overlay
126-
presence facts for new snapshots without adding live registry state to source
1+
# Changelog
2+
3+
## [2.1.0a1] - Unreleased
4+
5+
CodeClone 2.1 introduces intent-first structural change control, persistent engineering context, agent workflow
6+
evidence, platform self-observability, and broader IDE/agent integration.
7+
8+
### Added
9+
10+
- **Structural Change Controller** with `start_controlled_change` / `finish_controlled_change`, bounded edit scope,
11+
blast-radius checks, patch verification, claim validation, multi-agent intent coordination, and deterministic review
12+
receipts.
13+
- **Live Implementation Context** via `get_implementation_context`, including bounded structural context, call
14+
relationships, contract-oriented truth maps, freshness, test anchors, and active intent boundaries. Context remains
15+
read-only and never authorizes edits.
16+
- **Engineering Memory**, **Trajectory Memory**, **Patch Trail**, and **Experience Layer** for typed repository
17+
knowledge, historical agent workflows, change evidence, reusable patterns, and human-governed promotion.
18+
- **Semantic retrieval** with optional LanceDB hybrid search, FTS5/BM25, vector search, and deterministic Reciprocal
19+
Rank Fusion.
20+
- **Platform Observability** for development-time tracing of CLI, MCP, analysis phases, database activity, semantic
21+
indexing, worker chains, memory/CPU use, MCP payload pressure, and costly no-ops.
22+
- **Corpus Analytics** for offline intent clustering, interpretability, versioned profiles, sweep comparison, maintainer
23+
selection, and inspectable JSON/HTML outputs.
24+
- **Module Map** as a deterministic report-only package/module graph with cycle, hub, overloaded-module, and
25+
unwind-candidate views.
26+
- **Guided Finding Review** as a prioritized report-only review queue with shared finding cards, filters, progress
27+
tracking, and reviewed-state persistence.
28+
- **Native agent and IDE integrations** for VS Code, Claude Desktop, Claude Code, Codex, and Cursor, including
29+
governance, audit, memory, trajectory, and structural-review workflows.
30+
- Expanded controller, memory, trajectory, analytics, semantic-search, observability, blast-radius, patch-verification,
31+
and diagnostic CLI/MCP surfaces.
32+
- Reorganized documentation into a contract-focused 00–26 book with unified integration guidance and explicit edition
33+
tiers.
34+
- MCP schemas now include parameter descriptions, deterministic `next_tool` guidance, token-budget tracking, workspace
35+
hygiene warnings, and documentation-contract linting.
36+
37+
### Contract changes
38+
39+
- Cache schema advanced to **2.9** for the rebuildable per-function relationship-fact projection and to **2.10** for
40+
intra-module, class-method, and receiver-aware call resolution.
41+
- Engineering Memory schema advanced to **1.7** for trajectory and Patch Trail evidence.
42+
- Corpus Analytics store schema advanced to **1.2**.
43+
- Corpus Analytics JSON export schema advanced through **1.2** and **1.3**.
44+
- Corpus Analytics representation contract advanced to **3**.
45+
- Corpus Analytics control-plane contract introduced at **1.0**.
46+
- `derived.module_map` and `derived.review_queue` remain report-only projections excluded from the integrity digest;
47+
they add no analysis pass, metrics family, or report schema bump.
48+
- Live Implementation Context relationship facts remain off the canonical report and do not change canonical report
12749
identity.
128-
* **Corpus Analytics profiles and selection control (Slice 1.2).** Added
129-
versioned bundled and repository-local profile manifests, finite
130-
profile-scoped sweeps, separate suitability and profile-aware ranking,
131-
immutable profile batch receipts, configurable ordinary sweep grids, manual
132-
clustering parameters, and append-only maintainer selection events. Store
133-
schema is now `1.2`; JSON export schema `1.3` adds control-plane contract
134-
`1.0`, profile context/summary, and active selection without changing
135-
technical-validity semantics.
136-
* **Module map.** A default-on, report-only `derived.module_map` projection
137-
reprojects existing dependency and overloaded-module facts into deterministic
138-
package/module graph views and unwind-candidate triage rows for refactor
139-
scoping. A new `Module map` HTML tab (between Quality and Dependencies) renders
140-
the precomputed graph with a Packages/Modules zoom toggle, candidate/cycle/hub
141-
cues, a truncation notice on sampled graphs, and full-size unwind and
142-
top-overloaded tables. `get_report_section(section="module_map")` returns the
143-
projection directly. No new analysis pass, metrics family, or report schema
144-
bump — `derived` stays excluded from the integrity digest.
145-
* **Guided finding review.** A default-on, report-only `derived.review_queue`
146-
projection orders the existing suggestions into a prioritized, cross-family
147-
actionable queue (severity, priority, family, location, effort) with summary
148-
counts. A new `Review` HTML tab (between Overview and Clones) renders it as a
149-
walkable list of shared finding cards with a per-finding reviewed toggle
150-
(persisted in `localStorage`), a progress bar, and severity/family filters; the
151-
`Overview` tab gains a launchpad banner that links into it. A new shared
152-
`finding_card` component centralizes the card chrome now used by the
153-
Suggestions, Review, and Structural Findings surfaces. No new analysis pass,
154-
metrics family, or report schema bump — `derived` stays excluded from the
155-
integrity digest.
156-
157-
Changed
158-
159-
* The default project workspace moved from .cache/codeclone/ to
160-
.codeclone/; legacy locations now produce a migration warning.
161-
* Documentation builds now use Zensical with strict, clean builds.
162-
* pydantic is now a base dependency.
163-
* LCOM4 excludes Protocol methods and Pydantic validation/serialization hooks;
164-
computed_field remains part of cohesion analysis.
165-
* Repository test coverage is enforced at >=99%.
166-
167-
Fixed
168-
169-
* Durable memory writes. Engineering Memory now uses
170-
synchronous=FULL, preserving committed drafts across unclean MCP process
171-
exits. Intent and audit stores retain recovery-oriented
172-
synchronous=NORMAL.
173-
* Atomic memory ingestion. persist_batch no longer commits records and
174-
subjects mid-batch; it now defers the commit so a later failure in the same
175-
batch rolls back the whole ingestion instead of leaving half-written records
176-
behind. Standalone store writes keep their previous commit-on-write behavior.
177-
* Observable best-effort failures. The non-fatal audit-event writer and the
178-
best-effort finish-payload memory proposer no longer swallow exceptions with
179-
zero signal; each now increments an observability counter (audit.emit_dropped,
180-
memory.propose_candidate_dropped) on its fallback path, so silent drops stay
181-
countable in the cockpit. Both remain non-fatal and the telemetry never
182-
re-raises.
183-
* Compact implementation-context misses. get_implementation_context no longer
184-
emits the full empty facet scaffolding (structural_context, budget_summary,
185-
dataflow, call_context, uncertainties) when an explicit symbol query resolves
186-
nothing. The subject_not_found response now returns only the unresolved
187-
subject, a slim provenance block, the projection digest, and an actionable
188-
next_steps list, so a miss does not burn agent context.
189-
* Memory lifecycle correctness. Draft records are no longer marked stale
190-
before human promotion. Trajectory rebuilds now deduplicate superseded
191-
projections, repoint evidence, remove stale workflow rows, and preserve
192-
bounded claim-validation citations.
193-
* Workspace hygiene and intent attribution. Finish blocks only on missing
194-
evidence or foreign dirty overlap. Out-of-scope dirt is advisory,
195-
continue_own_wip supports resuming owned work, queued foreign intents no
196-
longer create false overlaps, and recoverable intents do not grant foreign
197-
attribution.
198-
* Patch verification correctness. Identical before/after runs are rejected
199-
for structural and governance profiles. Negative health deltas now surface a
200-
regression advisory, and Claim Guard warns when review text overstates patch
201-
quality.
202-
* Semantic retrieval correctness and cost. Hybrid search now preserves
203-
lexical and vector relevance through RRF instead of allowing metadata ranking
204-
to suppress strong matches. Per-source vector retrieval prevents dense lanes
205-
from crowding out other sources. Embedding providers load lazily, failures
206-
preserve documented fallback behavior, and redundant projection jobs are
207-
coalesced or deferred.
208-
* Architecture and import boundaries. Blast-radius graph logic moved into
209-
codeclone/analysis/blast_radius.py, removing the CLI-to-MCP dependency
50+
51+
### Changed
52+
53+
- Default project workspace moved from `.cache/codeclone/` to `.codeclone/`; legacy paths emit a migration warning.
54+
- Documentation builds now use Zensical with strict clean builds.
55+
- `pydantic` is now a base dependency.
56+
- LCOM4 excludes Protocol methods and Pydantic validation/serialization hooks; `computed_field` remains included.
57+
- Repository coverage is enforced at **>=99%**.
58+
59+
### Fixed
60+
61+
- Engineering Memory writes are durable and batch ingestion is atomic.
62+
- Best-effort audit and memory-proposal failures are now observable instead of silently swallowed.
63+
- Implementation-context misses return a compact actionable payload instead of empty scaffolding.
64+
- Memory, trajectory, and Patch Trail lifecycle handling now avoids premature staleness, duplicate projections, stale
65+
workflow rows, and broken evidence links.
66+
- Workspace hygiene, intent attribution, continuation of owned work, queue handling, and recoverable-intent behavior
67+
were corrected.
68+
- Patch verification now rejects identical before/after runs where required, surfaces health regressions, and warns on
69+
overstated review claims.
70+
- Semantic retrieval now preserves lexical/vector relevance, avoids source crowding, loads embeddings lazily, and
71+
coalesces redundant projection work.
72+
- Blast-radius graph logic moved into `codeclone/analysis/blast_radius.py`, removing the CLI-to-MCP dependency
21073
violation.
211-
* Regression accuracy. respect_pyproject=false no longer reports
212-
golden-fixture clone groups as false new regressions. Documentation URLs,
213-
plugin references, and contract tests were updated after the documentation
214-
reorganization.
74+
- `respect_pyproject=false` no longer reports golden-fixture clone groups as false new regressions.
75+
- Documentation URLs, integration references, and contract tests were aligned with the reorganized site.
21576

21677
## [2.0.2] - 2026-05-19
21778

0 commit comments

Comments
 (0)