Shaun Arman
5d29f7fb61
chore: bump version to 0.1.1
Test / frontend-typecheck (push) Waiting to run
Test / frontend-tests (push) Waiting to run
Test / rust-fmt-check (push) Failing after 4s
Test / rust-clippy (push) Successful in 7m56s
Test / rust-tests (push) Has been cancelled
Release / build-linux-amd64 (push) Failing after 1m0s
Release / build-linux-arm64 (push) Waiting to run
Release / build-windows-amd64 (push) Has been cancelled
2026-03-29 21:01:08 -05:00
Shaun Arman
1e5284d4e0
fix: remove unused tauri-plugin-updater + SQLCipher 16KB page size
...
Test / rust-fmt-check (push) Successful in 1m6s
Test / rust-clippy (push) Successful in 7m13s
Test / rust-tests (push) Successful in 9m3s
Test / frontend-typecheck (push) Successful in 3m29s
Test / frontend-tests (push) Successful in 1m27s
Release / build-windows-amd64 (push) Has been cancelled
Release / build-linux-amd64 (push) Has been cancelled
Release / build-linux-arm64 (push) Has been cancelled
Two startup crashes on first-party Tauri plugin init:
- tauri-plugin-updater registered with no plugins.updater config → removed
- tauri-plugin-cli was already removed in a prior commit
SQLCipher page size fix:
- cipher_page_size 4096 → 16384
- 4KB SQLCipher pages cause malloc() failures on Linux kernels with
16KB page size (Asahi Linux aarch64+16k, Apple Silicon)
- 16384 is a valid page size that works on both 4KB and 16KB page kernels
- New installs get a 16KB-page database; existing 4KB-page DBs must
be deleted for the new page size to take effect
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:12:15 -05:00
Shaun Arman
bdfda49853
fix: remove unused tauri-plugin-cli causing startup crash
...
Test / rust-fmt-check (push) Successful in 1m10s
Test / frontend-tests (push) Waiting to run
Test / rust-tests (push) Waiting to run
Test / frontend-typecheck (push) Waiting to run
Test / rust-clippy (push) Has been cancelled
tauri-plugin-cli was registered in lib.rs but tauri.conf.json had no
plugins.cli configuration, causing PluginInitialization panic at startup.
The CLI plugin is not needed for a GUI desktop app — removed.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 18:05:15 -05:00
Shaun Arman
80f2072af5
docs: update README and wiki for Gitea Actions migration
...
Test / frontend-typecheck (push) Waiting to run
Test / frontend-tests (push) Waiting to run
Test / rust-clippy (push) Successful in 7m28s
Test / rust-fmt-check (push) Failing after 11m39s
Test / rust-tests (push) Has been cancelled
Replace all Gogs/Woodpecker references with Gitea/Gitea Actions:
README.md:
- CI badge → Gitea Actions workflow badge
- CI/CD section: Woodpecker → Gitea Actions (amd64 + arm64 runners)
- Project structure: .woodpecker/ → .gitea/workflows/
- Releases: arm64 now native (not QEMU)
- Phase 11/12 status updated
docs/wiki/Home.md:
- CI badge, tech stack, phase status updated
docs/wiki/Troubleshooting.md:
- Remove Woodpecker-specific items (JWT webhooks, orphan containers,
plugin-git switch failure, Gogs token quirks)
- Add Gitea Actions troubleshooting: container network, apt-get update,
job skip on tags, RELEASE_TOKEN, act_runner CONFIG_FILE requirement
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:46:34 -05:00
Shaun Arman
2026bdb3da
fix: suppress MinGW auto-export to resolve Windows DLL ordinal overflow
...
Add src-tauri/.cargo/config.toml with --exclude-all-symbols linker flag
for x86_64-pc-windows-gnu. MinGW auto-exports ~106k public Rust symbols
into the cdylib export table, exceeding the 65,535 PE ordinal limit.
The desktop binary links against rlib (static) so the cdylib export table
is unused. An empty export table is a valid DLL.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 12:33:24 -05:00
Shaun Arman
8ccfdec72a
fix: replace empty icon placeholder files with real app icons
...
Generated from icon.png (magnifying glass + bug on laptop — TFTSR debug theme):
- icon.ico: multi-size Windows ICO (16/32/48/64/128/256px) — fixes windres crash
- icon.icns: macOS ICNS (16/32/64/128/256/512px)
- 32x32.png, 128x128.png, 128x128@2x.png: regenerated from source
Fixes: x86_64-w64-mingw32-windres 'unexpected EOF' on Windows cross-compile build
2026-03-15 20:31:52 -05:00
Shaun Arman
1f062948fc
fix: use bundled-sqlcipher-vendored-openssl for portable Windows cross-compilation
...
SQLCipher requires OpenSSL when cross-compiling for Windows with mingw-w64.
bundled-sqlcipher-vendored-openssl compiles OpenSSL from source — no system
OpenSSL needed for any target. Add perl to CI steps (required by OpenSSL build).
2026-03-15 19:17:36 -05:00
Shaun Arman
362687ad00
security: rotate exposed token, redact from PLAN.md, add secret patterns to .gitignore
2026-03-15 14:04:49 -05:00
Shaun Arman
4a5e70236a
fix: retain GPU-VRAM-eligible models in recommender even when RAM is low
2026-03-15 13:48:46 -05:00
Shaun Arman
808500b7bd
fix: inline format args for Rust 1.88 clippy compatibility
2026-03-15 13:28:59 -05:00
Shaun Arman
5198b6c636
fix: resolve all clippy lints (uninlined format args, range::contains, push_str single chars)
2026-03-15 13:10:26 -05:00
Shaun Arman
c8a717adee
style: apply cargo fmt formatting
2026-03-15 12:43:46 -05:00
Shaun Arman
8839075805
feat: initial implementation of TFTSR IT Triage & RCA application
...
Implements Phases 1-8 of the TFTSR implementation plan.
Rust backend (Tauri 2.x, src-tauri/):
- Multi-provider AI: OpenAI-compatible, Anthropic, Gemini, Mistral, Ollama
- PII detection engine: 11 regex patterns with overlap resolution
- SQLCipher AES-256 encrypted database with 10 versioned migrations
- 28 Tauri IPC commands for triage, analysis, document, and system ops
- Ollama: hardware probe, model recommendations, pull/delete with events
- RCA and blameless post-mortem Markdown document generators
- PDF export via printpdf
- Audit log: SHA-256 hash of every external data send
- Integration stubs for Confluence, ServiceNow, Azure DevOps (v0.2)
Frontend (React 18 + TypeScript + Vite, src/):
- 9 pages: full triage workflow NewIssue→LogUpload→Triage→Resolution→RCA→Postmortem→History+Settings
- 7 components: ChatWindow, TriageProgress, PiiDiffViewer, DocEditor, HardwareReport, ModelSelector, UI primitives
- 3 Zustand stores: session, settings (persisted), history
- Type-safe tauriCommands.ts matching Rust backend types exactly
- 8 IT domain system prompts (Linux, Windows, Network, K8s, DB, Virt, HW, Obs)
DevOps:
- .woodpecker/test.yml: rustfmt, clippy, cargo test, tsc, vitest on every push
- .woodpecker/release.yml: linux/amd64 + linux/arm64 builds, Gogs release upload
Verified:
- cargo check: zero errors
- tsc --noEmit: zero errors
- vitest run: 13/13 unit tests passing
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 22:36:25 -05:00