-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJustfile
More file actions
65 lines (49 loc) · 1.93 KB
/
Justfile
File metadata and controls
65 lines (49 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# SPDX-License-Identifier: PMPL-1.0-or-later
# phronesiser — Add provably safe ethical constraints to AI agents
# Default: build and test
default: build test
# Build release binary
build:
cargo build --release
# Run all tests
test:
cargo test
# Run clippy lints
lint:
cargo clippy -- -D warnings
# Format code
fmt:
cargo fmt
# Check formatting without modifying
fmt-check:
cargo fmt -- --check
# Build documentation
doc:
cargo doc --no-deps --open
# Clean build artifacts
clean:
cargo clean
# Run the CLI
run *ARGS:
cargo run -- {{ARGS}}
# Full quality check (lint + test + fmt-check)
quality: fmt-check lint test
@echo "All quality checks passed"
# Install locally
install:
cargo install --path .
# Run panic-attacker pre-commit scan
assail:
@command -v panic-attack >/dev/null 2>&1 && panic-attack assail . || echo "panic-attack not found — install from https://github.com/hyperpolymath/panic-attacker"
# --- Domain-Specific Recipes (phronesiser) ---
# Validate ethical constraints against a policy\nvalidate-ethics POLICY:\n cargo run -- validate {{POLICY}}\n\n# Generate constraint proofs\nprove CONSTRAINTS:\n cargo run -- prove {{CONSTRAINTS}}\n\n# Audit an AI agent's decision log\naudit-decisions LOG:\n cargo run -- audit {{LOG}}
# Run contractile checks
contractile-check:
@echo "Running contractile validation..."
@test -f .machine_readable/contractiles/must/Mustfile.a2ml && echo "Mustfile: OK" || echo "Mustfile: MISSING"
@test -f .machine_readable/contractiles/trust/Trustfile.a2ml && echo "Trustfile: OK" || echo "Trustfile: MISSING"
@test -f .machine_readable/contractiles/dust/Dustfile.a2ml && echo "Dustfile: OK" || echo "Dustfile: MISSING"
@test -f .machine_readable/contractiles/intend/Intendfile.a2ml && echo "Intendfile: OK" || echo "Intendfile: MISSING"
# RSR compliance check
rsr-check: quality contractile-check
@echo "RSR compliance check complete"