- #361: opencode-installer uses package-relative path resolution with
resolveViaPackageJson() fallback, never uses CWD as source
- #362: permissions union-merged via _aqePermissions to preserve user entries
- #363: brain-checkpoint/statusline hooks use hardcoded projectRoot fallback
instead of `pwd` in $(git rev-parse ... || echo "<path>")
- #364: created .claude/helpers/validation-pipeline.cjs with 13-step
requirements pipeline, updated SKILL.md references
- #365: agents-installer bumps `updated:` frontmatter date when overlays
modify agent content
- #366: qe-security-scanner dependency on qe-dependency-mapper changed
from hard to soft
- #367: --steps parameter documented as comma-separated string consistently
Closes#361, closes#362, closes#363, closes#364, closes#365, closes#366, closes#367
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Finish the claude-flow → ruflo rename in all remaining references:
skills (iterative-loop, QCSD swarms), git helpers, statusline, and
the TypeScript bridge modules (model-router, pretrain, trajectory).
Add resolveCliPackage() for consistent CLI resolution with fallback.
Also includes SONA graceful degradation and isSONAAvailable() API.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Helpers (brain-checkpoint.cjs, statusline-v3.cjs) used process.cwd()
to find the project root, which breaks when Claude Code runs hooks from
a different working directory. Fixed to use path.resolve(__dirname, '..', '..')
since these files always live at <project>/.claude/helpers/.
Also updated hook commands in 07-hooks.ts and settings-merge.ts to use
$(git rev-parse --show-toplevel) for absolute path resolution.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>