127 Commits
Author SHA1 Message Date
Violin 4c40ebb260 Merge P0 release and CI hardening 2026-07-13 08:53:57 +01:00
Violin a9130fe02c Harden plugin release checks and CI 2026-07-13 08:53:57 +01:00
Violin e7d76785dd Merge P0 concurrent state safety 2026-07-13 08:49:36 +01:00
Violin e84de38943 Serialise concurrent guard state transitions 2026-07-13 08:49:36 +01:00
Violin 16f04068f6 Merge P0 batch integrity 2026-07-13 08:45:45 +01:00
Violin 98b4d8ed7d Bind sync batches to captured PTT tasks 2026-07-13 08:45:44 +01:00
Violin 683f393ac7 Merge P0 PTT hypothesis phase enforcement 2026-07-13 08:41:03 +01:00
Violin ac5848a85a Enforce PTT phase and hypothesis relevance 2026-07-13 08:41:03 +01:00
Violin bcc57fe534 Merge P0 scope authorization 2026-07-13 08:36:02 +01:00
Violin cdae366bdc Enforce scope authorization and exclusions 2026-07-13 08:36:02 +01:00
Violin f5c6015c83 Merge P0 sync credit enforcement 2026-07-13 08:30:17 +01:00
Violin a2c551ef59 Fix bounded sync credit enforcement 2026-07-13 08:30:07 +01:00
Violin f29b79ac20 Merge violin guard release into dev 2026-07-13 08:28:06 +01:00
Violin 8884e6956f P1-hyp: enforce out-of-scope target rejection on hypothesis write
update_hypothesis silently skipped the scope check because it called
validate_hypothesis_record without forwarding in_scope_hosts, so an
out-of-scope target was written to the board. Thread in_scope_hosts
through so both the direct API and handle_record_hypothesis reject
out-of-scope targets fail-closed (verified ad-hoc, 7/7).
2026-07-12 21:05:53 +01:00
Violin ea7e094528 Remediate audit P0/P1 findings; migrate tests to green
- state.py: fcntl/msvcrt file locking, reservation+finalization, history
  verification, remove dead subprocess bridges (p1-lock)
- hypotheses.py: enforce canonical status, phase/host/service/port match,
  reject unrelated hypotheses (p1-hyp)
- tools.py/__init__.py: retain kwargs (task_id), lifecycle hooks wired
  (REGISTERED_TOOLS + no-op-then-active hooks) (p1-life)
- Migrate tests from tests/*.py to tests/guard + tests/pentest_docs; align
  to actual API (handle_target returns ips[0], handle_exec_burst fail-closed,
  PTT self-certify uses real batch_id, post-exploitation requires hypothesis)
- scoping.md: add checkpoint.json continuity-artifact drift note
- pyproject.toml: v1.2.0, per-file-ignores for tests/scripts (E402/S101)
- Add .pytest-tmp-plugin/ to .gitignore

64 passed; ruff clean.
2026-07-12 20:57:55 +01:00
Violin 48b8abd292 Audit pentest skill docs against guard surface 2026-07-12 17:18:49 +01:00
Violin f2f95dd1e8 Remove obsolete manual engagement bootstrap 2026-07-12 17:11:57 +01:00
Violin eae934bd5b Add CTF bootstrap and repair guard CLI docs 2026-07-12 17:09:00 +01:00
Violin 68a3db3a89 Remove session search cross-references 2026-07-12 17:00:44 +01:00
Violin 570eaf1605 Make guard test suite green and explicit in CI 2026-07-12 16:52:53 +01:00
Violin 56aec13ff1 Remove stale history tool references 2026-07-12 16:47:32 +01:00
Violin 426e7c4817 Align guard tests with plugin contract 2026-07-12 16:35:29 +01:00
Violin 8d8fb81ffb Consolidate Violin Guard into Hermes plugin 2026-07-12 16:00:16 +01:00
Violin 5030b32d3f fix first command history gate 2026-07-12 09:57:02 +01:00
Violin 283f2683a9 feat: improve guard and workflow reliability 2026-07-12 09:39:55 +01:00
Violin 3d821d6e13 v1.1.0: guarded pentest workflow v1.1.0 2026-07-12 09:39:55 +01:00
Violin 262b221205 v1.0.0: initial release v1.0.0 2026-07-12 09:39:55 +01:00