Repository navigation
River v0.1.0-alpha.9 — Clear staging and guided AI workflows
Pre-releaseRiver 0.1.0-alpha.9
Clearer staging and a guided path from task intent to AI-assisted work, verification evidence and a commit. The interface is currently in Korean.
Download the Apple Silicon DMG · All release assets
Changes
- Stage or unstage the selected file with a visible button above its Diff, including new files. The lists now read Before staging (
스테이징 전) and Included in commit (커밋에 포함). These switch the displayed list; the Diff buttons perform the action. Supported text hunks remain available through Stage this change only (이 변경만 스테이징). - Explain what the next commit includes and why a staging action is unavailable. Whole-file unstaging removes that file's entire staged selection while preserving its working-folder content. Leaving the last file on a source list clears its old Diff.
- Open Task & AI guidance (
작업·AI 안내) to follow four steps in the existing task pane: purpose and criteria, preview/copy a request into an external AI tool, record actual results and evidence, then review files and commit. An existing checkout works directly; creating a Task or worktree is optional. - Put the observed behavior, results and evidence first in the report form. Optional provider/model and claimed reviewed-code values sit in a named disclosure; unknown values stay empty and incomplete/tool-error warnings remain visible.
- Include the work instruction in the work-context request and keep collected observations separately quoted. Requests remain editable previews for manual copying; River does not invoke AI tools or transmit their contents.
Try one small change using the real-project getting-started guide (한국어). The task workflow guide explains condition history and evidence boundaries. This release connects human decisions, code and evidence for AI-assisted development; it does not certify AI-DLC stages or criterion fulfillment. No new external-advisor consensus is claimed.
Install and compatibility
Alpha.6 and later can check River → 업데이트 확인…. Earlier versions need one manual installation: open the DMG, drag River.app into Applications, eject the image, then launch River. Download, installation and restart require user action. Save session drafts first; active work postpones restart.
| Item | This release |
|---|---|
| Architecture | Apple Silicon, arm64 |
| Declared minimum | macOS 14 |
| Tested runtime | macOS 27.0.1; macOS 14–26 remains unverified |
| Bundle version | 0.1.0, build 10; full version 0.1.0-alpha.9 |
| Updates | Sparkle 2.10.0; signed feed/archive; user-controlled installation |
| Git | Apple command-line Git; remote operations require 2.41+, regular-file whole-file staging requires 2.42+ |
The app, embedded updater/engine and DMG are Developer ID-signed. Executables use hardened runtime and secure timestamps. Apple notarization is not completed, so first launch may be blocked. Review Apple's Open Anyway instructions if you choose to trust this alpha. The built-in example additionally needs python3.
File staging is capability-gated: an older connected engine shows an update/reconnect explanation instead of receiving a substitute write command. Git older than 2.42 cannot isolate attribute conversion for regular-file staging; unstaging, deletion and symlink staging do not need that conversion. Unsupported conversion attributes are rejected.
The alpha.8 workflow-data compatibility boundaries remain: do not run different engine versions concurrently against one journal. Legacy-engine rewrites can require an explicit context reset; existing history remains preserved. See the task workflow guide before resetting.
Verification and limits
235 Swift tests and 169 Rust tests pass, together with Rust formatting and strict Clippy checks. Native synthetic scenarios exercise the real Rust service. Coverage includes selected-file stage/unstage, new files, stale state, target changes, concurrent index writes, index-lock ownership, sibling preservation, bounded file reads and strict request decoding. AI guidance checks cover draft instructions, quoted observations, report input and action availability. The unchanged package/updater Python code retains alpha.6's 56-test validation; the changed native preview runner is checked separately.
Native screens are rendered offscreen with SwiftUI/AppKit and synthetic repositories. These checks are not OS-input/clipboard/VoiceOver certification, older-macOS testing or large-repository benchmarks. Update feed/archive checks do not certify an OS-driven installation/relaunch. Real user projects are not used for staging probes.
- Whole-file staging is limited to 32 MiB per file and a 64 MiB index. Conflicts, submodules/nested repositories, special files, unsafe paths, external filters and unsupported conversion attributes are rejected. Working-folder bytes and HEAD are preserved; only the selected index entry changes. Text-hunk support has narrower limits.
- Selected-file conversion uses an isolated Git configuration and attributes context. General status/diff reads retain a preexisting probe-then-execute boundary; concurrent edits to Git configuration are not isolated from those reads. That shared read boundary still needs hardening.
- Recent evidence contains at most 50 records across the task; history summaries contain the latest 10 versions. Missing recent evidence does not establish absence across all history.
- Criterion links, result status and claimed examined states are author-supplied reports. River does not infer fulfillment, observe external AI execution, or approve integration.
- Guide reads accept regular UTF-8
.md,.txt,.mdcand.rstfiles up to 64 KiB inside the selected repository/worktree. Includes, commands, URLs and document instructions are not followed. Pins compare bytes only when explicitly read again. - App Git checks cover tracked hygiene/conflicts/in-progress state, not build/test success, untracked content or submodules. No automatic AI execution, merge or deployment is added. Existing limitations remain. The project's license is undecided (
UNLICENSED).
Verify the download
Download the DMG and matching checksum into the same folder:
shasum -a 256 -c River-0.1.0-alpha.9-macos-arm64.dmg.sha256The manifest records packaging metadata. Checksums do not replace signature or notarization checks.