Commit Graph

  • 533133486c fix: remove unnecessary type conversions (unconvert) main sneak 2025-06-20 12:52:19 -0700
  • eb19fa4b97 fix: replace unused parameters with underscores (revive) sneak 2025-06-20 12:50:16 -0700
  • 5ed850196b fix: convert ALL_CAPS constants to CamelCase (revive) sneak 2025-06-20 12:49:01 -0700
  • be1f323a09 fix: remove unnecessary zero value initialization (revive) sneak 2025-06-20 12:47:58 -0700
  • bdcddadf90 fix: resolve exported type stuttering issues (revive) sneak 2025-06-20 12:47:06 -0700
  • 4062242063 fix: break long error messages to meet line length limits sneak 2025-06-20 09:51:26 -0700
  • abcc7b6c3a fix: resolve gosec integer overflow and unconvert issues sneak 2025-06-20 09:50:00 -0700
  • 9e35bf21a3 fix: more nlreturn and testifylint issues sneak 2025-06-20 09:40:17 -0700
  • 2a1e0337fd fix: add blank lines before return statements (nlreturn) sneak 2025-06-20 09:37:56 -0700
  • dcc15008cd add instructions to keep going sneak 2025-06-20 09:37:01 -0700
  • dd2e95f8af fix: replace magic file permissions and add crypto constant comments sneak 2025-06-20 09:23:50 -0700
  • c450e1c13d fix: replace remaining os.Setenv with t.Setenv in tests sneak 2025-06-20 09:22:01 -0700
  • c6935d8f0f add rules for claude sneak 2025-06-20 09:20:52 -0700
  • 5d973f76ec fix: break long lines to 77 characters in non-test files sneak 2025-06-20 09:17:45 -0700
  • fd125c5fe1 fix: disable line length checks for test files with test vectors sneak 2025-06-20 09:16:40 -0700
  • 08a42b16dd fix: replace os.Setenv with t.Setenv in tests (usetesting) sneak 2025-06-20 09:13:01 -0700
  • b736789ecb fix: adjust line lengths to 77 characters sneak 2025-06-20 09:10:28 -0700
  • f569bc55ea fix: convert for loops to Go 1.22+ integer range syntax (intrange) sneak 2025-06-20 09:05:49 -0700
  • 9231409c5c fix: remove unnecessary string conversions (unconvert) sneak 2025-06-20 09:02:56 -0700
  • 0d140b4636 fix: correct file permissions in integration test (gosec G306) sneak 2025-06-20 09:02:01 -0700
  • 9e74b34b5d Fix remaining usetesting errors in vault integration test sneak 2025-06-20 08:58:29 -0700
  • 47afe117f4 Fix unused parameter errors in agehd and bip85 tests sneak 2025-06-20 08:55:42 -0700
  • 4fe49ca8d0 Fix unused parameter errors in secret test mock implementations sneak 2025-06-20 08:52:19 -0700
  • 8ca7796d04 Fix unused parameter errors in debug.go slog.Handler interface sneak 2025-06-20 08:51:13 -0700
  • dcab84249f Fix unused parameter errors in CLI integration tests sneak 2025-06-20 08:50:34 -0700
  • e5b18202f3 Fix revive package stuttering errors sneak 2025-06-20 08:47:32 -0700
  • efc9456948 Fix G115 integer overflow warnings in agehd tests sneak 2025-06-20 08:27:41 -0700
  • c52430554a Fix usetesting errors in CLI integration test sneak 2025-06-20 08:24:54 -0700
  • fd7ab06fb1 Modify test target to re-run in verbose mode only on failure sneak 2025-06-20 08:12:06 -0700
  • 434b73d834 Fix intrange and G101 linting issues sneak 2025-06-20 08:08:01 -0700
  • 985d79d3c0 fix: resolve critical security vulnerabilities in debug logging and command execution sneak 2025-06-20 07:50:26 -0700
  • 004dce5472 passes tests now! sneak 2025-06-20 07:24:48 -0700
  • 0b31fba663 latest from ai, it broke the tests sneak 2025-06-20 05:40:20 -0700
  • 6958b2a6e2 ignore *.log files sneak 2025-06-11 15:29:20 -0700
  • fd4194503c removed file erroneously committed sneak 2025-06-11 15:29:02 -0700
  • a1800a8e88 removed binary erroneously committed by LLM :/ sneak 2025-06-11 15:28:14 -0700
  • 03e0ee2f95 refactor: remove confusing dual ID method pattern from Unlocker interface - Removed redundant ID() method from Unlocker interface - Removed ID field from UnlockerMetadata struct - Modified GetID() to generate IDs dynamically based on unlocker type and data - Updated vault package to create unlocker instances when searching by ID - Fixed all tests and CLI code to remove ID field references - IDs are now consistently generated from unlocker data, preventing redundancy sneak 2025-06-11 15:21:20 -0700
  • 9adf0c0803 refactor: fix redundant metadata fields across the codebase - Removed VaultMetadata.Name (redundant with directory structure) - Removed SecretMetadata.Name (redundant with Secret.Name field) - Removed AgePublicKey and AgeRecipient from PGPUnlockerMetadata - Removed AgePublicKey from KeychainUnlockerMetadata - Changed PGP and Keychain unlockers to store recipient in pub.txt instead of pub.age - Fixed all tests to reflect these changes - Follows DRY principle and prevents data inconsistency sneak 2025-06-09 17:44:10 -0700
  • e9d03987f9 refactor: remove redundant SecretName and Version fields from VersionMetadata - Removed SecretName and Version fields that were redundant with directory structure and parent SecretVersion struct - Updated tests to remove references to deleted fields - Follows DRY principle and prevents potential data inconsistency sneak 2025-06-09 17:26:57 -0700
  • b0e3cdd3d0 fix: Restore fmt target to Makefile sneak 2025-06-09 17:22:44 -0700
  • 2e3fc475cf fix: Use vault metadata derivation index for environment mnemonic - Fixed bug where GetValue() used hardcoded index 0 instead of vault metadata - Added test31 to verify environment mnemonic respects vault derivation index - Rewrote test19DisasterRecovery to actually test manual recovery process - Removed all test skip statements as requested sneak 2025-06-09 17:21:02 -0700
  • 1f89fce21b latest sneak 2025-06-09 05:59:26 -0700
  • 512b742c46 latest agent instructions sneak 2025-06-09 05:59:17 -0700
  • 02be4b2a55 Fix integration tests: correct vault derivation index and debug test failures sneak 2025-06-09 04:54:45 -0700
  • e036d280c0 tests pass now, not sure if they are any good sneak 2025-06-08 22:29:55 -0700
  • ac81023ea0 add LLM instructions sneak 2025-06-08 22:19:13 -0700
  • d76a4cbf4d fix tests sneak 2025-06-08 22:13:22 -0700
  • fbda2d91af add secret versioning support sneak 2025-06-08 22:07:19 -0700
  • f59ee4d2d6 'unlock keys' renamed to 'unlockers' sneak 2025-05-30 07:29:02 -0700
  • 0bf8e71b52 fix: resolve ineffectual assignment lint error in pgpunlock_test.go sneak 2025-05-29 16:36:10 -0700
  • 34d6870e6a feat: add derivation index to vault metadata for unique keys - Add VaultMetadata fields: DerivationIndex, LongTermKeyHash, MnemonicHash - Implement GetNextDerivationIndex() to track and increment indices for same mnemonics - Update init and import commands to use proper derivation indices - Add ComputeDoubleSHA256() for hash calculations - Save vault metadata on creation with all derivation information - Add comprehensive tests for metadata functionality. This ensures multiple vaults using the same mnemonic will derive different long-term keys by using incremented derivation indices. The mnemonic is double SHA256 hashed and stored to track which vaults share mnemonics. Fixes TODO item #5 sneak 2025-05-29 16:23:29 -0700
  • 1a1b11c5a3 Add comprehensive PGP unlock key testing with non-interactive GPG support sneak 2025-05-29 15:05:58 -0700
  • 85d7ef21eb Add comprehensive test coverage and fix empty branch issue sneak 2025-05-29 14:18:39 -0700
  • a4d7225036 Standardize file permissions using constants and fix parameter ordering inconsistencies sneak 2025-05-29 13:13:44 -0700
  • 8dc2e9d748 Remove duplicated wrapper crypto functions and use exported implementations directly sneak 2025-05-29 13:08:00 -0700
  • 8cc15fde3d latest sneak 2025-05-29 13:02:39 -0700
  • ddb395901b Refactor vault functionality to dedicated package, fix import cycles with interface pattern, fix tests sneak 2025-05-29 12:48:36 -0700
  • c33385be6c Clean up integration test script: remove redundant tests and fix misleading output - Remove redundant manual input tests that were actually using environment variables - Update all test output to honestly reflect automated testing with env vars - Consolidate similar test cases to reduce duplication - Fix cross-vault operations test by properly recreating work vault after reset_state - Import mnemonic into work vault so it can store secrets - Update test descriptions to be accurate about automation vs manual input - All tests now pass successfully with proper environment variable usage sneak 2025-05-29 11:04:31 -0700
  • e95609ce69 latest sneak 2025-05-29 11:02:22 -0700
  • 345709a306 refactor: Implement proper separation between unlock keys and secret decryption - Remove DecryptSecret methods from all unlock key implementations - Secrets now handle their own decryption via Secret.GetValue(unlockKey) - Unlock keys are only responsible for vault access (getting long-term key) - Add decryptWithLongTermKey helper for per-secret key architecture - Fix vault import to work in non-interactive mode without unlock keys - Maintain clean architecture: unlock keys → vault access → secret decryption - All tests passing with new architecture sneak 2025-05-29 10:06:30 -0700
  • 4b59d6fb82 fix: Update integration test script for new architecture - Update file checks to expect value.age instead of secret.age - Add debug output support with GODEBUG environment variable - Remove output redirections to show command execution and debug info - Fix test expectations to match per-secret key file structure sneak 2025-05-29 09:52:39 -0700
  • 5ca657c104 feat: Enhance debug logging system - Add TTY detection for colorized vs JSON output - Disable stderr buffering when debug is enabled for immediate output - Add comprehensive debug functions with structured logging support - Improve debugging experience during development and troubleshooting sneak 2025-05-29 09:52:32 -0700
  • bbaf1cbd97 fix: Prevent hanging in non-interactive environments - Add terminal detection to readPassphrase, readSecurePassphrase, and readLineFromStdin - Return clear error messages when stderr is not a terminal instead of hanging - Improves automation and CI/CD reliability sneak 2025-05-29 09:52:26 -0700
  • f838c8cb98 feat: Implement per-secret key architecture with individual keypairs - Each secret now has its own encryption keypair stored as pub.age, priv.age, value.age - Secret private keys are encrypted to vault long-term public key - Values stored as value.age instead of secret.age for new architecture sneak 2025-05-29 09:52:18 -0700
  • 43767c725f chore: Update .gitignore to exclude .DS_Store files and built binary sneak 2025-05-29 09:52:11 -0700
  • b26794e21a test: Add comprehensive test suite for secret manager - CLI, debug, secret, and vault tests with in-memory filesystem for fast isolated testing sneak 2025-05-29 09:52:05 -0700
  • 7dc14da4af simplify sneak 2025-05-29 08:33:06 -0700
  • 3d90388b5b restored from backups sneak 2025-05-29 08:30:16 -0700
  • 8c08c2e748 restoring from chat historyy sneak 2025-05-29 08:22:43 -0700
  • ee49ace397 man what a clusterfuck sneak 2025-05-29 08:21:05 -0700
  • 1b8ea9695b feat: implement debug logging system (#5) - Added debug.go with structured logging using log/slog - Supports GODEBUG=berlin.sneak.pkg.secret flag - JSON output for non-TTY stderr, colorized output for TTY - Added Debug(), DebugF(), and DebugWith() functions - Early return when debug is disabled for performance - Added comprehensive tests for debug functionality - Integrated debug logging into CLI init and vault operations - Removed completed TODO item #5 sneak 2025-05-29 06:25:50 -0700
  • 9f0f5cc8a1 todo list items sneak 2025-05-29 06:19:41 -0700
  • 89a8af2aa1 docs sneak 2025-05-29 06:14:19 -0700
  • 659b5ba508 refactor: rename SEP to Keychain and reorganize import commands - Renamed sepunlock.go to keychainunlock.go - Changed all SEP types to Keychain types (SEPUnlockKey -> KeychainUnlockKey) - Updated type string from 'macos-sep' to 'keychain' - Moved 'secret import' to 'secret vault import' for mnemonic imports - Added new 'secret import <secret-name> --source <filename>' for file imports - Updated README to replace all 'Secure Enclave' references with 'macOS Keychain' - Updated directory structure diagrams and examples - Fixed linter error in MarkFlagRequired call - All tests passing, linter clean sneak 2025-05-29 06:07:15 -0700
  • bb82d10f91 fix: enable cobra usage printing after errors - Set SilenceUsage and SilenceErrors to false in root command - Addresses critical TODO item for better error handling - Users will now see command usage when commands fail sneak 2025-05-29 05:59:29 -0700
  • c526b68f58 docs: comprehensive README.md and TODO.md for 1.0 release - Updated README.md with detailed documentation of all commands, architecture, and storage system - Added comprehensive TODO.md with critical, important, and trivial items for 1.0 release - Documented three-layer key hierarchy and vault system - Included examples, security considerations, and cross-platform notes - Identified key bugs including missing cobra usage printing after errors - Categorized 50+ items by priority with timeline estimates sneak 2025-05-29 05:58:21 -0700
  • 2443256338 latest, trying to get sep to work without ADP membership sneak 2025-05-29 04:03:40 -0700
  • 354681b298 latest sneak 2025-05-28 14:06:29 -0700
  • efedbe405f latest sneak 2025-05-28 07:38:07 -0700
  • 6a8bd3388c latest sneak 2025-05-28 07:37:57 -0700
  • 7671eaaa57 initial sneak 2025-05-28 04:02:55 -0700