Commit Graph

7 Commits

Author SHA1 Message Date
Joseph O'Brien
b4cba74ea3 docs: update HANDOFF.md — age-native redesign progress (tasks 1–7 complete) 2026-04-01 20:58:09 -04:00
Joseph O'Brien
55d68ee92f fix: address security findings from devkit-review (#1–#7)
notsecrets:
- install_age_key_at: create key file with mode 0600 via OpenOptions,
  eliminating TOCTOU window where file was transiently world-readable (#3)
- sops_args: extract arg-builder and add -- separator before path,
  preventing leading-dash flag injection (#2)
- use .context() instead of .with_context(closure) for string literal (#7)

notstrap:
- extract parse_env_line: validates env lines before set_var — rejects
  null bytes (#4) and blocks dangerous keys (LD_PRELOAD, PATH, etc.) (#5)
- wire parse_env_line into injection loop; errors abort the step cleanly
- correct SAFETY comment: documents single-threaded invariant and notes
  that subsequent spawns inherit injected env (#6)

Tests: 12 new tests covering all fixes; workspace grows from 44 to 56 passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 15:00:47 -04:00
Joseph O'Brien
403bcc4436 fix: address blocking sentinel findings (unsafe SAFETY comment, unwrap panics)
Some checks failed
Public Repo Readiness / Check Public Repo Readiness (push) Failing after 4s
2026-04-01 08:59:28 -04:00
Joseph O'Brien
748a0d8634 fix(notstrap): fix clippy warning and unwrap panics in lib extraction 2026-04-01 05:00:26 -04:00
Joseph O'Brien
1545a913c5 refactor(notstrap): extract run() into lib with BootstrapOptions 2026-04-01 04:57:32 -04:00
Joseph O'Brien
4025ed037b feat(notstrap): add new-machine bootstrap orchestrator 2026-03-31 17:29:08 -04:00
Joseph O'Brien
6b0bd3beb6 feat(notcore): add shared types, config, paths, error crate
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 17:17:35 -04:00