methodproof 0.3.0__tar.gz → 0.3.1__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.
- {methodproof-0.3.0 → methodproof-0.3.1}/PKG-INFO +1 -1
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/cli.py +30 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/pyproject.toml +1 -1
- {methodproof-0.3.0 → methodproof-0.3.1}/.github/workflows/ci.yml +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/.gitignore +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/CHANGELOG.md +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/LICENSE +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/README.md +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/__init__.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/__main__.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/agents/__init__.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/agents/base.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/agents/music.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/agents/terminal.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/agents/watcher.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/analysis.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/bridge.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/config.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/crypto.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/graph.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/hook.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/hooks/__init__.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/hooks/claude_code.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/hooks/claude_code.sh +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/hooks/install.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/hooks/openclaw/HOOK.md +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/hooks/openclaw/handler.ts +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/hooks/openclaw_install.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/hooks/wrappers.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/integrity.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/live.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/mcp.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/repos.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/skills/methodproof/SKILL.md +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/store.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/sync.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/methodproof/viewer.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/test_windows_compat.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/tests/__init__.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/tests/test_analysis.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/tests/test_graph.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/tests/test_hooks.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/tests/test_openclaw_hooks.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/tests/test_store.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/tests/test_wrappers.py +0 -0
- {methodproof-0.3.0 → methodproof-0.3.1}/uv.lock +0 -0
|
@@ -452,6 +452,16 @@ def cmd_start(args: argparse.Namespace) -> None:
|
|
|
452
452
|
print("Run `methodproof init` first.")
|
|
453
453
|
sys.exit(1)
|
|
454
454
|
|
|
455
|
+
# Check for new consent categories before recording
|
|
456
|
+
capture = cfg.get("capture", {})
|
|
457
|
+
new_cats = (set(config.STANDARD_CATEGORIES) | {"code_capture"}) - set(capture.keys())
|
|
458
|
+
if new_cats:
|
|
459
|
+
print(f"\n New capture categories available: {', '.join(sorted(new_cats))}")
|
|
460
|
+
print(" Please review your consent settings before recording.\n")
|
|
461
|
+
cfg = _run_consent(cfg)
|
|
462
|
+
config.save(cfg)
|
|
463
|
+
print()
|
|
464
|
+
|
|
455
465
|
sid = uuid.uuid4().hex
|
|
456
466
|
watch_dir = os.path.abspath(args.dir or ".")
|
|
457
467
|
repo_url = args.repo or repos.detect_repo(watch_dir)
|
|
@@ -793,6 +803,7 @@ def cmd_update(args: argparse.Namespace) -> None:
|
|
|
793
803
|
return
|
|
794
804
|
if latest == current:
|
|
795
805
|
print(f"Already up to date (v{current}).")
|
|
806
|
+
_check_consent_drift()
|
|
796
807
|
return
|
|
797
808
|
print(f"Updating v{current} -> v{latest}...")
|
|
798
809
|
import subprocess as sp
|
|
@@ -802,10 +813,29 @@ def cmd_update(args: argparse.Namespace) -> None:
|
|
|
802
813
|
)
|
|
803
814
|
if result.returncode == 0:
|
|
804
815
|
print(f"Updated to v{latest}.")
|
|
816
|
+
_check_consent_drift()
|
|
805
817
|
else:
|
|
806
818
|
print(f"Update failed. Try manually: pip install --upgrade methodproof")
|
|
807
819
|
|
|
808
820
|
|
|
821
|
+
def _check_consent_drift() -> None:
|
|
822
|
+
"""If new capture categories exist since last consent, re-run the consent flow."""
|
|
823
|
+
cfg = config.load()
|
|
824
|
+
capture = cfg.get("capture", {})
|
|
825
|
+
known = set(capture.keys())
|
|
826
|
+
current = set(config.STANDARD_CATEGORIES) | {"code_capture"}
|
|
827
|
+
new_categories = current - known
|
|
828
|
+
|
|
829
|
+
if not new_categories:
|
|
830
|
+
return
|
|
831
|
+
|
|
832
|
+
print(f"\n New capture categories available: {', '.join(sorted(new_categories))}")
|
|
833
|
+
print(" Your consent preferences need updating.\n")
|
|
834
|
+
cfg = _run_consent(cfg)
|
|
835
|
+
config.save(cfg)
|
|
836
|
+
print(f"\n{_banner()} settings saved.\n")
|
|
837
|
+
|
|
838
|
+
|
|
809
839
|
def _get_current_version() -> str:
|
|
810
840
|
try:
|
|
811
841
|
from importlib.metadata import version
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|