Skip to content

feat: default config (#439) #440

Merged
JustAGhosT merged 1 commit intodevfrom
main
Mar 21, 2026
Merged

feat: default config (#439) #440
JustAGhosT merged 1 commit intodevfrom
main

Conversation

@JustAGhosT
Copy link
Copy Markdown
Collaborator

The /start command session got stuck because AskUserQuestion was not included in the allowed-tools whitelist. This fix addresses three issues:

  1. VALID_TOOLS in spec-validator was missing AskUserQuestion, TodoWrite, Agent, and NotebookEdit — preventing commands from declaring these Claude Code built-in tools in their allowed-tools.

  2. The /start command template now explicitly includes AskUserQuestion in its allowed-tools frontmatter and instructs the agent to use it for interactive guided choices (Phase 3).

  3. Added /start command spec to commands.yaml with AskUserQuestion as a declared tool dependency.

Also adds a test case validating all four newly-added tools are accepted by the spec validator.

https://claude.ai/code/session_01Qh3Xk3jFkVdeRAXTqLvq3M

  • fix(commands): remove unrendered Handlebars comment from start.md output

The generated .claude/commands/start.md contained a raw {{! ... }} Handlebars comment that was not processed by the sync engine. Remove it so the generated output is clean Markdown.

https://claude.ai/code/session_01Qh3Xk3jFkVdeRAXTqLvq3M


Add commandPrefix setting to overlay settings that namespaces all generated slash commands across platforms:

  • Claude Code: subdirectory strategy (kits/check.md → /project:kits:check)
  • Cursor/Windsurf/Copilot/Codex: filename prefix (kits-check.md → /kits-check)
  • Team commands excluded from prefixing (already namespaced)

Changes:

  • Add resolveCommandPath() helper with subdirectory/filename strategies
  • Update syncClaudeCommands, syncClaudeSkills, syncCursorCommands, syncWindsurfCommands, syncCopilotPrompts, syncCodexSkills
  • Add commandPrefix to vars from overlay settings
  • Add commandPrefixedName to buildCommandVars
  • Add 16 unit + integration tests (all pass, 93 existing tests unaffected)

Default is null (no prefix) for full backwards compatibility.

https://claude.ai/code/session_01EBjmVEhi7fP2huAL3SBR6p

  • fix(sync): address review findings for command prefix
  • Remove unused afterAll import from test file
  • Add clarifying comment that non-spec command files are also prefixed
  • Add 2 integration tests verifying commandPrefixedName template variable renders correctly with and without prefix

https://claude.ai/code/session_01EBjmVEhi7fP2huAL3SBR6p


* Add start command: new user entry point with state detection (#387)

* fix(commands): add AskUserQuestion to VALID_TOOLS and /start command

The /start command session got stuck because AskUserQuestion was not
included in the allowed-tools whitelist. This fix addresses three issues:

1. VALID_TOOLS in spec-validator was missing AskUserQuestion, TodoWrite,
   Agent, and NotebookEdit — preventing commands from declaring these
   Claude Code built-in tools in their allowed-tools.

2. The /start command template now explicitly includes AskUserQuestion
   in its allowed-tools frontmatter and instructs the agent to use it
   for interactive guided choices (Phase 3).

3. Added /start command spec to commands.yaml with AskUserQuestion as
   a declared tool dependency.

Also adds a test case validating all four newly-added tools are accepted
by the spec validator.

https://claude.ai/code/session_01Qh3Xk3jFkVdeRAXTqLvq3M

* fix(commands): remove unrendered Handlebars comment from start.md output

The generated .claude/commands/start.md contained a raw {{! ... }}
Handlebars comment that was not processed by the sync engine. Remove it
so the generated output is clean Markdown.

https://claude.ai/code/session_01Qh3Xk3jFkVdeRAXTqLvq3M

---------

Co-authored-by: Claude <noreply@anthropic.com>

* Add configurable prefix to kits commands (#388)

* feat(sync): add configurable command prefix for generated slash commands

Add `commandPrefix` setting to overlay settings that namespaces all
generated slash commands across platforms:

- Claude Code: subdirectory strategy (kits/check.md → /project:kits:check)
- Cursor/Windsurf/Copilot/Codex: filename prefix (kits-check.md → /kits-check)
- Team commands excluded from prefixing (already namespaced)

Changes:
- Add resolveCommandPath() helper with subdirectory/filename strategies
- Update syncClaudeCommands, syncClaudeSkills, syncCursorCommands,
  syncWindsurfCommands, syncCopilotPrompts, syncCodexSkills
- Add commandPrefix to vars from overlay settings
- Add commandPrefixedName to buildCommandVars
- Add 16 unit + integration tests (all pass, 93 existing tests unaffected)

Default is null (no prefix) for full backwards compatibility.

https://claude.ai/code/session_01EBjmVEhi7fP2huAL3SBR6p

* fix(sync): address review findings for command prefix

- Remove unused afterAll import from test file
- Add clarifying comment that non-spec command files are also prefixed
- Add 2 integration tests verifying commandPrefixedName template variable
  renders correctly with and without prefix

https://claude.ai/code/session_01EBjmVEhi7fP2huAL3SBR6p

---------

Co-authored-by: Claude <noreply@anthropic.com>

* fix(ci): CI remediation — package manager, review findings, test stability (#390)

* fix(ci): resolve 7 bugs from project review

- BUG-001: Replace flaky discover test with controlled temp fixture
- BUG-002: Run prettier --write to fix formatting drift
- BUG-003: Add form-template detection skip in issue label validation
- BUG-005: Change claude.yml to self-hosted runner
- BUG-006: Align branch protection required status checks with project.yaml
- BUG-007: Fix command injection in resolve-merge.sh (use grep -F)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: update changelog, add planning registry review findings

- Add changelog entries for Wave 1-3 fixes (Added/Changed/Fixed/Removed)
- Add Project Review Findings section to planning registry (PR-001 to PR-014)
- Update planning docs after sync merge

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(review): add --generate-plans flag to project-review command

Add Phase 2.5 plan generation after project review findings. When
--generate-plans is passed (default: true), scaffold plan files from
critical/high findings into docs/planning/review-findings/.

Also includes sync cleanup of stale cursor/windsurf settings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(sync): regenerate all outputs after project review fixes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(cli): dynamic flag loading from commands.yaml + context-aware template hook

- Replace ~200 lines of hardcoded VALID_FLAGS/FLAG_TYPES with loadCommandFlags()
  that reads flag definitions from commands.yaml at startup
- CLI_INTERNAL_FLAGS/CLI_INTERNAL_FLAG_TYPES cover commands not in commands.yaml
- Self-validation warns at startup if any flag is missing a type definition
- Update cli.test.mjs to validate CLI_INTERNAL_FLAGS consistency
- Fix scaffold-once orphan bug: carry forward manifest entries for files
  skipped by scaffold-once so orphan cleanup does not delete them
- Make protect-templates hook context-aware: skip protection in the
  agentkit-forge source repo (detected via package.json name) so
  maintainer agents can edit templates; block only in downstream repos

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(sync): add managed-mode script templates for downstream repos

Add 14 script templates (.agentkit/templates/scripts/) with `managed`
scaffold mode so downstream repos receive script updates via three-way
merge while preserving local customizations.

Templates include: create-doc, update-changelog, validate-documentation,
validate-numbering, check-documentation-requirement, sync-issues,
sync-split-pr, setup-agentkit-branch-governance, and resolve-merge
(both .sh and .ps1 variants where applicable).

Parameterized templates use {{defaultBranch}} and branch protection
variables from project.yaml. Engine wired via syncScripts() under
doc-scaffolding feature gate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(teams): add TeamForge meta-team for agent team creation (cogmesh #130)

Add the TEAMFORGE meta-team (T11) — a structured pipeline for creating,
validating, and deploying new agent team specifications. Adapted from
cogmesh #130 with a simplified 6-agent pipeline:

- input-clarifier: assess requests, extract constraints
- mission-definer: lock team definition (ID, scope, accepts)
- role-architect: design agent roles and dependencies
- prompt-engineer: write agent descriptions and rules
- flow-designer: design team command and integration points
- team-validator: quality gate for spec consistency

Includes /team-forge command with --task flag (create-team, validate-team,
audit-teams, update-team) and planning doc.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(teams): add Strategic Ops team for cross-project coordination

Add the STRATEGIC OPS team (T12) — handles framework governance,
portfolio analysis, adoption strategy, impact assessment, and release
coordination across all repos using AgentKit Forge.

5-agent pipeline:
- portfolio-analyst: inventory repos, detect drift, adoption metrics
- governance-advisor: versioning strategy, breaking change protocols
- adoption-strategist: onboarding, migration paths, rollout plans
- impact-assessor: blast radius analysis for template/spec changes
- release-coordinator: version bumps, sync waves, release comms

Includes /team-strategic-ops command with --task and --scope flags.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(agents): add agent/team relationship matrix analysis engine + scripts

Add comprehensive agent/team relationship analysis with 8 cross-reference
matrices and 10 supplementary analyses (orphans, cycles, bottlenecks,
reachability, critical path, notification amplifiers, etc.).

- Fix YAML structure: strategic-ops agents now under own top-level key
- Add explicit agents: lists to forge + strategic-ops teams in teams.yaml
- Add consolidation detection responsibilities to portfolio-analyst
- Create agent-analysis.mjs engine module (loadFullAgentGraph + renderers)
- Wire analyze-agents CLI command with --output/--matrix/--format flags
- Add managed-scaffold script templates (bash + PowerShell)
- Integrate into sync pipeline (auto-regenerates matrix on spec changes)
- Add 33 tests covering all matrices, analyses, and edge cases

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: update documentation files and add plan template

- Add trailing newlines to Cursor command documentation files for consistency
- Add new plan template files for project planning
- Improve markdown table formatting in Claude skills documentation
- Remove obsolete .clinerules/testing.md file
- Update various rule files with better formatting and advisory rule alignment

* feat(agents): add spec-compliance-auditor feedback loop + Cost Ops team (T14)

- Add spec-compliance-auditor to operations category (quality team) — closes
  the feedback loop between agent specs and actual behavior
- Add Cost Ops team (T14) with 5 agents: model-economist,
  token-efficiency-engineer, vendor-arbitrage-analyst, grant-hunter,
  cost-ops-monitor
- Add ai-cost-ops rules domain with 6 conventions (model routing, token
  budgets, caching, batch APIs, vendor abstraction, credit tracking)
- Add team-cost-ops command with --task, --period, --provider flags
- Update notification chains: data→cost-ops-monitor, infra→model-economist,
  retrospective-analyst→spec-compliance-auditor
- Add intake routes: cost-ops, agent-performance

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(teams): add implement to cost-ops team accepts list

Resolves agent/team accepts mismatch — token-efficiency-engineer accepts
implement but the team definition only had investigate/review/plan/document.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(cost-ops): add multi-provider infra cost ticket to backlog

Add detailed planning ticket for multi-provider infrastructure cost
normalisation, routing, and cost-agent integration. Covers 9 providers
(Anthropic, OpenAI, Google, Mistral, Cohere, self-hosted, Azure, AWS,
GCP) with 3-phase delivery plan and cross-team dependency tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(templates): resolve PR review comments from CodeRabbit

- Fix protect-templates.sh: package name check uses correct
  "agentkit-forge-runtime" instead of "agentkit-forge"
- Fix protect-templates.ps1: malformed path (missing separator before
  .agentkit) and same package name correction
- Fix update-changelog.ps1: change .mjs to .cjs to match CommonJS
  require() syntax used in the inline Node script
- Fix resolve-merge.sh: add fallback for {{defaultBranch}} placeholder
- Fix AGENT_TEAMS.md: resolve three-way merge conflict markers left
  by sync engine, keeping user formatting + implement in cost-ops

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(cost-ops): add WebSearch/WebFetch tools to cost-ops agents

Enable web research capabilities for cost-ops team:
- Add WebSearch and WebFetch to /team-cost-ops allowed-tools
- Add WebSearch and WebFetch to model-economist, vendor-arbitrage-analyst,
  and grant-hunter agent preferred-tools
- Add web intake expansion ticket (P2) for MCP crawler, Puppeteer
  integration, automated pricing refresh, and cross-session persistence
- Regenerate sync outputs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(cost-ops): add Cost Ops team, agents, and multi-provider cost ticket (#364)

* feat(agents): add spec-compliance-auditor feedback loop + Cost Ops team (T14)

- Add spec-compliance-auditor to operations category (quality team) — closes
  the feedback loop between agent specs and actual behavior
- Add Cost Ops team (T14) with 5 agents: model-economist,
  token-efficiency-engineer, vendor-arbitrage-analyst, grant-hunter,
  cost-ops-monitor
- Add ai-cost-ops rules domain with 6 conventions (model routing, token
  budgets, caching, batch APIs, vendor abstraction, credit tracking)
- Add team-cost-ops command with --task, --period, --provider flags
- Update notification chains: data→cost-ops-monitor, infra→model-economist,
  retrospective-analyst→spec-compliance-auditor
- Add intake routes: cost-ops, agent-performance

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(teams): add implement to cost-ops team accepts list

Resolves agent/team accepts mismatch — token-efficiency-engineer accepts
implement but the team definition only had investigate/review/plan/document.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(cost-ops): add multi-provider infra cost ticket to backlog

Add detailed planning ticket for multi-provider infrastructure cost
normalisation, routing, and cost-agent integration. Covers 9 providers
(Anthropic, OpenAI, Google, Mistral, Cohere, self-hosted, Azure, AWS,
GCP) with 3-phase delivery plan and cross-team dependency tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(templates): resolve PR review comments from CodeRabbit

- Fix protect-templates.sh: package name check uses correct
  "agentkit-forge-runtime" instead of "agentkit-forge"
- Fix protect-templates.ps1: malformed path (missing separator before
  .agentkit) and same package name correction
- Fix update-changelog.ps1: change .mjs to .cjs to match CommonJS
  require() syntax used in the inline Node script
- Fix resolve-merge.sh: add fallback for {{defaultBranch}} placeholder
- Fix AGENT_TEAMS.md: resolve three-way merge conflict markers left
  by sync engine, keeping user formatting + implement in cost-ops

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(cost-ops): add WebSearch/WebFetch tools to cost-ops agents (#365)

Enable web research capabilities for cost-ops team:
- Add WebSearch and WebFetch to /team-cost-ops allowed-tools
- Add WebSearch and WebFetch to model-economist, vendor-arbitrage-analyst,
  and grant-hunter agent preferred-tools
- Add web intake expansion ticket (P2) for MCP crawler, Puppeteer
  integration, automated pricing refresh, and cross-session persistence
- Regenerate sync outputs

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(teams): address CodeRabbit review findings on strategic-ops PR

- Lazy-load js-yaml in cli.mjs after ensureDependencies() to prevent
  crash when node_modules is missing
- Convert YAML frontmatter to PowerShell comment blocks in all 6 PS1
  templates to fix invalid PowerShell syntax
- Fix protect-templates hook path: use 3 parent traversals to reach
  .agentkit/package.json from hooks directory
- Remove schema-invalid 'phase' field from ai-cost-ops rule domain
- Narrow strategic-ops scope: replace **/* catch-all with specific files
- Add strategic-ops to cost-ops handoff-chain for consistency
- Add Write tool to spec-compliance-auditor, vendor-arbitrage-analyst,
  and grant-hunter agents
- Fix glob matching in resolve-merge.sh (use regex instead of broken
  sed strip)
- Add merge failure vs conflict detection in resolve-merge.ps1
- Add branch existence check in setup-agentkit-branch-governance scripts
- Add gh CLI preflight check in sync-split-pr.ps1
- Deduplicate branch protection loop when defaultBranch is 'main'
- Fix applies-to glob: docs/planning/cost/** → docs/planning/cost-governance/**
- Fix non-canonical doc paths in intake-agent-proposal.md
- Add changelog entries for new teams, agents, and analysis engine
- Resolve AGENT_TEAMS.md merge conflict (accept narrowed scope)
- Run prettier on all modified files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(templates): add gh auth preflight and changelog divider handling

- sync-split-pr.ps1: add gh auth status check before side effects
- update-changelog.ps1: stop before --- divider when appending entries

Addresses CodeRabbit review comments #7 and #13 on PR #356.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(sync): set executable permission on analyze-agents.sh

Linux CI sync produces +x permissions; align local to match.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(templates): address CodeRabbit review round 3-4 findings

- Fix YAML frontmatter in copilot agent template: use double quotes
  for description field to handle apostrophes (CRITICAL)
- Fix protect-templates.sh/ps1 path traversal: correct parent
  directory count for .agentkit/package.json source repo detection
- Add $PSNativeCommandUseErrorActionPreference to sync-split-pr.ps1
  so native command failures (git, pnpm, gh) are treated as fatal
- Replace try/catch with $LASTEXITCODE check for gh auth status
- Deduplicate branch loop in setup-agentkit-branch-governance.sh
  when defaultBranch equals 'main'
- Fix duplicate verification echo lines in governance scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* style(docs): fix prettier formatting on planning documents

Run prettier --write on web-intake-expansion.md and
intake-agent-proposal.md to fix CI formatting check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(tests): isolate render target gating tests with fresh temp dirs

Tests in the "render target gating" describe block shared a single temp
directory via beforeAll/afterAll. The first test ran --only claude
(generating .claude/ files), and the second ran --only warp expecting no
Claude files — but leftovers from test 1 caused the assertion to fail.

Changing to beforeEach/afterEach gives each test a clean directory.

Closes #377

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(commands): add /start command as new user entry point

Adds a context-aware triage command that detects repository state
(fresh clone, post-discovery, mid-session, uncommitted work) and
guides users to the right command or team for their goal.

Includes team routing table, 4 contextual flows, and decision
guidance for when users don't know which team to use.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* refactor(commands): add Arguments and State Management sections to /start

Addresses TEAMFORGE validation findings:
- Add dedicated Arguments section documenting $ARGUMENTS handling
- Add State Management section (reads/writes inventory)
- Fix frontmatter: remove misleading generated_by field
- Add explicit "manually authored" comment header

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(commands): add /start to spec and template for cross-repo generation

Moves /start from a hand-authored command to a proper spec-driven,
sync-generated command available to any repo that adopts AgentKit Forge.

- Add start command definition to commands.yaml (no feature gate — always on)
- Create start.md template in .agentkit/templates/claude/commands/
- Add /start to CLAUDE.md Quick Reference table template

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore(sync): regenerate outputs after adding /start command

Generated by: pnpm -C .agentkit agentkit:sync

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(commands): make /start team routing dynamic instead of hardcoded

Replace the static team routing table with dynamic discovery:
1. Read AGENT_TEAMS.md (from /discover) at runtime
2. Fall back to .agentkit/spec/teams.yaml
3. Fall back to /team-* command frontmatter

This ensures /start always reflects the actual teams configured
in any repo, rather than a hardcoded list that could go stale.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore(sync): regenerate outputs after dynamic routing change

Generated by: pnpm -C .agentkit agentkit:sync

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(start): add interactive TUI entry point with hybrid UI

Replace static markdown output with an ink-based terminal UI that
combines two modes: a guided conversation flow for first-run users
and a fuzzy-searchable command palette for returning users. A
persistent status bar shows repo state at a glance (branch, phase,
backlog count, working tree status).

- Context detection module mirrors /start Phase 1 signals
- ConversationFlow: branching dialogue tree (choose-your-own-adventure)
- CommandPalette: fuzzy search with context-ranked star recommendations
- StatusBar: tmux-style persistent strip with color-coded segments
- Supports --json flag for scripting/piping

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(start): add test suite, error handling, and refactor for production readiness

- Add vitest test infrastructure with 102 tests across 7 files
- Coverage: 95.58% statements, 90.81% branches, 96.72% functions
- Extract conversation tree to separate config module for testability
- Add error boundary to App component for graceful error display
- Add --help flag with usage documentation
- Add TTY detection with JSON fallback for non-interactive environments
- Add SIGINT/SIGTERM signal handling for clean exit

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore: add coverage to gitignore, include plan and workspace config

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* fix(start): address review findings — unused code, git cwd, magic numbers

- Call exit() after command selection so Ink process terminates
- Remove unused ctx prop from Header component
- Fix git commands to use -C flag with root path parameter
- Extract dumpContextJson() helper to deduplicate JSON output logic
- Add comment explaining hardcoded team filter exclusion
- Replace magic numbers with named constants (FUSE_THRESHOLD,
  RECOMMENDED_SCORE, MAX_BRANCH_LENGTH)
- Remove unused ink-spinner dependency
- Add test verifying git -C flag passes root correctly

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* fix(start): address review findings — security, correctness, test quality

- CRITICAL: Replace execSync shell interpolation with execFileSync to
  prevent command injection via root parameter in detect.js
- CRITICAL: Remove phantom --external:ink-spinner from build script and
  switch npx to direct esbuild invocation
- HIGH: Fix exit race condition — use useEffect instead of setTimeout
- HIGH: Wire up onSelect callback in ConversationFlow so Guide mode
  triggers the result screen in App
- HIGH: Destructure and accept ctx prop in ConversationFlow
- HIGH: Add back-navigation (Escape) in ConversationFlow
- HIGH: Guard against undefined team.focus in commands.js tags
- MEDIUM: Use functional setCursor form to avoid stale closures
- MEDIUM: Key commandIndices Map by string id instead of object identity
- MEDIUM: Improve parseTeams header detection (drop first row approach)
- MEDIUM: Filter completed/done/closed items from backlogCount
- MEDIUM: Extract shared makeCtx test utility across all test files
- MEDIUM: Add null guard to StatusBar truncate helper
- LOW: Validate orchestratorPhase is a number in range 1-5
- LOW: Fix pnpm-workspace.yaml list syntax
- Replace all setTimeout in tests with vi.waitFor deterministic waits

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(engine): add pre-sync commit guard and interactive apply mode

Adds two safety features to the sync pipeline:

1. Pre-sync commit guard: Detects uncommitted changes in protected
   directories (.agentkit/engines, spec, overlays) before sync runs.
   In TTY mode, prompts to abort, stash, or continue. In non-TTY
   mode (CI), prints a warning and proceeds.

2. Interactive apply mode: After rendering, shows a change summary
   and prompts: apply all / skip all / prompt each file. Per-file
   prompt supports show-diff and apply-all-remaining. Default in
   TTY; bypassed with --yes, --no-prompt, or --force.

New module: sync-guard.mjs with 4 exported functions and 7 tests.
New CLI flags: --yes, --no-prompt for non-interactive sync.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(sync): regenerate outputs after branch merges

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(sync): regenerate outputs after merge of new-user-entry-point

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(engine): add configurable package manager and fix review findings

- Add `stack.packageManager` field to project.yaml (pnpm | npm | yarn)
- Derive helper template vars (pmInstall, pmRun, pmExec, pmLockfile, etc.)
- Update CLAUDE.md template and hook/workflow templates to use {{packageManager}}
- Fix sync-guard to exclude .agentkit/spec from protected dirs and add try/catch
- Remove duplicate cost-ops team definition from teams.yaml
- Pin all dependency versions in package.json (remove ^ prefixes)
- Add vitest coverage thresholds (80% statements/branches/functions/lines)
- Fix src/start/ code quality: null guards, exit delay, error boundaries
- Harden consolidate-branches.sh: self-resolution guard, stash restore
- Regenerate all 533 output files via agentkit sync

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(engine): add brand color palette variables to sync vars

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(ci): fix test race condition, workspace config, and lockfile

- Fix ConversationFlow test: wait for 'Got it' before asserting hint text
- Add packages field to pnpm-workspace.yaml for proper workspace resolution
- Regenerate lockfile after version pinning (removed ^ prefixes)
- Remove accidental .agentkit/templates/src/ artifacts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(start): add event loop yields to ConversationFlow tests

ink-select-input needs setImmediate yields after a new menu renders
before it can process ENTER keypresses. Without this, the second ENTER
in leaf-selection tests was swallowed, causing intermittent failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(spec): correct githubSlug to phoenixvc/agentkit-forge (#391)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* Add entry point for new framework users (#389)

* feat(commands): add /start command as new user entry point

Adds a context-aware triage command that detects repository state
(fresh clone, post-discovery, mid-session, uncommitted work) and
guides users to the right command or team for their goal.

Includes team routing table, 4 contextual flows, and decision
guidance for when users don't know which team to use.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* refactor(commands): add Arguments and State Management sections to /start

Addresses TEAMFORGE validation findings:
- Add dedicated Arguments section documenting $ARGUMENTS handling
- Add State Management section (reads/writes inventory)
- Fix frontmatter: remove misleading generated_by field
- Add explicit "manually authored" comment header

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(commands): add /start to spec and template for cross-repo generation

Moves /start from a hand-authored command to a proper spec-driven,
sync-generated command available to any repo that adopts AgentKit Forge.

- Add start command definition to commands.yaml (no feature gate — always on)
- Create start.md template in .agentkit/templates/claude/commands/
- Add /start to CLAUDE.md Quick Reference table template

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore(sync): regenerate outputs after adding /start command

Generated by: pnpm -C .agentkit agentkit:sync

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(commands): make /start team routing dynamic instead of hardcoded

Replace the static team routing table with dynamic discovery:
1. Read AGENT_TEAMS.md (from /discover) at runtime
2. Fall back to .agentkit/spec/teams.yaml
3. Fall back to /team-* command frontmatter

This ensures /start always reflects the actual teams configured
in any repo, rather than a hardcoded list that could go stale.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore(sync): regenerate outputs after dynamic routing change

Generated by: pnpm -C .agentkit agentkit:sync

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(start): add interactive TUI entry point with hybrid UI

Replace static markdown output with an ink-based terminal UI that
combines two modes: a guided conversation flow for first-run users
and a fuzzy-searchable command palette for returning users. A
persistent status bar shows repo state at a glance (branch, phase,
backlog count, working tree status).

- Context detection module mirrors /start Phase 1 signals
- ConversationFlow: branching dialogue tree (choose-your-own-adventure)
- CommandPalette: fuzzy search with context-ranked star recommendations
- StatusBar: tmux-style persistent strip with color-coded segments
- Supports --json flag for scripting/piping

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(start): add test suite, error handling, and refactor for production readiness

- Add vitest test infrastructure with 102 tests across 7 files
- Coverage: 95.58% statements, 90.81% branches, 96.72% functions
- Extract conversation tree to separate config module for testability
- Add error boundary to App component for graceful error display
- Add --help flag with usage documentation
- Add TTY detection with JSON fallback for non-interactive environments
- Add SIGINT/SIGTERM signal handling for clean exit

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore: add coverage to gitignore, include plan and workspace config

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* fix(start): address review findings — unused code, git cwd, magic numbers

- Call exit() after command selection so Ink process terminates
- Remove unused ctx prop from Header component
- Fix git commands to use -C flag with root path parameter
- Extract dumpContextJson() helper to deduplicate JSON output logic
- Add comment explaining hardcoded team filter exclusion
- Replace magic numbers with named constants (FUSE_THRESHOLD,
  RECOMMENDED_SCORE, MAX_BRANCH_LENGTH)
- Remove unused ink-spinner dependency
- Add test verifying git -C flag passes root correctly

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* fix(start): address review findings — security, correctness, test quality

- CRITICAL: Replace execSync shell interpolation with execFileSync to
  prevent command injection via root parameter in detect.js
- CRITICAL: Remove phantom --external:ink-spinner from build script and
  switch npx to direct esbuild invocation
- HIGH: Fix exit race condition — use useEffect instead of setTimeout
- HIGH: Wire up onSelect callback in ConversationFlow so Guide mode
  triggers the result screen in App
- HIGH: Destructure and accept ctx prop in ConversationFlow
- HIGH: Add back-navigation (Escape) in ConversationFlow
- HIGH: Guard against undefined team.focus in commands.js tags
- MEDIUM: Use functional setCursor form to avoid stale closures
- MEDIUM: Key commandIndices Map by string id instead of object identity
- MEDIUM: Improve parseTeams header detection (drop first row approach)
- MEDIUM: Filter completed/done/closed items from backlogCount
- MEDIUM: Extract shared makeCtx test utility across all test files
- MEDIUM: Add null guard to StatusBar truncate helper
- LOW: Validate orchestratorPhase is a number in range 1-5
- LOW: Fix pnpm-workspace.yaml list syntax
- Replace all setTimeout in tests with vi.waitFor deterministic waits

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* test(start): add coverage for result screen exit path

Add App-level test that navigates through ConversationFlow to a leaf
node and verifies the result screen text is rendered before exit().
Confirms the synchronous useEffect exit is safe — React commits the
render (Ink captures the frame) before useEffect fires.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore: update generated sync output timestamps

Generated files updated with current sync date from dev merge.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

---------

Co-authored-by: Claude <noreply@anthropic.com>

* fix: caldues heuristics (#398)

* feat: complete revisit of agents (#399) (#400)

* Add start command: new user entry point with state detection (#387)

* fix(commands): add AskUserQuestion to VALID_TOOLS and /start command

The /start command session got stuck because AskUserQuestion was not
included in the allowed-tools whitelist. This fix addresses three issues:

1. VALID_TOOLS in spec-validator was missing AskUserQuestion, TodoWrite,
   Agent, and NotebookEdit — preventing commands from declaring these
   Claude Code built-in tools in their allowed-tools.

2. The /start command template now explicitly includes AskUserQuestion
   in its allowed-tools frontmatter and instructs the agent to use it
   for interactive guided choices (Phase 3).

3. Added /start command spec to commands.yaml with AskUserQuestion as
   a declared tool dependency.

Also adds a test case validating all four newly-added tools are accepted
by the spec validator.

https://claude.ai/code/session_01Qh3Xk3jFkVdeRAXTqLvq3M

* fix(commands): remove unrendered Handlebars comment from start.md output

The generated .claude/commands/start.md contained a raw {{! ... }}
Handlebars comment that was not processed by the sync engine. Remove it
so the generated output is clean Markdown.

https://claude.ai/code/session_01Qh3Xk3jFkVdeRAXTqLvq3M

---------



* Add configurable prefix to kits commands (#388)

* feat(sync): add configurable command prefix for generated slash commands

Add `commandPrefix` setting to overlay settings that namespaces all
generated slash commands across platforms:

- Claude Code: subdirectory strategy (kits/check.md → /project:kits:check)
- Cursor/Windsurf/Copilot/Codex: filename prefix (kits-check.md → /kits-check)
- Team commands excluded from prefixing (already namespaced)

Changes:
- Add resolveCommandPath() helper with subdirectory/filename strategies
- Update syncClaudeCommands, syncClaudeSkills, syncCursorCommands,
  syncWindsurfCommands, syncCopilotPrompts, syncCodexSkills
- Add commandPrefix to vars from overlay settings
- Add commandPrefixedName to buildCommandVars
- Add 16 unit + integration tests (all pass, 93 existing tests unaffected)

Default is null (no prefix) for full backwards compatibility.

https://claude.ai/code/session_01EBjmVEhi7fP2huAL3SBR6p

* fix(sync): address review findings for command prefix

- Remove unused afterAll import from test file
- Add clarifying comment that non-spec command files are also prefixed
- Add 2 integration tests verifying commandPrefixedName template variable
  renders correctly with and without prefix

https://claude.ai/code/session_01EBjmVEhi7fP2huAL3SBR6p

---------



* fix(ci): CI remediation — package manager, review findings, test stability (#390)

* fix(ci): resolve 7 bugs from project review

- BUG-001: Replace flaky discover test with controlled temp fixture
- BUG-002: Run prettier --write to fix formatting drift
- BUG-003: Add form-template detection skip in issue label validation
- BUG-005: Change claude.yml to self-hosted runner
- BUG-006: Align branch protection required status checks with project.yaml
- BUG-007: Fix command injection in resolve-merge.sh (use grep -F)



* docs: update changelog, add planning registry review findings

- Add changelog entries for Wave 1-3 fixes (Added/Changed/Fixed/Removed)
- Add Project Review Findings section to planning registry (PR-001 to PR-014)
- Update planning docs after sync merge



* feat(review): add --generate-plans flag to project-review command

Add Phase 2.5 plan generation after project review findings. When
--generate-plans is passed (default: true), scaffold plan files from
critical/high findings into docs/planning/review-findings/.

Also includes sync cleanup of stale cursor/windsurf settings.



* chore(sync): regenerate all outputs after project review fixes



* feat(cli): dynamic flag loading from commands.yaml + context-aware template hook

- Replace ~200 lines of hardcoded VALID_FLAGS/FLAG_TYPES with loadCommandFlags()
  that reads flag definitions from commands.yaml at startup
- CLI_INTERNAL_FLAGS/CLI_INTERNAL_FLAG_TYPES cover commands not in commands.yaml
- Self-validation warns at startup if any flag is missing a type definition
- Update cli.test.mjs to validate CLI_INTERNAL_FLAGS consistency
- Fix scaffold-once orphan bug: carry forward manifest entries for files
  skipped by scaffold-once so orphan cleanup does not delete them
- Make protect-templates hook context-aware: skip protection in the
  agentkit-forge source repo (detected via package.json name) so
  maintainer agents can edit templates; block only in downstream repos



* feat(sync): add managed-mode script templates for downstream repos

Add 14 script templates (.agentkit/templates/scripts/) with `managed`
scaffold mode so downstream repos receive script updates via three-way
merge while preserving local customizations.

Templates include: create-doc, update-changelog, validate-documentation,
validate-numbering, check-documentation-requirement, sync-issues,
sync-split-pr, setup-agentkit-branch-governance, and resolve-merge
(both .sh and .ps1 variants where applicable).

Parameterized templates use {{defaultBranch}} and branch protection
variables from project.yaml. Engine wired via syncScripts() under
doc-scaffolding feature gate.



* feat(teams): add TeamForge meta-team for agent team creation (cogmesh #130)

Add the TEAMFORGE meta-team (T11) — a structured pipeline for creating,
validating, and deploying new agent team specifications. Adapted from
cogmesh #130 with a simplified 6-agent pipeline:

- input-clarifier: assess requests, extract constraints
- mission-definer: lock team definition (ID, scope, accepts)
- role-architect: design agent roles and dependencies
- prompt-engineer: write agent descriptions and rules
- flow-designer: design team command and integration points
- team-validator: quality gate for spec consistency

Includes /team-forge command with --task flag (create-team, validate-team,
audit-teams, update-team) and planning doc.



* feat(teams): add Strategic Ops team for cross-project coordination

Add the STRATEGIC OPS team (T12) — handles framework governance,
portfolio analysis, adoption strategy, impact assessment, and release
coordination across all repos using AgentKit Forge.

5-agent pipeline:
- portfolio-analyst: inventory repos, detect drift, adoption metrics
- governance-advisor: versioning strategy, breaking change protocols
- adoption-strategist: onboarding, migration paths, rollout plans
- impact-assessor: blast radius analysis for template/spec changes
- release-coordinator: version bumps, sync waves, release comms

Includes /team-strategic-ops command with --task and --scope flags.



* feat(agents): add agent/team relationship matrix analysis engine + scripts

Add comprehensive agent/team relationship analysis with 8 cross-reference
matrices and 10 supplementary analyses (orphans, cycles, bottlenecks,
reachability, critical path, notification amplifiers, etc.).

- Fix YAML structure: strategic-ops agents now under own top-level key
- Add explicit agents: lists to forge + strategic-ops teams in teams.yaml
- Add consolidation detection responsibilities to portfolio-analyst
- Create agent-analysis.mjs engine module (loadFullAgentGraph + renderers)
- Wire analyze-agents CLI command with --output/--matrix/--format flags
- Add managed-scaffold script templates (bash + PowerShell)
- Integrate into sync pipeline (auto-regenerates matrix on spec changes)
- Add 33 tests covering all matrices, analyses, and edge cases



* chore: update documentation files and add plan template

- Add trailing newlines to Cursor command documentation files for consistency
- Add new plan template files for project planning
- Improve markdown table formatting in Claude skills documentation
- Remove obsolete .clinerules/testing.md file
- Update various rule files with better formatting and advisory rule alignment

* feat(agents): add spec-compliance-auditor feedback loop + Cost Ops team (T14)

- Add spec-compliance-auditor to operations category (quality team) — closes
  the feedback loop between agent specs and actual behavior
- Add Cost Ops team (T14) with 5 agents: model-economist,
  token-efficiency-engineer, vendor-arbitrage-analyst, grant-hunter,
  cost-ops-monitor
- Add ai-cost-ops rules domain with 6 conventions (model routing, token
  budgets, caching, batch APIs, vendor abstraction, credit tracking)
- Add team-cost-ops command with --task, --period, --provider flags
- Update notification chains: data→cost-ops-monitor, infra→model-economist,
  retrospective-analyst→spec-compliance-auditor
- Add intake routes: cost-ops, agent-performance



* fix(teams): add implement to cost-ops team accepts list

Resolves agent/team accepts mismatch — token-efficiency-engineer accepts
implement but the team definition only had investigate/review/plan/document.



* feat(cost-ops): add multi-provider infra cost ticket to backlog

Add detailed planning ticket for multi-provider infrastructure cost
normalisation, routing, and cost-agent integration. Covers 9 providers
(Anthropic, OpenAI, Google, Mistral, Cohere, self-hosted, Azure, AWS,
GCP) with 3-phase delivery plan and cross-team dependency tracking.



* fix(templates): resolve PR review comments from CodeRabbit

- Fix protect-templates.sh: package name check uses correct
  "agentkit-forge-runtime" instead of "agentkit-forge"
- Fix protect-templates.ps1: malformed path (missing separator before
  .agentkit) and same package name correction
- Fix update-changelog.ps1: change .mjs to .cjs to match CommonJS
  require() syntax used in the inline Node script
- Fix resolve-merge.sh: add fallback for {{defaultBranch}} placeholder
- Fix AGENT_TEAMS.md: resolve three-way merge conflict markers left
  by sync engine, keeping user formatting + implement in cost-ops



* feat(cost-ops): add WebSearch/WebFetch tools to cost-ops agents

Enable web research capabilities for cost-ops team:
- Add WebSearch and WebFetch to /team-cost-ops allowed-tools
- Add WebSearch and WebFetch to model-economist, vendor-arbitrage-analyst,
  and grant-hunter agent preferred-tools
- Add web intake expansion ticket (P2) for MCP crawler, Puppeteer
  integration, automated pricing refresh, and cross-session persistence
- Regenerate sync outputs



* feat(cost-ops): add Cost Ops team, agents, and multi-provider cost ticket (#364)

* feat(agents): add spec-compliance-auditor feedback loop + Cost Ops team (T14)

- Add spec-compliance-auditor to operations category (quality team) — closes
  the feedback loop between agent specs and actual behavior
- Add Cost Ops team (T14) with 5 agents: model-economist,
  token-efficiency-engineer, vendor-arbitrage-analyst, grant-hunter,
  cost-ops-monitor
- Add ai-cost-ops rules domain with 6 conventions (model routing, token
  budgets, caching, batch APIs, vendor abstraction, credit tracking)
- Add team-cost-ops command with --task, --period, --provider flags
- Update notification chains: data→cost-ops-monitor, infra→model-economist,
  retrospective-analyst→spec-compliance-auditor
- Add intake routes: cost-ops, agent-performance



* fix(teams): add implement to cost-ops team accepts list

Resolves agent/team accepts mismatch — token-efficiency-engineer accepts
implement but the team definition only had investigate/review/plan/document.



* feat(cost-ops): add multi-provider infra cost ticket to backlog

Add detailed planning ticket for multi-provider infrastructure cost
normalisation, routing, and cost-agent integration. Covers 9 providers
(Anthropic, OpenAI, Google, Mistral, Cohere, self-hosted, Azure, AWS,
GCP) with 3-phase delivery plan and cross-team dependency tracking.



* fix(templates): resolve PR review comments from CodeRabbit

- Fix protect-templates.sh: package name check uses correct
  "agentkit-forge-runtime" instead of "agentkit-forge"
- Fix protect-templates.ps1: malformed path (missing separator before
  .agentkit) and same package name correction
- Fix update-changelog.ps1: change .mjs to .cjs to match CommonJS
  require() syntax used in the inline Node script
- Fix resolve-merge.sh: add fallback for {{defaultBranch}} placeholder
- Fix AGENT_TEAMS.md: resolve three-way merge conflict markers left
  by sync engine, keeping user formatting + implement in cost-ops



* feat(cost-ops): add WebSearch/WebFetch tools to cost-ops agents (#365)

Enable web research capabilities for cost-ops team:
- Add WebSearch and WebFetch to /team-cost-ops allowed-tools
- Add WebSearch and WebFetch to model-economist, vendor-arbitrage-analyst,
  and grant-hunter agent preferred-tools
- Add web intake expansion ticket (P2) for MCP crawler, Puppeteer
  integration, automated pricing refresh, and cross-session persistence
- Regenerate sync outputs



---------



* fix(teams): address CodeRabbit review findings on strategic-ops PR

- Lazy-load js-yaml in cli.mjs after ensureDependencies() to prevent
  crash when node_modules is missing
- Convert YAML frontmatter to PowerShell comment blocks in all 6 PS1
  templates to fix invalid PowerShell syntax
- Fix protect-templates hook path: use 3 parent traversals to reach
  .agentkit/package.json from hooks directory
- Remove schema-invalid 'phase' field from ai-cost-ops rule domain
- Narrow strategic-ops scope: replace **/* catch-all with specific files
- Add strategic-ops to cost-ops handoff-chain for consistency
- Add Write tool to spec-compliance-auditor, vendor-arbitrage-analyst,
  and grant-hunter agents
- Fix glob matching in resolve-merge.sh (use regex instead of broken
  sed strip)
- Add merge failure vs conflict detection in resolve-merge.ps1
- Add branch existence check in setup-agentkit-branch-governance scripts
- Add gh CLI preflight check in sync-split-pr.ps1
- Deduplicate branch protection loop when defaultBranch is 'main'
- Fix applies-to glob: docs/planning/cost/** → docs/planning/cost-governance/**
- Fix non-canonical doc paths in intake-agent-proposal.md
- Add changelog entries for new teams, agents, and analysis engine
- Resolve AGENT_TEAMS.md merge conflict (accept narrowed scope)
- Run prettier on all modified files



* fix(templates): add gh auth preflight and changelog divider handling

- sync-split-pr.ps1: add gh auth status check before side effects
- update-changelog.ps1: stop before --- divider when appending entries

Addresses CodeRabbit review comments #7 and #13 on PR #356.



* fix(sync): set executable permission on analyze-agents.sh

Linux CI sync produces +x permissions; align local to match.



* fix(templates): address CodeRabbit review round 3-4 findings

- Fix YAML frontmatter in copilot agent template: use double quotes
  for description field to handle apostrophes (CRITICAL)
- Fix protect-templates.sh/ps1 path traversal: correct parent
  directory count for .agentkit/package.json source repo detection
- Add $PSNativeCommandUseErrorActionPreference to sync-split-pr.ps1
  so native command failures (git, pnpm, gh) are treated as fatal
- Replace try/catch with $LASTEXITCODE check for gh auth status
- Deduplicate branch loop in setup-agentkit-branch-governance.sh
  when defaultBranch equals 'main'
- Fix duplicate verification echo lines in governance scripts



* style(docs): fix prettier formatting on planning documents

Run prettier --write on web-intake-expansion.md and
intake-agent-proposal.md to fix CI formatting check.



* fix(tests): isolate render target gating tests with fresh temp dirs

Tests in the "render target gating" describe block shared a single temp
directory via beforeAll/afterAll. The first test ran --only claude
(generating .claude/ files), and the second ran --only warp expecting no
Claude files — but leftovers from test 1 caused the assertion to fail.

Changing to beforeEach/afterEach gives each test a clean directory.

Closes #377



* feat(commands): add /start command as new user entry point

Adds a context-aware triage command that detects repository state
(fresh clone, post-discovery, mid-session, uncommitted work) and
guides users to the right command or team for their goal.

Includes team routing table, 4 contextual flows, and decision
guidance for when users don't know which team to use.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* refactor(commands): add Arguments and State Management sections to /start

Addresses TEAMFORGE validation findings:
- Add dedicated Arguments section documenting $ARGUMENTS handling
- Add State Management section (reads/writes inventory)
- Fix frontmatter: remove misleading generated_by field
- Add explicit "manually authored" comment header

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(commands): add /start to spec and template for cross-repo generation

Moves /start from a hand-authored command to a proper spec-driven,
sync-generated command available to any repo that adopts AgentKit Forge.

- Add start command definition to commands.yaml (no feature gate — always on)
- Create start.md template in .agentkit/templates/claude/commands/
- Add /start to CLAUDE.md Quick Reference table template

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore(sync): regenerate outputs after adding /start command

Generated by: pnpm -C .agentkit agentkit:sync

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(commands): make /start team routing dynamic instead of hardcoded

Replace the static team routing table with dynamic discovery:
1. Read AGENT_TEAMS.md (from /discover) at runtime
2. Fall back to .agentkit/spec/teams.yaml
3. Fall back to /team-* command frontmatter

This ensures /start always reflects the actual teams configured
in any repo, rather than a hardcoded list that could go stale.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore(sync): regenerate outputs after dynamic routing change

Generated by: pnpm -C .agentkit agentkit:sync

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(start): add interactive TUI entry point with hybrid UI

Replace static markdown output with an ink-based terminal UI that
combines two modes: a guided conversation flow for first-run users
and a fuzzy-searchable command palette for returning users. A
persistent status bar shows repo state at a glance (branch, phase,
backlog count, working tree status).

- Context detection module mirrors /start Phase 1 signals
- ConversationFlow: branching dialogue tree (choose-your-own-adventure)
- CommandPalette: fuzzy search with context-ranked star recommendations
- StatusBar: tmux-style persistent strip with color-coded segments
- Supports --json flag for scripting/piping

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(start): add test suite, error handling, and refactor for production readiness

- Add vitest test infrastructure with 102 tests across 7 files
- Coverage: 95.58% statements, 90.81% branches, 96.72% functions
- Extract conversation tree to separate config module for testability
- Add error boundary to App component for graceful error display
- Add --help flag with usage documentation
- Add TTY detection with JSON fallback for non-interactive environments
- Add SIGINT/SIGTERM signal handling for clean exit

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore: add coverage to gitignore, include plan and workspace config

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* fix(start): address review findings — unused code, git cwd, magic numbers

- Call exit() after command selection so Ink process terminates
- Remove unused ctx prop from Header component
- Fix git commands to use -C flag with root path parameter
- Extract dumpContextJson() helper to deduplicate JSON output logic
- Add comment explaining hardcoded team filter exclusion
- Replace magic numbers with named constants (FUSE_THRESHOLD,
  RECOMMENDED_SCORE, MAX_BRANCH_LENGTH)
- Remove unused ink-spinner dependency
- Add test verifying git -C flag passes root correctly

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* fix(start): address review findings — security, correctness, test quality

- CRITICAL: Replace execSync shell interpolation with execFileSync to
  prevent command injection via root parameter in detect.js
- CRITICAL: Remove phantom --external:ink-spinner from build script and
  switch npx to direct esbuild invocation
- HIGH: Fix exit race condition — use useEffect instead of setTimeout
- HIGH: Wire up onSelect callback in ConversationFlow so Guide mode
  triggers the result screen in App
- HIGH: Destructure and accept ctx prop in ConversationFlow
- HIGH: Add back-navigation (Escape) in ConversationFlow
- HIGH: Guard against undefined team.focus in commands.js tags
- MEDIUM: Use functional setCursor form to avoid stale closures
- MEDIUM: Key commandIndices Map by string id instead of object identity
- MEDIUM: Improve parseTeams header detection (drop first row approach)
- MEDIUM: Filter completed/done/closed items from backlogCount
- MEDIUM: Extract shared makeCtx test utility across all test files
- MEDIUM: Add null guard to StatusBar truncate helper
- LOW: Validate orchestratorPhase is a number in range 1-5
- LOW: Fix pnpm-workspace.yaml list syntax
- Replace all setTimeout in tests with vi.waitFor deterministic waits

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(engine): add pre-sync commit guard and interactive apply mode

Adds two safety features to the sync pipeline:

1. Pre-sync commit guard: Detects uncommitted changes in protected
   directories (.agentkit/engines, spec, overlays) before sync runs.
   In TTY mode, prompts to abort, stash, or continue. In non-TTY
   mode (CI), prints a warning and proceeds.

2. Interactive apply mode: After rendering, shows a change summary
   and prompts: apply all / skip all / prompt each file. Per-file
   prompt supports show-diff and apply-all-remaining. Default in
   TTY; bypassed with --yes, --no-prompt, or --force.

New module: sync-guard.mjs with 4 exported functions and 7 tests.
New CLI flags: --yes, --no-prompt for non-interactive sync.



* chore(sync): regenerate outputs after branch merges



* chore(sync): regenerate outputs after merge of new-user-entry-point



* feat(engine): add configurable package manager and fix review findings

- Add `stack.packageManager` field to project.yaml (pnpm | npm | yarn)
- Derive helper template vars (pmInstall, pmRun, pmExec, pmLockfile, etc.)
- Update CLAUDE.md template and hook/workflow templates to use {{packageManager}}
- Fix sync-guard to exclude .agentkit/spec from protected dirs and add try/catch
- Remove duplicate cost-ops team definition from teams.yaml
- Pin all dependency versions in package.json (remove ^ prefixes)
- Add vitest coverage thresholds (80% statements/branches/functions/lines)
- Fix src/start/ code quality: null guards, exit delay, error boundaries
- Harden consolidate-branches.sh: self-resolution guard, stash restore
- Regenerate all 533 output files via agentkit sync



* chore(engine): add brand color palette variables to sync vars



* fix(ci): fix test race condition, workspace config, and lockfile

- Fix ConversationFlow test: wait for 'Got it' before asserting hint text
- Add packages field to pnpm-workspace.yaml for proper workspace resolution
- Regenerate lockfile after version pinning (removed ^ prefixes)
- Remove accidental .agentkit/templates/src/ artifacts



* fix(start): add event loop yields to ConversationFlow tests

ink-select-input needs setImmediate yields after a new menu renders
before it can process ENTER keypresses. Without this, the second ENTER
in leaf-selection tests was swallowed, causing intermittent failures.



---------



* fix(spec): correct githubSlug to phoenixvc/agentkit-forge (#391)



* Add entry point for new framework users (#389)

* feat(commands): add /start command as new user entry point

Adds a context-aware triage command that detects repository state
(fresh clone, post-discovery, mid-session, uncommitted work) and
guides users to the right command or team for their goal.

Includes team routing table, 4 contextual flows, and decision
guidance for when users don't know which team to use.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* refactor(commands): add Arguments and State Management sections to /start

Addresses TEAMFORGE validation findings:
- Add dedicated Arguments section documenting $ARGUMENTS handling
- Add State Management section (reads/writes inventory)
- Fix frontmatter: remove misleading generated_by field
- Add explicit "manually authored" comment header

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(commands): add /start to spec and template for cross-repo generation

Moves /start from a hand-authored command to a proper spec-driven,
sync-generated command available to any repo that adopts AgentKit Forge.

- Add start command definition to commands.yaml (no feature gate — always on)
- Create start.md template in .agentkit/templates/claude/commands/
- Add /start to CLAUDE.md Quick Reference table template

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore(sync): regenerate outputs after adding /start command

Generated by: pnpm -C .agentkit agentkit:sync

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(commands): make /start team routing dynamic instead of hardcoded

Replace the static team routing table with dynamic discovery:
1. Read AGENT_TEAMS.md (from /discover) at runtime
2. Fall back to .agentkit/spec/teams.yaml
3. Fall back to /team-* command frontmatter

This ensures /start always reflects the actual teams configured
in any repo, rather than a hardcoded list that could go stale.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore(sync): regenerate outputs after dynamic routing change

Generated by: pnpm -C .agentkit agentkit:sync

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(start): add interactive TUI entry point with hybrid UI

Replace static markdown output with an ink-based terminal UI that
combines two modes: a guided conversation flow for first-run users
and a fuzzy-searchable command palette for returning users. A
persistent status bar shows repo state at a glance (branch, phase,
backlog count, working tree status).

- Context detection module mirrors /start Phase 1 signals
- ConversationFlow: branching dialogue tree (choose-your-own-adventure)
- CommandPalette: fuzzy search with context-ranked star recommendations
- StatusBar: tmux-style persistent strip with color-coded segments
- Supports --json flag for scripting/piping

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* feat(start): add test suite, error handling, and refactor for production readiness

- Add vitest test infrastructure with 102 tests across 7 files
- Coverage: 95.58% statements, 90.81% branches, 96.72% functions
- Extract conversation tree to separate config module for testability
- Add error boundary to App component for graceful error display
- Add --help flag with usage documentation
- Add TTY detection with JSON fallback for non-interactive environments
- Add SIGINT/SIGTERM signal handling for clean exit

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore: add coverage to gitignore, include plan and workspace config

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* fix(start): address review findings — unused code, git cwd, magic numbers

- Call exit() after command selection so Ink process terminates
- Remove unused ctx prop from Header component
- Fix git commands to use -C flag with root path parameter
- Extract dumpContextJson() helper to deduplicate JSON output logic
- Add comment explaining hardcoded team filter exclusion
- Replace magic numbers with named constants (FUSE_THRESHOLD,
  RECOMMENDED_SCORE, MAX_BRANCH_LENGTH)
- Remove unused ink-spinner dependency
- Add test verifying git -C flag passes root correctly

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* fix(start): address review findings — security, correctness, test quality

- CRITICAL: Replace execSync shell interpolation with execFileSync to
  prevent command injection via root parameter in detect.js
- CRITICAL: Remove phantom --external:ink-spinner from build script and
  switch npx to direct esbuild invocation
- HIGH: Fix exit race condition — use useEffect instead of setTimeout
- HIGH: Wire up onSelect callback in ConversationFlow so Guide mode
  triggers the result screen in App
- HIGH: Destructure and accept ctx prop in ConversationFlow
- HIGH: Add back-navigation (Escape) in ConversationFlow
- HIGH: Guard against undefined team.focus in commands.js tags
- MEDIUM: Use functional setCursor form to avoid stale closures
- MEDIUM: Key commandIndices Map by string id instead of object identity
- MEDIUM: Improve parseTeams header detection (drop first row approach)
- MEDIUM: Filter completed/done/closed items from backlogCount
- MEDIUM: Extract shared makeCtx test utility across all test files
- MEDIUM: Add null guard to StatusBar truncate helper
- LOW: Validate orchestratorPhase is a number in range 1-5
- LOW: Fix pnpm-workspace.yaml list syntax
- Replace all setTimeout in tests with vi.waitFor deterministic waits

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* test(start): add coverage for result screen exit path

Add App-level test that navigates through ConversationFlow to a leaf
node and verifies the result screen text is rendered before exit().
Confirms the synchronous useEffect exit is safe — React commits the
render (Ink captures the frame) before useEffect fires.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

* chore: update generated sync output timestamps

Generated files updated with current sync date from dev merge.

https://claude.ai/code/session_01Gy1HvvywVe6Z2iFJ2bHYCW

---------



* fix: caldues heuristics (#398)

---------

Co-authored-by: Claude <noreply@anthropic.com>

* fix(quality): resolve all lint and format errors

- Fix Prettier formatting across engine src and start components
- Resolve 381 markdown lint errors (MD040, MD024, MD036, MD029, MD022, MD001)
- Add markdownlint config rules for intentional doc patterns
- Add .claude/worktrees to prettierignore to exclude external branches
- Enable markdownlint MD024/MD026 for duplicate headings and trailing colons

All quality checks now pass: Prettier (0 errors), Markdown lint (0 errors), Tests (111/111), Build (28.9kb)

* I'll update the last_updated field in all the files from '2026-03-12' to '2026-03-13'. This appears to be a routine timestamp update across all the AgentKit Forge generated files.

* docs: add AgentKit Forge sync feedback

Add detailed feedback on AgentKit Forge v3.1.0 integration, focusing on:
- Windows line-ending issues and multi-editor sync behavior
- Documentation scaffold-once limitations and override challenges
- Unresolved placeholder warnings lacking diagnostics
- Windows-specific pnpm execution problems

* docs: update CLAUDE.md with repository-specific editing guidelines

Clarified that modifications to `.agentkit` files are permitted in the agentkit-forge repository, while upstream directories remain protected. This ensures users understand the editing boundaries for project configuration and template files.

* docs(claude): allow .agentkit edits in this repo (NB for framework dev)

Made-with: Cursor

* chore(sync): regenerate outputs after agentkit:sync

Made-with: Cursor

* Fix/generated files and conflict markers (#427)

* fix(infra): resolve container app fqdn attribute and format code

* chore(sync): update AGENT_BACKLOG.md and other files for task management

- Enhanced AGENT_BACKLOG.md with detailed task scopes for CI pipeline configuration and test framework setup.
- Added new docker-compose.yml for local/staging validation of the framework.
- Updated CONTRIBUTING.md to include documentation hub link in the Discovery phase.
- Introduced README.md files in db, infra, and migrations directories to clarify their purpose for adopters.
- Added API conventions documentation to guide adopters on structuring their APIs.
- Created implementation plan for state management improvements and added relevant tests.
- Regenerated outputs across various files to reflect recent changes and ensure consistency.

* chore(ci): reduce CodeQL to weekly + manual only (#430)

* chore(ci): reduce CodeQL to weekly schedule + manual trigger

Removes push and pull_request triggers to reduce GitHub Actions costs.
Scans were running on every PR including Renovate dependency updates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* docs(architecture): add tool-neutral agent hub findings, ADR-10, and adoption roadmap (#428)

* docs(architecture): add tool-neutral agent hub findings, ADR-10, and adoption roadmap

Comparative analysis of agentkit-forge sync engine vs Mystira.workspace
hand-authored .agents/ pattern. Documents 5-phase adoption roadmap to
converge both approaches: .agents/ as sync target, reflective guards,
.readme.yaml generation, cross-session traces, and schema formalisation.

Includes regenerated sync output (updated timestamps across all tools).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs(architecture): add competitive landscape and strategic research report

Comprehensive analysis of…
Copilot AI review requested due to automatic review settings March 21, 2026 06:30
@blocksorg
Copy link
Copy Markdown

blocksorg bot commented Mar 21, 2026

Mention Blocks like a regular teammate with your question or request:

@blocks review this pull request
@blocks make the following changes ...
@blocks create an issue from what was mentioned in the following comment ...
@blocks explain the following code ...
@blocks are there any security or performance concerns?

Run @blocks /help for more information.

Workspace settings | Disable this message

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 21, 2026

Important

Review skipped

Too many files!

This PR contains 293 files, which is 143 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 342e85de-ff8d-4c0c-9f71-3c91db707a11

📥 Commits

Reviewing files that changed from the base of the PR and between 36113f7 and 541c62b.

⛔ Files ignored due to path filters (7)
  • .claude/worktrees/focused-colden/.agentkit/package-lock.json is excluded by !**/package-lock.json
  • .claude/worktrees/focused-colden/.claude/state/events.log is excluded by !**/*.log
  • .claude/worktrees/focused-colden/package-lock.json is excluded by !**/package-lock.json
  • .claude/worktrees/tender-margulis/.agentkit/package-lock.json is excluded by !**/package-lock.json
  • .claude/worktrees/tender-margulis/.claude/state/events.log is excluded by !**/*.log
  • .claude/worktrees/tender-margulis/package-lock.json is excluded by !**/package-lock.json
  • docs/architecture/Retort System Connections.png is excluded by !**/*.png
📒 Files selected for processing (293)
  • .agentkit/engines/node/src/__tests__/__fixtures__/explicit-domains-project.yaml
  • .agentkit/engines/node/src/__tests__/__fixtures__/fullstack-project.yaml
  • .agentkit/engines/node/src/__tests__/__fixtures__/heuristic-project.yaml
  • .agentkit/engines/node/src/__tests__/__fixtures__/js-only-project.yaml
  • .agentkit/engines/node/src/__tests__/generation.test.mjs
  • .agentkit/engines/node/src/__tests__/sync-integration.test.mjs
  • .agentkit/engines/node/src/check.mjs
  • .agentkit/engines/node/src/cli.mjs
  • .agentkit/engines/node/src/commands-registry.mjs
  • .agentkit/engines/node/src/doctor.mjs
  • .agentkit/engines/node/src/init.mjs
  • .agentkit/engines/node/src/propose-skill.mjs
  • .agentkit/engines/node/src/spec-validator.mjs
  • .agentkit/engines/node/src/synchronize.mjs
  • .agentkit/engines/node/src/template-utils.mjs
  • .agentkit/engines/node/src/validate.mjs
  • .agentkit/package.json
  • .agentkit/spec/agents.yaml
  • .agentkit/spec/aliases.yaml
  • .agentkit/spec/brand.yaml
  • .agentkit/spec/commands.yaml
  • .agentkit/spec/docs.yaml
  • .agentkit/spec/features.yaml
  • .agentkit/spec/project.yaml
  • .agentkit/spec/rules.yaml
  • .agentkit/spec/settings.yaml
  • .agentkit/spec/skills.yaml
  • .agentkit/spec/spec-defaults.yaml
  • .agentkit/spec/teams.yaml
  • .agentkit/templates/claude/commands/project-review.md
  • .agentkit/templates/claude/commands/review.md
  • .agentkit/templates/claude/hooks/stop-build-check.sh
  • .agents/skills/cicd-optimize/SKILL.md
  • .agents/skills/handoff/SKILL.md
  • .agents/skills/healthcheck/SKILL.md
  • .agents/skills/init/SKILL.md
  • .agents/skills/project-review/SKILL.md
  • .ai/README.md
  • .ai/continuerules
  • .ai/cursorrules
  • .ai/windsurfrules
  • .claude/commands/handoff.md
  • .claude/commands/healthcheck.md
  • .claude/commands/project-review.md
  • .claude/hooks/budget-guard-check.sh
  • .claude/hooks/guard-destructive-commands.ps1
  • .claude/hooks/guard-destructive-commands.sh
  • .claude/hooks/pre-push-validate.sh
  • .claude/hooks/protect-sensitive.ps1
  • .claude/hooks/protect-sensitive.sh
  • .claude/hooks/protect-templates.ps1
  • .claude/hooks/protect-templates.sh
  • .claude/hooks/session-start.ps1
  • .claude/hooks/session-start.sh
  • .claude/hooks/stop-build-check.ps1
  • .claude/hooks/stop-build-check.sh
  • .claude/hooks/warn-uncommitted.ps1
  • .claude/hooks/warn-uncommitted.sh
  • .claude/plans/tui-entry-point.md
  • .claude/skills/cicd-optimize/SKILL.md
  • .claude/skills/handoff/SKILL.md
  • .claude/skills/healthcheck/SKILL.md
  • .claude/skills/init/SKILL.md
  • .claude/skills/project-review/SKILL.md
  • .claude/worktrees/focused-colden/.agentkit/.manifest.json
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/AGENT_TEAMS.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/api/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/architecture/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/architecture/decisions/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/architecture/diagrams/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/architecture/specs/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/engineering/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/history/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/history/bug-fixes/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/history/features/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/history/implementations/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/history/issues/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/history/lessons-learned/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/history/migrations/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/integrations/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/operations/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/product/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/docs/reference/README.md
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/analyze-agents.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/check-documentation-requirement.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/consolidate-branches.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/create-doc.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/resolve-merge.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/setup-agentkit-branch-governance.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/sync-issues.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/sync-split-pr.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/update-changelog.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/validate-documentation.sh
  • .claude/worktrees/focused-colden/.agentkit/.scaffold-cache/scripts/validate-numbering.sh
  • .claude/worktrees/focused-colden/.agentkit/logs/usage-2026-03-16.jsonl
  • .claude/worktrees/focused-colden/.agentkit/logs/usage-2026-03-17.jsonl
  • .claude/worktrees/focused-colden/.agentkit/state/orchestrator.json.template
  • .claude/worktrees/focused-colden/.agentkit/state/schema.json
  • .claude/worktrees/focused-colden/.claude/settings.local.json
  • .claude/worktrees/focused-colden/.claude/state/orchestrator.json
  • .claude/worktrees/focused-colden/.claude/state/orchestrator.json.template
  • .claude/worktrees/focused-colden/.claude/state/schema.json
  • .claude/worktrees/focused-colden/.claude/state/tasks/task-p0-ci-pipeline.json
  • .claude/worktrees/focused-colden/.claude/state/tasks/task-p0-test-framework.json
  • .claude/worktrees/focused-colden/.claude/state/tasks/task-p1-api-routes.json
  • .claude/worktrees/focused-colden/.claude/state/tasks/task-p1-db-schema.json
  • .claude/worktrees/focused-colden/.claude/state/tasks/task-p1-health-check.json
  • .claude/worktrees/focused-colden/.claude/state/tasks/task-p1-migration-tooling.json
  • .claude/worktrees/focused-colden/.claude/state/tasks/task-p1-staging-env.json
  • .claude/worktrees/heuristic-mendel
  • .claude/worktrees/tender-margulis/.agentkit/.manifest.json
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/AGENT_TEAMS.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/api/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/architecture/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/architecture/decisions/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/architecture/diagrams/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/architecture/specs/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/engineering/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/history/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/history/bug-fixes/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/history/features/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/history/implementations/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/history/issues/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/history/lessons-learned/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/history/migrations/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/integrations/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/operations/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/product/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/docs/reference/README.md
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/analyze-agents.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/check-documentation-requirement.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/consolidate-branches.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/create-doc.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/resolve-merge.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/setup-agentkit-branch-governance.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/sync-issues.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/sync-split-pr.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/update-changelog.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/validate-documentation.sh
  • .claude/worktrees/tender-margulis/.agentkit/.scaffold-cache/scripts/validate-numbering.sh
  • .claude/worktrees/tender-margulis/.agentkit/logs/usage-2026-03-16.jsonl
  • .claude/worktrees/tender-margulis/.agentkit/logs/usage-2026-03-17.jsonl
  • .claude/worktrees/tender-margulis/.agentkit/state/orchestrator.json.template
  • .claude/worktrees/tender-margulis/.agentkit/state/schema.json
  • .claude/worktrees/tender-margulis/.claude/settings.local.json
  • .claude/worktrees/tender-margulis/.claude/state/orchestrator.json
  • .claude/worktrees/tender-margulis/.claude/state/orchestrator.json.template
  • .claude/worktrees/tender-margulis/.claude/state/schema.json
  • .claude/worktrees/tender-margulis/.claude/state/tasks/task-p0-ci-pipeline.json
  • .claude/worktrees/tender-margulis/.claude/state/tasks/task-p0-test-framework.json
  • .claude/worktrees/tender-margulis/.claude/state/tasks/task-p1-api-routes.json
  • .claude/worktrees/tender-margulis/.claude/state/tasks/task-p1-db-schema.json
  • .claude/worktrees/tender-margulis/.claude/state/tasks/task-p1-health-check.json
  • .claude/worktrees/tender-margulis/.claude/state/tasks/task-p1-migration-tooling.json
  • .claude/worktrees/tender-margulis/.claude/state/tasks/task-p1-staging-env.json
  • .cursor/commands/cicd-optimize.md
  • .cursor/commands/handoff.md
  • .cursor/commands/healthcheck.md
  • .cursor/commands/init.md
  • .cursor/commands/project-review.md
  • .cursor/rules/orchestrate.mdc
  • .cursor/rules/project-context.mdc
  • .cursor/rules/security.mdc
  • .cursor/settings.json
  • .gemini/config.yaml
  • .gitattributes
  • .github/ISSUES/002-maintenance-coordinator-agent.md
  • .github/ISSUES/009-doctor-presync-healthcheck.md
  • .github/ISSUES/013-trae-mcp-alignment-umbrella.md
  • .github/ISSUES/014-trae-mcp-foundation.md
  • .github/ISSUES/015-priority-mcp-integrations.md
  • .github/ISSUES/016-mcp-category-browser-devtools.md
  • .github/ISSUES/017-mcp-category-repo-data-research.md
  • .github/ISSUES/018-mcp-category-desktop-collab-memory.md
  • .github/ISSUES/019-trae-memory-support-umbrella.md
  • .github/ISSUES/020-memory-model-and-storage.md
  • .github/ISSUES/022-memory-generated-output-support.md
  • .github/ISSUES/023-trae-codebase-indexing.md
  • .github/ISSUES/024-trae-context-compaction.md
  • .github/ISSUES/025-trae-rules-revisit.md
  • .github/ISSUES/026-trae-skills-revisit.md
  • .github/ISSUES/027-trae-agents-revisit.md
  • .github/ISSUES/028-trae-figma-support.md
  • .github/ISSUES/029-platform-support-umbrella.md
  • .github/ISSUES/031-ai-aggregator-support.md
  • .github/ISSUES/032-trae-alignment-master-umbrella.md
  • .github/ISSUES/033-notion-mcp-client-support.md
  • .github/ISSUES/034-insforge-mcp-support.md
  • .github/ISSUES/035-documentation-mcp-and-pandoc-support.md
  • .github/ISSUES/036-self-hosted-mcp-server-strategy.md
  • .github/ISSUES/037-todoist-mcp-task-integration.md
  • .github/ISSUES/038-platform-support-zed-codex-opencode.md
  • .github/ISSUES/040-agents-should-consider-architectural-elegance.md
  • .github/ISSUES/agent-maintainer-proposal.md
  • .github/ISSUE_TEMPLATE/bug_report.yml
  • .github/ISSUE_TEMPLATE/doc-audit-command.md
  • .github/ISSUE_TEMPLATE/doc-audit-command.yml
  • .github/ISSUE_TEMPLATE/feature_request.yml
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/ai-framework-ci.yml
  • .github/codeql/codeql-config.yml
  • .github/instructions/rust.md
  • .github/prompts/cicd-optimize.prompt.md
  • .github/prompts/handoff.prompt.md
  • .github/prompts/healthcheck.prompt.md
  • .github/prompts/init.prompt.md
  • .github/prompts/project-review.prompt.md
  • .github/scripts/README.md
  • .github/scripts/resolve-merge.ps1
  • .github/scripts/resolve-merge.sh
  • .github/scripts/setup-branch-protection.ps1
  • .github/scripts/setup-branch-protection.sh
  • .github/workflows/block-agentkit-changes.yml
  • .github/workflows/branch-protection.yml
  • .github/workflows/breaking-change-detection.yml
  • .github/workflows/ci.yml
  • .github/workflows/codeql.yml
  • .github/workflows/coverage-report.yml
  • .github/workflows/dependency-audit.yml
  • .github/workflows/documentation-quality.yml
  • .github/workflows/documentation-validation.yml
  • .github/workflows/issue-label-validation.yml
  • .github/workflows/pr-validation.yml
  • .github/workflows/retrospective-quality.yml
  • .github/workflows/template-protection.yml
  • .gitignore
  • .gitmessage
  • .roadmap.yaml
  • .todo.yaml
  • .vscode/settings.json
  • .windsurf/commands/cicd-optimize.md
  • .windsurf/commands/handoff.md
  • .windsurf/commands/healthcheck.md
  • .windsurf/commands/init.md
  • .windsurf/commands/project-review.md
  • .windsurf/settings.json
  • .windsurf/workflows/full-assessment.yml
  • .windsurf/workflows/phase-execution.yml
  • AGENTS.md
  • AGENT_TEAMS.md
  • CHANGELOG.md
  • COMMAND_GUIDE.md
  • CONTRIBUTING.md
  • MIGRATIONS.md
  • QUALITY_GATES.md
  • RUNBOOK_AI.md
  • SECURITY.md
  • UNIFIED_AGENT_TEAMS.md
  • agentkit_feedback.md
  • db/README.md
  • docs/README.md
  • docs/agents/README.md
  • docs/api/01_overview.md
  • docs/api/02_endpoints.md
  • docs/api/03_authentication.md
  • docs/api/04_examples.md
  • docs/api/05_errors.md
  • docs/api/06_versioning.md
  • docs/api/07_framework-api-conventions.md
  • docs/api/README.md
  • docs/architecture/01_overview.md
  • docs/architecture/README.md
  • docs/architecture/decisions/02-fallback-policy-tokens-problem.md
  • docs/architecture/decisions/03-tooling-strategy.md
  • docs/architecture/decisions/04-static-security-analysis-depth-tooling.md
  • docs/architecture/decisions/05-dependency-supply-chain-detection-tooling.md
  • docs/architecture/decisions/06-code-quality-maintainability-signal-tooling.md
  • docs/architecture/decisions/07-delivery-strategy.md
  • docs/architecture/decisions/08-directive-classification-type-and-phase.md
  • docs/architecture/decisions/08-expansion-analyst-agent.md
  • docs/architecture/decisions/08-issue-sync-strategy.md
  • docs/architecture/decisions/10-tool-neutral-agent-hub.md
  • docs/architecture/decisions/ADR-08-split-brain-analysis.md
  • docs/architecture/decisions/README.md
  • docs/architecture/diagrams/README.md
  • docs/architecture/expansion-agent-analysis.md
  • docs/architecture/specs/01_functional_spec.md
  • docs/architecture/specs/02_technical_spec.md
  • docs/architecture/specs/03_api_spec.md
  • docs/architecture/specs/04_data_models.md
  • docs/architecture/specs/PLAN-template-variable-audit.md
  • docs/architecture/specs/README.md
  • docs/architecture/specs/competitive-landscape-report.md
  • docs/architecture/specs/tool-neutral-agent-hub-findings.md
  • docs/engineering/01_setup.md
  • docs/engineering/02_coding_standards.md
  • docs/engineering/03_testing.md
  • docs/engineering/04_git_workflow.md
  • docs/engineering/05_security.md
  • docs/engineering/06_pr_documentation.md
  • docs/engineering/07_changelog.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch main

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.

@JustAGhosT JustAGhosT merged commit 6260a3f into dev Mar 21, 2026
2 of 19 checks passed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR primarily updates generated configuration, specs, and documentation to reflect the “Retort” overlay/branding, and introduces a couple of Node engine enhancements (CLI command registry + additional validation).

Changes:

  • Update generated headers/metadata and various repo references from AgentKit Forge → Retort across GitHub workflows, prompts, instructions/rules, and spec files.
  • Add an init prompt/command/skill across supported targets and add a new commands-registry.mjs plus a CLI↔spec parity check in validate.mjs.
  • Update project/spec defaults (languageProfile mode, domain selection comments) and expand command schema types.

Reviewed changes

Copilot reviewed 219 out of 417 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
.github/workflows/dependency-audit.yml Update generated header/source overlay references.
.github/workflows/coverage-report.yml Update generated header/source overlay references.
.github/workflows/codeql.yml Adjust formatting and skip CodeQL job for Renovate; add explanatory comment.
.github/workflows/ci.yml Rename workflow to “Retort CI”.
.github/workflows/breaking-change-detection.yml Update generated header/source overlay references.
.github/workflows/branch-protection.yml Rename required check docs and update “upstream issue link” repo regex to retort.
.github/workflows/block-agentkit-changes.yml Rename workflow and exception repository to retort.
.github/scripts/setup-branch-protection.sh Update generated header/source overlay references.
.github/scripts/setup-branch-protection.ps1 Update generated header/source overlay references.
.github/scripts/resolve-merge.sh Add generated header/source overlay references.
.github/scripts/resolve-merge.ps1 Add generated header/source overlay references.
.github/scripts/README.md Add generated HTML comment header referencing retort overlay.
.github/prompts/project-review.prompt.md Update generated_by/source/orchestration wording to Retort.
.github/prompts/init.prompt.md Add new init reusable prompt.
.github/prompts/healthcheck.prompt.md Update generated_by/source/orchestration wording to Retort.
.github/prompts/handoff.prompt.md Update generated_by/source/orchestration wording to Retort.
.github/instructions/rust.md Update generated header metadata to Retort.
.github/codeql/codeql-config.yml Rename CodeQL config name to retort.
.github/ai-framework-ci.yml Update generated header/source overlay references.
.github/PULL_REQUEST_TEMPLATE.md Update generated header/source overlay references.
.github/ISSUE_TEMPLATE/feature_request.yml Update generated header/source overlay references.
.github/ISSUE_TEMPLATE/doc-audit-command.yml Replace agentkit-forge mentions with retort.
.github/ISSUE_TEMPLATE/doc-audit-command.md Replace agentkit-forge mentions with retort.
.github/ISSUE_TEMPLATE/bug_report.yml Update generated header/source overlay references.
.github/ISSUES/agent-maintainer-proposal.md Replace AgentKit Forge mention with Retort.
.github/ISSUES/040-agents-should-consider-architectural-elegance.md Update wording to Retort and mark acceptance criteria complete.
.github/ISSUES/038-platform-support-zed-codex-opencode.md Replace AgentKit wording with Retort.
.github/ISSUES/037-todoist-mcp-task-integration.md Replace AgentKit wording with Retort.
.github/ISSUES/036-self-hosted-mcp-server-strategy.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/035-documentation-mcp-and-pandoc-support.md Replace AgentKit Forge/AgentKit wording with Retort.
.github/ISSUES/034-insforge-mcp-support.md Replace AgentKit Forge/AgentKit wording with Retort.
.github/ISSUES/033-notion-mcp-client-support.md Replace AgentKit Forge/AgentKit wording with Retort.
.github/ISSUES/032-trae-alignment-master-umbrella.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/031-ai-aggregator-support.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/029-platform-support-umbrella.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/028-trae-figma-support.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/027-trae-agents-revisit.md Replace AgentKit Forge wording with Retort; add implementation notes.
.github/ISSUES/026-trae-skills-revisit.md Replace AgentKit Forge wording with Retort; add implementation notes.
.github/ISSUES/025-trae-rules-revisit.md Replace AgentKit Forge wording with Retort; add implementation notes.
.github/ISSUES/024-trae-context-compaction.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/023-trae-codebase-indexing.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/022-memory-generated-output-support.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/020-memory-model-and-storage.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/019-trae-memory-support-umbrella.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/018-mcp-category-desktop-collab-memory.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/017-mcp-category-repo-data-research.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/016-mcp-category-browser-devtools.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/015-priority-mcp-integrations.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/014-trae-mcp-foundation.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/013-trae-mcp-alignment-umbrella.md Replace AgentKit Forge wording with Retort.
.github/ISSUES/009-doctor-presync-healthcheck.md Update “setup section” naming to Retort.
.github/ISSUES/002-maintenance-coordinator-agent.md Replace AgentKit Forge wording with Retort.
.gitattributes Replace merge-driver block with new Retort-scoped generated section and expanded paths.
.gemini/config.yaml Update generated header/source overlay references.
.cursor/settings.json Update stored brand name to Retort.
.cursor/rules/security.mdc Update generated header/source overlay references.
.cursor/rules/project-context.mdc Add generated header; tweak language profile “Source” value.
.cursor/rules/orchestrate.mdc Update generated header/source overlay references.
.cursor/commands/project-review.md Update generated header + metadata references to Retort.
.cursor/commands/init.md Add new init command template.
.cursor/commands/healthcheck.md Update generated header + metadata references to Retort.
.cursor/commands/handoff.md Update generated header + metadata references to Retort.
.cursor/commands/cicd-optimize.md Add new cicd-optimize command template.
.claude/skills/project-review/SKILL.md Update generated_by/source/orchestration wording to Retort.
.claude/skills/init/SKILL.md Add new init skill.
.claude/skills/healthcheck/SKILL.md Update generated_by/source/orchestration wording to Retort.
.claude/skills/handoff/SKILL.md Update generated_by/source/orchestration wording to Retort.
.claude/plans/tui-entry-point.md Replace AgentKit Forge mention with Retort.
.claude/hooks/warn-uncommitted.sh Update generated header/source overlay references.
.claude/hooks/warn-uncommitted.ps1 Update generated header/source overlay references.
.claude/hooks/stop-build-check.ps1 Update generated header/source overlay references.
.claude/hooks/session-start.sh Update generated header/source overlay references.
.claude/hooks/session-start.ps1 Update generated header/source overlay references; update language-profile line.
.claude/hooks/protect-templates.sh Update generated header/source overlay references.
.claude/hooks/protect-templates.ps1 Update generated header/source overlay references.
.claude/hooks/protect-sensitive.sh Update generated header/source overlay references.
.claude/hooks/protect-sensitive.ps1 Update generated header/source overlay references.
.claude/hooks/pre-push-validate.sh Update generated header/source overlay references.
.claude/hooks/guard-destructive-commands.sh Update generated header/source overlay references.
.claude/hooks/guard-destructive-commands.ps1 Update generated header/source overlay references.
.claude/hooks/budget-guard-check.sh Update generated header/source overlay references.
.claude/commands/project-review.md Update generated_by and wording to Retort.
.claude/commands/healthcheck.md Update generated_by/source overlay references.
.claude/commands/handoff.md Update generated_by/source overlay references.
.ai/windsurfrules Add generated header referencing retort overlay.
.ai/cursorrules Add generated header referencing retort overlay.
.ai/continuerules Add generated header referencing retort overlay.
.ai/README.md Update generated header/source overlay references.
.agents/skills/project-review/SKILL.md Update generated_by/source overlay references.
.agents/skills/init/SKILL.md Add new init skill for Codex agents.
.agents/skills/healthcheck/SKILL.md Update generated_by/source overlay references.
.agents/skills/handoff/SKILL.md Update generated_by/source overlay references.
.agentkit/templates/claude/commands/review.md Fix article grammar (“a Retort template”).
.agentkit/templates/claude/commands/project-review.md Fix article grammar (“a Retort template”).
.agentkit/spec/teams.yaml Replace canonical repo reference with retort.
.agentkit/spec/spec-defaults.yaml Rename header to Retort; add explanatory comment for domains defaulting.
.agentkit/spec/settings.yaml Replace canonical repo reference with retort.
.agentkit/spec/rules.yaml Replace template-protection domain wording with retort.
.agentkit/spec/project.yaml Update identity (name/githubSlug/description), languageProfile mode, and add domains comment block.
.agentkit/spec/features.yaml Replace agentkit-forge mention with retort.
.agentkit/spec/docs.yaml Replace canonical repo reference with retort.
.agentkit/spec/brand.yaml Replace canonical brand reference with retort.
.agentkit/spec/aliases.yaml Replace canonical repo reference with retort.
.agentkit/spec/agents.yaml Add elegance-guidelines documentation + populate for several agents; update wording to retort.
.agentkit/package.json Add agentkit:propose-skill script.
.agentkit/engines/node/src/validate.mjs Add CLI↔spec parity validation; import command registry; adjust generated-header check formatting.
.agentkit/engines/node/src/spec-validator.mjs Allow new command type framework.
.agentkit/engines/node/src/propose-skill.mjs Add new propose-skill helper script.
.agentkit/engines/node/src/doctor.mjs Update merge-driver marker detection to accept legacy AgentKit Forge markers too.
.agentkit/engines/node/src/commands-registry.mjs Add shared VALID_COMMANDS + FRAMEWORK_COMMANDS list.
.agentkit/engines/node/src/cli.mjs Use command registry; re-export VALID_COMMANDS; adjust early-help detection.
.agentkit/engines/node/src/check.mjs Update typecheck command resolution to prefer available package manager; improve warning message.
.agentkit/engines/node/src/tests/fixtures/js-only-project.yaml Add fixture for domain filtering tests.
.agentkit/engines/node/src/tests/fixtures/heuristic-project.yaml Add fixture for heuristic-mode domain filtering tests.
.agentkit/engines/node/src/tests/fixtures/fullstack-project.yaml Add fixture for multi-language domain filtering tests.
.agentkit/engines/node/src/tests/fixtures/explicit-domains-project.yaml Add fixture for explicit domains override tests.
Files not reviewed (4)
  • .claude/worktrees/focused-colden/.agentkit/package-lock.json: Language not supported
  • .claude/worktrees/focused-colden/package-lock.json: Language not supported
  • .claude/worktrees/tender-margulis/.agentkit/package-lock.json: Language not supported
  • .claude/worktrees/tender-margulis/package-lock.json: Language not supported

Comment on lines +38 to +42
function resolveOrgMetaPath() {
return process.env.ORG_META_PATH
? resolve(process.env.ORG_META_PATH)
: resolve(process.env.HOME || process.env.USERPROFILE || '~', 'repos', 'org-meta');
}
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The fallback path uses resolve(... || '~', ...), but Node’s path.resolve() does not expand ~ to the user’s home directory. On systems where neither HOME nor USERPROFILE is set (or in some CI shells), this will incorrectly resolve to a literal ~/repos/org-meta directory under the current working directory. Use os.homedir() as the default home directory source (and keep ORG_META_PATH override).

Copilot uses AI. Check for mistakes.
"agentkit:import-issues": "node engines/node/src/cli.mjs import-issues",
"agentkit:backlog": "node engines/node/src/cli.mjs backlog",
"agentkit:sync-backlog": "node engines/node/src/cli.mjs sync-backlog",
"agentkit:propose-skill": "node engines/node/src/propose-skill.mjs",
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The script name added is agentkit:propose-skill, but the new tool’s own usage text says pnpm ak:propose-skill <skill-name>. This mismatch will lead users to run a non-existent script. Update the usage text in propose-skill.mjs (and any docs) to reference pnpm -C .agentkit agentkit:propose-skill <skill-name> (or add an alias script that matches the documented command).

Suggested change
"agentkit:propose-skill": "node engines/node/src/propose-skill.mjs",
"agentkit:propose-skill": "node engines/node/src/propose-skill.mjs",
"ak:propose-skill": "node engines/node/src/propose-skill.mjs",

Copilot uses AI. Check for mistakes.
githubSlug: phoenixvc/agentkit-forge # e.g. "my-org/my-repo" — used in GitHub URLs (security advisories, etc.)
description: AgentKit Forge framework for multi-tool AI agent team orchestration, sync generation, and quality-gated workflows.
name: retort # e.g. "chaufher", "phoenix", "my-api"
githubSlug: phoenixvc/retort # e.g. "my-org/my-repo" — used in GitHub URLs (security advisories, etc.)
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

Several workflow checks in this PR reference JustAGhosT/retort (e.g. branch-protection + block-agentkit-changes), but project.yaml sets githubSlug: phoenixvc/retort. If githubSlug is used for generated links (security advisories, issue URLs, etc.), this inconsistency will create broken links and incorrect repository targeting. Align githubSlug with the actual repo owner/name used elsewhere (or update the workflows to match).

Suggested change
githubSlug: phoenixvc/retort # e.g. "my-org/my-repo" — used in GitHub URLs (security advisories, etc.)
githubSlug: JustAGhosT/retort # e.g. "my-org/my-repo" — used in GitHub URLs (security advisories, etc.)

Copilot uses AI. Check for mistakes.
Comment on lines +4 to +11
# Reduced to weekly + manual to cut GitHub Actions costs
# Was running on every push/PR including Renovate bot
push:
branches: [main]
branches:
- main
pull_request:
branches: [main]
branches:
- main
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The comment claims CodeQL was reduced to weekly + manual, but push and pull_request triggers remain enabled for main. If the intent is only to reduce Renovate-triggered runs, reword the comment to avoid implying the trigger reduction, or actually remove/adjust the triggers to match the stated behavior.

Copilot uses AI. Check for mistakes.
Comment on lines +27 to 28
if: github.actor != 'renovate[bot]'
runs-on: self-hosted
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

Skipping CodeQL for Renovate PRs means dependency update PRs won’t be scanned until the scheduled run (weekly) or a manual dispatch, which reduces security signal exactly where new vulnerable dependencies may appear. If cost is the driver, consider keeping CodeQL on pull_request but adding paths-ignore/paths to avoid running on non-code changes, or limit Renovate skipping only for low-risk dependency-only changes while still scanning JS/Node source modifications.

Copilot uses AI. Check for mistakes.
Comment on lines 6 to +9
This repository uses the AgentKit Forge unified agent team framework (v3.1.0).

## Language Profile Diagnostics
- Source: mixed (confidence: high)
- Source: configured (confidence: high)
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The generated header and many other files have been rebranded to Retort, but this rule body still claims the repo uses 'AgentKit Forge'. Update the text to 'Retort' for consistency (and to avoid confusing users/agents reading this file).

Copilot uses AI. Check for mistakes.
@@ -1,5 +1,5 @@
/**
* Retort — Validate Command
* AgentKit Forge — Validate Command
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The file header comment says 'AgentKit Forge — Validate Command' while most of the repo changes are rebranding to Retort. This is likely a leftover and will mislead when reading logs/source. Update the header to match the current framework name used elsewhere in this PR.

Suggested change
* AgentKit Forge Validate Command
* Retort Validate Command

Copilot uses AI. Check for mistakes.
Comment on lines +312 to +316
// ─── Phase 10: CLI-spec command parity ─────────────────────────────────
console.log('\n --- CLI-Spec Command Parity ---');
{
// Imported from commands-registry.mjs — single source of truth
const FRAMEWORK_COMMANDS = CLI_FRAMEWORK_COMMANDS;
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

This adds new validation behavior (command parity analysis) that can affect CI output and warnings count, but no corresponding tests are shown for the new decision logic (e.g., what happens when commands.yaml is missing, parse fails, or when FRAMEWORK_COMMANDS intentionally excludes certain CLI commands). Add focused unit tests for Phase 10 parity behavior using small synthetic command sets and fixtures, so regressions surface quickly.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +339 to +342
// CLI commands not in spec and not framework internals — these are gaps
const missingFromSpec = [...CLI_COMMANDS].filter(
(cmd) => !FRAMEWORK_COMMANDS.has(cmd) && !specCommandNames.has(cmd)
);
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

This adds new validation behavior (command parity analysis) that can affect CI output and warnings count, but no corresponding tests are shown for the new decision logic (e.g., what happens when commands.yaml is missing, parse fails, or when FRAMEWORK_COMMANDS intentionally excludes certain CLI commands). Add focused unit tests for Phase 10 parity behavior using small synthetic command sets and fixtures, so regressions surface quickly.

Copilot generated this review using guidance from repository custom instructions.
'tasks',
'delegate',
'features',
'init',
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The comment says these are 'CLI-only … not slash commands', but the set includes init, which this PR also introduces as a prompt/skill/command in multiple targets (i.e., it appears user-facing). Either adjust the comment to reflect the actual intention (e.g., 'commands not required to be in commands.yaml'), or remove truly user-facing commands from FRAMEWORK_COMMANDS so the validate parity check doesn’t masking missing spec entries.

Suggested change
'init',

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants