methodproof 0.3.3__tar.gz → 0.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. {methodproof-0.3.3 → methodproof-0.3.4}/CHANGELOG.md +6 -0
  2. {methodproof-0.3.3 → methodproof-0.3.4}/PKG-INFO +1 -1
  3. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/cli.py +18 -1
  4. {methodproof-0.3.3 → methodproof-0.3.4}/pyproject.toml +1 -1
  5. {methodproof-0.3.3 → methodproof-0.3.4}/.github/workflows/ci.yml +0 -0
  6. {methodproof-0.3.3 → methodproof-0.3.4}/.gitignore +0 -0
  7. {methodproof-0.3.3 → methodproof-0.3.4}/LICENSE +0 -0
  8. {methodproof-0.3.3 → methodproof-0.3.4}/README.md +0 -0
  9. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/__init__.py +0 -0
  10. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/__main__.py +0 -0
  11. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/__init__.py +0 -0
  12. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/base.py +0 -0
  13. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/music.py +0 -0
  14. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/terminal.py +0 -0
  15. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/agents/watcher.py +0 -0
  16. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/analysis.py +0 -0
  17. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/bridge.py +0 -0
  18. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/config.py +0 -0
  19. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/crypto.py +0 -0
  20. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/graph.py +0 -0
  21. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hook.py +0 -0
  22. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/__init__.py +0 -0
  23. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/claude_code.py +0 -0
  24. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/claude_code.sh +0 -0
  25. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/install.py +0 -0
  26. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/openclaw/HOOK.md +0 -0
  27. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/openclaw/handler.ts +0 -0
  28. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/openclaw_install.py +0 -0
  29. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/hooks/wrappers.py +0 -0
  30. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/integrity.py +0 -0
  31. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/live.py +0 -0
  32. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/mcp.py +0 -0
  33. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/repos.py +0 -0
  34. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/skills/methodproof/SKILL.md +0 -0
  35. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/store.py +0 -0
  36. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/sync.py +0 -0
  37. {methodproof-0.3.3 → methodproof-0.3.4}/methodproof/viewer.py +0 -0
  38. {methodproof-0.3.3 → methodproof-0.3.4}/test_windows_compat.py +0 -0
  39. {methodproof-0.3.3 → methodproof-0.3.4}/tests/__init__.py +0 -0
  40. {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_analysis.py +0 -0
  41. {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_graph.py +0 -0
  42. {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_hooks.py +0 -0
  43. {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_live.py +0 -0
  44. {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_openclaw_hooks.py +0 -0
  45. {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_store.py +0 -0
  46. {methodproof-0.3.3 → methodproof-0.3.4}/tests/test_wrappers.py +0 -0
  47. {methodproof-0.3.3 → methodproof-0.3.4}/uv.lock +0 -0
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.3.4] — 2026-04-05
4
+
5
+ ### Added
6
+ - `mp log` shows session status: recording, stopped, pushed, empty, abandoned
7
+ - `mp log` prints sync reminder when unsynced sessions exist
8
+
3
9
  ## [0.3.3] — 2026-04-05
4
10
 
5
11
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: methodproof
3
- Version: 0.3.3
3
+ Version: 0.3.4
4
4
  Summary: See how you code. Capture and visualize your engineering process.
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -708,13 +708,17 @@ def cmd_log(args: argparse.Namespace) -> None:
708
708
  if not sessions:
709
709
  print("No sessions yet.")
710
710
  return
711
+ unsynced = [s for s in sessions if not s["synced"] and s.get("completed_at") and s["total_events"] > 0]
712
+ if unsynced:
713
+ print(f" [{len(unsynced)} session{'s' if len(unsynced) != 1 else ''} behind sync] — run `mp push` to upload\n")
711
714
  for s in sessions:
712
715
  sync_tag = "synced" if s["synced"] else "local"
716
+ status = _session_status(s)
713
717
  dt = datetime.fromtimestamp(s["created_at"], tz=UTC).strftime("%Y-%m-%d %H:%M")
714
718
  dur = _duration(s)
715
719
  vis = s.get("visibility", "private")
716
720
  tags = json.loads(s.get("tags") or "[]")
717
- suffix = f" [{sync_tag}]"
721
+ suffix = f" [{sync_tag}] {status}"
718
722
  if vis != "private":
719
723
  suffix += f" {vis}"
720
724
  if tags:
@@ -976,6 +980,19 @@ def _latest() -> str | None:
976
980
  return sessions[0]["id"] if sessions else None
977
981
 
978
982
 
983
+ def _session_status(s: dict) -> str:
984
+ active = config.load().get("active_session")
985
+ if s["id"] == active:
986
+ return "recording"
987
+ if not s.get("completed_at"):
988
+ return "abandoned"
989
+ if s["total_events"] == 0:
990
+ return "empty"
991
+ if s["synced"]:
992
+ return "pushed"
993
+ return "stopped"
994
+
995
+
979
996
  def _duration(s: dict) -> str:
980
997
  if not s.get("completed_at") or not s.get("created_at"):
981
998
  return "--:--"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "methodproof"
3
- version = "0.3.3"
3
+ version = "0.3.4"
4
4
  description = "See how you code. Capture and visualize your engineering process."
5
5
  requires-python = ">=3.11"
6
6
  dependencies = ["watchdog>=4.0", "websocket-client>=1.7"]
File without changes
File without changes
File without changes
File without changes