-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
143 lines (105 loc) · 3.19 KB
/
Makefile
File metadata and controls
143 lines (105 loc) · 3.19 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
.PHONY: smoke check test build clean clippy fmt publish publish-dry-run install changelog release harness-audit entropy-check control-refresh control-validate conversations eval-run eval-check eval-rollback dashboard-install dashboard-dev dashboard-build
# === GATES ===
# Primary gate: must pass before any commit
smoke: check test
@echo "SMOKE PASS"
# === SENSORS ===
check:
cargo check --workspace
cargo clippy --workspace -- -D warnings
test:
cargo test --workspace
# === BUILD ===
build:
cargo build --release
# === UTILITIES ===
clippy:
cargo clippy --workspace -- -D warnings
fmt:
cargo fmt --all
fmt-check:
cargo fmt --all -- --check
clean:
cargo clean
# === INSTALL ===
install:
cargo install --path . --bin symphony
# === PUBLISH ===
# Dry-run: verify all crates can be packaged for crates.io
publish-dry-run:
cargo publish -p symphony-core --dry-run
cargo publish -p symphony-config --dry-run
cargo publish -p symphony-tracker --dry-run
cargo publish -p symphony-workspace --dry-run
cargo publish -p symphony-agent --dry-run
cargo publish -p symphony-orchestrator --dry-run
cargo publish -p symphony-observability --dry-run
cargo publish -p symphony-cli --dry-run
@echo "PUBLISH DRY-RUN PASS"
# Publish all crates to crates.io in dependency order
publish: smoke
cargo publish -p symphony-core
sleep 30
cargo publish -p symphony-config
sleep 30
cargo publish -p symphony-tracker
sleep 30
cargo publish -p symphony-workspace
sleep 30
cargo publish -p symphony-agent
sleep 30
cargo publish -p symphony-orchestrator
sleep 30
cargo publish -p symphony-observability
sleep 30
cargo publish -p symphony-cli
@echo "PUBLISH COMPLETE"
# === RELEASE ===
# Generate/update CHANGELOG.md from conventional commits
changelog:
git-cliff --output CHANGELOG.md
@echo "CHANGELOG.md updated"
# Release: bump version, generate changelog, commit, tag, push
# Usage: make release VERSION=0.3.0
release: smoke
@if [ -z "$(VERSION)" ]; then echo "Usage: make release VERSION=0.3.0"; exit 1; fi
@echo "Releasing v$(VERSION)..."
sed -i.bak 's/^version = ".*"/version = "$(VERSION)"/' Cargo.toml && rm -f Cargo.toml.bak
cargo check --workspace
git-cliff --tag "v$(VERSION)" --output CHANGELOG.md
git add Cargo.toml Cargo.lock CHANGELOG.md
git commit -m "chore(release): v$(VERSION)"
git tag "v$(VERSION)"
@echo ""
@echo "Release v$(VERSION) ready. Push with:"
@echo " git push origin master v$(VERSION)"
# === DASHBOARD ===
dashboard-install:
cd dashboard && bun install
dashboard-dev: dashboard-install
cd dashboard && bun run dev
dashboard-build: dashboard-install
cd dashboard && bun run build
# === CONTROL AUDIT ===
control-audit: smoke fmt-check
@echo "CONTROL AUDIT PASS"
# === HARNESS ===
harness-audit:
bash scripts/harness/audit_harness.sh
entropy-check:
bash scripts/harness/entropy_check.sh
# === CONTROL ===
control-refresh:
bash scripts/control/refresh_state.sh
control-validate:
bash scripts/control/validate_policy.sh
# === MEMORY ===
conversations:
python3 scripts/conversation-history.py
# === EVALS ===
eval-run:
bash evals/symphony-prompts/run_eval.sh
eval-check:
bash evals/symphony-prompts/constraint-check.sh
eval-rollback:
bash evals/symphony-prompts/rollback.sh