Skip to content

Commit 85cb1e0

Browse files
committed
Consolidate duplicate ### Fixed sections in Unreleased changelog
Merge three separate ### Fixed headings into one to comply with Keep a Changelog grouping conventions. Addresses CodeRabbit review.
1 parent 1043d92 commit 85cb1e0

1 file changed

Lines changed: 58 additions & 60 deletions

File tree

.devcontainer/CHANGELOG.md

Lines changed: 58 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,64 @@
3434
#### Docs
3535
- Removed stale merge conflict marker in first-session docs page
3636

37+
38+
#### CI/CD
39+
- **Release workflow** — switched from auto-publish on `package.json` change to tag-triggered (`v*` tags only); prevents accidental releases when PRs include version bumps. Tag must match `package.json` version or the workflow fails.
40+
41+
#### CCStatusLine Deployment
42+
- **`CONFIG_SOURCE_DIR` deprecation guard**`setup.sh` now detects stale `CONFIG_SOURCE_DIR=/workspaces/.claude` in `.env`, overrides to `$DEVCONTAINER_DIR/config`, and auto-comments the line on disk; the wrong path caused `setup-config.sh` to skip the file manifest entirely, leaving ccstatusline (and all manifest-based configs) undeployed
43+
- **System template directory permissions**`install.sh` now chowns `/usr/local/share/ccstatusline/` to the target user so `setup-config.sh` can write the template file during post-start
44+
- **Silent copy failures**`setup-config.sh` now reports warnings when file deployment fails instead of logging success after a failed `cp`
45+
46+
#### Post-Integration Review Fixes
47+
- **skill-engine** — worktree skill definition uses weighted tuples (was plain strings, caused crash)
48+
- **dangerous-command-blocker** — fail closed on unexpected exceptions (was fail-open)
49+
- **ticket-workflow** — remove redundant `ValueError` from exception handlers
50+
- **workspace-scope-guard** — use maxsplit in variable assignment detection
51+
- **Shell scripts** — add executable bit to `check-setup.sh`, quote `PLUGIN_BLACKLIST` variable, add `set -uo pipefail` to tmux installer, replace deprecated `which` with `command -v`, normalize `&>` redirects in setup scripts
52+
- **Documentation** — update agent count to 21, skill count to 38, plugin count to 14 across all docs site pages
53+
- **Documentation** — add missing plugin pages for git-workflow and prompt-snippets
54+
- **Documentation** — add `cc-orc` and `dbr` to commands reference
55+
- **Documentation** — remove merge conflict marker from first-session.md
56+
- **Documentation** — update architecture.md directory tree with new plugins
57+
58+
#### CodeRabbit Review Fixes
59+
- **`implementer.md`** — changed PostToolUse hook (fires every Edit) to Stop hook (fires once at task end) with 120s timeout; prevents redundant test runs during multi-file tasks
60+
- **`tester.md`** — increased Stop hook timeout from 30s to 120s to accommodate larger test suites
61+
- **`setup-aliases.sh`** — added `cc-orc` to `cc-tools` discovery loop so it appears in tool audit
62+
- **`CLAUDE.md`** — added missing `keybindings.json`, `orchestrator-system-prompt.md`, and `writing-system-prompt.md` to directory structure tree
63+
- **`agent-system/README.md`** — updated `verify-no-regression.py` comment to list both consumers (implementer, refactorer); hyphenated "question-surfacing protocol"
64+
- **`orchestrator-system-prompt.md`** — clarified plan mode allows investigator delegation for research; added catch-all entry in selection criteria pointing to the full specialist catalog
65+
- **MD040 compliance** — added `text` language specifiers to 7 fenced code blocks across `investigator.md`, `tester.md`, and `documenter.md`
66+
- **`setup.js` path traversal**`configApply()` now validates that source paths resolve within `.codeforge/` and destination paths resolve within allowed directories (`CLAUDE_CONFIG_DIR`, `HOME`, `/usr/local/`), preventing directory traversal via `../` in manifest entries
67+
- **`setup.sh` CODEFORGE_DIR** — deprecation guard now uses default-assignment semantics (`:=`) instead of unconditional overwrite, preserving any user-defined `CODEFORGE_DIR` from `.env`
68+
- **Docs site URLs** — replaced `anexileddev.github.io/CodeForge/` with custom domain `codeforge.core-directive.com/` across README.md, CLAUDE.md, and .devcontainer/README.md
69+
- **Architecture docs** — added `.checksums/` and `.markers/` directories to the `.codeforge/` tree in architecture.md
70+
- **Troubleshooting docs** — renamed "Reset to Defaults" to "How to Reset" and clarified that `--reset` preserves `.codeforge/` user modifications; added step for restoring default config sources
71+
72+
73+
#### Claude Code Installation
74+
- **Update script no longer silently discards errors** — background update output now captured to log file instead of being discarded via `&>/dev/null`
75+
- **Update script simplified to native-binary-only** — removed npm fallback and `claude install` bootstrap code; added 60s timeout and transitional npm cleanup
76+
- **Alias resolution simplified**`_CLAUDE_BIN` now resolves directly to native binary path (removed npm and `/usr/local/bin` fallbacks)
77+
- **POSIX redirect** — replaced `&>/dev/null` with `>/dev/null 2>&1` in dependency check for portability
78+
- **Installer shell** — changed `sh -s` to `bash -s` when piping the official installer (it requires bash)
79+
- **Unquoted `${TARGET}`** — quoted variable in `su -c` command to prevent word splitting
80+
- **Directory prep** — added `~/.local/state` and `~/.claude` pre-creation; consolidated `chown` to cover entire `~/.local` tree
81+
82+
#### Plugin Marketplace
83+
- **`marketplace.json` schema fix** — changed all 11 plugin `source` fields from bare names (e.g., `"codeforge-lsp"`) to relative paths (`"./plugins/codeforge-lsp"`) so `claude plugin marketplace add` passes schema validation and all plugins register correctly
84+
85+
#### ChromaTerm
86+
- **Regex lookbehinds** — replaced alternation inside lookbehinds (`(?<=[\s(]|^)` and `(?<=commit |merge |...)`) with non-capturing groups containing individual lookbehinds (`(?:(?<=[\s(])|^)` and `(?:(?<=commit )|(?<=merge )|...)`) for PCRE2 compatibility
87+
88+
#### Terminal Color Support
89+
- **devcontainer.json** — added `TERM` and `COLORTERM=truecolor` to `remoteEnv`; Docker defaults to `TERM=xterm` (8 colors) which caused Claude Code and other CLI tools to downgrade rendering
90+
- **devcontainer.json**`TERM` uses `${localEnv:TERM:xterm-256color}` to forward the host terminal type (e.g., `xterm-kitty`) instead of unconditionally overriding it
91+
- **setup-aliases.sh** — added terminal color defaults to managed shell block so tmux panes, `docker exec`, and SSH sessions also get 256-color and truecolor support
92+
- **kitty-terminfo/README.md** — updated documentation to reflect `localEnv` forwarding and clarify behavior across VS Code vs non-VS Code entry points
93+
- **CLAUDE.md** — documented `TERM` and `COLORTERM` environment variables in the Environment section
94+
3795
### Added
3896

3997
#### Startup
@@ -85,42 +143,6 @@
85143
- **`documenter`** — consolidated documentation and specification agent (opus) merging doc-writer and spec-writer; handles README, API docs, docstrings, and the full spec lifecycle (create, refine, build, review, update, check)
86144
- **Question Surfacing Protocol** — all 4 workhorse agents carry an identical protocol requiring them to STOP and return `## BLOCKED: Questions` sections when hitting ambiguities, ensuring no assumptions are made without user input
87145

88-
### Fixed
89-
90-
#### CI/CD
91-
- **Release workflow** — switched from auto-publish on `package.json` change to tag-triggered (`v*` tags only); prevents accidental releases when PRs include version bumps. Tag must match `package.json` version or the workflow fails.
92-
93-
#### CCStatusLine Deployment
94-
- **`CONFIG_SOURCE_DIR` deprecation guard**`setup.sh` now detects stale `CONFIG_SOURCE_DIR=/workspaces/.claude` in `.env`, overrides to `$DEVCONTAINER_DIR/config`, and auto-comments the line on disk; the wrong path caused `setup-config.sh` to skip the file manifest entirely, leaving ccstatusline (and all manifest-based configs) undeployed
95-
- **System template directory permissions**`install.sh` now chowns `/usr/local/share/ccstatusline/` to the target user so `setup-config.sh` can write the template file during post-start
96-
- **Silent copy failures**`setup-config.sh` now reports warnings when file deployment fails instead of logging success after a failed `cp`
97-
98-
#### Post-Integration Review Fixes
99-
- **skill-engine** — worktree skill definition uses weighted tuples (was plain strings, caused crash)
100-
- **dangerous-command-blocker** — fail closed on unexpected exceptions (was fail-open)
101-
- **ticket-workflow** — remove redundant `ValueError` from exception handlers
102-
- **workspace-scope-guard** — use maxsplit in variable assignment detection
103-
- **Shell scripts** — add executable bit to `check-setup.sh`, quote `PLUGIN_BLACKLIST` variable, add `set -uo pipefail` to tmux installer, replace deprecated `which` with `command -v`, normalize `&>` redirects in setup scripts
104-
- **Documentation** — update agent count to 21, skill count to 38, plugin count to 14 across all docs site pages
105-
- **Documentation** — add missing plugin pages for git-workflow and prompt-snippets
106-
- **Documentation** — add `cc-orc` and `dbr` to commands reference
107-
- **Documentation** — remove merge conflict marker from first-session.md
108-
- **Documentation** — update architecture.md directory tree with new plugins
109-
110-
#### CodeRabbit Review Fixes
111-
- **`implementer.md`** — changed PostToolUse hook (fires every Edit) to Stop hook (fires once at task end) with 120s timeout; prevents redundant test runs during multi-file tasks
112-
- **`tester.md`** — increased Stop hook timeout from 30s to 120s to accommodate larger test suites
113-
- **`setup-aliases.sh`** — added `cc-orc` to `cc-tools` discovery loop so it appears in tool audit
114-
- **`CLAUDE.md`** — added missing `keybindings.json`, `orchestrator-system-prompt.md`, and `writing-system-prompt.md` to directory structure tree
115-
- **`agent-system/README.md`** — updated `verify-no-regression.py` comment to list both consumers (implementer, refactorer); hyphenated "question-surfacing protocol"
116-
- **`orchestrator-system-prompt.md`** — clarified plan mode allows investigator delegation for research; added catch-all entry in selection criteria pointing to the full specialist catalog
117-
- **MD040 compliance** — added `text` language specifiers to 7 fenced code blocks across `investigator.md`, `tester.md`, and `documenter.md`
118-
- **`setup.js` path traversal**`configApply()` now validates that source paths resolve within `.codeforge/` and destination paths resolve within allowed directories (`CLAUDE_CONFIG_DIR`, `HOME`, `/usr/local/`), preventing directory traversal via `../` in manifest entries
119-
- **`setup.sh` CODEFORGE_DIR** — deprecation guard now uses default-assignment semantics (`:=`) instead of unconditional overwrite, preserving any user-defined `CODEFORGE_DIR` from `.env`
120-
- **Docs site URLs** — replaced `anexileddev.github.io/CodeForge/` with custom domain `codeforge.core-directive.com/` across README.md, CLAUDE.md, and .devcontainer/README.md
121-
- **Architecture docs** — added `.checksums/` and `.markers/` directories to the `.codeforge/` tree in architecture.md
122-
- **Troubleshooting docs** — renamed "Reset to Defaults" to "How to Reset" and clarified that `--reset` preserves `.codeforge/` user modifications; added step for restoring default config sources
123-
124146
### Changed
125147

126148
#### Skill Engine: Auto-Suggestion
@@ -175,30 +197,6 @@
175197
- Added `CLAUDE_AUTH_TOKEN` setup flow to README, configuration reference, and troubleshooting
176198
- ccstatusline README verification commands now respect `CLAUDE_CONFIG_DIR`
177199

178-
### Fixed
179-
180-
#### Claude Code Installation
181-
- **Update script no longer silently discards errors** — background update output now captured to log file instead of being discarded via `&>/dev/null`
182-
- **Update script simplified to native-binary-only** — removed npm fallback and `claude install` bootstrap code; added 60s timeout and transitional npm cleanup
183-
- **Alias resolution simplified**`_CLAUDE_BIN` now resolves directly to native binary path (removed npm and `/usr/local/bin` fallbacks)
184-
- **POSIX redirect** — replaced `&>/dev/null` with `>/dev/null 2>&1` in dependency check for portability
185-
- **Installer shell** — changed `sh -s` to `bash -s` when piping the official installer (it requires bash)
186-
- **Unquoted `${TARGET}`** — quoted variable in `su -c` command to prevent word splitting
187-
- **Directory prep** — added `~/.local/state` and `~/.claude` pre-creation; consolidated `chown` to cover entire `~/.local` tree
188-
189-
#### Plugin Marketplace
190-
- **`marketplace.json` schema fix** — changed all 11 plugin `source` fields from bare names (e.g., `"codeforge-lsp"`) to relative paths (`"./plugins/codeforge-lsp"`) so `claude plugin marketplace add` passes schema validation and all plugins register correctly
191-
192-
#### ChromaTerm
193-
- **Regex lookbehinds** — replaced alternation inside lookbehinds (`(?<=[\s(]|^)` and `(?<=commit |merge |...)`) with non-capturing groups containing individual lookbehinds (`(?:(?<=[\s(])|^)` and `(?:(?<=commit )|(?<=merge )|...)`) for PCRE2 compatibility
194-
195-
#### Terminal Color Support
196-
- **devcontainer.json** — added `TERM` and `COLORTERM=truecolor` to `remoteEnv`; Docker defaults to `TERM=xterm` (8 colors) which caused Claude Code and other CLI tools to downgrade rendering
197-
- **devcontainer.json**`TERM` uses `${localEnv:TERM:xterm-256color}` to forward the host terminal type (e.g., `xterm-kitty`) instead of unconditionally overriding it
198-
- **setup-aliases.sh** — added terminal color defaults to managed shell block so tmux panes, `docker exec`, and SSH sessions also get 256-color and truecolor support
199-
- **kitty-terminfo/README.md** — updated documentation to reflect `localEnv` forwarding and clarify behavior across VS Code vs non-VS Code entry points
200-
- **CLAUDE.md** — documented `TERM` and `COLORTERM` environment variables in the Environment section
201-
202200
### Removed
203201

204202
#### Scripts

0 commit comments

Comments
 (0)