reliability notes

stay in the loop, from anywhere.

pseudocoder is built for the moment where an agent makes a real edit to your codebase. whether you're on the couch or on the go, you can say "no" safely and "yes" confidently.

the core idea

changes aren't applied blindly. decisions follow a strict, ordered flow:

detect diff (poll git)
semantic analysis (tree-sitter: Go, Dart)
classify chunks (import, function, generic, binary, deleted, renamed)
assess per-chunk risk -> order queue risk-first
parse into cards (file or chunk)
stream cards to mobile
validate content hash
accept -> write to working tree | reject -> restore
record decision
undo -> reverse previous decision (file or chunk level)

if anything fails:
  conflict detection + reconciliation
  rollback (best-effort)

this keeps the app honest when the working tree diverges or a patch conflicts.

what you get

  • accept = stage changes (file-level or chunk-level)
  • reject = restore original state (or guide you when it can't)
  • undo = revert a decision at file or chunk level without guessing
  • risk-first queue ordering -- highest-impact changes surface first
  • stale-state refresh when the working tree diverges
  • conflict detection and reconciliation for concurrent changes
  • errors are explicit (validation failed, verification failed, state diverged)

security posture

no account. no cloud relay. your terminal traffic never touches our servers. your phone connects directly to your machine over tailscale or a trusted private network. pairing happens locally, and paired devices can be revoked anytime. don't expose to the public internet.