mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
Every Studio update downloads the whole installer (115 MB on Windows), even when a release changes a few megabytes. Measured on the real v2.18.1 -> v2.19.0 Windows builds: the Electron binary is identical but for its version resource, the kernel changes, and the frontend changes by about half a megabyte. internal/platform/delta describes a release as a signed-to-be Index: every file's path, size and SHA-256, and the content-defined chunks it is made of (normalized gear CDC, 4/16/64 KiB). Chunks are stored zstd-compressed under the SHA-256 of their plain bytes, so any chunk two releases share is stored and fetched once. An update cuts the running install with the same chunker; content-defined boundaries move with an insertion instead of shifting every chunk after it. It fetches only the missing chunks, checking each against its name, and writes the new tree to a staging directory, checking every file against the Index. Validate refuses paths that leave the tree, backslashes and drive letters, two paths that are one file on Windows, and chunks that do not add up to their file. cmd/studio-delta builds an Index and chunk store from a release zip, and replays an update from an unpacked older release. On the real pair it fetches 21.9 MB instead of 115 MB, reuses 344 of 387 MB, and verifies the staged tree, in about five seconds. Nothing publishes or consumes this yet. Wiring it into the release workflow and the updater comes next. Adds github.com/klauspost/compress for zstd.
97 lines
2.1 KiB
Plaintext
97 lines
2.1 KiB
Plaintext
# Build artifacts. A `go build` of one command writes its binary into the
|
|
# working directory, so every main package in the root module can drop its own
|
|
# name here; repolint's build-artifact rule holds the two lists together.
|
|
/bin/
|
|
/dist/
|
|
/stage/
|
|
/npm/.stage/
|
|
/reasonix
|
|
/reasonix.exe
|
|
/e2ebench
|
|
/e2ebench.exe
|
|
/context-retrieval
|
|
/compaction
|
|
/context-maintenance-e2e
|
|
/runtime-resume
|
|
/extension-protocol-gen
|
|
/reasonix-plugin-example
|
|
/reasonix-studio-host
|
|
/signpath-contract
|
|
/studio-delta
|
|
/covergate
|
|
/pricecheck
|
|
/repolint
|
|
/workgroupassay
|
|
/write_heartbeat
|
|
/catalog-detector
|
|
/tool-surface-cache
|
|
|
|
# Go test/build scratch
|
|
*.test
|
|
*.out
|
|
*.coverprofile
|
|
coverage.out
|
|
cpu.prof
|
|
mem.prof
|
|
|
|
# Wails desktop artifacts
|
|
/desktop/build/*
|
|
!/desktop/build/appicon.png
|
|
!/desktop/build/appicon.svg
|
|
/desktop/desktop
|
|
/desktop/frontend/dist/*
|
|
!/desktop/frontend/dist/.gitkeep
|
|
/desktop/frontend/sourcemaps/
|
|
/desktop/frontend/wailsjs/
|
|
/desktop/frontend/package.json.md5
|
|
|
|
# Environment / local config (reasonix.example.toml is the shared template)
|
|
.env
|
|
.env.local
|
|
*.local
|
|
/reasonix.toml
|
|
/desktop/.env
|
|
/desktop/reasonix.toml
|
|
|
|
# Node / frontend dependencies and caches
|
|
node_modules/
|
|
.pnpm-store/
|
|
.npm/
|
|
|
|
# Project-local Reasonix state; keep the checked-in review command.
|
|
/.reasonix/*
|
|
!/.reasonix/commands/
|
|
!/.reasonix/commands/review.md
|
|
|
|
# Stray Reasonix state written under a package dir by a test whose RealPath
|
|
# resolves to CWD (e.g. remote bootstrap EnsureServe). Never commit these.
|
|
internal/**/.reasonix/
|
|
desktop/**/.reasonix/
|
|
|
|
# CodeGraph per-project index (rebuilt locally; never committed)
|
|
.codegraph/
|
|
|
|
# Editor / OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
.idea/
|
|
.vscode/
|
|
|
|
benchmarks/context-maintenance-e2e/run/
|
|
|
|
# Local scratch
|
|
temp/
|
|
|
|
# Official theme art intermediate outputs / caches
|
|
scripts/official-theme-art/out/
|
|
scripts/official-theme-art/__pycache__/
|
|
|
|
# Committed pointer at REASONIX.md; overrides a global CLAUDE.md ignore rule.
|
|
!/CLAUDE.md
|
|
|
|
# Go build output left in the tree by `go build ./tools/...`. The ~ form is
|
|
# what a linker leaves behind when it cannot replace a binary that is still
|
|
# running, which on Windows is every rebuild while Studio is open.
|
|
*.exe
|
|
*.exe~
|