From 090013db16266dc3595fb802e7c9d5b3b5ef1f85 Mon Sep 17 00:00:00 2001 From: SIN CI Date: Thu, 18 Jun 2026 21:36:12 +0200 Subject: [PATCH] docs: v3.23.0 changelog and AGENTS.md roadmap reconciliation --- AGENTS.md | 9 +++++---- CHANGELOG.md | 53 +++++++++++++++++++++++++++++++++------------------- 2 files changed, 39 insertions(+), 23 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index c2178e00..bf2c21bd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -668,7 +668,7 @@ Headless JSON contract (stable API — never break without major bump): --- -## 8. Roadmap (versions 3.0.0 – 3.9.0) +## 8. Roadmap (versions 3.0.0 – 3.23.0) | Version | Status | Contents | |---|---|---| @@ -690,13 +690,13 @@ Headless JSON contract (stable API — never break without major bump): | v3.16.0 | ✅ SHIPPED | Forge integration (#37): `sin forge` command, `sin status` detection, 16th MCP tool in `mcp_config` | | v3.18.0 | ✅ SHIPPED | Memory compaction (`internal/compress/`, `compress_cmd.go`, issue #172): deterministic dedupe + byte-budget + sort, optional LLM summarization (`--strategy llm|hybrid`) with byte-preservation validation, snapshot+rollback for lossless Apply, `compress__plan/apply/rollback` permission defaults (ask-only on `apply`). Closes #172. | -| v3.18.0 | ACTIVE | `sin-code install` + curl|bash shim + PowerShell (issue #170): new 40th subcommand + internal/install/ package, 27-line install.sh mirror + 35-line install.ps1, SHA256-verified single-binary downloads from goreleaser assets | +| v3.18.0 | ✅ SHIPPED | `sin-code install` + curl|bash shim + PowerShell (issue #170): new 40th subcommand + internal/install/ package, 27-line install.sh mirror + 35-line install.ps1, SHA256-verified single-binary downloads from goreleaser assets | | (next) | TBD | eval/trace infra hardening + first-party golden-dataset CI gate (issue #75 phase 2) | | v3.19.0 | ✅ SHIPPED | `sin-code serve --compress-tools` (issue #173): ponytail-tag compressor in `internal/mcpcompress/` shrinks the 47-tool manifest on the wire. Tag set `delete|stdlib|native|yagni|shrink`, subset via `--compress-tags`, savings reported via `--print-stats`. Tool names, schemas, and behavior are unchanged (AGENTS.md §10). Closing #173. | -| v3.18.0 | ACTIVE | `sin-code debt` (issue #177) — `// sin-debt: , upgrade: ` marker convention (ponytail adoption), byte-stable `internal/sindept/` scanner + report, policy gate via `sin-code debt check`, 41st subcommand; alongside `sin-code install` (issue #170), `eval` / `trace` (issue #75), `evalset` / `prp` / `instinct` / `assets` / `hooks` / `rtk` / `codegraph` / `spec` v0 work | +| v3.18.0 | ✅ SHIPPED | `sin-code debt` (issue #177) — `// sin-debt: , upgrade: ` marker convention (ponytail adoption), byte-stable `internal/sindept/` scanner + report, policy gate via `sin-code debt check`, 41st subcommand; alongside `sin-code install` (issue #170), `eval` / `trace` (issue #75), `evalset` / `prp` / `instinct` / `assets` / `hooks` / `rtk` / `codegraph` / `spec` v0 work | | (next) | TBD | eval/trace infra hardening + first-party golden-dataset CI gate (issue #75 phase 2) | -| v3.19.0 | ACTIVE | `autoactivate` hooklife subpackage (#176): `cmd/sin-code/internal/hooklife/autoactivate` — per-session rule injection on `SessionStart` + `UserPrompt`. `--activate ` + `--no-trigger` flags on `sin-code chat`; project-local `.sin-code/autoactivate.toml`; deterministic byte-stable `RuleSet.Render()`; race-safe (mandate M7). Hooks register against any `*hooklife.Registry` via `Activator.Register(reg)`. | +| v3.19.0 | ✅ SHIPPED | `autoactivate` hooklife subpackage (#176): `cmd/sin-code/internal/hooklife/autoactivate` — per-session rule injection on `SessionStart` + `UserPrompt`. `--activate ` + `--no-trigger` flags on `sin-code chat`; project-local `.sin-code/autoactivate.toml`; deterministic byte-stable `RuleSet.Render()`; race-safe (mandate M7). Hooks register against any `*hooklife.Registry` via `Activator.Register(reg)`. | | v3.17.0 | ✅ SHIPPED | TUI runtime DB .gitignore, MCP warning deduplication, marketplace update test hardening, skills 33 → 34 | | v3.18.0 | ✅ SHIPPED | `sin-code install` single-binary installer (issue #170), curl/bash + PowerShell shims, SHA256-verified release downloads | | v3.19.0 | ✅ SHIPPED | `sin-code review --complexity` (issue #179): `internal/complexity/` static analyzer with ponytail 5-tag format (`delete`, `stdlib`, `native`, `yagni`, `shrink`), `// sin-debt:` marker support (issue #177), text/json/markdown output, race-clean tests | @@ -705,6 +705,7 @@ Headless JSON contract (stable API — never break without major bump): | v3.21.0 | ✅ SHIPPED | Test-First Verify-Loop (RFC-test-automation.md): `sin_test` + `sin_test_generate` + `sin_quality_gate` + `sin_mutation` + `sin_fuzz` + `sin_property`; `tool.post` hook payload path; `test.*` config keys; `evals/test-generation.json` golden dataset. | | v3.22.0 | ✅ SHIPPED | SIN Fusion v1 enhancements: **Plan-Merge mode** (issue #393 — N planners → judge merges → 1 coder → verify, preserves all insights); **Oracle as default** (issue #394 — quality over cost, was: PoC first-pass-wins); **Model Performance Registry** (issue #395 — `modelperf.db`, `fusion benchmark/rank/recommend` CLI, auto-wired into `loopbuilder`). | | v3.22.0 | ✅ SHIPPED | pre-existing fixes stacked into the same release: `llm/provider.go`+`recorder.go`+`stream.go` ThinkingTokens + 8-arg `RecordUsage`; `agentloop/compaction_helpers.go` for `compaction_types.go`; vet fix in `orchestrator/event_dispatch_test.go`. | +| v3.23.0 | ✅ SHIPPED | v3.23.0 roadmap batch 1: autonomous research report (`sin-code research`, issue #384), SWE-bench test suite (issue #363), scientific research skill (issue #387), `sin_apply_diff`/`sin_generate_diff` chat tools (issue #365), dynamic MCP server discovery (`sin-code mcp discover/add`, issue #368). Also repaired main build drift from parallel-agent WIP. Remaining open: #364, #373, #374, #388, #389. | Each release tag ⇒ goreleaser builds linux/darwin/windows × amd64/arm64, updates `homebrew-sin` formula, and ships to GitHub Releases. diff --git a/CHANGELOG.md b/CHANGELOG.md index 515c26bd..985c7f1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,29 +1,44 @@ -## context-compaction-modes first PR (2026-06-18) +# Changelog -**Branch**: `feat/context-compaction-modes` (companion to issue #278) +All notable changes to the SIN-Code unified binary will be documented in this file. -Adds a mode-based compaction layer (`Compact2`) on top of the legacy -`CompactionStrategy` switch. Three new modes (deterministic, llm, -hybrid) all preserve verification evidence by default (mandate M3); -lossy modes (llm, hybrid) write sidecar JSON snapshots to -`~/.local/share/sin-code/context-snapshots/` so the persisted session -record stays complete. +## [v3.23.0] - 2026-06-18 -Library-only first PR — no loop wiring yet. Follow-up PR will wire -`Compact2` into `Loop.Run` and add CLI flags + config keys. +### Added — v3.23.0 Roadmap -Files touched: -- `cmd/sin-code/internal/agentloop/compaction.go` -- `cmd/sin-code/internal/agentloop/compaction_test.go` -- `cmd/sin-code/internal/agentloop/compaction_types.go` (already present) -- `cmd/sin-code/internal/agentloop/compaction_helpers.go` (already present) +- **Autonomous research report (issue #384):** `sin-code research ` + enqueues an autonomous goal that searches the web, fetches sources, and + synthesizes a Markdown report. Permission split: `research__dry_run`/`list` + allow, `research__run` ask (M4). -Tests: 7 new `TestCompact2_*` + `TestIdentifyEvidence_FindsMarkers`, -all race-clean under `go test -race -count=1`. +- **SWE-bench integration tests (issue #363):** Comprehensive 670-line test + suite for the `swebench` package covering dataset loading, TestCase + conversion, scoring, and JSON serialization. -# Changelog +- **Scientific research skill (issue #387):** New bundled skill + `skill-shop-research-scientific` with search strategies for PubMed, + USPTO patents, and arXiv preprints. -All notable changes to the SIN-Code unified binary will be documented in this file. +- **Unified diff tools (issue #365):** `sin_apply_diff` and `sin_generate_diff` + chat tools. `sin_apply_diff` validates and applies a unified diff to a file; + `sin_generate_diff` generates a unified diff from old/new content. Wired + into the permission matrix as allow (same tier as `sin_edit`). + +- **Dynamic MCP discovery (issue #368):** `mcpclient.DiscoverConfigs()` scans + `~/.config/mcp/servers/*.json`, Claude Desktop, opencode, codex, and + `.sin-code/mcp.json`. New CLI verbs: `sin-code mcp discover` and + `sin-code mcp add `. Discovered servers are merged into `LoadConfigs()`. + +### Fixed — Build Drift on main + +- Removed stale `toolretrieval` import from `chat_mcp.go`. +- Fixed literal-newline syntax errors in `chat_tools.go` `toolBash` output. +- Restored `extraSpecs()` function structure in `chat_tools_extra.go`. +- Fixed `fmt.Sscanf` error handling in `browser_interaction.go`. +- Added missing `repetitionThreshold` / `repetitionWindow` fields and CLI flags + to `chat_cmd.go` to match `loopbuilder` wiring. +- Added `LoopDetector` field to `agentloop.Loop` and wired recording with the + `loop.detected` hook event. ## [v3.22.0] - 2026-06-18