You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+63Lines changed: 63 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,69 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
7
7
## [Unreleased]
8
8
9
+
### bootstrap v1.2.0
10
+
11
+
#### Changed
12
+
- Migrated critic-gates configuration path from `.claude/settings/critic-gates.json` to `.closedloop-ai/settings/critic-gates.json` across `agent-decomposer`, `agent-prompt-validator`, `generation-validator`, and `agent-bootstrap` command
13
+
- Migrated schema validation path from `.claude/schemas/` to `.closedloop-ai/schemas/` in `agent-prompt-validator`
14
+
- Updated agent output path references from `.claude/runs/` to `.closedloop-ai/runs/` in `agent-prompt-generator`
15
+
- Updated bootstrap configuration documentation in `agent-bootstrap.md` to reference `.closedloop-ai/` state directory
16
+
17
+
### code v1.6.0
18
+
19
+
#### Changed
20
+
- Migrated all remaining `.claude/` path references to `.closedloop-ai/` across hooks, scripts, agents, skills, and orchestrator prompt -- completes the directory migration started in v1.1.0
21
+
- Replaced `gawk` FPAT-based TOON parser with portable `csv_split()` function in `pretooluse-hook.sh` and `subagent-start-hook.sh`, removing the hard dependency on GNU awk
22
+
- Refactored awk array usage from associative `patterns[n]["key"]` to parallel flat arrays for POSIX awk compatibility
23
+
- Updated `install-dependencies.sh` to verify any `awk` instead of requiring `gawk` with FPAT support
24
+
- Updated org learnings copy path in `run-loop.sh` to use `.closedloop-ai/learnings/` with workdir-adjacent state directory resolution
25
+
26
+
#### Removed
27
+
- Removed all legacy `.claude/.closedloop/` session/workdir/env fallback paths from `loop-stop-hook.sh`, `pretooluse-hook.sh`, `session-end-hook.sh`, `subagent-start-hook.sh`, `subagent-stop-hook.sh`, and `setup-closedloop.sh`
28
+
- Removed legacy `~/.claude/.learnings/org-patterns.toon` fallback from `pretooluse-hook.sh` and `subagent-start-hook.sh`
29
+
- Removed legacy cleanup logic from `session-end-hook.sh` (PID cleanup, stale session removal, legacy directory deletion)
30
+
31
+
#### Added
32
+
- Tests for legacy path ignorance in pretooluse and subagent-start hooks, setup-closedloop, and self-learning flag tests
33
+
- Tests for portable awk injection (`test_injects_when_only_plain_awk_is_available`) in both hook test suites
34
+
35
+
### code-review v1.4.0
36
+
37
+
#### Changed
38
+
- Migrated GitHub mode output file paths from `.claude/` to `.closedloop-ai/`: `code-review-findings.json`, `code-review-threads.json`, and `code-review-summary.md`
39
+
- Updated `route` subcommand to read critic-gates from `.closedloop-ai/settings/critic-gates.json`
40
+
- Simplified fast-path routing to `total_loc <= 200` threshold only (was `<= 150 LOC AND <= 5 files AND no domain critics`); domain critics are now folded into the fast-path agent as an additional pass
41
+
42
+
#### Added
43
+
- Structured reasoning protocol for Premise Reviewer: `AUTHOR'S CLAIM / COUNTER-EVIDENCE / ALTERNATIVE CHECK / CONCLUSION` validation gate before reporting premise findings
- Migrated threshold override paths from `.claude/settings/threshold-overrides.json` to `.closedloop-ai/settings/threshold-overrides.json` in `run-judges` skill (both run-specific and repo-level locations)
52
+
53
+
### platform v1.1.0
54
+
55
+
#### Changed
56
+
- Version bump to align with cross-plugin `.closedloop-ai/` directory migration
57
+
58
+
### self-learning v1.1.0
59
+
60
+
#### Changed
61
+
- Migrated org learnings paths from `.claude/learnings/` to `.closedloop-ai/learnings/` across `pull-learnings`, `push-learnings`, and `bootstrap-learnings.sh`
62
+
- Migrated run path references from `.claude/runs/` to `.closedloop-ai/runs/` in `process-learnings` command
63
+
- Simplified `preflight-check.sh` to verify `awk` availability instead of requiring `gawk` with FPAT support
64
+
65
+
#### Removed
66
+
- Removed legacy `~/.claude/.learnings/org-patterns.toon` fallback from `compute_success_rates.py` and `write_merged_patterns.py`
67
+
- Removed legacy session file lookup path from `evaluate_goal.py`
68
+
69
+
#### Added
70
+
- Test verifying CLI ignores legacy home TOON path in `test_compute_success_rates.py`
Copy file name to clipboardExpand all lines: docs/glossary.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ A comprehensive guide to ClosedLoop terminology and concepts.
5
5
## Orchestration
6
6
7
7
**Closed Loop**
8
-
The external bash loop (`run-loop.sh`) that drives fresh-context Claude iterations. Each iteration launches `claude -p` with a clean context window, preventing context exhaustion on long tasks. State persists between iterations in `.claude/closedloop-loop.local.md`.
8
+
The external bash loop (`run-loop.sh`) that drives fresh-context Claude iterations. Each iteration launches `claude -p` with a clean context window, preventing context exhaustion on long tasks. State persists between iterations in `.closedloop-ai/closedloop-loop.local.md`.
9
9
10
10
**Orchestrator**
11
11
The `prompt.md` system prompt loaded by `run-loop.sh` at the start of each iteration. Coordinates 8 workflow phases (discovery, planning, judge review, plan refinement, implementation, verification, build validation, and learning capture) entirely through subagent delegation. The orchestrator never reads project files directly.
Copy file name to clipboardExpand all lines: plugins/bootstrap/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,7 +92,7 @@ Decomposition is driven by domain complexity (high complexity favors decompositi
92
92
93
93
Also generates `critic-gates.json`, which defines which agents act as critics in the `code` workflow. Required agents (`test-strategist`, `security-privacy`) and language experts are always base critics. Domain agents are mapped to module patterns so they are only invoked when relevant.
Copy file name to clipboardExpand all lines: plugins/bootstrap/agents/generation-validator.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ You validate that the decomposed agent list is ready for generation by checking
14
14
## Inputs
15
15
16
16
-`$RUN/synthesis/decomposed-agents.json` - Final agent list with artifact contracts
17
-
-`.claude/settings/critic-gates.json` - Critic configuration (generated by agent-decomposer)
17
+
-`.closedloop-ai/settings/critic-gates.json` - Critic configuration (generated by agent-decomposer)
18
18
19
19
## Task
20
20
@@ -39,7 +39,7 @@ Each agent spec must have:
39
39
- ✅ **parallelizable**: Boolean
40
40
- ✅ **group**: String or null
41
41
- ✅ **priority**: Number 0-2 (if has group)
42
-
- ✅ **supportsCriticMode** and `modes` when agent is in the critic-capable set (dynamically discovered from `.claude/settings/critic-gates.json`).
42
+
- ✅ **supportsCriticMode** and `modes` when agent is in the critic-capable set (dynamically discovered from `.closedloop-ai/settings/critic-gates.json`).
43
43
- To discover critics: Extract all unique agent names from `defaults.baseCritics` and `moduleCritics[].critics`.
44
44
- Note: `parityCritics` will be empty at bootstrap time (populated later by orchestrator on first `/code` run), so don't include it in discovery.
45
45
- If critic-gates.json doesn't exist, skip critic validation entirely.
@@ -161,7 +161,7 @@ For each critic-capable agent (discovered from critic-gates.json):
161
161
162
162
#### 9. critic-gates.json Structure Validation
163
163
164
-
Validate the structure of `.claude/settings/critic-gates.json`:
164
+
Validate the structure of `.closedloop-ai/settings/critic-gates.json`:
165
165
166
166
-`defaults.baseCritics`: must be array of strings
167
167
-`moduleCritics`: must be array of objects, each with `patterns` (array of strings) and `critics` (array of strings)
Copy file name to clipboardExpand all lines: plugins/bootstrap/commands/agent-bootstrap.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -109,7 +109,7 @@ Maps detected languages and domains to base expert agent roles.
109
109
110
110
Analyzes candidate agents and decides which should be split into specialists based on complexity and breadth. Generates critic-gates.json configuration for the code workflow.
@@ -157,7 +157,7 @@ Generated agents written to `.claude/agents/`:
157
157
158
158
Generated configuration files:
159
159
160
-
-`.claude/settings/critic-gates.json` - Critic selection rules for the code workflow (safe write)
160
+
-`.closedloop-ai/settings/critic-gates.json` - Critic selection rules for the code workflow (safe write)
161
161
162
162
## Examples
163
163
@@ -227,7 +227,7 @@ Constrain analysis to backend domains:
227
227
228
228
## Configuration
229
229
230
-
Bootstrap behavior can be customized via `.claude/commands/agent-bootstrap.json` (created automatically on first run).
230
+
Bootstrap behavior is defined by `commands/agent-bootstrap.json`; generated run state lives under `.closedloop-ai/`, and generated agents are written to `.claude/agents/`.
0 commit comments