Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
334 commits
Select commit Hold shift + click to select a range
b0efc63
fix: resolve atomic feature flag and YAML syntax issues
AlexMikhalev Dec 1, 2025
96287b3
fix: update Svelte 5 testing library compatibility
AlexMikhalev Dec 1, 2025
894ea50
Merge pull request #350 from terraphim/fix/atomic-feature-flag-and-ya…
AlexMikhalev Dec 1, 2025
6bb20d5
fix: resolve pre-commit formatting issues
AlexMikhalev Dec 1, 2025
27327f7
fix: resolve final frontend linting issues
AlexMikhalev Dec 1, 2025
c202024
fix: resolve critical pre-commit issues
AlexMikhalev Dec 1, 2025
0784cd9
fix: resolve formatting and JSON syntax issues
AlexMikhalev Dec 1, 2025
f9b0f07
fix: resolve final clippy warnings
AlexMikhalev Dec 1, 2025
708768d
Merge branch 'claude/add-terraphim-tests-012YdgPDwHz8cpftsFGmCZdB'
AlexMikhalev Dec 1, 2025
2c4a8e5
Merge PR #348: Add tests for terraphim CLI and REPL features
AlexMikhalev Dec 1, 2025
16388c6
fix: apply cargo formatting after PR #348 merge
AlexMikhalev Dec 1, 2025
f4cccb0
fix: resolve GitHub Actions permission and cache issues
AlexMikhalev Dec 1, 2025
fced7dc
Merge pull request #354 from terraphim/fix/github-actions-permissions
AlexMikhalev Dec 1, 2025
2937aab
fix: add pre-checkout workspace cleanup to resolve permission errors
AlexMikhalev Dec 1, 2025
9a1bdf9
Merge pull request #355 from terraphim/fix/github-actions-permissions-v2
AlexMikhalev Dec 2, 2025
45b84f6
chore(deps)(deps-dev): bump svelte from 5.43.3 to 5.45.3 in /desktop
dependabot[bot] Dec 2, 2025
194d8f3
fix: disable checkout clean to prevent permission errors
AlexMikhalev Dec 2, 2025
88b5b10
Merge pull request #357 from terraphim/fix/github-actions-permissions-v2
AlexMikhalev Dec 2, 2025
08f10cb
test: trigger CI to verify permission fixes
AlexMikhalev Dec 2, 2025
55a4844
fix: force workspace cleanup with chmod before checkout
AlexMikhalev Dec 2, 2025
f8030fd
fix: simplify checkout approach to resolve permission issues
AlexMikhalev Dec 2, 2025
80cc365
test: verify workspace permission fixes
AlexMikhalev Dec 2, 2025
7629708
fix: upgrade Node.js from 18 to 20 in frontend build
AlexMikhalev Dec 2, 2025
163aa38
fix: exclude terraphim_firecracker from cargo clippy in lint step
AlexMikhalev Dec 2, 2025
98df03d
fix: create placeholder Cargo.toml for firecracker to fix lint step
AlexMikhalev Dec 2, 2025
fd26f52
fix: correct shell quoting in firecracker placeholder creation
AlexMikhalev Dec 2, 2025
78e8e8f
fix: create proper minimal Cargo.toml for firecracker
AlexMikhalev Dec 2, 2025
2f7a053
fix: add generated build artifacts to .gitignore
AlexMikhalev Dec 2, 2025
fa9d0b0
fix: add proper [lib] section to firecracker Cargo.toml
AlexMikhalev Dec 2, 2025
6e64c5e
fix: add lib.path to firecracker Cargo.toml
AlexMikhalev Dec 2, 2025
99b54e7
fix: duplicate exclude for firecracker in lint step
AlexMikhalev Dec 2, 2025
30a9a9c
fix: remove firecracker directory before lint step
AlexMikhalev Dec 2, 2025
c8f1852
fix: disable release-plz workflow in favor of crate.io publishing
AlexMikhalev Dec 2, 2025
de5ae6b
fix: exclude firecracker from workspace during lint step
AlexMikhalev Dec 2, 2025
0bfdeda
fix: simplify firecracker exclusion in lint step
AlexMikhalev Dec 2, 2025
7fdfc62
fix: remove firecracker before cargo vendor in source-native
AlexMikhalev Dec 2, 2025
56f70af
fix: simplify firecracker exclusion in lint step
AlexMikhalev Dec 2, 2025
29a95cd
fix: add sed command to remove firecracker from workspace members
AlexMikhalev Dec 2, 2025
f698ffb
fix: remove firecracker from workspace before cargo vendor in Earthfile
AlexMikhalev Dec 2, 2025
d4b552f
fix: clone Arc variables to avoid move errors in test
AlexMikhalev Dec 2, 2025
b3d6e21
fix: improve sed pattern to remove firecracker from workspace members
AlexMikhalev Dec 2, 2025
f1e1b74
fix: backup and restore Cargo.toml to avoid workspace inconsistency
AlexMikhalev Dec 2, 2025
b861aef
fix: also fix default-members in workspace for cargo vendor
AlexMikhalev Dec 2, 2025
e744203
fix: create CI-specific Cargo.toml without firecracker for vendor
AlexMikhalev Dec 2, 2025
6660ca6
fix: skip cargo vendor to avoid workspace configuration issues
AlexMikhalev Dec 2, 2025
abf3089
fix: also remove firecracker from workspace in build-debug-native
AlexMikhalev Dec 2, 2025
e8bb561
fix: also update default-members when removing firecracker
AlexMikhalev Dec 2, 2025
86cdc12
fix: create CI-specific Cargo.toml in source-native step
AlexMikhalev Dec 2, 2025
d51dcd9
fix: remove firecracker from workspace members entirely
AlexMikhalev Dec 2, 2025
d678a4a
fix: simplify Earthfile since firecracker removed from workspace
AlexMikhalev Dec 2, 2025
9af068d
Merge pull request #356 from terraphim/dependabot/npm_and_yarn/deskto…
AlexMikhalev Dec 2, 2025
9c9ffb4
fix(ci): resolve GitHub Actions failures from issue #328
AlexMikhalev Dec 3, 2025
c959f1a
fix(ci): improve error handling in documentation deployment
AlexMikhalev Dec 3, 2025
167d11e
fix(ci): disable mermaid preprocessor temporarily
AlexMikhalev Dec 3, 2025
7e12c48
feat(ci): replace mdbook with custom md-book fork
AlexMikhalev Dec 3, 2025
7fbb7c0
fix(ci): remove mdbook setup, use only md-book fork
AlexMikhalev Dec 3, 2025
1f001f2
debug(ci): add debug echo to documentation build
AlexMikhalev Dec 3, 2025
3724a05
debug(ci): add comprehensive debug logging to documentation build
AlexMikhalev Dec 3, 2025
584482a
fix(ci): restore workflow file with new name
AlexMikhalev Dec 3, 2025
c031f8e
fix(ci): force workflow name change to bypass caching
AlexMikhalev Dec 3, 2025
1bacd87
fix(ci): add cleanup for md-book clone directory
AlexMikhalev Dec 3, 2025
2a48452
fix(ci): add missing virtual environment setup step
AlexMikhalev Dec 3, 2025
33a30bd
ci: trigger Tauri Build workflow test
AlexMikhalev Dec 3, 2025
9c93969
feat(ci): add workflow_dispatch trigger to comprehensive release
AlexMikhalev Dec 3, 2025
0c3d39f
docs: create comprehensive CI/CD troubleshooting guide
AlexMikhalev Dec 3, 2025
c0fc886
Docs and claude hooks
AlexMikhalev Dec 3, 2025
7e2cf15
Build: Complete compilation and testing of all binary targets
AlexMikhalev Dec 4, 2025
44da363
Merge branch 'main' of github.com:terraphim/terraphim-ai into main
AlexMikhalev Dec 4, 2025
919dc3a
Docs: Add release notes for v1.2.3
AlexMikhalev Dec 4, 2025
5fce739
Status: Document v1.2.3 release completion
AlexMikhalev Dec 4, 2025
26ab4b6
Docs: Add v1.2.3 release summary
AlexMikhalev Dec 4, 2025
7a9d859
chore(ci)(deps): bump actions/checkout from 4 to 6 (#351)
dependabot[bot] Dec 5, 2025
b7a5e4e
chore(ci)(deps): bump actions/upload-artifact from 4 to 5 (#352)
dependabot[bot] Dec 5, 2025
062b4fb
chore(ci)(deps): bump MarcoIeni/release-plz-action (#353)
dependabot[bot] Dec 5, 2025
de6c3b2
feat(sessions): Session Search with Multi-Agent Support (#358)
AlexMikhalev Dec 5, 2025
2721cd9
chore(deps)(deps-dev): bump svelte-check from 4.3.3 to 4.3.4 in /desk…
dependabot[bot] Dec 5, 2025
36f492b
chore(deps)(deps-dev): bump jsdom from 25.0.1 to 27.2.0 in /desktop (…
dependabot[bot] Dec 5, 2025
bcfee13
fix(ci): correct 1Password field name account_id in deploy-docs workflow
AlexMikhalev Dec 5, 2025
a606b71
fix(ci): add glib-2.0 to Earthfile and pytest-cov to python benchmarks
AlexMikhalev Dec 5, 2025
abd045a
fix(tests): update command permission test to match Firecracker isola…
AlexMikhalev Dec 5, 2025
de1c8ee
style: apply cargo fmt to command integration test
AlexMikhalev Dec 5, 2025
bbda383
fix(ci): add GTK and WebKit dependencies to Earthfile for Tauri build
AlexMikhalev Dec 5, 2025
bbc8b40
fix(ci): update ci-native runner labels to match actual runner
AlexMikhalev Dec 5, 2025
a6fabc9
fix(ci): update runner labels in ci-optimized and docker-multiarch wo…
AlexMikhalev Dec 5, 2025
5c6b34c
fix(ci): remove invalid needs.setup self-reference in setup job
AlexMikhalev Dec 5, 2025
91d464c
fix(ci): remove invalid hashFiles() from workflow env section
AlexMikhalev Dec 5, 2025
9003a76
fix(ci): handle webkit2gtk version differences between Ubuntu versions
AlexMikhalev Dec 5, 2025
1716a0a
fix(ci): update ci-check-format.sh with webkit fallback logic
AlexMikhalev Dec 5, 2025
1256d9c
fix(python): align test expectations with FST implementation behavior
AlexMikhalev Dec 5, 2025
d049328
fix(ci): build frontend assets before cargo clippy in lint job
AlexMikhalev Dec 5, 2025
12351b5
fix(ci): pin rust-toolchain.toml to 1.87.0 instead of stable
AlexMikhalev Dec 5, 2025
73e6487
fix(clippy): resolve all clippy errors in CI Native workflow
AlexMikhalev Dec 5, 2025
a3ebeaa
style: apply cargo fmt to search.rs
AlexMikhalev Dec 5, 2025
9a86799
fix(clippy): resolve terraphim_sessions errors
AlexMikhalev Dec 5, 2025
18d53c1
fix(clippy): resolve terraphim_repl errors
AlexMikhalev Dec 5, 2025
0773f83
fix(ci): allow dead_code and unused warnings in clippy check
AlexMikhalev Dec 5, 2025
af4c6a0
chore(deps)(deps): bump dialoguer from 0.11.0 to 0.12.0
dependabot[bot] Dec 8, 2025
7793256
chore(deps)(deps): bump scraper from 0.24.0 to 0.25.0
dependabot[bot] Dec 8, 2025
06f1ee2
fix(ci): allow additional test-related clippy lints
AlexMikhalev Dec 8, 2025
b04a789
fix(ci): add pre-checkout cleanup for self-hosted runners
AlexMikhalev Dec 8, 2025
b6bf897
fix(ci): expand pre-checkout cleanup to include all dist directories
AlexMikhalev Dec 8, 2025
5049b70
fix(agent): remove unnecessary borrows and unused import
AlexMikhalev Dec 8, 2025
906a958
fix(agent): remove unused serde_json import in vm_api_tests
AlexMikhalev Dec 8, 2025
f57a980
fix(agent): use contains() instead of iter().any() in tests
AlexMikhalev Dec 8, 2025
dcbaa51
fix(server): resolve clippy errors in test files
AlexMikhalev Dec 8, 2025
1daf7a7
fix(ci): fix unclosed if statements in ci-check-frontend.sh
AlexMikhalev Dec 8, 2025
5325295
fix(deps): pin wiremock to 0.6.4 to avoid nightly features
AlexMikhalev Dec 8, 2025
1a214be
fix(test): skip thesaurus test when KG files unavailable
AlexMikhalev Dec 8, 2025
d77b60b
fix(test): handle off-hours time restrictions in security validation …
AlexMikhalev Dec 8, 2025
36a3da4
style(test): apply cargo fmt to commands/tests.rs
AlexMikhalev Dec 8, 2025
756d65f
chore: use stable Rust toolchain instead of pinned version
AlexMikhalev Dec 8, 2025
3ece618
chore(deps)(deps): bump @tiptap/core from 3.11.0 to 3.13.0 in /desktop
dependabot[bot] Dec 9, 2025
8954aca
chore(deps)(deps-dev): bump @tsconfig/svelte in /desktop
dependabot[bot] Dec 9, 2025
eadf911
chore(deps)(deps-dev): bump sass from 1.93.3 to 1.95.0 in /desktop
dependabot[bot] Dec 9, 2025
a4960b6
chore(deps)(deps-dev): bump @types/node in /desktop
dependabot[bot] Dec 9, 2025
6b09f88
fix(ci): rename terraphim_tui to terraphim_agent throughout codebase
AlexMikhalev Dec 9, 2025
eaa926a
fix(ci): update Earthfile to use terraphim_agent instead of terraphim…
AlexMikhalev Dec 9, 2025
acfce0b
fix(ci): use stable Rust instead of pinned version in CI
AlexMikhalev Dec 9, 2025
24a1d5e
fix(clippy): resolve dead code and lint warnings in claude-log-analyzer
AlexMikhalev Dec 9, 2025
bb47b2f
fix(clippy): resolve dead code and unused warnings across crates
AlexMikhalev Dec 9, 2025
bbee4cb
fix(clippy): restore mut with allow annotation for feature-gated code
AlexMikhalev Dec 9, 2025
1291784
fix(clippy): remove unused imports in test files
AlexMikhalev Dec 9, 2025
2a087d9
fix(ci): create placeholder dist for RustEmbed in lint-and-format
AlexMikhalev Dec 9, 2025
cd03564
fix(test): use exact match in registry_search_performance test
AlexMikhalev Dec 9, 2025
37e240f
style: apply cargo fmt to execution_mode_tests
AlexMikhalev Dec 9, 2025
901def3
fix(ci): increase lint-and-format timeout to 30 minutes
AlexMikhalev Dec 9, 2025
5f7bebf
fix(lint): resolve clippy warnings in test files
AlexMikhalev Dec 9, 2025
8bf0ee6
fix(clippy): resolve additional clippy errors found with --all-features
AlexMikhalev Dec 9, 2025
f4222e1
fix(ci): add frontend build dependency to lint-and-format job
AlexMikhalev Dec 9, 2025
a5de3ae
fix(ci): add pre-checkout cleanup to build-rust and test jobs
AlexMikhalev Dec 9, 2025
7592bd0
fix(ci): copy frontend artifacts to desktop/dist for RustEmbed
AlexMikhalev Dec 10, 2025
26d74f6
fix(deb): update license-file path to LICENSE-Apache-2.0
AlexMikhalev Dec 10, 2025
812d3e0
fix(ci): add frontend artifacts to test job
AlexMikhalev Dec 10, 2025
7cf886c
fix(tests): update KG search tests to match leftmost-longest matching
AlexMikhalev Dec 10, 2025
f4f399f
fix(config): resolve path expansion for nested shell variables
AlexMikhalev Dec 11, 2025
d5e69a5
style: format expand_path function and tests
AlexMikhalev Dec 11, 2025
3e87911
docs: update open issues research with CI/CD fix progress
AlexMikhalev Dec 11, 2025
a6d174e
fix(npm): use node test scripts instead of ava
AlexMikhalev Dec 12, 2025
f7a05f8
fix(pypi): install pip in venv for maturin-action sccache
AlexMikhalev Dec 12, 2025
bd67b74
fix(npm): add working-directory for validate job
AlexMikhalev Dec 12, 2025
41faf53
fix(pypi): disable sccache to avoid pip dependency in venv
AlexMikhalev Dec 12, 2025
b6e93c6
fix(npm): remove tests from validate job
AlexMikhalev Dec 12, 2025
daec05f
fix(automata): use local README to avoid sdist conflict
AlexMikhalev Dec 12, 2025
db9b925
fix(ci): fix working directories and make sdist optional
AlexMikhalev Dec 12, 2025
99f08af
fix(ci): fix remaining package publishing workflow issues
AlexMikhalev Dec 12, 2025
ad57671
fix(ci): add nodejs package to workspace and fix Windows test emoji
AlexMikhalev Dec 12, 2025
f7cd637
chore(deps)(deps): bump crossterm from 0.27.0 to 0.29.0
dependabot[bot] Dec 12, 2025
76797bd
fix(ci): replace external docker image with local cross-compilation
AlexMikhalev Dec 12, 2025
62c32b8
fix(ci): use correct working directory for docker build steps
AlexMikhalev Dec 12, 2025
2335474
fix(docker): use Yarn 1.x classic for npm builds
AlexMikhalev Dec 12, 2025
4e31d12
fix(docker): disable corepack yarn before installing yarn@1
AlexMikhalev Dec 12, 2025
acb4fc3
fix(docker): add OpenSSL aarch64 cross-compilation support
AlexMikhalev Dec 12, 2025
a20a1ed
fix(docker): correct OpenSSL env vars for cross-compilation
AlexMikhalev Dec 12, 2025
13249b5
fix(npm): correct universal binary path and macOS test runner
AlexMikhalev Dec 12, 2025
7e3c884
fix(npm): correct NAPI filename convention and update macOS runner
AlexMikhalev Dec 12, 2025
5be762c
fix(npm): add separate macOS test job using universal binary
AlexMikhalev Dec 12, 2025
9d94638
fix(npm): update runner labels to match available runner
AlexMikhalev Dec 14, 2025
273c87b
feat(ci): add macOS universal binary and Homebrew automation
AlexMikhalev Dec 20, 2025
40a1550
feat(ci): use 1Password for Homebrew tap token
AlexMikhalev Dec 20, 2025
a8bff9d
docs: add handover and lessons learned for macOS release pipeline
AlexMikhalev Dec 20, 2025
00db4de
docs: add claude code configuration and project summaries
AlexMikhalev Dec 20, 2025
50a8348
feat: complete pre-commit hook improvements with latest main integration
AlexMikhalev Dec 21, 2025
8b21599
resolve: merge conflicts between feature/pre-commit-hook-improvements…
AlexMikhalev Dec 21, 2025
6c032aa
Add terraphim.ai website migration
AlexMikhalev Dec 21, 2025
1af80a2
test(agent): fix security test expectations for role-based permissions
AlexMikhalev Dec 21, 2025
e2e0df0
fix: update test settings configuration after merge resolution
AlexMikhalev Dec 21, 2025
74f8dfa
feat(website): add frontend build and documentation updates
AlexMikhalev Dec 21, 2025
67a3ca4
docs: add project documentation and claude code configuration
AlexMikhalev Dec 21, 2025
066743b
ci: increase release workflow timeout to reduce build failures
AlexMikhalev Dec 22, 2025
786bc88
test: add timeout optimization test marker
AlexMikhalev Dec 22, 2025
50420f9
feat: add standardized rust toolchain configuration
AlexMikhalev Dec 22, 2025
0db4ed6
feat: add universal single URL installer for CLI tools
AlexMikhalev Dec 22, 2025
3c83348
chore: update test settings and backup workflow with secret safe patt…
AlexMikhalev Dec 22, 2025
d0d2b08
feat: add terraphim_github_runner crate with firecracker support
AlexMikhalev Dec 23, 2025
a77d6ef
feat: add LLM-based workflow parser for GitHub runner
AlexMikhalev Dec 23, 2025
6b3535f
feat: implement SessionManager for VM lifecycle management
AlexMikhalev Dec 23, 2025
0f197dc
feat: implement WorkflowExecutor for step-by-step execution
AlexMikhalev Dec 23, 2025
120cd73
feat(github-runner): integrate knowledge graph for command pattern le…
AlexMikhalev Dec 23, 2025
4059da7
chore(deps)(deps): bump criterion from 0.5.1 to 0.8.1
dependabot[bot] Dec 23, 2025
1f84b2f
chore(deps)(deps): bump test-log from 0.2.18 to 0.2.19
dependabot[bot] Dec 23, 2025
909031b
chore(docker)(deps): bump rust in /docker
dependabot[bot] Dec 24, 2025
0213f28
feat: complete Cloudflare Pages project setup and 1Password integration
AlexMikhalev Dec 26, 2025
f7dffbf
feat: complete Cloudflare migration from Netlify to Cloudflare Pages
AlexMikhalev Dec 26, 2025
d51da76
feat: complete Cloudflare infrastructure verification analysis
AlexMikhalev Dec 26, 2025
8244260
fix: update test configuration after migration completion
AlexMikhalev Dec 26, 2025
da1dcc1
fix: complete final commits and resolve push conflicts
AlexMikhalev Dec 26, 2025
1fb950a
fix: finalize test configuration updates
AlexMikhalev Dec 26, 2025
328ef0b
fix: add Terraphim logo and templates config for docs site
AlexMikhalev Dec 26, 2025
6c270f1
fix: merge main and resolve conflicts
AlexMikhalev Dec 26, 2025
fb60cd4
Merge pull request #378 from terraphim/feature/website-migration
AlexMikhalev Dec 27, 2025
dc191cb
chore: remove deprecated deploy-docs-old workflow
AlexMikhalev Dec 27, 2025
cd98be3
fix: add missing CSS and JS templates for docs site
AlexMikhalev Dec 27, 2025
e742b4e
fix: add _headers file for Cloudflare Pages MIME types
AlexMikhalev Dec 27, 2025
1ed6adb
docs: update handover and lessons learned for docs styling fix
AlexMikhalev Dec 27, 2025
e11ddd6
chore: update DeepThought submodule reference
AlexMikhalev Dec 27, 2025
07cb06d
feat(hooks): add Claude Code and Git hooks for teaching LLMs Terraphi…
AlexMikhalev Dec 27, 2025
e4f86e5
feat(hooks): add terraphim_hooks crate for unified hook infrastructure
AlexMikhalev Dec 27, 2025
3b02dd1
refactor(cli): use terraphim_hooks for Replace command
AlexMikhalev Dec 27, 2025
83848af
refactor(mcp): use terraphim_hooks for replace_matches
AlexMikhalev Dec 27, 2025
6334fbe
docs: add Claude Code skills documentation
AlexMikhalev Dec 28, 2025
911aa82
docs: add session search documentation to TUI and crates overview
AlexMikhalev Dec 28, 2025
1e8b464
feat(blog): add post on teaching AI agents with knowledge graph hooks
AlexMikhalev Dec 28, 2025
78b3d81
docs(blog): add Anthropic-Bun acquisition context to hooks post
AlexMikhalev Dec 28, 2025
16159ad
fix(blog): correct inaccurate claim about Claude running on Bun
AlexMikhalev Dec 28, 2025
c05f82d
feat: add local-knowledge skill infrastructure
AlexMikhalev Dec 28, 2025
39e7258
fix: role switching now updates service config in REPL
AlexMikhalev Dec 28, 2025
8d80bf0
fix: use floor_char_boundary for safe UTF-8 string truncation
AlexMikhalev Dec 28, 2025
a1c3971
feat: Complete macOS code signing and Homebrew automation (#384)
AlexMikhalev Dec 29, 2025
75bcdef
fix(ci): disable fail-fast to allow macOS builds despite other failures
AlexMikhalev Dec 29, 2025
d11548d
fix(ci): use single self-hosted macOS runner for both architectures
AlexMikhalev Dec 29, 2025
ea825bd
feat: refactor persistence and markdown parsing with concurrent loadi…
AlexMikhalev Dec 29, 2025
912920a
chore(deps)(deps): bump libc from 0.2.177 to 0.2.178
dependabot[bot] Dec 29, 2025
725d70e
chore(deps)(deps): bump uuid from 1.18.1 to 1.19.0
dependabot[bot] Dec 29, 2025
11f4bbc
fix(ci): build frontend assets before server binary
AlexMikhalev Dec 29, 2025
057fa3b
fix(ci): specify package names for binary builds
AlexMikhalev Dec 29, 2025
4227d92
feat(middleware): add AI assistant session haystack for multi-connect…
AlexMikhalev Dec 30, 2025
faa2c01
chore(deps)(deps): bump log from 0.4.28 to 0.4.29
dependabot[bot] Dec 30, 2025
0b74611
fix(ci): multiple release workflow fixes
AlexMikhalev Dec 30, 2025
850626a
fix(desktop): use correct Tauri CLI v1.6.3 version
AlexMikhalev Dec 30, 2025
eba0393
fix(ci): add cleanup job for self-hosted runners
AlexMikhalev Dec 30, 2025
4db317d
fix(ci): standardize workflows for Tauri v1 and consistent runners
AlexMikhalev Dec 30, 2025
a9436ee
fix(ci): allow signing jobs to run when cross-builds fail
AlexMikhalev Dec 30, 2025
ee983fc
fix(ci): use binary name pattern instead of executable flag for release
AlexMikhalev Dec 30, 2025
6dbea91
fix(ci): fix Tauri desktop builds and cross-compilation
AlexMikhalev Dec 31, 2025
a7129b0
Merge pull request #360 from terraphim/dependabot/cargo/log-0.4.29
AlexMikhalev Dec 31, 2025
980e34d
Merge pull request #361 from terraphim/dependabot/cargo/libc-0.2.178
AlexMikhalev Dec 31, 2025
7313ab5
Merge pull request #366 from terraphim/dependabot/cargo/uuid-1.19.0
AlexMikhalev Dec 31, 2025
e2e765d
Merge pull request #367 from terraphim/dependabot/cargo/test-log-0.2.19
AlexMikhalev Dec 31, 2025
8411526
Merge pull request #365 from terraphim/dependabot/cargo/criterion-0.8.1
AlexMikhalev Dec 31, 2025
b0cf239
Merge pull request #371 from terraphim/dependabot/npm_and_yarn/deskto…
AlexMikhalev Dec 31, 2025
04ac160
Merge pull request #372 from terraphim/dependabot/npm_and_yarn/deskto…
AlexMikhalev Dec 31, 2025
588ae08
Merge pull request #359 from terraphim/dependabot/cargo/dialoguer-0.12.0
AlexMikhalev Dec 31, 2025
66a3ac6
Merge pull request #363 from terraphim/dependabot/cargo/scraper-0.25.0
AlexMikhalev Dec 31, 2025
beb467a
Merge pull request #370 from terraphim/dependabot/npm_and_yarn/deskto…
AlexMikhalev Dec 31, 2025
9a61ab5
Merge pull request #373 from terraphim/dependabot/npm_and_yarn/deskto…
AlexMikhalev Dec 31, 2025
57917cb
Merge pull request #379 from terraphim/dependabot/docker/docker/rust-…
AlexMikhalev Dec 31, 2025
0f09aed
Merge pull request #362 from terraphim/dependabot/cargo/crossterm-0.29.0
AlexMikhalev Dec 31, 2025
50d3246
refactor: remove unused petgraph dependency from agent crates
AlexMikhalev Dec 31, 2025
034cc5e
docs: add design plans for MCP auth and KG linter
AlexMikhalev Dec 31, 2025
d2be87a
docs: update handover and lessons learned for PR triage session
AlexMikhalev Dec 31, 2025
f717e1c
refactor: remove unused petgraph dependency from agent crates (#390)
AlexMikhalev Dec 31, 2025
3726793
feat: Add DevOps/CI-CD role configuration and GitHub runner integrati…
AlexMikhalev Dec 31, 2025
9bce17e
Complete v1.3.0 Release Readiness (#374)
AlexMikhalev Dec 31, 2025
694ec66
feat: knowledge graph validation workflows for pre/post-LLM (#383)
AlexMikhalev Dec 31, 2025
82a0899
feat: add GitHub-hosted runner fallback for release workflow
AlexMikhalev Dec 31, 2025
b828544
fix: add GH_TOKEN env var for gh CLI in runner check
AlexMikhalev Dec 31, 2025
2e1f43b
fix: use GitHub-hosted ubuntu-latest runners for all release jobs
AlexMikhalev Dec 31, 2025
3e49882
fix: filter empty synonyms in thesaurus builder and update graph test
AlexMikhalev Dec 31, 2025
6671ee9
chore: bump version to 1.3.0
AlexMikhalev Jan 1, 2026
f2733dd
chore(ci)(deps): bump peaceiris/actions-gh-pages from 3 to 4
dependabot[bot] Jan 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@ linker = "riscv64-linux-gnu-gcc"

# Build configuration
[build]
# Default target for builds
target = "x86_64-unknown-linux-gnu"
# Default target intentionally left as host; set --target explicitly (use `cross` for Linux)

# Cross-compilation settings (commented out - let cross-rs handle Docker images)
# The cross-rs tool automatically manages Docker images for cross-compilation
Expand Down Expand Up @@ -92,4 +91,4 @@ color = "auto"
quiet = false

# Verbose output
verbose = false
verbose = false
52 changes: 52 additions & 0 deletions .claude/hooks/npm_to_bun_guard.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/bin/bash
#
# PreToolUse hook that uses terraphim-agent for knowledge graph-based replacement.
# Replaces npm/yarn/pnpm commands with bun using the KG definitions in docs/src/kg/
#
# Installation: Add to .claude/settings.local.json under hooks.PreToolUse
#

set -e

# Read JSON input from stdin
INPUT=$(cat)

# Extract tool name and command using jq
TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // empty')
COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command // empty')

# Only process Bash commands
[ "$TOOL_NAME" != "Bash" ] && exit 0
[ -z "$COMMAND" ] && exit 0

# Skip if no package manager references
echo "$COMMAND" | grep -qE '\b(npm|yarn|pnpm|npx)\b' || exit 0

# Source shared discovery
if [ -f "scripts/hooks/terraphim-discover.sh" ]; then
source "scripts/hooks/terraphim-discover.sh"
fi

# Discover terraphim-agent
AGENT=""
if type discover_terraphim_agent >/dev/null 2>&1; then
AGENT=$(discover_terraphim_agent)
else
command -v terraphim-agent >/dev/null 2>&1 && AGENT="terraphim-agent"
[ -z "$AGENT" ] && [ -x "./target/release/terraphim-agent" ] && AGENT="./target/release/terraphim-agent"
[ -z "$AGENT" ] && [ -x "$HOME/.cargo/bin/terraphim-agent" ] && AGENT="$HOME/.cargo/bin/terraphim-agent"
fi

# If no agent found, pass through unchanged
[ -z "$AGENT" ] && exit 0

# Perform replacement
REPLACED=$("$AGENT" replace --fail-open 2>/dev/null <<< "$COMMAND")

# If replacement changed something, output modified tool_input
if [ -n "$REPLACED" ] && [ "$REPLACED" != "$COMMAND" ]; then
[ "${TERRAPHIM_VERBOSE:-0}" = "1" ] && echo "Terraphim: '$COMMAND' → '$REPLACED'" >&2
echo "$INPUT" | jq --arg cmd "$REPLACED" '.tool_input.command = $cmd'
fi

exit 0
71 changes: 71 additions & 0 deletions .claude/hooks/post-llm-check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
#!/bin/bash
# Post-LLM Checklist Validation Hook
# Validates LLM outputs against domain checklists
#
# This hook runs after tool completion to validate outputs meet
# required standards.
#
# Usage: Called automatically by Claude Code as a PostToolUse hook
# Input: JSON from stdin with tool_name and tool_result
# Output: Original JSON with validation annotations

set -euo pipefail

# Read JSON input
INPUT=$(cat)

# Extract tool name and result
TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // empty')
TOOL_RESULT=$(echo "$INPUT" | jq -r '.tool_result // empty')

# Only validate certain tools
case "$TOOL_NAME" in
"Write"|"Edit"|"MultiEdit")
# Code-related tools - use code_review checklist
CHECKLIST="code_review"
;;
*)
# Pass through other tools
echo "$INPUT"
exit 0
;;
esac

if [ -z "$TOOL_RESULT" ]; then
echo "$INPUT"
exit 0
fi

# Find terraphim-agent
AGENT=""
for path in \
"./target/release/terraphim-agent" \
"./target/debug/terraphim-agent" \
"$(which terraphim-agent 2>/dev/null || true)"; do
if [ -x "$path" ]; then
AGENT="$path"
break
fi
done

if [ -z "$AGENT" ]; then
echo "$INPUT"
exit 0
fi

# Validate against checklist (advisory mode)
VALIDATION=$("$AGENT" validate --checklist "$CHECKLIST" --json "$TOOL_RESULT" 2>/dev/null || echo '{"passed":true}')
PASSED=$(echo "$VALIDATION" | jq -r '.passed // true')

if [ "$PASSED" = "false" ]; then
# Log validation failure (advisory)
MISSING=$(echo "$VALIDATION" | jq -r '.missing | join(", ") // "none"')
SATISFIED=$(echo "$VALIDATION" | jq -r '.satisfied | join(", ") // "none"')

echo "Post-LLM checklist validation ($CHECKLIST):" >&2
echo " Satisfied: $SATISFIED" >&2
echo " Missing: $MISSING" >&2
fi

# Always pass through (advisory mode)
echo "$INPUT"
73 changes: 73 additions & 0 deletions .claude/hooks/pre-llm-validate.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/bin/bash
# Pre-LLM Validation Hook
# Validates input before LLM calls using knowledge graph connectivity
#
# This hook intercepts tool calls and validates the content for semantic
# coherence before allowing them to proceed.
#
# Usage: Called automatically by Claude Code as a PreToolUse hook
# Input: JSON from stdin with tool_name and tool_input
# Output: Original JSON (pass-through) or modified JSON with validation warnings

set -euo pipefail

# Read JSON input
INPUT=$(cat)

# Extract tool name
TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // empty')

# Only validate certain tools that involve LLM context
case "$TOOL_NAME" in
"Task"|"WebSearch"|"WebFetch")
# These tools might benefit from pre-validation
;;
*)
# Pass through other tools unchanged
echo "$INPUT"
exit 0
;;
esac

# Find terraphim-agent
AGENT=""
for path in \
"./target/release/terraphim-agent" \
"./target/debug/terraphim-agent" \
"$(which terraphim-agent 2>/dev/null || true)"; do
if [ -x "$path" ]; then
AGENT="$path"
break
fi
done

if [ -z "$AGENT" ]; then
# No agent found, pass through
echo "$INPUT"
exit 0
fi

# Extract prompt/query from tool input
PROMPT=$(echo "$INPUT" | jq -r '.tool_input.prompt // .tool_input.query // .tool_input.description // empty')

if [ -z "$PROMPT" ]; then
# No prompt to validate
echo "$INPUT"
exit 0
fi

# Validate connectivity (advisory mode - always pass through)
VALIDATION=$("$AGENT" validate --connectivity --json "$PROMPT" 2>/dev/null || echo '{"connected":true}')
CONNECTED=$(echo "$VALIDATION" | jq -r '.connected // true')

if [ "$CONNECTED" = "false" ]; then
# Add validation warning to the input but still allow it
MATCHED=$(echo "$VALIDATION" | jq -r '.matched_terms | join(", ") // "none"')

# Log warning (visible in Claude Code logs)
echo "Pre-LLM validation warning: Input spans unrelated concepts" >&2
echo "Matched terms: $MATCHED" >&2
fi

# Always pass through (advisory mode)
echo "$INPUT"
14 changes: 14 additions & 0 deletions .claude/hooks/subagent-start.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"hooks": {
"SubagentStart": [
{
"hooks": [
{
"type": "command",
"command": "cat .docs/summary.md 2>/dev/null || echo 'Terraphim AI: Privacy-first AI assistant'"
}
]
}
]
}
}
147 changes: 147 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
# Git and version control
.git
.gitignore
.gitattributes

# Documentation and examples
*.md
docs/
examples/
!README.md

# CI/CD files (not needed in container)
.github/
.gitlab-ci.yml
.travis.yml

# Dependencies and caches
node_modules/
target/
Cargo.lock

# Development and test files
tests/
test_*.sh
*_test.go
*_test.py
*_test.js

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
Thumbs.db

# OS-specific files
.DS_Store
Thumbs.db

# Temporary files
*.tmp
*.temp
*.log
*.pid

# Build artifacts and outputs
dist/
build/
out/
*.tar.gz
*.zip
*.deb
*.rpm

# Secrets and configuration
.env
.env.*
secrets/
*.pem
*.key
*.crt

# Large binary assets and media
*.jpg
*.jpeg
*.png
*.gif
*.bmp
*.tiff
*.svg
*.ico
*.mp4
*.avi
*.mov
*.mp3
*.wav

# Database files
*.db
*.sqlite
*.sqlite3

# Backup and cache directories
backup/
.cache/
.cache-*/

# Terraform and infrastructure
*.tf
*.tfstate
.terraform/

# Docker files (don't copy docker into docker)
Dockerfile*
docker-compose*.yml
.dockerignore

# Scripts not needed in container
scripts/
!scripts/install-dependencies.sh

# Local development
local/
.local/
*.local

# Performance profiling
*.prof
*.pprof
perf.data

# Linter and formatter caches
.cargo/
.rustup/
.node_repl_history

# Rust-specific
rust-toolchain
**/*.rs.bk
Cargo.lock

# WASM specific
wasm-pack.log
pkg/
*.wasm.map

# Tauri specific
src-tauri/target/
src-tauri/Cargo.lock

# Desktop frontend (handled separately)
desktop/src/
desktop/public/
!desktop/dist/
desktop/node_modules/
desktop/.svelte-kit/
desktop/package-lock.json
desktop/yarn.lock

# Exclude temporary directories from workflows
.github/workflows/backup/

# Keep essential rust configuration
!rust-toolchain.toml
!.github/rust-toolchain.toml
Loading
Loading