Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
59ef562
feat: add council class-module spine
nrdxp Jun 28, 2026
80fa947
feat: add council governance contract
nrdxp Jun 28, 2026
e51c2d2
test: add council law gate over fixtures
nrdxp Jun 28, 2026
e53aa7d
chore: integrate node N1 council-contract
nrdxp Jun 28, 2026
1ba93a2
fix: split close consensus from head ratification
nrdxp Jun 28, 2026
a8c712a
feat: add council standing-seat lens deltas
nrdxp Jun 28, 2026
f52a15a
refactor: convert council fixtures to YAML
nrdxp Jun 28, 2026
8a5b1dc
docs: add /council seat-discipline skill
nrdxp Jun 28, 2026
d30020e
chore: integrate node N1c council-fixtures-yaml
nrdxp Jun 28, 2026
9c21cbe
chore: integrate node N4 council-skill
nrdxp Jun 28, 2026
d2fde4c
feat: add merge-consent gate to MERGE state
nrdxp Jun 28, 2026
ec03dcd
fix: purge fabricated --no-ff merge rule
nrdxp Jun 28, 2026
e3b0757
feat: wire council seats as dispatchable agents
nrdxp Jun 28, 2026
178691d
feat: swap output style to composer persona
nrdxp Jun 28, 2026
3007a70
chore: integrate node N5 output-style swap
nrdxp Jun 28, 2026
35acb49
docs: tie composer council linkage to record
nrdxp Jun 28, 2026
b18586f
fix: drop quorum from bar ratification wording
nrdxp Jun 28, 2026
d859477
fix: drop quorum from auditor bar wording
nrdxp Jun 28, 2026
e6f0cd1
docs: pluralize architect loop to council seats
nrdxp Jun 28, 2026
302f64f
docs: refresh output-style refs to composer
nrdxp Jun 28, 2026
b37e646
chore: integrate node N7 loop-rewrite
nrdxp Jun 28, 2026
c2af360
feat: add YAML apply-files for campaign trackers
nrdxp Jun 29, 2026
5b2650b
docs: cite tracker apply-files in campaign table
nrdxp Jun 29, 2026
6b0ebb2
test: add council end-to-end smoke gate
nrdxp Jun 29, 2026
d3cd6b0
docs: add council maintainer guide
nrdxp Jun 29, 2026
22a0c40
chore: integrate node N8b council-doc
nrdxp Jun 29, 2026
6573d55
docs: finish composer rename in layer doc
nrdxp Jun 29, 2026
99b8da0
fix: scope reviewer veto to the architect-seat
nrdxp Jun 29, 2026
d31309e
fix: exclude composer from 'full consensus tally
nrdxp Jun 29, 2026
6069ea0
docs: composer is member, not consensus-voter
nrdxp Jun 29, 2026
b3283f2
chore: integrate node N10 composer-not-voter
nrdxp Jun 29, 2026
18fdbdb
feat: single-source council constitution
nrdxp Jun 29, 2026
0396f44
feat: render constitution into composer prompt
nrdxp Jun 29, 2026
800d457
docs: consolidate conditioning composition docs
nrdxp Jun 29, 2026
e671feb
docs: complete conditioning doc consolidation
nrdxp Jun 29, 2026
ce300a3
feat: forge discipline as a conditional skill
nrdxp Jul 8, 2026
05c1963
feat: readiness gate, probe, and forge wiring
nrdxp Jul 8, 2026
e4c218b
feat: forge and readiness language in seat lenses
nrdxp Jul 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions bootstrap/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#
# The conditioning layer generates a structured system prompt for each role and
# delivers it via native harness surfaces: for claude-code, an output-style file
# (<claude-dir>/output-styles/predicate-architect.md) and per-role agent files;
# (<claude-dir>/output-styles/predicate-composer.md) and per-role agent files;
# for agy, a GEMINI.md managed block. No CLAUDE.md conditioning block is written.
#
# Usage:
Expand Down Expand Up @@ -97,7 +97,7 @@ register_antigravity() {
}

# --- conditioning delivery (called from phase_install) -----------------------
# Generates and installs the architect-role conditioning prompt.
# Generates and installs the composer-role conditioning prompt.
# The conditioning/install.sh script is the authority for delivery — this is
# the bootstrap wiring only. Non-fatal if Nickel is not available: conditioning
# is the single always-on surface; no @import fallback is installed.
Expand All @@ -108,7 +108,7 @@ inject_conditioning() {
echo "install: conditioning/install.sh not found at $plugin_src/conditioning/; skipping." >&2
return 0
fi
echo "install: running conditioning delivery for role=architect ..."
echo "install: running conditioning delivery for role=composer ..."
# For claude-code: no --harness arg — conditioning defaults to claude-code (writes
# native output-style and agent files under $claude_dir). For antigravity the harness
# name maps to the legacy alias "generic" in conditioning/install.sh.
Expand All @@ -120,7 +120,7 @@ inject_conditioning() {
local extra_args=()
[ -n "$cond_harness" ] && extra_args=(--harness "$cond_harness")
PREDICATE_SRC="$plugin_src" bash "$conditioning_sh" \
--role architect "${extra_args[@]+"${extra_args[@]}"}" \
--role composer "${extra_args[@]+"${extra_args[@]}"}" \
|| echo "install: conditioning delivery exited non-zero (non-fatal)." >&2
}

Expand Down
20 changes: 10 additions & 10 deletions bootstrap/test_uninstall.sh
Original file line number Diff line number Diff line change
Expand Up @@ -384,8 +384,8 @@ case_role_injection_rejected() {

# Also verify a VALID role still works (exit 0, no rejection).
if ! PREDICATE_SRC="$plugin_root" bash "$conditioning_sh" \
--role architect --dry-run >/dev/null 2>&1; then
note "valid role 'architect' was incorrectly rejected"; rc=1
--role composer --dry-run >/dev/null 2>&1; then
note "valid role 'composer' was incorrectly rejected"; rc=1
fi

[ "$rc" -eq 0 ] && ok "$name" || bad "$name"
Expand Down Expand Up @@ -547,7 +547,7 @@ case_conditioning_sh_uninstall() {

# Seed native surfaces (what a real install writes) for uninstall to remove.
mkdir -p "$claude_dir/output-styles"
printf 'fake output style\n' >"$claude_dir/output-styles/predicate-architect.md"
printf 'fake output style\n' >"$claude_dir/output-styles/predicate-composer.md"
mkdir -p "$claude_dir/agents"
for r in core-worker refine-worker doc-worker form-worker spec-worker boundary-worker; do
printf 'fake agent\n' >"$claude_dir/agents/predicate-$r.md"
Expand All @@ -573,8 +573,8 @@ EOF
}

# Native surfaces must be removed.
if [ -f "$claude_dir/output-styles/predicate-architect.md" ]; then
note "output-styles/predicate-architect.md still present after --uninstall"; rc=1
if [ -f "$claude_dir/output-styles/predicate-composer.md" ]; then
note "output-styles/predicate-composer.md still present after --uninstall"; rc=1
fi
for r in core-worker refine-worker doc-worker form-worker spec-worker boundary-worker; do
if [ -f "$claude_dir/agents/predicate-$r.md" ]; then
Expand Down Expand Up @@ -621,7 +621,7 @@ case_uninstall_strips_conditioning_block() {
# Seed native surfaces directly (install requires the real claude CLI which is
# not available in this context; we test what uninstall removes, not what install writes).
mkdir -p "$claude_dir/output-styles"
printf 'fake output style\n' >"$claude_dir/output-styles/predicate-architect.md"
printf 'fake output style\n' >"$claude_dir/output-styles/predicate-composer.md"
mkdir -p "$claude_dir/agents"
for r in core-worker refine-worker doc-worker form-worker spec-worker boundary-worker; do
printf 'fake agent\n' >"$claude_dir/agents/predicate-$r.md"
Expand All @@ -648,8 +648,8 @@ EOF
run_uninstall "$home" >/dev/null 2>&1

# Native surfaces must be removed.
if [ -f "$claude_dir/output-styles/predicate-architect.md" ]; then
note "output-styles/predicate-architect.md still present after uninstall (orphaned)"; rc=1
if [ -f "$claude_dir/output-styles/predicate-composer.md" ]; then
note "output-styles/predicate-composer.md still present after uninstall (orphaned)"; rc=1
fi
for r in core-worker refine-worker doc-worker form-worker spec-worker boundary-worker; do
if [ -f "$claude_dir/agents/predicate-$r.md" ]; then
Expand Down Expand Up @@ -717,8 +717,8 @@ EOF
bash "$install_sh" install --harness claude-code >/dev/null 2>&1

# Native output-style surface must have been written.
if [ ! -f "$home/.claude/output-styles/predicate-architect.md" ]; then
note "output-styles/predicate-architect.md not written by install"; rc=1
if [ ! -f "$home/.claude/output-styles/predicate-composer.md" ]; then
note "output-styles/predicate-composer.md not written by install"; rc=1
fi
# At least one worker agent file must have been written.
local agent_found=0
Expand Down
Loading
Loading