Skip to content

chore: merge all open feature branches into dev#300

Merged
JustAGhosT merged 25 commits intodevfrom
chore/merge-all-open-branches
Mar 7, 2026
Merged

chore: merge all open feature branches into dev#300
JustAGhosT merged 25 commits intodevfrom
chore/merge-all-open-branches

Conversation

@JustAGhosT
Copy link
Collaborator

@JustAGhosT JustAGhosT commented Mar 7, 2026

Summary

Consolidation PR that merges all 5 remaining open feature branches into dev in a single, conflict-resolved branch.

Branches merged (in order)

Order PR Branch Change
1 #296 fix-remove-unused-import-handoff Remove unused readFileSync import in handoff.mjs
2 #294 fix-regex-injection-create-doc Fix regex injection in create-doc scripts
3 #295 fix/add-task-types-tests Add task-types.mjs unit tests
4 #285 claude/fix-full-tier-black-elements Sync editor theme across all IDE configs
5 #298 claude/review-agent-guidelines Update branch naming and npm scripts conventions

Conflict resolution

  • Merges 1–4 applied cleanly (no conflicts)
  • Merge 5 had 30 conflicts, resolved per the project's merge resolution matrix and scripts/resolve-merge.sh:
    • 23 .github/instructions/ files → KEEP_OURS (dev has latest sync output)
    • 2 modify/delete (.cursor/settings.json, .windsurf/settings.json) → KEEP_OURS (merge Fix healthcheck test timeout by using temp directory #4 added theme updates)
    • 2 generated READMEs (docs/agents/, docs/orchestration/) → KEEP_OURS
    • QUICK_START.md, cli_delivery_improvements_milestone.md → KEEP_OURS (already fixed in PR fix(docs): remove stale numbered directory references across codebase #297)
    • AGENT_BACKLOG.md → KEEP_THEIRS (has autoupdate task + milestone note)
    • ADR 02 date → KEEP_OURS (2026-03-07, more recent)
    • pnpm-setup.sh → KEEP_THEIRS (#!/usr/bin/env bash + set -euo pipefail is stricter)

Closes

Closes #296, closes #294, closes #295, closes #285, closes #298

Test plan

  • All 4 clean merges verified conflict-free via git merge-tree dry-run
  • No inter-branch file overlaps between the 4 clean branches
  • All 30 conflicts on merge Mock external dependencies in healthcheck test to improve reliability #5 resolved with documented rationale
  • No leftover conflict markers (grep -rn "^<<<<<<<" clean)
  • CI passes (quality-check, validate-retrospective)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added a comprehensive, tiered editor theme system and repo overlay supporting VS Code, Cursor, and Windsurf outputs.
    • New tooling to filter and emit theme tiers and a theme-generation scaffold.
  • Bug Fixes

    • Updated security vulnerability contact URL in issue templates.
  • Chores

    • Hardened shell setup script and modernized doc-generation scripts.
  • Tests

    • Added unit tests validating the canonical set and immutability of task-type constants.

claude and others added 24 commits March 5, 2026 17:15
…UI elements

The full-tier editor theme was only mapping ~20 VS Code color keys, leaving
many surfaces (panels, terminal, inputs, dropdowns, menus, breadcrumbs,
notifications, peek views, scrollbars, minimap) at VS Code's default black.

Added 55+ additional dark mode color mappings to editor-theme.yaml covering:
- Panel/terminal backgrounds and foregrounds
- Input fields and dropdowns
- Breadcrumb navigation
- Scrollbar sliders
- Notifications and quick input (command palette)
- Peek view surfaces
- Context menus
- Borders between all major UI sections
- List hover/focus states
- Editor widget surfaces
- Tab borders and active border indicators

All new mappings resolve to existing brand.yaml dark mode tokens
(background #18232A, surface #23303A, textPrimary #F7F9FB, textSecondary #B4BAC2).

https://claude.ai/code/session_01LWBsX863t5HD5VQnnQfff8
…me with light-mode parity

- Add scripts/filter-theme-tier.js: filters editor-theme.yaml keys by
  tier setting (minimal/medium/full) with accumulation semantics
- Add scripts/editor-theme-staged.yaml: complete replacement for
  .agentkit/spec/editor-theme.yaml with:
  - Light mode brought to 77 keys (parity with dark mode)
  - 11 new surface groups: panel, terminal, input, dropdown, breadcrumb,
    scrollbar, notifications, quick input, peek view, minimap, menu
  - Tier section markers (# --- tier: minimal|medium|full ---)
  - Contrast fixes: statusBar.foreground, badge.foreground (light),
    list.activeSelectionForeground (dark) use neutral.900 for WCAG AA

To apply: cp scripts/editor-theme-staged.yaml .agentkit/spec/editor-theme.yaml
Then: pnpm -C .agentkit agentkit:sync

https://claude.ai/code/session_01LWBsX863t5HD5VQnnQfff8
… all VS Code color keys

Staged replacement for .agentkit/overlays/__TEMPLATE__/editor-theme.yaml.
Expands the overlay template from ~29 lines to a comprehensive reference
covering all VS Code workbench.colorCustomizations keys organized by:

- Tier markers (minimal / medium / full)
- 30 surface groups: title bar, activity bar, status bar, sidebar,
  editor (selection, find, highlight, cursor, bracket, gutter, ruler,
  suggest, code lens), diff editor, tabs, badges, lists & trees,
  buttons, panel, terminal (+ 16 ANSI colors), input fields (+validation),
  dropdowns, breadcrumbs, scrollbar, notifications, quick input,
  peek view, minimap, menus, git decorations, merge conflicts,
  debug, testing, welcome page, settings editor, keybinding labels,
  and global focus/selection tokens
- Brand token reference guide in header comments
- Per-tool override section (cursor, windsurf)

To apply: cp scripts/overlay-editor-theme-staged.yaml \
  .agentkit/overlays/__TEMPLATE__/editor-theme.yaml

https://claude.ai/code/session_01LWBsX863t5HD5VQnnQfff8
Removed the unused `readFileSync` import from `.agentkit/engines/node/src/handoff.mjs` to improve code cleanliness.

Co-authored-by: JustAGhosT <5531814+JustAGhosT@users.noreply.github.com>
Replace regex-based replacement with literal string replacement in
scripts/create-doc.ps1 and scripts/create-doc.sh to prevent
injection vulnerabilities from unescaped user input.

Co-authored-by: JustAGhosT <5531814+JustAGhosT@users.noreply.github.com>
Co-authored-by: JustAGhosT <5531814+JustAGhosT@users.noreply.github.com>
Updates 27 docs/ files and 2 template/framework files to replace old
numbered directory paths (01_product/, 02_specs/, etc.) with the current
unnumbered structure (product/, architecture/specs/, etc.).

Context-aware relative path corrections for files at different nesting
levels (e.g., architecture/specs/ files use ../../api/ instead of
../04_api/).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add docCategoryList shared section to sections.yaml (single source of
  truth for the 8-category docs structure)
- Add orchestration and integrations categories to docs.yaml
- Update documentation rule template to use {{shared_docCategoryList}}
  instead of hardcoded bullet list
- Fix [02_decisions/] stale link text in 01_overview.md template
- Add orchestration/ to QUICK_START.md directory listing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updates documentation directory structure from numbered prefixes to simplified category names, aligning with domain-driven structure. Removes obsolete editor config files (.cursor, .windsurf) and updates all cross-references in documentation files to reflect the new structure.
- Fix merge conflicts in documentation.md and cli_delivery_improvements_milestone.md
- Format documentation list with proper bullet points
- Update security advisory URL in GitHub issue template
- Update CONTRIBUTING.md to use 'develop' branch for feature branches
- Add README.md files to docs/agents and docs/orchestration directories
- Add convenient npm scripts for AgentKit setup, install, sync and validate
- Add pnpm-setup.sh script for easier onboarding
- Update README.md with simplified setup commands
- CONTRIBUTING.md: replace `develop` with `dev` to match actual branch,
  add PR summary/test plan requirement and CODEOWNERS approval note
- README.md: update script names from `pnpm run setup/install/sync/validate`
  to `pnpm run ak:setup/ak:install/ak:sync/ak:validate` matching package.json
- docs/history/.index.json: zero out sequence counts for types with no entries
  (feature, migration, issue, lesson)
- pnpm-setup.sh: add `set -euo pipefail` for fail-fast error handling

https://claude.ai/code/session_01PcWC8LJJtKB4otjq7CU7u5
Change pnpm-setup.sh shebang from #!/bin/sh to #!/usr/bin/env bash
since `set -euo pipefail` requires bash (pipefail is not POSIX).

Also includes regenerated sync output (timestamp updates).

https://claude.ai/code/session_01PcWC8LJJtKB4otjq7CU7u5
- Restore P1 adopter autoupdate backlog item with PRD-007 link and
  milestone footnote that was accidentally removed (AGENT_BACKLOG.md)
- Revert branch references from `dev` back to `main` to match the
  canonical default branch (CONTRIBUTING.md)
- Untrack .claude/settings.local.json (already in .gitignore but was
  still tracked, adding Windows-path noise to diffs)
- Restore multiline JSON formatting in docs/history/.index.json for
  readability
- Set executable permission on pnpm-setup.sh

https://claude.ai/code/session_01PcWC8LJJtKB4otjq7CU7u5
#296)

Remove unused readFileSync import in handoff.mjs.
…#294)

Fix regular expression injection in create-doc scripts.
Sync editor theme and settings across all IDE configurations.
Update branch naming and npm scripts conventions.

# Conflicts:
#	.agentkit/docs/getting-started/QUICK_START.md
#	.cursor/settings.json
#	.github/instructions/README.md
#	.github/instructions/code-verify.md
#	.github/instructions/docs.md
#	.github/instructions/languages/README.md
#	.github/instructions/languages/agent-conduct.md
#	.github/instructions/languages/blockchain.md
#	.github/instructions/languages/ci-cd.md
#	.github/instructions/languages/dependency-management.md
#	.github/instructions/languages/documentation.md
#	.github/instructions/languages/dotnet.md
#	.github/instructions/languages/finops.md
#	.github/instructions/languages/git-workflow.md
#	.github/instructions/languages/iac.md
#	.github/instructions/languages/python.md
#	.github/instructions/languages/rust.md
#	.github/instructions/languages/security.md
#	.github/instructions/languages/template-protection.md
#	.github/instructions/languages/testing.md
#	.github/instructions/languages/typescript.md
#	.github/instructions/marketing.md
#	.github/instructions/performance.md
#	.github/instructions/quality.md
#	.github/instructions/testing.md
#	.windsurf/settings.json
#	AGENT_BACKLOG.md
#	docs/agents/README.md
#	docs/architecture/decisions/02-fallback-policy-tokens-problem.md
#	docs/orchestration/README.md
#	docs/reference/cli_delivery_improvements_milestone.md
#	pnpm-setup.sh
The tests verify that the array contains the expected task types, matches the exact expected array, is frozen to prevent modification, and throws errors when mutation is attempted. Also removes unused imports from handoff.mjs.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 7, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2f12b9ae-4bb9-4bba-a55b-0c824fcb9931

📥 Commits

Reviewing files that changed from the base of the PR and between b304d26 and ddf83df.

📒 Files selected for processing (1)
  • .agentkit/engines/node/src/handoff.mjs
🚧 Files skipped from review as they are similar to previous changes (1)
  • .agentkit/engines/node/src/handoff.mjs

Walkthrough

Adds tests for VALID_TASK_TYPES, removes an unused fs import, hardens doc-generation scripts, introduces a tiered editor-theme spec with filtering and overlay scaffolds, and synchronizes IDE theme settings across multiple config files.

Changes

Cohort / File(s) Summary
Task Type Tests
.agentkit/engines/node/src/__tests__/task-types.test.mjs, __tests__/task-types.test.mjs
New unit tests asserting exact contents, order, immutability (Object.isFrozen) and mutation rejection (TypeError) for VALID_TASK_TYPES.
Handoff Import Cleanup
.agentkit/engines/node/src/handoff.mjs
Removed unused readFileSync import and reordered remaining fs imports; local import ordering adjusted.
Editor Theme Spec & Tools
.agentkit/spec/editor-theme.yaml, scripts/editor-theme-staged.yaml, scripts/overlay-editor-theme-staged.yaml, scripts/filter-theme-tier.js
Added a tiered (minimal/medium/full) editor-theme spec, an overlay scaffold for repo overrides, and a new CLI script to filter emitted keys by tier (supports --tier and --dry-run).
IDE Theme Sync
.vscode/settings.json, .cursor/settings.json, .windsurf/settings.json
Expanded and synchronized workbench colorCustomizations across VS Code, Cursor, and Windsurf, adding many border/background/foreground tokens for consistent theming.
Script Security & Robustness
scripts/create-doc.ps1, scripts/create-doc.sh, pnpm-setup.sh
Replaced regex/sed replacements with literal string replacements (PowerShell .Replace, Node-based replace) to avoid regex/shell-injection risks; tightened pnpm-setup.sh to set -euo pipefail.
Backlog & Template Link
AGENT_BACKLOG.md, .github/ISSUE_TEMPLATE/config.yml
Updated backlog items (added autoupdate task, PRD link) and corrected security advisory URL in issue template.
New Test File (alternate path)
__tests__/task-types.test.mjs
Duplicate/additional test entry validating VALID_TASK_TYPES (same coverage as above).

Sequence Diagram(s)

mermaid
sequenceDiagram
participant CLI as "CLI (user)"
participant Script as "filter-theme-tier.js"
participant Theme as "editor-theme.yaml"
participant FS as "Filesystem (write)"
CLI->>Script: run with --tier / --dry-run
Script->>Theme: read file
Script->>Script: parse tiers & buffer lines
Script-->>CLI: output filtered text (dry-run) / summary
Script->>FS: write filtered content (if not dry-run)
FS-->>Script: write confirmation
Script-->>CLI: report keys before/after and delta

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Poem

🐇 I nibble tokens, tidy code and theme delight,
I chase away injections with literal-light,
I freeze the task list, so no stray change hops in,
I filter tiers from minimal to full-skin grin,
Hop, patch, and sync — the forge grows bright! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Out of Scope Changes check ❓ Inconclusive While most changes align with linked issues, several files appear tangentially related to theme synchronization (#285): editor-theme.yaml, overlay-editor-theme-staged.yaml, and filter-theme-tier.js introduce new infrastructure beyond the core color token sync objective, and AGENT_BACKLOG.md changes (autoupdate task) are not directly addressed in the linked issue descriptions. Clarify whether the new theme configuration infrastructure (editor-theme.yaml, filter-theme-tier.js) and backlog updates are in-scope for #285 or represent supplementary enhancements introduced during merge conflict resolution.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: merge all open feature branches into dev' clearly and concisely describes the main action of consolidating five feature branches into the dev branch, which is the primary objective of this PR.
Linked Issues check ✅ Passed All code changes align with their respective linked issues: #296 removes unused readFileSync import, #294 fixes regex/sed injection vulnerabilities in create-doc scripts, #295 adds task-types tests for immutability/contents verification, #285 synchronizes editor theme across IDE configs, and #298 updates branch naming/npm script conventions and shell robustness.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/merge-all-open-branches

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.agentkit/spec/editor-theme.yaml (1)

1-3: ⚠️ Potential issue | 🔴 Critical

Run pnpm -C .agentkit agentkit:sync and commit the regenerated outputs before pushing.

After editing files in .agentkit/spec/, you must run pnpm -C .agentkit agentkit:sync and commit the regenerated outputs. The CI drift check will fail otherwise.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agentkit/spec/editor-theme.yaml around lines 1 - 3, You edited
editor-theme.yaml under the agentkit spec; run the sync command to regenerate
outputs and commit them: execute pnpm -C .agentkit agentkit:sync (as stated) to
regenerate generated files, review the changes, and add/commit the updated
outputs before pushing so the CI drift check passes.
🧹 Nitpick comments (1)
__tests__/task-types.test.mjs (1)

29-39: Split the two mutation checks into separate specs.

push() failure and indexed assignment failure are distinct behaviors. Keeping them in one it(...) makes the failure less specific when only one path regresses.

Based on learnings: Every test body must follow the Arrange-Act-Assert (AAA) pattern and keep each test focused on a single behaviour; split compound assertions into separate tests.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@__tests__/task-types.test.mjs` around lines 29 - 39, Split the combined
mutation spec into two focused tests: replace the single it(...) that asserts
both push() and indexed assignment throw with two separate specs—one it('throws
an error when trying to push to the array', ...) that only asserts
VALID_TASK_TYPES.push('new-task') throws a TypeError, and a second it('throws an
error when trying to assign by index', ...) that only asserts
VALID_TASK_TYPES[0] = 'modified' throws a TypeError; keep the //
`@ts-expect-error` comments and use the same expect(...).toThrow(TypeError)
assertions for each new spec so failures map to the exact behavior (references:
VALID_TASK_TYPES in __tests__/task-types.test.mjs).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.agentkit/engines/node/src/handoff.mjs:
- Around line 6-10: The save-path file operations in runHandoff call existsSync,
mkdirSync, and writeFileSync but the module no longer imports fs; re-add the
missing imports by importing those functions from 'fs' (e.g., import {
existsSync, mkdirSync, writeFileSync } from 'fs') at the top of the file so
runHandoff(..., { save: true }) can create the directory and write the handoff
file without a ReferenceError.

---

Outside diff comments:
In @.agentkit/spec/editor-theme.yaml:
- Around line 1-3: You edited editor-theme.yaml under the agentkit spec; run the
sync command to regenerate outputs and commit them: execute pnpm -C .agentkit
agentkit:sync (as stated) to regenerate generated files, review the changes, and
add/commit the updated outputs before pushing so the CI drift check passes.

---

Nitpick comments:
In `@__tests__/task-types.test.mjs`:
- Around line 29-39: Split the combined mutation spec into two focused tests:
replace the single it(...) that asserts both push() and indexed assignment throw
with two separate specs—one it('throws an error when trying to push to the
array', ...) that only asserts VALID_TASK_TYPES.push('new-task') throws a
TypeError, and a second it('throws an error when trying to assign by index',
...) that only asserts VALID_TASK_TYPES[0] = 'modified' throws a TypeError; keep
the // `@ts-expect-error` comments and use the same expect(...).toThrow(TypeError)
assertions for each new spec so failures map to the exact behavior (references:
VALID_TASK_TYPES in __tests__/task-types.test.mjs).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2cd14554-345b-4933-ab7e-21e8c83050f7

📥 Commits

Reviewing files that changed from the base of the PR and between a1ff6b3 and b304d26.

📒 Files selected for processing (15)
  • .agentkit/engines/node/src/__tests__/task-types.test.mjs
  • .agentkit/engines/node/src/handoff.mjs
  • .agentkit/spec/editor-theme.yaml
  • .cursor/settings.json
  • .github/ISSUE_TEMPLATE/config.yml
  • .vscode/settings.json
  • .windsurf/settings.json
  • AGENT_BACKLOG.md
  • __tests__/task-types.test.mjs
  • pnpm-setup.sh
  • scripts/create-doc.ps1
  • scripts/create-doc.sh
  • scripts/editor-theme-staged.yaml
  • scripts/filter-theme-tier.js
  • scripts/overlay-editor-theme-staged.yaml

existsSync, mkdirSync, and writeFileSync are used in runHandoff when
the --save flag is passed, but were never imported after readFileSync
was removed in PR #296. This would cause a ReferenceError at runtime.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link

github-actions bot commented Mar 7, 2026

AgentKit Forge Source Change Detected

This PR modifies files in the AgentKit Forge source directories:

  • .agentkit/templates/ — output templates
  • .agentkit/spec/ — YAML specifications
  • .agentkit/engines/ — sync engine code
  • .agentkit/overlays/ — per-repo customizations
  • .agentkit/bin/ — CLI scripts

These are the upstream source-of-truth for all generated AI tool configs.

Review checklist

  • Changes are intentional and not accidental AI agent modifications
  • Spec schema validation passes (pnpm -C .agentkit agentkit:spec-validate)
  • Sync produces expected output (pnpm -C .agentkit agentkit:sync)
  • No secrets or credentials in template variables
  • Breaking changes documented in an ADR

AI agents: Do not modify these files directly. Propose changes in a dedicated PR.

@JustAGhosT JustAGhosT merged commit fed6cef into dev Mar 7, 2026
10 of 12 checks passed
@JustAGhosT JustAGhosT deleted the chore/merge-all-open-branches branch March 7, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants