Welcome! We welcome contributions to lock-master (Portable, zero-dependency multi-agent file-lock system — Exclusive and Team Locks from ellmos-ai). To maintain deterministic agent execution loops, air-gapped process isolation, single-writer filesystem safety, and compliance across multi-host environments, all contributions must adhere to the quality standards and operational invariants defined below.
- Local-First & Zero-Egress (
INV-LOCAL-01): All lock management, scanning, and inspection routines operate 100% offline using the Python standard library. Zero outbound network sockets, zero telemetry, and zero phone-home tracking. - Unprivileged User-Mode Execution (
INV-SEC-02/RunAsInvoker): All CLI runners, lock checkers, background watchers, and pruning routines execute strictly in unprivileged user space. Administrative elevation (UAC/root/sudo) is strictly forbidden. - Fail-Closed Default Semantics (
INV-FAIL-03): Ambiguous states, corrupt lock files, lock acquisition races, or unparsable conditions fail closed immediately with a safe, read-only denial. - Hierarchical & Scoped Locking (
INV-SCOPE-04): RootLOCK.txtprotects an entire project; scoped locks (LOCK.<scope>.txt) provide fine-grained concurrency across decoupled workspace subsystems. - Multi-Agent Team Coordination (
INV-TEAM-05): Intra-host coordination (LOCK.team.<host>.txt) coordinates co-located agents (presence, file claims, tool claims, and message boards) while signaling peer hosts during cloud-sync latency. - Deterministic TTL & Safe Stale Pruning (
INV-TTL-06): All locks define explicitexpires_afterdurations (default 24h); stale cleanup (prune_stale_locks.py) provides safe--dry-runinspection before atomic unlinking. - Declarative Permission Engine (
INV-PERM-07): Rule evaluations againstLOCK.permissions.jsonenforce strict priority ordering (deny>ask>allow> default) with deterministic path matching. - Read-Only Inspection & Atomic Cache (
INV-AUDIT-08): Status queries and scanner operations (lock_scan.py) operate in pure read-only mode; cache files (LOCK-CACHE.md) are written atomically without perturbing active locks. - 100% Permissive Dependency Stack (
INV-LIC-09): Core runtime has zero external dependencies (dependencies = []); development tools are strictly MIT, Apache-2.0, PSFL, and BSD-3-Clause audited with full attribution in NOTICE. - Dual Security SLA (
INV-SLA-10): We commit to a 48h acknowledgment and 5-business-day triage SLA, with a 30-day remediation timeline pursuant to SECURITY.md. - Clean Code & Regression Testing: Every feature, enhancement, or fix must include regression tests in
tests/. Keep test coverage at a 100% pass rate. - Bilingual Parity: Maintain synchronized structural and navigational parity across
README.mdandREADME_de.md(18-point dual anchorssec-01throughsec-18).
# Clone the repository (canonical Plan D location)
git clone https://github.com/ellmos-ai/lock-master.git "C:\_Local_DEV\repos\lock-master"
cd "C:\_Local_DEV\repos\lock-master"
# Install package in editable mode with development dependencies
pip install -e ".[dev]"
# Run comprehensive test suite
pytest -ra -v
# Run fast static code analysis
ruff check .
# Check bytecode compilation
python -m compileall -q .
# Check whitespace and git diff cleanliness
git diff --check- Open an issue for architectural discussions before large refactoring.
- Keep provider API keys, tokens, and private credentials strictly outside the repository.
- Ensure all 10 governance invariants (
INV-LOCAL-01toINV-SLA-10) remain VERIFIED. - Pull requests must target the
mainbranch.
By contributing to lock-master, you agree that your contributions will be licensed under the MIT License.
- Local-First & Zero-Egress (
INV-LOCAL-01): Sämtliche Sperrverwaltungs-, Scan- und Prüfroutinen arbeiten standardmäßig zu 100% offline ausschließlich mit Modulen der Python-Standardbibliothek. Keine Telemetrie, keine externen Sockets, kein Phone-Home. - Unprivilegierte Benutzer-Ausführung (
INV-SEC-02/RunAsInvoker): Sämtliche CLI-Befehle, Lock-Checker, Hintergrund-Watcher und Pruning-Skripte laufen strikt im unprivilegierten Standard-Benutzerkontext. Administrative Rechte oder UAC-Elevationen sind verboten. - Fail-Closed Standard-Semantik (
INV-FAIL-03): Mehrdeutige Zustände, beschädigte Sperrdateien oder unauflösbare Bedingungen schließen sofort fehl (Fail-Closed) mit sicherem Lesezugriff bzw. Verweigerung. - Hierarchisches & bereichsbezogenes Sperren (
INV-SCOPE-04): Ein globalesLOCK.txtschützt das gesamte Projekt; bereichsbezogene Sperren (LOCK.<scope>.txt) ermöglichen granulare Parallelität zwischen unabhängigen Teilsystemen. - Multi-Agenten-Team-Koordination (
INV-TEAM-05): Intra-Host-Koordination (LOCK.team.<host>.txt) koordiniert lokale Agenten (Präsenz, Dateiansprüche, Werkzeugansprüche, Nachrichten) und signalisiert entfernten Hosts Wartezustände während der Cloud-Sync-Latenz. - Deterministische TTL & sicheres Bereinigen (
INV-TTL-06): Jede Sperre definiert eine explizite Gültigkeitsdauerexpires_after(Standard: 24h); die Bereinigung (prune_stale_locks.py) bietet eine sichere--dry-run-Vorschau vor atomarem Löschen. - Deklarative Rechteverwaltung (
INV-PERM-07): Regelauswertungen gegenLOCK.permissions.jsonerzwingen strikte Prioritäten (deny>ask>allow> default) mit deterministischem Pfadabgleich. - Reine Lese-Inspektion & atomarer Cache (
INV-AUDIT-08): Statusabfragen und Scanner-Läufe (lock_scan.py) arbeiten rein lesend; Cache-Dateien (LOCK-CACHE.md) werden atomar geschrieben, ohne aktive Sperren zu verändern. - 100% permissiver Abhängigkeits-Stack (
INV-LIC-09): Die Kernlaufzeit besitzt keinerlei externe Abhängigkeiten (dependencies = []); Entwicklungswerkzeuge sind strikt MIT-, Apache-2.0-, PSFL- und BSD-3-Clause-auditiert mit vollständiger Nennung in NOTICE. - Duale Sicherheits-SLA (
INV-SLA-10): Verbindliche Zusage von 48h Reaktionszeit, 5 Werktagen Triage-Bewertung und 30 Tagen Behebungsfrist gemäß SECURITY.md. - Sauberer Code & Regressionstests: Jede Änderung erfordert begleitende Tests in
tests/. Die Testsuite muss zu 100% grün bleiben. - Bilinguale Parität: Strukturelle und navigatorische Parität zwischen
README.mdundREADME_de.md(18-Punkte Dual-Ankersec-01bissec-18) ist zwingend einzuhalten.
# Klonen des Repositories (kanonischer Plan D Pfad)
git clone https://github.com/ellmos-ai/lock-master.git "C:\_Local_DEV\repos\lock-master"
cd "C:\_Local_DEV\repos\lock-master"
# Paket im Entwicklungsmodus mit Testabhängigkeiten installieren
pip install -e ".[dev]"
# Testsuite ausführen
pytest -ra -v
# Schnelle statische Code-Prüfung ausführen
ruff check .
# Bytecode-Kompilierung validieren
python -m compileall -q .
# Whitespace- und Diff-Sauberkeit prüfen
git diff --check- Öffnen Sie bei größeren Architekturentscheidungen vorab ein GitHub Issue.
- Halten Sie API-Schlüssel, Tokens und private Zugangsdaten strikt außerhalb des Repositories.
- Stellen Sie sicher, dass alle 10 Invarianten (
INV-LOCAL-01bisINV-SLA-10) verifiziert bleiben. - Pull Requests müssen gegen den
main-Branch gerichtet sein.
Mit Ihrer Mitwirkung an lock-master erklären Sie sich damit einverstanden, dass Ihre Beiträge unter der MIT-Lizenz lizenziert werden.