Skip to content

Releases: LalaSkye/stop-machine

Meta-hardening: docs + tests only (zero runtime change)

24 Feb 17:34
fe2e455

Choose a tag to compare

Scope

Meta-hardening pass: legibility, security policy, and invariant test coverage.

Constraint: ZERO runtime semantic change.

Added

  • SECURITY.md — security disclosure policy
  • docs/runtime-trace.md — runtime trace walkthrough
  • docs/architecture-diagram.md — ASCII architecture diagram
  • tests/__init__.py + tests/test_invariant_enforcement.py — 16 structural invariant tests
  • CI step: Run invariant tests (python -m pytest tests/ -v)
  • CHANGELOG.md meta-hardening entry

Invariants enforced

  • EXIT_ENUM: exactly {ALLOW, HOLD, DENY, SILENCE}
  • StopMachine: RED is terminal, no escape
  • Gate boundary: valid envelope != DENY, invalid envelope == DENY
  • No runtime imports from docs/analysis/artifacts/examples
  • Primitive folders exist and are non-empty
  • LICENSE and README.md present

Runtime files unchanged

  • stop_machine.py — untouched
  • gate.py — untouched
  • rules.py — untouched
  • envelope_parser.py — untouched
  • primitives/* — untouched

PR #7 | Squash-merged | All CI green

Geometry Layer v0 — Log-only instrumentation (spec FROZEN)

23 Feb 16:15
2beda29

Choose a tag to compare

What's Changed

  • v0.4: Fix collision + ensure root tests run in CI by @LalaSkye in #1
  • v0.5: Legibility pack – stub v0 folders, add drift alarms, remove v0 demos by @LalaSkye in #2
  • PR#1: Geometry Layer v0 — Docs only (no code changes) by @LalaSkye in #3
  • PR#2: Geometry Layer v0 — Instrumentation (gate.py emission hook) by @LalaSkye in #4
  • Geometry Layer v0: CI non-gating analysis job + artefact upload + drift alarm by @LalaSkye in #5
  • PR#4: Geometry Layer v0 — Freeze spec + README badge by @LalaSkye in #6

New Contributors

Full Changelog: v0.1.0...geometry-layer-v0

v0.1.0 — Initial release

16 Feb 15:26
c85cce6

Choose a tag to compare

Changelog

Added

  • State enum (GREEN, AMBER, RED) with @unique constraint
  • StopMachine class with deterministic three-state lifecycle
  • advance() — move to next state in sequence
  • transition_to(target) — explicit validated transition
  • reset() — return to GREEN from any state
  • is_terminal property — True when RED
  • TerminalStateError — raised on transition from RED
  • InvalidTransitionError — raised on illegal transition target
  • Comprehensive test suite (187 lines, covers every transition and failure mode)
  • Operational README with quickstart, constraints, and test instructions
  • MIT license

Constraints enforced

  • Deterministic behaviour only
  • No global state
  • <200 LOC implementation (98 lines)
  • All transitions explicit via lookup table
  • RED is terminal — no implicit transitions