tftsr-devops_investigation/src-tauri/target/debug/.fingerprint/iota-crypto-86309db7a4fba012/lib-crypto.json
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

1 line
3.0 KiB
JSON

{"rustc":9435880562281667341,"features":"[\"aead\", \"aes-gcm\", \"aes-kw\", \"age\", \"base64\", \"bip39\", \"bip39-en\", \"bip39-jp\", \"blake2\", \"blake2b\", \"chacha\", \"chacha20poly1305\", \"cipher\", \"curve25519-dalek\", \"default\", \"digest\", \"ed25519\", \"ed25519-zebra\", \"generic-array\", \"getrandom\", \"hmac\", \"keccak\", \"pbkdf2\", \"rand\", \"random\", \"secp256k1\", \"sha\", \"slip10\", \"std\", \"x25519\", \"x25519-dalek\", \"zeroize\"]","declared_features":"[\"aead\", \"aes\", \"aes-cbc\", \"aes-gcm\", \"aes-kw\", \"age\", \"base64\", \"bee-common-derive\", \"bip39\", \"bip39-en\", \"bip39-jp\", \"bip44\", \"blake2\", \"blake2b\", \"byteorder\", \"chacha\", \"chacha20poly1305\", \"cipher\", \"cpufeatures\", \"curl-p\", \"curve25519-dalek\", \"default\", \"digest\", \"ed25519\", \"ed25519-zebra\", \"generic-array\", \"getrandom\", \"hmac\", \"keccak\", \"kerl_deprecated_do_not_use\", \"lazy_static\", \"num-traits\", \"pbkdf2\", \"rand\", \"random\", \"secp256k1\", \"serde\", \"sha\", \"sha3\", \"slip10\", \"std\", \"subtle\", \"ternary_encoding\", \"ternary_hashes\", \"ternary_keys\", \"ternary_signatures\", \"wots_deprecated_do_not_use\", \"x25519\", \"x25519-dalek\", \"zeroize\"]","target":15098983983259368907,"profile":2542702029311477616,"path":2647053643765173976,"deps":[[3434989764622224963,"k256",false,17184324437543046270],[3611029251930514425,"aes_gcm",false,12142596891799300057],[4280712380738690914,"tiny_keccak",false,12291540301358083741],[7158183287218691268,"ed25519_zebra",false,3343472018310336962],[7477499173016652821,"unicode_normalization",false,13957803528864795067],[7721611370176224553,"scrypt",false,8598798983310762328],[7916416211798676886,"cipher",false,13778033344415396937],[8700459469608572718,"blake2",false,12005449238646016171],[9209347893430674936,"hmac",false,10534973940094179632],[9857275760291862238,"sha2",false,776339899796038703],[10520923840501062997,"generic_array",false,16914994463428858487],[10770330232133064347,"iterator_sorted",false,3016958676734838023],[11023519408959114924,"getrandom",false,6191863820948245777],[11068292541898289468,"x25519_dalek",false,1958681312301560353],[12221344297584609106,"hkdf",false,13455012942992819431],[12865141776541797048,"zeroize",false,10866907189413814065],[13208667028893622512,"rand",false,17135515230194665921],[13595581133353633439,"curve25519_dalek",false,17446430284461802308],[13994773804180158263,"chacha20poly1305",false,6268186438783973778],[16587615038372815107,"pbkdf2",false,1549460700877603677],[17397555195158610203,"build_script_build",false,7628002828293527503],[17475753849556516473,"digest",false,11453231728912687536],[17625407307438784893,"aes",false,14498145940027445038],[17797166225172937111,"aead",false,14472620211069584115],[18066890886671768183,"base64",false,5124310740012411116]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/iota-crypto-86309db7a4fba012/dep-lib-crypto","checksum":false}}],"rustflags":[],"config":8247474407144887393,"compile_kind":0}