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
31 changes: 14 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,36 +26,33 @@ and recovery sit behind explicit contracts — from Rust, Node.js, Python, Go, o

<p align="center">
<a href="#start-in-60-seconds">Start</a> ·
<a href="#whats-new-in-84">v8.4</a> ·
<a href="#whats-new-in-85">v8.5</a> ·
<a href="#why-a3s-code">Why Code</a> ·
<a href="#capability-map">Capabilities</a> ·
<a href="#configure-the-runtime">Configure</a> ·
<a href="#architecture">Architecture</a> ·
<a href="#documentation">Documentation</a>
</p>

## What's new in 8.4
## What's new in 8.5

Harness convergence (one baseline path, refuse dual surfaces):
Workspace search planes stay separate; session-store reopen recovers under flock:

- **Thin library defaults.** `a3s-code-core` defaults to `local-code`; SDK
crates default to bundled zvec FTS. Enable `advanced-harness`, `server`,
and/or `headless-search` explicitly for product embeds.
- **Unified `task` fan-out.** Model-visible `parallel_task` and matching SDK
helpers are removed; multi-item delegation uses `task` / `session.tasks`.
- **Active-only durable memory.** Serving is `active_recall` only; Candidate
shadow mode is gone.
- **`update_plan` + reply language.** Built-in checklist tool and host
`set_output_language` / `outputLanguage` on Rust and all SDKs.
- **SDK capabilities v2** with `tier: baseline | advanced`. Gate-mode
evaluation fail-closes on incomplete evidence.
- **`grep` candidate pruning (CODE-G1).** Default `local-code` builds an
in-tree trigram filter under `.a3s-code/grep-trigram` so literal needles open
fewer files before the exact regex scan. Non-literals and index failures fail
open. Exact matches remain owned by Code — this path never opens durable zvec
FTS (`mode: "bm25"` stays the ranked plane).
- **Session-store WAL flock (8.5.1).** Concurrent writers re-read the durable
max sequence under a cross-process flock; corrupt WALs can be quarantined so
hosts continue from durable snapshots.

Docs: [a3s-lab.github.io/Code](https://a3s-lab.github.io/Code/) (`v8.4.0`).
Wrap-up: [manual/HARNESS_CONVERGENCE.md](manual/HARNESS_CONVERGENCE.md) ·
[manual/FIRST_PRINCIPLES_E2E.md](manual/FIRST_PRINCIPLES_E2E.md).
Docs: [a3s-lab.github.io/Code](https://a3s-lab.github.io/Code/) (`v8.5.1`).

### Earlier lines

- **8.4** — thin `local-code` defaults, unified `task` fan-out, Active-only
durable memory, `update_plan`, SDK capabilities v2.
- **8.3** — negotiable session-store durability, typed tool-result trust,
workspace source snapshots, fallible FFI init, host checkpoint hooks.
- **8.0+** — run-owned spacetime, generation-exact capabilities, portable
Expand Down
29 changes: 12 additions & 17 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,36 +24,31 @@

<p align="center">
<a href="#60-秒内起步">起步</a> ·
<a href="#84-有什么新内容">v8.4</a> ·
<a href="#85-有什么新内容">v8.5</a> ·
<a href="#为何选择-a3s-code">为何选择 Code</a> ·
<a href="#能力地图">能力</a> ·
<a href="#配置运行时">配置</a> ·
<a href="#架构">架构</a> ·
<a href="#文档">文档</a>
</p>

## 8.4 有什么新内容
## 8.5 有什么新内容

Harness 收敛(单一基线路径,拒绝双轨表面):
工作区搜索平面保持分离;会话存储重开在 flock 下恢复:

- **库默认变薄。** `a3s-code-core` 默认 `local-code`;SDK crate 默认捆绑
zvec FTS。产品嵌入需显式启用 `advanced-harness`、`server` 和/或
`headless-search`。
- **统一 `task` 扇出。** 模型可见的 `parallel_task` 与对应 SDK 辅助 API 已移除;
多条目委派使用 `task` / `session.tasks`。
- **仅 Active 的 Durable Memory。** 服务路径仅为 `active_recall`;Candidate
shadow 模式已移除。
- **`update_plan` + 回复语言。** 内置清单工具;宿主可在 Rust 与各 SDK 上使用
`set_output_language` / `outputLanguage`。
- **SDK capabilities v2**,带 `tier: baseline | advanced`。Gate 模式在证据
不完整时 fail-close。
- **`grep` 候选裁剪(CODE-G1)。** 默认 `local-code` 在
`.a3s-code/grep-trigram` 下构建进程内 trigram 过滤器,使字面量模式在精确
正则扫描前打开更少文件。非字面量与索引失败会失败开放。精确匹配仍由 Code
拥有 — 该路径不会打开持久 zvec FTS(排序检索仍用 `mode: "bm25"`)。
- **会话存储 WAL flock(8.5.1)。** 并发写者在跨进程 flock 下重读持久最大
序号;可隔离损坏的 WAL,使宿主从持久快照继续。

文档:[a3s-lab.github.io/Code](https://a3s-lab.github.io/Code/)(`v8.4.0`)。
收口:[manual/HARNESS_CONVERGENCE.md](manual/HARNESS_CONVERGENCE.md) ·
[manual/FIRST_PRINCIPLES_E2E.md](manual/FIRST_PRINCIPLES_E2E.md)。
文档:[a3s-lab.github.io/Code](https://a3s-lab.github.io/Code/)(`v8.5.1`)。

### 更早的版本线

- **8.4** — 变薄的 `local-code` 默认、统一 `task` 扇出、仅 Active 的 Durable
Memory、`update_plan`、SDK capabilities v2。
- **8.3** — 可协商会话存储耐久、类型化工具结果信任、工作区源快照、可失败 FFI
init、宿主 checkpoint 钩子。
- **8.0+** — Run 拥有的时空组合、generation-exact 能力、可移植检查点、收敛工作流。
Expand Down
18 changes: 9 additions & 9 deletions website/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ configuration, wire behavior, or SDK surface to remain reproducible. Required
parameter or function-signature breaks must use the appropriate minor or major
product version rather than being hidden inside a documentation patch.

The active `v8.4.0` content lives under `docs/v8.4.0`. The `v8.3.0`, `v8.2.0`,
`v8.1.0`, `v8.0.0`, `v7.0.1`, `v6.9.0`, `v6.8.0`, `v6.7.0`, `v6.6.0`, `v6.5.2`,
`v6.5.1`, and `v6.5.0` epochs remain read-only historical snapshots; this policy
does not rewrite existing archives. The v6.9 website was published after the
package tag, so its exact source is pinned by the non-release `docs/v6.9.0` tag.
For a new minor or major line, always create a new current directory and archive
the previously supported line. Keep only supported or contract-distinct
revisions in the public selector; release tags and `CHANGELOG.md` retain the
complete patch history.
The active `v8.5.1` content lives under `docs/v8.5.1`. The `v8.4.0`, `v8.3.0`,
`v8.2.0`, `v8.1.0`, `v8.0.0`, `v7.0.1`, `v6.9.0`, `v6.8.0`, `v6.7.0`, `v6.6.0`,
`v6.5.2`, `v6.5.1`, and `v6.5.0` epochs remain read-only historical snapshots;
this policy does not rewrite existing archives. The v6.9 website was published
after the package tag, so its exact source is pinned by the non-release
`docs/v6.9.0` tag. For a new minor or major line, always create a new current
directory and archive the previously supported line. Keep only supported or
contract-distinct revisions in the public selector; release tags and
`CHANGELOG.md` retain the complete patch history.

When archiving a release, list the exact revision in `multiVersion.versions`
in `rspress.config.ts`. Record its tag, source tree, file count, and canonical
Expand Down
12 changes: 12 additions & 0 deletions website/docs/v8.5.1/en/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[
{
"type": "dir",
"name": "guide",
"label": "Documentation"
},
{
"type": "dir",
"name": "api",
"label": "API"
}
]
42 changes: 42 additions & 0 deletions website/docs/v8.5.1/en/_nav.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[
{
"text": "Docs",
"link": "/guide/",
"activeMatch": "^/guide/(?!examples/)"
},
{
"text": "Examples",
"link": "/guide/examples/",
"activeMatch": "^/guide/examples/"
},
{
"text": "API",
"link": "/api/",
"activeMatch": "^/api/"
},
{
"text": "Resources",
"items": [
{
"text": "GitHub",
"link": "https://github.com/A3S-Lab/Code"
},
{
"text": "Changelog",
"link": "https://github.com/A3S-Lab/Code/blob/main/CHANGELOG.md"
},
{
"text": "Rust API",
"link": "https://docs.rs/a3s-code-core"
},
{
"text": "npm",
"link": "https://www.npmjs.com/package/@a3s-lab/code"
},
{
"text": "PyPI",
"link": "https://pypi.org/project/a3s-code/"
}
]
}
]
Loading
Loading