Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 25 additions & 49 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
Feature releases follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and Python distribution versions follow PEP 440.

## [Unreleased]
## [0.5.1] - 2026-09-05

### Added

Expand All @@ -17,36 +17,6 @@ and Python distribution versions follow PEP 440.
- Added opt-in Bridge 2.0 tracked `build`/`update` jobs, correlated
`$/progress` notifications, cooperative cancellation, schema capabilities,
and a normative Bridge 2 JSON Schema. Bridge 1.0/1.1 remain supported.

### Changed

- Classified authentication, authorization, missing credential, quota, rate
limit, model, configuration, timeout, and service failures so terminal
provider-wide failures are not retried per file.
- Made semantic and repository-map analyzer identity depend on provider/model
and analysis contracts rather than an OpenAI-compatible endpoint. Legacy
`+base.<sha256>` records migrate on update without model calls.

### Fixed

- Enforce the caller's expected snapshot inside the index workflow, revalidate
it immediately before atomic publication, and check cancellation at the
manifest activation boundary.
- Return Bridge index timeouts at the caller's deadline while retaining
cooperative cleanup and its writer lock as tracked background work.
- Bound Bridge progress delivery with one writer task, coalesce synchronous
cumulative progress bursts, detect sustained client backpressure, drain every
completed semantic task, and preserve typed provider causes through semantic
and map aggregation.
- Preserve the prior active generation on cancellation, failure limits,
provider circuit opening, source drift, or progress backpressure.
- Return safe typed Bridge index errors without provider bodies, credentialed
URLs, absolute paths, tracebacks, or exception representations.

## [0.5.1] - 2026-09-05

### Added

- Added verified Tree-sitter declaration extraction for JavaScript, TypeScript,
Java, C#, Go, Rust, C, C++, PHP, and Ruby, including language-specific
ownership, signatures, modifiers, exports, and parser diagnostics.
Expand All @@ -60,6 +30,12 @@ and Python distribution versions follow PEP 440.

### Changed

- Classified authentication, authorization, missing credential, quota, rate
limit, model, configuration, timeout, and service failures so terminal
provider-wide failures are not retried per file.
- Made semantic and repository-map analyzer identity depend on provider/model
and analysis contracts rather than an OpenAI-compatible endpoint. Legacy
`+base.<sha256>` records migrate on update without model calls.
- Prioritized exact current-source identifiers, verified declarations, inferred
regions, and explicit task facets during discovery; verified symbol questions
now prefer compact declaration and dependency ranges.
Expand All @@ -69,24 +45,6 @@ and Python distribution versions follow PEP 440.
- Expanded semantic planning so every required symbol receives response budget,
oversized work splits before dispatch, and validated chunks can resume after
interruption.

### Added

- Added immutable, model-free repository discovery application contracts for
deterministic candidate preparation, read-only expansion, verified source
reads, and canonical context packaging.
- Added the generic ContextForge bridge protocol v1 ADR, normative JSON Schema,
persistent workspace-bound JSON-RPC 2.0 service over bounded UTF-8 NDJSON
stdio, and a runnable generic client example.
- Added explicit protocol negotiation and compatibility failures for missing or
unsupported v1 handshakes, cooperative JSON-RPC request cancellation, typed
source-identity drift, deterministic preparation/selection identities, and
bounded concurrent requests with serialized responses.
- Added bridge architecture, CLI, troubleshooting, security, stream,
cancellation, read-only, repository-truth, and source-verification guidance.

### Changed

- Preserved exact identifier ranges through discovery review and required
sufficient multi-symbol context before accepting model finalization.
- Preserved shadowed builtin dependencies, TypeScript destructuring defaults,
Expand All @@ -99,6 +57,24 @@ and Python distribution versions follow PEP 440.
- Corrected polyglot declaration ownership, callable classification, source
ranges, and coverage reporting across supported grammar variants.

### Fixed

- Enforce the caller's expected snapshot inside the index workflow, revalidate
it immediately before atomic publication, and check cancellation at the
manifest activation boundary.
- Return Bridge index timeouts at the caller's deadline while retaining
cooperative cleanup and its writer lock as tracked background work.
- Bound Bridge progress delivery with one writer task, coalesce synchronous
cumulative progress bursts, detect sustained client backpressure, drain every
completed semantic task, and preserve typed provider causes through semantic
and map aggregation.
- Preserve the prior active generation on cancellation, failure limits,
provider circuit opening, source drift, or progress backpressure.
- Return safe typed Bridge index errors without provider bodies, credentialed
URLs, absolute paths, tracebacks, or exception representations.
- Updated installed wheel and source-distribution smoke validation for Bridge
2.0 while retaining explicit checks for 1.0 and 1.1 compatibility.

## [0.5.0] - 2026-08-24

### Added
Expand Down
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,10 @@ commands.
</p>

> [!IMPORTANT]
> ContextForge is pre-alpha software. The unreleased API adds bounded failure
> policies, JSONL progress, and opt-in Bridge 2 tracked index jobs while the
> package version remains `0.5.1`. Discovery benchmarking is experimental and
> its results should be reviewed alongside the recorded provider, model,
> configuration, and source snapshot.
> ContextForge is pre-alpha software. Version `0.5.1` adds bounded failure
> policies, JSONL progress, and opt-in Bridge 2 tracked index jobs. Discovery
> benchmarking is experimental and its results should be reviewed alongside the
> recorded provider, model, configuration, and source snapshot.

## Why ContextForge

Expand Down
4 changes: 1 addition & 3 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ This roadmap describes broad milestones only. It does not promise dates.
read-only guarantees inside ContextForge while consumers own model selection.
- [x] Keep MCP independent and preserve its existing read-only protocol.

### v0.5.1 repository intelligence maintenance release (release prepared)
### v0.5.1 repository intelligence and host-integration release (complete)

- [x] Add verified Tree-sitter declaration extraction for ten common polyglot
languages and publish explicit relationship-coverage limitations.
Expand All @@ -81,8 +81,6 @@ This roadmap describes broad milestones only. It does not promise dates.
- [x] Adapt structured model requests to truncation and reported runtime context
limits without weakening strict validation.

### Unreleased host-integration hardening (complete)

- [x] Add independent fail-fast and bounded-failure index policies while
preserving the existing `--fail-on-error` contract.
- [x] Classify provider failures, stop retrying terminal authentication, quota,
Expand Down
15 changes: 11 additions & 4 deletions docs/architecture/api-consumer-follow-ups.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Bridge API consumer follow-ups
# ContextForge 0.5.1 Bridge API consumer follow-ups

The retrieval and Bridge 1.1 changes in ContextForge do not rewrite downstream
capsule assembly. Consumers such as `dsh-contextforge` should track the following
separately when migrating from Bridge 1.0:
The retrieval, Bridge 1.1, and opt-in Bridge 2 changes shipped together in
ContextForge 0.5.1. They do not rewrite downstream capsule assembly. Consumers
such as `dsh-contextforge` should track the following when migrating from Bridge
1.0:

- omit empty `compressed_summary` values instead of serializing placeholders;
- remove alphabetical fallback candidates when discovery reports
Expand All @@ -11,6 +12,12 @@ separately when migrating from Bridge 1.0:
Markdown table or source excerpt;
- use Bridge 1.1 match evidence and registered expansion candidate IDs rather than
rebuilding candidate lists client-side;
- negotiate Bridge 2 only when ContextForge should own index build/update,
writer-lock, staging, cancellation, and atomic publication lifecycle;
- consume correlated progress continuously and treat its sequence as monotonic
rather than contiguous because cumulative burst snapshots may be coalesced;
- after `REQUEST_TIMEOUT`, allow tracked background cleanup to release the index
lock before starting another mutation;
- keep raw prompts, provider diagnostics, workspace permissions, approval policy,
and other Harness metadata out of user-visible answers and packaged context.

Expand Down
5 changes: 3 additions & 2 deletions docs/architecture/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,6 @@ diagnostics, nested-ignore, and CLI usability improvements; it does not claim
future GUI, remote transport, orchestration, or source-mutation functionality.
Version 0.5.0 adds the trusted-local, model-free, read-only bridge v1 without
changing the existing model-assisted discovery or MCP semantics. Version 0.5.1
adds verified polyglot declarations, resumable semantic coverage, bridge
protocol 1.1, and stricter exact-symbol and dependency-aware discovery.
adds verified polyglot declarations, resumable semantic coverage, stricter
exact-symbol and dependency-aware discovery, bounded failure policies, JSONL
progress, provider circuit breaking, and opt-in Bridge 2 tracked index jobs.
4 changes: 2 additions & 2 deletions docs/decisions/003-host-managed-index-jobs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Status

Accepted for the unreleased ContextForge API following 0.5.1.
Accepted for ContextForge 0.5.1.

## Context

Expand Down Expand Up @@ -77,4 +77,4 @@ reserved for unexpected defects.
- Bridge 2 has narrowly scoped index and provider authority; it still cannot
write source, mutate Git, or execute arbitrary commands.
- Persisted index, manifest, and record schemas remain version 2; progress
remains version 3 and the package version remains 0.5.1 until release work.
remains version 3 in ContextForge 0.5.1.
Loading