Skip to content

chore: mark shell scripts executable so make/./scripts work on fresh clone - #14

Open
allenter wants to merge 3 commits into
MaxMiksa:mainfrom
allenter:pr/chore-restore-exec-bits
Open

chore: mark shell scripts executable so make/./scripts work on fresh clone#14
allenter wants to merge 3 commits into
MaxMiksa:mainfrom
allenter:pr/chore-restore-exec-bits

Conversation

@allenter

@allenter allenter commented Aug 2, 2026

Copy link
Copy Markdown

PR: chore: 恢复 shell 脚本可执行位(make start 直接运行)

类型:chore/bug | 影响:README 中 make start 等命令在全新 clone 下会 Permission denied | 仅文件模式

问题描述

仓库中所有 scripts/**/*.sh 均以 100644(无执行位)提交。README / Makefile 大量使用 ./scripts/core/auto-loop.sh./scripts/macos/install-daemon.sh直接执行方式:

start: ## Start the auto-loop in foreground
	./scripts/core/auto-loop.sh

全新 git clone 后运行 make start 报:

permission denied: ./scripts/core/auto-loop.sh

用户必须先 chmod +x 才能启动,README 的快速开始流程直接失败。

根因

.gitattributes*.sh text eol=lf 只控制换行符,未声明执行位;脚本以 100644 提交。

修复

将以下脚本模式由 100644 改为 100755auto-loop.shcost-monitor.sh/cost-alert.sh 的 mode 已随各自功能 PR 提交,此处不重复):

  • scripts/core/monitor.sh
  • scripts/core/stop-loop.sh
  • scripts/macos/install-daemon.sh
  • scripts/macos/status-mac.sh
  • scripts/wsl/install-wsl-daemon.sh
  • scripts/wsl/uninstall-wsl-daemon.sh
  • scripts/wsl/wsl-daemon-status.sh
git update-index --chmod=+x scripts/**/*.sh

验证

  • git ls-files -s scripts/ 显示 100755 模式
  • 全新 clone 后 make start / ./scripts/core/auto-loop.sh 可直接运行
  • 内容零改动(git diff 仅显示 mode 变更)

变更文件

  • 7 个 .sh 脚本(仅文件模式)

Co-Authored-By: Claude noreply@anthropic.com

allenter and others added 3 commits August 2, 2026 08:50
Layer a zero-dependency, pure-Python vector memory store (memories/vault/)
on top of the existing single-file consensus baton:

- scripts/core/memory_vault.py: chunk consensus + docs, index into
  memories/vault/index.json (TF-IDF char n-grams + cosine similarity,
  no external deps), and semantic search with -top-k / min-score.
  Backend swappable: replace _embed_chunk() to plug in ChromaDB or a
  model embedding.
- auto-loop.sh: each cycle auto-retrieves the top relevant historical
  blocks (keyed off Next Action) and injects them into the prompt as
  '## Highly-relevant past memory'; after a successful/soft-timeout
  cycle it indexes the latest consensus + docs into the vault.
- .gitignore: ignore memories/vault/* runtime data.
- Docs updated: README(EN/ZH), CLAUDE.md, PROMPT.md, INDEX.md.

consensus.md remains the authoritative running-state baton; the vault
adds long-term recall of decisions/context that consensus collapses.
Add a Memory Vault panel to the control deck:

- server.py: new GET /api/vault endpoint. Reads memories/vault/index.json
  directly (no subprocess) and returns stats (chunk/source/term counts,
  size, last-indexed), per-source breakdown, latest entries, plus optional
  in-process cosine semantic search via ?q=.
- app.js: fetchVault() renderer with stat cards, a canvas bar chart of
  chunks per source, latest-entry list, and a live semantic-search box
  (Enter or button) showing scored hits with source tags.
- index.html: Memory Vault section between Consensus and Recent Log.
- styles.css: dark-theme styles for stats, canvas, entries, tags.

Pure stdlib on the server side; canvas drawn client-side.
…clone

Every scripts/**/*.sh is committed with mode 100644, so a fresh
`git clone` then `make start` fails with `permission denied:
./scripts/core/auto-loop.sh` — the README's quick-start path breaks
unless the user manually chmods. Mark them executable (100755).

Content is unchanged; this is a mode-only change across the 7 scripts
(monitor/stop-loop/install-daemon/status-mac/install-wsl/uninstall-wsl/
wsl-daemon-status). auto-loop.sh and the new cost-monitor scripts carry
their exec bits in their own feature/fix PRs.

Verified: git ls-files -s shows 100755; diff is mode-only.

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant