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
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ No model provider is required by core.

Local stdio MCP servers already provide repository navigation and separate signed
context/graph tools. Claude Code and Codex are first-class target clients; actual
Codex use is recorded, while Claude model/tool acceptance remains open. See the
Codex use and a first Claude read-only task are recorded; full Claude lifecycle
and routine coding acceptance remain open. See the
[client and language plan](docs/CLIENTS-AND-LANGUAGES.md) for current capabilities,
deeper Rust/TS/Kotlin work and the provider-authentication boundary.

Expand Down
21 changes: 21 additions & 0 deletions RELEASE_EVIDENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,27 @@ Latest implementation and adoption results are in the
[dogfood execution ledger](docs/DOGFOOD-EXECUTION.md). The dated snapshots below
remain historical evidence; internal pilot acceptance is separate from G0–G4.

## 0.3.2 shipment checks, 22 September 2026

Navigation and exact source packets now accept `.kts`, `.cc`, `.cxx`, `.hh`,
`.hpp` and `.hxx`, matching the broad scanner's existing lexical coverage.
Syntax-aware planning remains TS/JS-only and Dart remains unsupported.
See the [language support matrix](docs/LANGUAGE-SUPPORT.md).

Local Node 24.21.0 checks passed 402 tests, independent package installation,
both unchanged benchmark gates, navigation stdio smoke, 22 scale tests and the
10k postings probe. Added coverage checks each suffix's search, exact source
lines/hashes, stale rejection and refresh, policy exclusion, unsupported planning
and retrieval through installed stdio MCP. Commit-specific CI, public artifact
checksums and download verification accompany the GitHub release.

npm authentication still returns HTTP 401; registry publication is outstanding.
Upgrade using matching GitHub tarballs or the source build, then reconnect the
MCP server: refreshing its source index does not reload its implementation.
These checks do not establish new Claude lifecycle acceptance or measured
whole-task/subscription/cash savings. The first actual Claude audit and its
incomplete host-cost coverage are recorded in the execution ledger.

## 0.3.1 shipment, 22 September 2026

This patch adds an installed, read-only `doctor` command that verifies the exact
Expand Down
13 changes: 10 additions & 3 deletions docs/CLIENTS-AND-LANGUAGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,18 @@ contracts, keeping unsigned navigation and signed evidence clearly distinguished
Actual Codex calls have succeeded, including this review. The recorded Claude
Code health check connected, but a previous Haiku attempt returned HTTP 429 for
a weekly limit before tool use. This is historical evidence, not a current quota
check. Claude task acceptance remains unverified. See
check. On 22 September, Claude Code 2.1.278 used all four tools from an installed
0.3.1 package for a [language coverage audit](LANGUAGE-SUPPORT.md). The read-only
task was accepted after host corrections; actual-client edit/stale/refresh,
restart/disable and consequential task qualification remain open. See
[the pilot record](DOGFOOD.md) and [navigation contract](LOCAL-NAVIGATION.md).

## OS1 client and retrieval assignments

| Task | Owner / where | Model and effort | Acceptance |
| --- | --- | --- | --- |
| **OS1a — Claude Code alongside Codex. Next** | Context integration owner, Node tools, public setup docs and isolated client fixtures | Flash/thinking off for bounded docs/fixtures; Terra/medium integration; **Claude Sonnet 5/medium** as the first real Claude executor; **Claude Opus 5/high** for one consequential source-backed task after basic acceptance | A pinned package launches in both clients against an explicit root; real tool discovery, status/refresh/search, bounded evidence, edit/stale/refresh, restart and disable work. Record actual client/model/effort and accepted task, not just Connected |
| **OS1b — Sufficient evidence through MCP. Implemented locally; live client qualification remains** | Context implementation owner, shared packet module plus `packages/context-tools` adapters/tests | Terra/medium implementation; Sol/high boundary review; Flash/off for scoped fixtures | `repository_packet` returns bounded exact ranges or complete selected TS/JS blocks with provenance and stale rejection. Installed-tarball stdio retrieval, edit/refresh and restart pass. Reconnect existing clients to discover the new tool; actual Claude use remains open. No shell helper required by the consuming model; no arbitrary path escape |
| **OS1a — Claude Code alongside Codex. Partial: read-only audit accepted** | Context integration owner, Node tools, public setup docs and isolated client fixtures | Flash/thinking off for bounded docs/fixtures; Terra/medium integration; **Claude Sonnet 5/medium** as the first real Claude executor; **Claude Opus 5/high** for one consequential source-backed task after basic acceptance | A pinned package launches in both clients against an explicit root; real tool discovery, status/refresh/search, bounded evidence, edit/stale/refresh, restart and disable work. Record actual client/model/effort and accepted task, not just Connected |
| **OS1b — Sufficient evidence through MCP. Shipped; first Claude use recorded** | Context implementation owner, shared packet module plus `packages/context-tools` adapters/tests | Terra/medium implementation; Sol/high boundary review; Flash/off for scoped fixtures | `repository_packet` returns bounded exact ranges or complete selected TS/JS blocks with provenance and stale rejection. Installed-tarball stdio retrieval, edit/refresh and restart pass. Reconnect existing clients to discover the new tool; first Claude read-only use is recorded, while lifecycle qualification remains open. No shell helper required by the consuming model; no arbitrary path escape |
| **OS1c — Graph questions through MCP** | Context graph owner, same tools adapter; follows OS3/OS4 evidence integration | Terra/medium; Sol/high review of scope/provenance | Bounded repository symbol/neighbour/path queries return precise source and derivation metadata in both clients; do not mistake the existing signed-cache graph tools for this capability |
| **OS1d — Other client surfaces** | Context integration owner, portable examples and clean-client acceptance | Flash/off for docs, Terra/medium review; user's chosen model for the actual client | Claude Desktop is separately qualified after Claude Code; other MCP clients follow demand. Never infer their acceptance from Claude Code or Codex |

Expand All @@ -80,6 +83,10 @@ client support does not require repeating every benchmark on every model.

## Current language depth and priorities

The [selected suffix audit](LANGUAGE-SUPPORT.md) records exact navigation, broad
scan, build-packet and plan-packet outcomes for Kotlin, C/C++, Dart and TypeScript,
with source references and explicit test gaps.

These findings come from this repository's source and tests, not a new scan of
every ForgeSworn project. The captured Heartwood pilot confirms Rust, TS/JS and
Kotlin inputs. Python also implements this project's new snapshot helpers.
Expand Down
27 changes: 25 additions & 2 deletions docs/DAILY-USAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ same-model task comparisons. Pricing estimates and invoice attribution are
different evidence. Account identifiers group usage; no subscription charge is
invented or multiplied by the number of tasks.

Remaining FS2 work: real Claude export acceptance, client-version coverage,
Remaining FS2 work: wider client-version coverage,
complete everyday host/worker/review captures and convenient weekly report
rendering. Explicit task boundaries and worker-helper receipt imports are available. The current tool handles explicit exports immediately;
automatic session discovery, provider authentication and telemetry are excluded.
Expand All @@ -230,6 +230,29 @@ metadata was unavailable and all whole-task coverage assertions were false.
This is a partial Context **development** window, not an accepted Heartwood task,
a baseline, a complete cost of this implementation or evidence of savings. No
real Claude export was present in the selected Context export directory; the
Claude adapter has synthetic fixture acceptance only. The active Heartwood
Claude adapter had synthetic fixture acceptance only at that point. The active Heartwood
session was not inspected or modified. Private evidence is recorded in the
[execution ledger](DOGFOOD-EXECUTION.md).

## First real Claude export acceptance

On 22 September 2026, Claude Code 2.1.278 completed a read-only Context language
coverage audit using an independently installed 0.3.1 MCP package. Its frozen
transcript contained 19 assistant entries representing seven unique message IDs.
The existing importer removed 12 identical usage copies, found no conflicts and
reconciled exactly with the CLI result: 166,442 total input tokens (130,617 cache
reads, 35,811 cache creation and 14 fresh input) plus 5,322 output tokens. Cache
creation's nested breakdown was not added again. No adapter code change was needed.

The observed model was `claude-sonnet-5`; medium effort was requested in the launch
command, but transcript effort remains unknown to the adapter. The CLI separately
reported 1,310 thinking tokens within output; this adapter deliberately leaves
reasoning unknown for its supported transcript shape. The result's list-price
cost is not an invoice or subscription charge.

The audited document was accepted after host source-review corrections. Only the
Claude execution counters are complete here: Codex preparation, integration and
review are not fully captured, and review duration is unknown. Task coverage stays
incomplete. This validates one real Claude export shape and read-only task use;
it does not establish whole-task cost, normal-session lifecycle acceptance or
savings. See [the audit](LANGUAGE-SUPPORT.md) and [ledger](DOGFOOD-EXECUTION.md).
76 changes: 76 additions & 0 deletions docs/DOGFOOD-EXECUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -926,3 +926,79 @@ The local release-check blocker is resolved. Doctor and benchmark changes remain
uncommitted and unpublished; this is not new CI, registry or client acceptance.
Next adoption gate: a real Claude source-packet task and usage import. The existing
Heartwood owner retains its application task; no consumer checkout was changed.

## 22 September 2026 — First Claude task and real export import

After the 0.3.1 shipment, an independent installation of its downloaded GitHub
tarballs passed `doctor` against the Context checkout at `bb83fa3`. Claude Code
2.1.278 then ran a useful read-only language coverage audit using that installed
MCP server. The actual model was `claude-sonnet-5`, with medium effort requested.
The existing Max subscription login was used; no new API credential was supplied.
One client invocation completed successfully, with no reported provider refusal,
tool error or permission denial and no host replay. Heartwood was not inspected or modified.

The invocation supplied an explicit MCP binding, `--strict-mcp-config`, the four
allowed repository tools, no built-in tools, and disabled skills for this bounded
audit. It preserved saved client settings. This establishes real Claude Code
print-mode use with an explicit binding, not acceptance of every interactive
configuration. [CLI flag reference](https://code.claude.com/docs/en/cli-reference).

The model called status once, refresh once, search eight times and packet once.
The source-backed result needed host corrections: it falsely called `.kts`
absent from broad scanning, misstated the number of packet suffixes, described
the planner rejection incorrectly and omitted `.hh` from its proposed alignment.
The reviewed [support matrix](LANGUAGE-SUPPORT.md) is accepted after those
corrections; the original draft remains partial, retained privately. No second
model pass was needed. The audit identifies a concrete next task: align Kotlin
script and C++ suffix eligibility across navigation and exact source packets,
with per-suffix tests and no broader parsing claim.

The completed transcript was copied from this explicitly created session only.
The existing daily importer accepted its real shape without code changes: 19
assistant entries became seven unique request records, with 12 identical copies
removed and no conflicts. Imported totals exactly match the CLI result:
166,442 input tokens (130,617 cache reads, 35,811 cache creation, 14 fresh input),
5,322 output tokens, 171,764 combined. The separate CLI thinking count is included
in output; imported reasoning and effective effort remain unknown. Reported
list-price cost is not subscription billing and is not treated as cash spend.

Private launch, transcript, original answer, review, reconciled receipt and task
summary are retained outside Git. Only the observed Claude execution is fully
accounted here. Codex preparation, repair/integration and review usage are not
fully captured; review duration and whole-task cost remain unknown. Coverage
assertions explicitly retain those gaps. This is Context development, not an
accepted Heartwood application task, a controlled comparison or evidence of
token/subscription/cash savings.

OS1a and FS2 now have first real Claude read-only tool-use and export evidence.
Actual-client edit → stale → refresh, restart/disable, a consequential task and
complete everyday host/worker/review receipts remain open. Eight searches before
one packet are an observation to review on further tasks, not a demonstrated
regression or causal savings claim. Documentation links and source assertions
were checked; no production code or language eligibility changed in this slice.

## 22 September 2026 — Kotlin script and C++ retrieval alignment (0.3.2)

The language audit's six concrete gaps are fixed: `.kts`, `.cc`, `.cxx`, `.hh`,
`.hpp` and `.hxx` are eligible for navigation and exact packets. Broad scanning
already recognised them; syntax planning remains TS/JS-only. No new parser or
semantic-resolution claim is made. The support matrix now documents this state.

The M4 worker endpoint was occupied by another live session, so no inference was
dispatched or interrupted. The host implemented and reviewed the small allowlist
change and regression tests. The first focused run failed seven assertions on
test error wording; the repair checks actual stale status and the existing
refresh-required error. All 26 focused tests then passed. Whole host usage and
review cost remain incomplete; no worker-token or monetary saving is claimed.

Local shipment checks passed 402 tests, independent installed-package smoke,
both unchanged benchmark gates, navigation stdio smoke, 22 scale tests and the
10k postings probe. Per-suffix MCP tests cover search, source hashes/lines,
checkout/commit provenance, stale rejection and refresh, Git-ignore exclusions
and unsupported plan requests; the installed smoke retrieves all six suffixes.
Dart remains explicitly unsupported. Publication/CI evidence belongs to the
0.3.2 release, separately from these local checks; npm auth returned HTTP 401.

Existing servers need a reconnect after the upgrade. No Heartwood checkout,
configuration or live job was changed. Real Claude lifecycle qualification,
routine whole-task receipts and measured benefit remain the next adoption gates.
4 changes: 2 additions & 2 deletions docs/GETTING-STARTED.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ matching core version:
mkdir context-install
cd context-install
npm init -y
npm install --ignore-scripts /absolute/path/to/forgesworn-context-0.3.1.tgz \
/absolute/path/to/forgesworn-context-tools-0.3.1.tgz
npm install --ignore-scripts /absolute/path/to/forgesworn-context-0.3.2.tgz \
/absolute/path/to/forgesworn-context-tools-0.3.2.tgz
```

For that installation, use
Expand Down
64 changes: 64 additions & 0 deletions docs/LANGUAGE-SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Source coverage: Kotlin, C/C++, Dart and TypeScript

Updated for 0.3.2 on 22 September 2026. The original audit used 0.3.1
(`bb83fa3`); the six suffix eligibility gaps found there are fixed in 0.3.2.
This is a selected capability audit, not a complete language manifest. Source
allowlists establish eligibility; ignores, selection policy and resource bounds
can still exclude eligible files.

| Suffix | Repository navigation | Broad source scan | Exact `build` packet | Syntax-aware `plan` packet |
| --- | --- | --- | --- | --- |
| `.kt` | Yes | Kotlin lexical extraction | Yes | Unsupported |
| `.kts` | Yes | Kotlin lexical extraction | Yes | Unsupported |
| `.cpp` | Yes | C++ lexical extraction | Yes | Unsupported |
| `.cc`, `.cxx` | Yes | C++ lexical extraction | Yes | Unsupported |
| `.h` | Yes | Classified as C; lexical extraction | Yes | Unsupported |
| `.hh`, `.hpp`, `.hxx` | Yes | C++ lexical extraction | Yes | Unsupported |
| `.dart` | Excluded | Unsupported | Rejected | Unsupported |
| `.ts` | Yes | Not handled by this scanner; separate TS/JS scanner exists | Yes | TypeScript syntax blocks |

The source contracts are
[navigation's suffix allowlist](../packages/context-tools/src/repository-navigation.ts),
[the broad scanner's language map and lexical rules](../packages/context-tools/src/broad-source-scan.ts),
[the TS/JS scanner](../packages/context-tools/src/source-scan.ts), and
[packet source/plan allowlists and guards](../packages/context-tools/src/source-packet.mjs).


Navigation provides exact-token line lookup. Broad scanning uses regular
expressions and labels inferred relationships; it is not a language parser.
The dedicated TS/JS scanner and packet planner use TypeScript syntax trees, but
do not establish type-checked semantic resolution. Exact build packets copy
selected lines with provenance; they make no syntax-completeness guarantee.
Unsupported plan suffixes are explicitly rejected by the planner guard before
TypeScript parsing; rejection is not a parser failure on those languages.

## Test evidence and remaining gaps

- [MCP packet tests](../packages/context-tools/src/repository-packet-mcp.test.ts)
exercise each added suffix, plus uppercase `.HPP`, through exact search, packet
lines and hashes, checkout/commit provenance, stale rejection, generation
replacement and retrieval after an edit. Git-ignore exclusions still suppress
search and reject packets. Syntax planning still rejects these suffixes.
- [Broad scanner tests](../packages/context-tools/src/broad-source-scan.test.ts)
cover declarations and lexical provenance for all six suffixes and uppercase
`.HPP`. Dart remains explicitly unsupported in scanning and MCP retrieval.
- [Installed package smoke](../test/context-package-smoke.mjs) retrieves all six
suffixes through the installed stdio MCP server outside the workspace.
- Existing packet tests retain TS/JS syntax support and path/policy boundaries.
These tests establish source retrieval and lexical coverage, not compiler-level
understanding or complete evidence for an arbitrary development task.

Dart extraction and deeper Kotlin/C++ parsing remain separate work. A running
MCP server needs a reconnect after upgrading its implementation; refreshing the
source index alone does not load new server code. Measure benefits on actual
accepted tasks; no token or subscription saving follows from suffix coverage.

## Qualification provenance

Claude Code 2.1.278 used the independently installed 0.3.1 repository MCP package
for this audit, with `claude-sonnet-5` and requested medium effort. All four tools
were used. Host source review corrected a false `.kts`-absence claim, an incorrect
suffix count, planner-rejection wording and the incomplete proposed C++ suffix
set before accepting this document. The original draft is retained privately.
See [the execution ledger](DOGFOOD-EXECUTION.md) for usage and remaining client
acceptance limits. This is not a measured savings comparison.
Loading
Loading