methodproof 0.7.4__tar.gz → 0.7.5__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.7.4 → methodproof-0.7.5}/PKG-INFO +32 -7
- {methodproof-0.7.4 → methodproof-0.7.5}/README.md +31 -6
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/__init__.py +1 -1
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/cli.py +41 -1
- {methodproof-0.7.4 → methodproof-0.7.5}/pyproject.toml +1 -1
- {methodproof-0.7.4 → methodproof-0.7.5}/.github/workflows/ci.yml +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/.gitignore +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/CHANGELOG.md +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/LICENSE +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/__main__.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/_daemon.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/agents/__init__.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/agents/base.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/agents/music.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/agents/terminal.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/agents/watcher.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/analysis.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/binding.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/bip39.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/bridge.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/config.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/crypto.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/e2e.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/graph.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hook.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/__init__.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/claude_code.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/claude_code.sh +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/cline_hook.sh +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/codex_hook.sh +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/gemini_hook.sh +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/install.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/kiro_hook.sh +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/mcp_register.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/openclaw/HOOK.md +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/openclaw/handler.ts +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/openclaw_install.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/opencode_plugin.js +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/hooks/wrappers.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/integrity.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/kdf.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/keychain.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/live.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/lock.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/mcp.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/migrate_db.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/proxy.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/proxy_daemon.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/repos.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/skills/methodproof/SKILL.md +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/store.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/sync.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/viewer.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/methodproof/wordlist.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/test_windows_compat.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/tests/__init__.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/tests/test_analysis.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/tests/test_graph.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/tests/test_hooks.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/tests/test_live.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/tests/test_openclaw_hooks.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/tests/test_security.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/tests/test_store.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/tests/test_wrappers.py +0 -0
- {methodproof-0.7.4 → methodproof-0.7.5}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: methodproof
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.5
|
|
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
|
|
@@ -153,18 +153,24 @@ flowchart TB
|
|
|
153
153
|
| Command | What it does |
|
|
154
154
|
|---------|-------------|
|
|
155
155
|
| `init` | Interactive consent selector, install hooks, create data directory |
|
|
156
|
-
| `start [--dir .] [--tags t1,t2] [--public] [--live]` | Start recording |
|
|
156
|
+
| `start [--dir .] [--tags t1,t2] [--public] [--live] [--journal] [--e2e]` | Start recording |
|
|
157
157
|
| `stop` | Stop recording, build process graph |
|
|
158
158
|
| `view [session_id]` | Open session graph in browser |
|
|
159
159
|
| `log` | List sessions with sync status, visibility, tags |
|
|
160
|
-
| `login` | Authenticate with the platform |
|
|
161
|
-
| `push [session_id]` | Upload session |
|
|
162
|
-
| `publish [session_id]` | Set public + push |
|
|
160
|
+
| `login [--api-url URL]` | Authenticate with the platform |
|
|
161
|
+
| `push [session_id] [--local]` | Upload session (`--local` targets localhost:8000) |
|
|
162
|
+
| `publish [session_id] [--anonymous]` | Set public + push (redaction applied) |
|
|
163
163
|
| `tag <session_id> <tags>` | Add tags |
|
|
164
164
|
| `delete <session_id> [-f]` | Delete session and all its data |
|
|
165
|
-
| `consent` | Change capture
|
|
165
|
+
| `consent` | Change capture, research, and redaction settings |
|
|
166
166
|
| `review` | Inspect session data before pushing |
|
|
167
|
-
| `
|
|
167
|
+
| `journal on/off/status` | Toggle journal mode (full content capture) |
|
|
168
|
+
| `e2e on/off/status/recover/release` | Manage personal E2E encryption keys |
|
|
169
|
+
| `extension pair/status/install` | Browser extension pairing |
|
|
170
|
+
| `proxy start/stop/status/cert` | Local AI API proxy (deep capture) |
|
|
171
|
+
| `update [--auto/--no-auto]` | Check for and install CLI updates |
|
|
172
|
+
| `lock [--purge]` | Destroy local encryption key (recoverable) |
|
|
173
|
+
| `uninstall [--keep-sessions]` | Remove all hooks, data, and config |
|
|
168
174
|
|
|
169
175
|
## Privacy & Consent
|
|
170
176
|
|
|
@@ -307,6 +313,25 @@ methodproof start
|
|
|
307
313
|
|
|
308
314
|
**Git commits** are detected automatically — only commits in a git repo rooted at (or above) the watch directory are captured.
|
|
309
315
|
|
|
316
|
+
## Local Development
|
|
317
|
+
|
|
318
|
+
Push sessions to a local API for testing:
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
# One-time: login to your local API
|
|
322
|
+
mp login --api-url http://localhost:8000
|
|
323
|
+
|
|
324
|
+
# Push with --local flag (overrides stored URL for this command)
|
|
325
|
+
mp push --local
|
|
326
|
+
|
|
327
|
+
# Or set the env var (works with any command)
|
|
328
|
+
METHODPROOF_API_URL=http://localhost:8000 mp push
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
`--local` is a shorthand for `http://localhost:8000`. It does not clobber your production token — it only overrides the API URL for that invocation.
|
|
332
|
+
|
|
333
|
+
You still need a valid JWT from the local API. Run `mp login --api-url http://localhost:8000` once to authenticate against your local platform.
|
|
334
|
+
|
|
310
335
|
## Data Directory
|
|
311
336
|
|
|
312
337
|
`~/.methodproof/`
|
|
@@ -138,18 +138,24 @@ flowchart TB
|
|
|
138
138
|
| Command | What it does |
|
|
139
139
|
|---------|-------------|
|
|
140
140
|
| `init` | Interactive consent selector, install hooks, create data directory |
|
|
141
|
-
| `start [--dir .] [--tags t1,t2] [--public] [--live]` | Start recording |
|
|
141
|
+
| `start [--dir .] [--tags t1,t2] [--public] [--live] [--journal] [--e2e]` | Start recording |
|
|
142
142
|
| `stop` | Stop recording, build process graph |
|
|
143
143
|
| `view [session_id]` | Open session graph in browser |
|
|
144
144
|
| `log` | List sessions with sync status, visibility, tags |
|
|
145
|
-
| `login` | Authenticate with the platform |
|
|
146
|
-
| `push [session_id]` | Upload session |
|
|
147
|
-
| `publish [session_id]` | Set public + push |
|
|
145
|
+
| `login [--api-url URL]` | Authenticate with the platform |
|
|
146
|
+
| `push [session_id] [--local]` | Upload session (`--local` targets localhost:8000) |
|
|
147
|
+
| `publish [session_id] [--anonymous]` | Set public + push (redaction applied) |
|
|
148
148
|
| `tag <session_id> <tags>` | Add tags |
|
|
149
149
|
| `delete <session_id> [-f]` | Delete session and all its data |
|
|
150
|
-
| `consent` | Change capture
|
|
150
|
+
| `consent` | Change capture, research, and redaction settings |
|
|
151
151
|
| `review` | Inspect session data before pushing |
|
|
152
|
-
| `
|
|
152
|
+
| `journal on/off/status` | Toggle journal mode (full content capture) |
|
|
153
|
+
| `e2e on/off/status/recover/release` | Manage personal E2E encryption keys |
|
|
154
|
+
| `extension pair/status/install` | Browser extension pairing |
|
|
155
|
+
| `proxy start/stop/status/cert` | Local AI API proxy (deep capture) |
|
|
156
|
+
| `update [--auto/--no-auto]` | Check for and install CLI updates |
|
|
157
|
+
| `lock [--purge]` | Destroy local encryption key (recoverable) |
|
|
158
|
+
| `uninstall [--keep-sessions]` | Remove all hooks, data, and config |
|
|
153
159
|
|
|
154
160
|
## Privacy & Consent
|
|
155
161
|
|
|
@@ -292,6 +298,25 @@ methodproof start
|
|
|
292
298
|
|
|
293
299
|
**Git commits** are detected automatically — only commits in a git repo rooted at (or above) the watch directory are captured.
|
|
294
300
|
|
|
301
|
+
## Local Development
|
|
302
|
+
|
|
303
|
+
Push sessions to a local API for testing:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
# One-time: login to your local API
|
|
307
|
+
mp login --api-url http://localhost:8000
|
|
308
|
+
|
|
309
|
+
# Push with --local flag (overrides stored URL for this command)
|
|
310
|
+
mp push --local
|
|
311
|
+
|
|
312
|
+
# Or set the env var (works with any command)
|
|
313
|
+
METHODPROOF_API_URL=http://localhost:8000 mp push
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
`--local` is a shorthand for `http://localhost:8000`. It does not clobber your production token — it only overrides the API URL for that invocation.
|
|
317
|
+
|
|
318
|
+
You still need a valid JWT from the local API. Run `mp login --api-url http://localhost:8000` once to authenticate against your local platform.
|
|
319
|
+
|
|
295
320
|
## Data Directory
|
|
296
321
|
|
|
297
322
|
`~/.methodproof/`
|
|
@@ -466,6 +466,7 @@ def _print_commands() -> None:
|
|
|
466
466
|
print(f" {_G}mp start --live{R} Stream your graph privately (only you can view)")
|
|
467
467
|
print(f" {_G}mp start --live-public{R} Stream your graph publicly (shareable link)")
|
|
468
468
|
print(f" {_G}mp start --journal{R} Full content capture (2 free credits, then Pro)")
|
|
469
|
+
print(f" {_G}mp start --e2e{R} Encrypt session with your personal key {_D}(Pro){R}")
|
|
469
470
|
print(f" {_G}mp journal on{R} Enable persistent journal mode")
|
|
470
471
|
print(f" {_G}mp journal status{R} Check journal mode and remaining credits")
|
|
471
472
|
print()
|
|
@@ -476,15 +477,29 @@ def _print_commands() -> None:
|
|
|
476
477
|
print()
|
|
477
478
|
print(f" {_W}SHARE{R}")
|
|
478
479
|
print(f" {_Y}mp push{R} {_D}[id]{R} Upload privately to your account")
|
|
480
|
+
print(f" {_Y}mp push --local{R} Push to local dev API {_D}(localhost:8000){R}")
|
|
479
481
|
print(f" {_Y}mp publish{R} {_D}[id]{R} Make session public (redaction applied)")
|
|
480
482
|
print(f" {_Y}mp publish --anonymous{R} Public but identity hidden {_D}(Pro){R}")
|
|
481
483
|
print(f" {_Y}mp tag{R} {_D}<id> <tags>{R} Tag a session")
|
|
482
484
|
print()
|
|
485
|
+
print(f" {_W}ENCRYPTION{R}")
|
|
486
|
+
print(f" {_C}mp e2e on{R} Enable E2E encryption (generates key on first use)")
|
|
487
|
+
print(f" {_C}mp e2e off{R} Disable E2E mode (key stays in keychain)")
|
|
488
|
+
print(f" {_C}mp e2e status{R} Show E2E mode and key status")
|
|
489
|
+
print(f" {_C}mp e2e recover{R} Recover key from recovery passphrase")
|
|
490
|
+
print(f" {_C}mp e2e release{R} {_D}<id>{R} Release a session from E2E encryption")
|
|
491
|
+
print()
|
|
483
492
|
print(f" {_W}EXTENSION{R}")
|
|
484
493
|
print(f" {_C}mp extension pair{R} Pair browser extension to active session")
|
|
485
494
|
print(f" {_C}mp extension status{R} Check extension connection")
|
|
486
495
|
print(f" {_C}mp extension install{R} Open Chrome Web Store")
|
|
487
496
|
print()
|
|
497
|
+
print(f" {_W}PROXY{R}")
|
|
498
|
+
print(f" {_C}mp proxy start{R} Start local AI API proxy {_D}(deep capture){R}")
|
|
499
|
+
print(f" {_C}mp proxy stop{R} Stop proxy")
|
|
500
|
+
print(f" {_C}mp proxy status{R} Show proxy status")
|
|
501
|
+
print(f" {_C}mp proxy cert{R} CA certificate install instructions")
|
|
502
|
+
print()
|
|
488
503
|
print(f" {_W}ACCOUNT{R}")
|
|
489
504
|
print(f" {_M}mp login{R} Connect to platform (opens browser)")
|
|
490
505
|
print(f" {_M}mp consent{R} Change capture, research, and redaction settings")
|
|
@@ -497,6 +512,9 @@ def _print_commands() -> None:
|
|
|
497
512
|
print(f" {_M}mp update --no-auto{R} Toggle auto-update off")
|
|
498
513
|
print(f" {_M}mp uninstall{R} Remove all hooks, data, and config")
|
|
499
514
|
print()
|
|
515
|
+
print(f" {_W}ENVIRONMENT{R}")
|
|
516
|
+
print(f" {_D}METHODPROOF_API_URL{R} Override API endpoint {_D}(e.g. http://localhost:8000){R}")
|
|
517
|
+
print()
|
|
500
518
|
print(f" {_D}To view this at any time run: mp help{R}\n")
|
|
501
519
|
|
|
502
520
|
|
|
@@ -504,7 +522,12 @@ def _print_commands_plain() -> None:
|
|
|
504
522
|
print(" RECORD")
|
|
505
523
|
print(" mp start Start recording a session")
|
|
506
524
|
print(" mp stop Stop recording, build process graph")
|
|
507
|
-
print(" mp start --live Stream your graph
|
|
525
|
+
print(" mp start --live Stream your graph privately")
|
|
526
|
+
print(" mp start --live-public Stream your graph publicly (shareable link)")
|
|
527
|
+
print(" mp start --journal Full content capture (2 free credits, then Pro)")
|
|
528
|
+
print(" mp start --e2e Encrypt session with your personal key (Pro)")
|
|
529
|
+
print(" mp journal on Enable persistent journal mode")
|
|
530
|
+
print(" mp journal status Check journal mode and remaining credits")
|
|
508
531
|
print()
|
|
509
532
|
print(" REVIEW")
|
|
510
533
|
print(" mp view [id] View session graph in browser")
|
|
@@ -513,15 +536,29 @@ def _print_commands_plain() -> None:
|
|
|
513
536
|
print()
|
|
514
537
|
print(" SHARE")
|
|
515
538
|
print(" mp push [id] Upload privately to your account")
|
|
539
|
+
print(" mp push --local Push to local dev API (localhost:8000)")
|
|
516
540
|
print(" mp publish [id] Make session public (redaction applied)")
|
|
517
541
|
print(" mp publish --anonymous Public but identity hidden (Pro)")
|
|
518
542
|
print(" mp tag <id> <tags> Tag a session")
|
|
519
543
|
print()
|
|
544
|
+
print(" ENCRYPTION")
|
|
545
|
+
print(" mp e2e on Enable E2E encryption (generates key on first use)")
|
|
546
|
+
print(" mp e2e off Disable E2E mode (key stays in keychain)")
|
|
547
|
+
print(" mp e2e status Show E2E mode and key status")
|
|
548
|
+
print(" mp e2e recover Recover key from recovery passphrase")
|
|
549
|
+
print(" mp e2e release <id> Release a session from E2E encryption")
|
|
550
|
+
print()
|
|
520
551
|
print(" EXTENSION")
|
|
521
552
|
print(" mp extension pair Pair browser extension to active session")
|
|
522
553
|
print(" mp extension status Check extension connection")
|
|
523
554
|
print(" mp extension install Open Chrome Web Store")
|
|
524
555
|
print()
|
|
556
|
+
print(" PROXY")
|
|
557
|
+
print(" mp proxy start Start local AI API proxy (deep capture)")
|
|
558
|
+
print(" mp proxy stop Stop proxy")
|
|
559
|
+
print(" mp proxy status Show proxy status")
|
|
560
|
+
print(" mp proxy cert CA certificate install instructions")
|
|
561
|
+
print()
|
|
525
562
|
print(" ACCOUNT")
|
|
526
563
|
print(" mp login Connect to platform (opens browser)")
|
|
527
564
|
print(" mp consent Change capture, research, and redaction settings")
|
|
@@ -534,6 +571,9 @@ def _print_commands_plain() -> None:
|
|
|
534
571
|
print(" mp update --no-auto Toggle auto-update off")
|
|
535
572
|
print(" mp uninstall Remove all hooks, data, and config")
|
|
536
573
|
print()
|
|
574
|
+
print(" ENVIRONMENT")
|
|
575
|
+
print(" METHODPROOF_API_URL Override API endpoint (e.g. http://localhost:8000)")
|
|
576
|
+
print()
|
|
537
577
|
print(" To view this at any time run: mp help\n")
|
|
538
578
|
|
|
539
579
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "methodproof"
|
|
3
|
-
version = "0.7.
|
|
3
|
+
version = "0.7.5"
|
|
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", "cryptography>=43.0", "keyring>=25.0"]
|
|
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
|
|
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
|