Commit graph

380 commits

Author SHA1 Message Date
Anton Dieterle
4d4c1e4965 Fix OpenCode API URL in provider configuration
Hey not sure why it was changed, but this is the correct URL for opencode zen
2026-02-16 23:01:53 -05:00
Argenis
b2facc7526
fix(cli): respect config default_temperature
Fixes #452 - CLI now respects config.default_temperature

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 20:08:00 -05:00
Argenis
e8553a800a
fix(channels): use platform message IDs to prevent duplicate memories
Fixes #430 - Prevents duplicate memories after restart by using platform message IDs instead of random UUIDs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 19:04:37 -05:00
Alex Gorevski
c3cc835346 Add windows and linux prerequesite installation steps 2026-02-16 18:48:33 -05:00
Will Sarg
296f32f406 fix(actionlint): adjust indentation for self-hosted runner labels 2026-02-16 17:59:32 -05:00
Will Sarg
018dfc7394 ci(actionlint): add Blacksmith runner label to config
Add blacksmith-2vcpu-ubuntu-2404 to actionlint self-hosted-runner labels config
to suppress "unknown label" warnings during workflow linting.

This label is used across all workflows after the Blacksmith migration.
2026-02-16 17:57:08 -05:00
Will Sarg
692d0182f3 fix(workflows): standardize runner configuration for security jobs 2026-02-16 17:52:58 -05:00
Will Sarg
13a42935ae
fix(workflows): correct Blacksmith runner label typo (#437)
* chore(workflows): complete migration to Blacksmith cloud runners

Migrate remaining workflows from self-hosted axecap runners to Blacksmith:
- docker.yml: publish job
- release.yml: publish job
- security.yml: audit and deny jobs (conditional on push events)

This completes the transition away from self-hosted infrastructure.
Axecap runner registrations (IDs 21, 22) have been removed.

All workflows now use blacksmith-2vcpu-ubuntu-2404 label for consistency.

* fix(workflows): correct Blacksmith runner label typo

Fix typo in runner labels: blacksmith-2vcpu-ubuntu-240 -> blacksmith-2vcpu-ubuntu-2404

Affected workflows:
- workflow-sanity.yml: no-tabs and actionlint jobs
- ci.yml: test, build, and docs-quality jobs

This fixes the stuck workflows that were queued indefinitely waiting for
non-existent runner labels.
2026-02-16 16:45:10 -05:00
Will Sarg
73763f9864
chore(workflows): complete migration to Blacksmith cloud runners (#435)
* chore(workflows): complete migration to Blacksmith cloud runners

Migrate remaining workflows from self-hosted axecap runners to Blacksmith:
- docker.yml: publish job
- release.yml: publish job
- security.yml: audit and deny jobs (conditional on push events)

This completes the transition away from self-hosted infrastructure.
Axecap runner registrations (IDs 21, 22) have been removed.

All workflows now use blacksmith-2vcpu-ubuntu-2404 label for consistency.

* Merge branch 'main' into selfhost-blacksmith
2026-02-16 16:40:13 -05:00
Will Sarg
98bf7593f5
Merge pull request #432 from zeroclaw-labs/selfhost-blacksmith 2026-02-16 16:24:19 -05:00
Will Sarg
a1e0c566d5 docs(actions-source-policy): update allowlist for Blacksmith self-hosted runner infrastructure 2026-02-16 16:23:47 -05:00
Argenis
e4a257cea0
fix(channels): prevent empty messages and tool call markup leakage (#431)
* feat(memory): optimize SQLite performance with production-grade PRAGMAs

- Enable WAL mode for concurrent read/write access
- Set synchronous = NORMAL for 2x faster writes with crash safety
- Enable 8MB mmap for zero-copy reads via OS page cache
- Set in-memory temp_store and 2MB page cache for hot entries
- Applies optimizations to brain.db (memory), jobs.db (cron), and hygiene pruner

* feat: add LLM response cache, memory snapshotting, and WASM sandbox

- Response Cache: Saves tokens by caching repeated prompts in SQLite.
- Memory Snapshot: Human-readable markdown 'soul' backup for Git-native self-preservation and cold-boot recovery.
- WASM Sandbox: Isolated tool execution via wasmi.
- Configurable via wizard and config.toml.
2026-02-16 16:16:07 -05:00
Will Sarg
8b5d55a66c
Merge pull request #429 from zeroclaw-labs/selfhost-blacksmith 2026-02-16 16:08:49 -05:00
Will Sarg
081866845f fix(ci): standardize runner configuration for CI jobs 2026-02-16 16:08:02 -05:00
blacksmith-sh[bot]
15bccf11d7
Migrate workflows to Blacksmith (#428)
Co-authored-by: blacksmith-sh[bot] <157653362+blacksmith-sh[bot]@users.noreply.github.com>
2026-02-16 15:58:54 -05:00
Argenis
bddf791350
fix(telegram): add support for sending photos, documents, videos, and audio (#424)
* feat(memory): optimize SQLite performance with production-grade PRAGMAs

- Enable WAL mode for concurrent read/write access
- Set synchronous = NORMAL for 2x faster writes with crash safety
- Enable 8MB mmap for zero-copy reads via OS page cache
- Set in-memory temp_store and 2MB page cache for hot entries
- Applies optimizations to brain.db (memory), jobs.db (cron), and hygiene pruner

* feat: add LLM response cache, memory snapshotting, and WASM sandbox

- Response Cache: Saves tokens by caching repeated prompts in SQLite.
- Memory Snapshot: Human-readable markdown 'soul' backup for Git-native self-preservation and cold-boot recovery.
- WASM Sandbox: Isolated tool execution via wasmi.
- Configurable via wizard and config.toml.
2026-02-16 15:48:18 -05:00
fettpl
2ecfcb9072
ci: add explicit advisory severity thresholds to deny.toml (#393)
* ci: add explicit advisory severity thresholds to deny.toml

- Set vulnerability = "deny" to fail CI on known vulnerabilities
- Set unmaintained = "warn" (changed from "workspace" for clarity)
- Set notice = "warn" to surface informational advisories
- Keep yanked = "warn" as before

This improves signal-to-noise by ensuring genuine vulnerabilities
block CI while less critical advisories are surfaced as warnings.

Closes #363

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: use valid cargo-deny v2 schema values for advisories

In v2, vulnerability/notice fields are removed (always error).
- unmaintained: change "workspace" → "all" (check all deps, not just direct)
- yanked: change "warn" → "deny" (fail CI on yanked crates)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(deny): ignore RUSTSEC-2025-0141 bincode unmaintained advisory

bincode v2.0.1 is a transitive dependency via probe-rs that we cannot
easily replace. The advisory notes the project considers v1.3.3 complete.
Adding to ignore list so unmaintained="all" check passes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:14:41 -05:00
fettpl
0e8d02cd3c
ci: add SHA256 checksums to release artifacts (#386)
* ci: add SHA256 checksums to release artifacts

Generate a SHA256SUMS file after downloading all build artifacts and
include it in the GitHub Release. Users can verify download integrity
with `sha256sum -c SHA256SUMS`.

Closes #358

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* ci: whitelist lxc-ci self-hosted runner label for actionlint

Add actionlint.yaml config to declare lxc-ci as a known custom label
for self-hosted runners, fixing the actionlint CI check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:12:34 -05:00
Argenis
15e1d50a5d
fix: replace std::sync::Mutex with parking_lot::Mutex (#350)
Merges #422
2026-02-16 15:02:46 -05:00
Argenis
bff0507132
fix: prevent prompt injection via JSON extraction (#355)
Merges #416
2026-02-16 14:17:24 -05:00
Argenis
dc5a85c85c
fix: use 256-bit entropy for pairing tokens (#351)
Merges #413
2026-02-16 13:48:03 -05:00
Chummy
b161fff9ef
chore(ci): align lint gate and add strict audit path (#410) 2026-02-17 01:36:17 +08:00
Chummy
74c0c7340b
Revert "fix(build): avoid release OOM on 1GB hosts (#404)" (#407)
This reverts commit 0456f14a11.
2026-02-17 01:34:11 +08:00
Will Sarg
24bf116216
docs(ci): add allowlist export controls and sweep finding (#408) 2026-02-16 12:32:05 -05:00
Chummy
0456f14a11
fix(build): avoid release OOM on 1GB hosts (#404) 2026-02-17 01:27:24 +08:00
Will Sarg
90deb8fd5e
docs(ci): define phase-1 actions source allowlist policy (#405) 2026-02-16 12:26:10 -05:00
Chummy
40e592ffed
Merge pull request #403 from zeroclaw-labs/docs/pr-template-supersede
docs(pr-template): require supersede attribution details
2026-02-17 01:20:35 +08:00
Chummy
bbcef7ddeb docs(pr-template): require supersede attribution details 2026-02-17 01:19:13 +08:00
Chummy
50c1dadd17
style(labeler): brighten semantic colors and unify contributor highlight (#402) 2026-02-17 01:16:52 +08:00
Chummy
4264c3bb21
Merge pull request #397 from elonfeng/feat/dingtalk-channel
feat(channels): add DingTalk channel via Stream Mode
2026-02-17 01:11:12 +08:00
Chummy
ec39009048
Merge pull request #396 from fettpl/fix/365-release-signatures
ci: add cosign keyless signing for release artifacts
2026-02-17 01:11:06 +08:00
Chummy
ca528325eb
Merge pull request #394 from fettpl/fix/364-env-example
docs: add .env.example for local secret handling
2026-02-17 01:11:01 +08:00
Chummy
4ede1c95ed
Merge pull request #392 from fettpl/fix/362-pin-cargo-audit
ci: pin cargo-audit to 0.22.1 in dev CI Dockerfile
2026-02-17 01:10:56 +08:00
Chummy
19d78882a5
Merge pull request #388 from fettpl/fix/360-docker-resource-limits
ops: add resource limits to docker-compose.yml
2026-02-17 01:10:48 +08:00
Chummy
0cfc1a2ad4
Merge pull request #387 from fettpl/fix/359-pin-docker-images
ci: pin Docker base images to SHA256 digests
2026-02-17 01:10:43 +08:00
Chummy
709152e900
Merge pull request #385 from fettpl/fix/357-pin-actions-sha
ci: pin all GitHub Actions to full SHA digests
2026-02-17 01:10:32 +08:00
Chummy
9fbd8c7f57
Merge pull request #382 from fettpl/fix/356-gateway-error-leaks
fix(security): stop leaking serde parse details in gateway error responses
2026-02-17 01:10:27 +08:00
Chummy
2f57499a39
Merge pull request #379 from fettpl/fix/354-file-read-rate-limit
fix(security): move record_action before canonicalize in file_read
2026-02-17 01:10:16 +08:00
fettpl
dc86be4939 Merge remote-tracking branch 'origin/main' into fix/360-docker-resource-limits 2026-02-16 18:08:10 +01:00
fettpl
34c044766f Merge remote-tracking branch 'origin/main' into fix/359-pin-docker-images 2026-02-16 18:08:10 +01:00
Chummy
f13ce909c4
Merge pull request #274 from mai1015/feat/refactor-agent-loop
feat(providers): add native tool-calling for OpenRouter/Anthropic and align provider tests with simple_chat
2026-02-17 01:06:56 +08:00
Chummy
88de2555ab
Merge pull request #391 from fettpl/fix/361-browser-security
security(browser): harden SSRF blocking and block file:// URLs
2026-02-17 01:06:50 +08:00
Chummy
e005b6d9e4 fix(rebase): unify agent config and remove duplicate fields 2026-02-17 01:01:57 +08:00
Chummy
413ecfd143 fix(rebase): resolve main drift and restore CI contracts 2026-02-17 01:01:57 +08:00
Chummy
b2dd3582a4 fix(ci): align reliable tests with simple_chat contract 2026-02-17 01:01:56 +08:00
mai1015
dc5e14d7d2 refactor: improve code formatting and structure across multiple files 2026-02-17 01:01:56 +08:00
mai1015
b341fdb368 feat: add agent structure and improve tooling for provider 2026-02-17 01:01:56 +08:00
Chummy
98822498fb
Merge pull request #398 from zeroclaw-labs/docs/agents-supersede-commit-template
docs(agents): add superseded-PR commit message template
2026-02-17 01:01:55 +08:00
Chummy
dbff1b40b1 docs(agents): add superseded-PR commit message template 2026-02-17 01:00:39 +08:00
fettpl
3702449ff0 ci: whitelist lxc-ci self-hosted runner label for actionlint
Add actionlint.yaml config to declare lxc-ci as a known custom label
for self-hosted runners, fixing the actionlint CI check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 17:58:42 +01:00