All notable changes to Synkra AIOX will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Pro artifact install no longer invokes
npx installwhen the installer itself runs throughnpx.- Root cause:
npm_execpathcan point atnpx-cli.jsduringnpx -p @aiox-squads/core aiox install. - Fix: the installer now derives the sibling
npm-cli.jswhen available and otherwise falls back tonpm, so Pro artifact extraction keeps runningnpm install <tgz> --prefix <target>. - This targets Linux installs that authenticated and activated Pro successfully, then failed at content installation with
unexpected argument '--prefix' found.
- Root cause:
@aiox-squads/installerbumped to3.3.8to ship the Pro artifact extraction fix.
- Pro activation errors now surface the real license-server cause instead of opaque
HTTP 403(#775).- Root cause: the installer read
parsed.message/parsed.codeat the response root while the license-server returns the PRO-16 structured envelope undererror. - Fix:
InlineLicenseClientnow reads nestederror.message/error.codefirst, preserves the full envelope, and keeps legacy root-shaped responses compatible. - This restores typed handling for
NOT_A_BUYER,SEAT_LIMIT_EXCEEDED,REVOKED_KEY, and related Pro activation failures.
- Root cause: the installer read
- Pro CLI error rendering is resilient to raw, null, and malformed errors (#775).
- Added safe normalization before rendering user-facing messages.
- Added OS-aware recovery commands so Windows users receive PowerShell-compatible cleanup steps.
@aiox-squads/installerbumped to3.3.7to ship the activation-envelope parser fix.@aiox-squads/aiox-pro-clibumped to0.2.2to ship the Pro CLI error UX bridge.
- This release targets the user-visible install failure where login succeeds, buyer access is confirmed, and activation then prints only
HTTP 403.
- Installer respects
--ci/--yes/--skipPromptsflags at the CLAUDE.md merge prompt — non-interactive runs no longer block waiting for keyboard input (#739 Bug 1, #750).- Root cause:
generateIDEConfigs()callsite never forwarded CI flags down topromptFileExists(). The wizard parsed the flags but the prompt layer never saw them. - Fix: new
isNonInteractive(options)helper checks (in precedence order) explicit options → CI env →AIOX_NON_INTERACTIVEenv →!stdout.isTTY. Plumbing added atindex.js → generateIDEConfigs() → promptFileExists(). Default choice when non-interactive matches the interactive flow's landing default (brownfield + canMerge →merge; else →backup). - Regression coverage: 16 new tests in
tests/installer/ide-config-generator-ci-flags.test.js. Full installer suite: 275/275 pass.
- Root cause:
- Legacy path references aligned with current
.aiox-core/directory layout —@po *validate-story-draftand downstream story-flow tasks no longer reference paths that don't exist (#741, #747).- 70 substitutions across 17 authored files mapping
aiox-core/{templates,checklists,agents,tasks,workflows,agent-teams}/<X>→.aiox-core/{product/templates,product/checklists,development/agents,development/tasks,development/workflows,development/agent-teams}/<X>. Negative-lookbehind regex(?<![\.])preserved already-dotted references.
- 70 substitutions across 17 authored files mapping
- IDS
extractPurpose()priority chain rewritten — registry purpose fields no longer pick up garbage from body text or example transcripts (#748).- Removed body-level regex that matched any
description:/purpose:/summary:occurrence (false-positive on installer example output). - New strict priority: frontmatter
description:→## Purpose→## Overview→# Title→ genericEntity at <path>fallback. Each strategy anchored to its respective markdown construct. - Added
syncSelfRegistryEntry()writing sentinelsha256:<self-reference>for the registry's own record (avoids circular hash) and usingmetadata.lastUpdatedas single source forlastVerified.
- Removed body-level regex that matched any
- IDS placeholder filter (
looksLikePlaceholder()) — 16 garbage purposes ({Brief description...},{{TASK_TITLE}},${context.componentName}, etc) no longer appear inentity-registry.yaml(#749).- Detects whole-string single placeholders, leading-token placeholders, and dominant-interpolation (>30%) cases. Conservative on real prose containing legitimate
{}syntax. - Wired into all 4 strategies in the priority chain; falls through to
Entity at <path>when every strategy yields a placeholder. 12 new unit tests covering positive + negative cases.
- Detects whole-string single placeholders, leading-token placeholders, and dominant-interpolation (>30%) cases. Conservative on real prose containing legitimate
- Internal
.aiox-core/package.jsonrebranded —@aiox-fullstack/core@4.31.1→@aiox-squads/core-internal@5.2.7(private: true; phantom peerDependencies dropped) (#739 Bug 2, #746).- The
-internalsuffix is defensive disambiguation: keeps the internal manifest name-distinct from the surface package for tooling that resolves by name (npm ls, lockfile resolution, dependency graphs). - New
scripts/validate-aiox-core-namespace.js(5-rule gate: file exists, name ends with-internal,private: true, version matches root, no@aiox-fullstack/*peers) wired intovalidate:publishso future drift is blocked before tag push.
- The
docs/guides/installation-troubleshooting.mdIssue 10 — install-side troubleshooting forInstalled Pro artifact did not create node_modules/@aiox-squads/pro, with 3 OS variants (macOS/Linux/Windows). Two-tier recovery: simple retry first, then cache cleanup + residual install removal if state is fouled (#745).docs/guides/aiox-pro-access.md— explicit entry in "Erros comuns" linking to Issue 10 (#745)..aiox-core/development/tasks/publish-npm.md+.aiox-core/development/tasks/release-management.mdconverted to slim wrappers pointing at canonicaldocs/guides/release-procedure.mdSOP (net −979/+108 lines; single source of truth) (#745)..aiox-core/development/agents/devops.md— "Release Procedure (NON-NEGOTIABLE Reference)" section directs release/push/publish invocations to the SOP (#745).scripts/validate-aiox-core-namespace.js— 5-rule namespace drift gate enforcing-internalsuffix,private: true, version-match-root, no@aiox-fullstack/*peers, manifest exists. Wired intovalidate:publish(whichprepublishOnlychains) (#746).
docs/guides/release-procedure.md— Version bump section now lists 5 sites (was 4): rootpackage.json,compat/aiox-core/package.json(version + dep),packages/installer/package.json(when installer src changed),.aiox-core/package.json(lockstep with root pervalidate-aiox-core-namespace.js),package-lock.jsonrefresh. The 5th site became mandatory in 5.2.7 — first release publishing under the new namespace-drift gate.
- Pipeline hardening from PR #744 (race condition fix between
publish_legacy_aiox_coreandpublish, smoke timeout 90s→240s with dual visibility check, structured notify summary distinguishing hard vs soft fails, Windows path escape viaWORKSPACE_DIRenv var ininstaller-smoke-matrix.yml) is already in production since 5.2.6 — this release does not change those workflows. - The
--ci/--yesfix (Bug 1) directly benefits students runningnpx aiox-core@latest install --ci --yes --merge --ide claude-codein CI/CD pipelines. Theprintf '\n\n\n' | npx ...workaround is no longer required. @aiox-squads/installer@3.3.6ships alongside this release (PR #750 touchedpackages/installer/src/wizard/).@aiox-squads/aiox-installand@aiox-squads/aiox-pro-cliare unchanged.
- Pro installer no longer fails with
Installed Pro artifact did not create node_modules/@aiox-squads/prowhenaiox installruns in a directory that sits beneath an ancestor with apackage.jsonor a declaredworkspaces:array (#742).- Root cause:
npm install <tgz>walked the directory tree and resolved to the ancestor instead of the chosen target. - Fix: pass
--prefix=<targetDir> --workspaces=false --include-workspace-root=false; create a synthetic anchorpackage.jsonwhen the target is empty and clean it up afterwards; fall back to the sha256-verified Pro source from the temp cache if the target install still fails, with an explicit user-facing warning.
- Root cause:
- Improved diagnostic when an installer failure does occur: the error message now reports where npm actually placed the artifact (when detectable) so students can recover quickly.
tests/installer/pro-setup-target-install.test.js— 8 regression tests covering the four real install topologies (empty target, ancestor withworkspaces:, ancestor with plainpackage.json, target with its ownpackage.json), the synthetic anchor cleanup, the diagnostic helper, and the graceful-fallback contract..github/workflows/installer-smoke-matrix.yml— pre-publish CI matrix (Ubuntu/macOS/Windows × Node 18/20/22 × npm 10/11/bundled) running the regression suite plus three end-to-end smoke installs.
- Students hit by the original error can update via
npx -y -p @aiox-squads/core@latest aiox install. The fresh-directory workaround (mkdir ~/aiox-pro && cd ~/aiox-pro) is no longer required.
- Renamed the root package from
aiox-coreto@aiox-squads/core. - Preserved the
aiox-coreCLI command while moving npm installation to the@aiox-squadsnamespace. - Added publish validation for scoped package tarballs and installed-project skills smoke coverage.
@aiox-squads/core@5.1.0is the successor publish foraiox-core@5.0.7; the version bump marks the namespace migration without a major runtime break.
- Squad agent commands are now automatically installed to active IDEs during pro scaffolding (
installSquadCommands). - Supports Claude Code (
.claude/commands/{squad}/), Codex CLI (.codex/agents/), Gemini CLI (.gemini/rules/{squad}/), and Cursor (.cursor/rules/). - Installed files are tracked in
pro-installed-manifest.yamlandpro-version.json.
- Handle
ALREADY_ACTIVATEDlicense status gracefully instead of throwing error. - Fix error envelope parsing in pro license client — correctly extracts error messages from API responses.
- Pass
targetDircorrectly torunProWizard— fixes pro install failing in non-CWD projects. - Surface pro install errors to user instead of silently swallowing them.
- Exclude
mmos-squad(private) from pro scaffolding viaSCAFFOLD_EXCLUDES. - Merge
pro-config.yamlsections intocore-config.yamlduring pro install (mergeProConfig).
- Pro wizard (
npx aiox-core install) now auto-installs@aiox-fullstack/propackage during Step 2, fixing "Pro package not found" error in greenfield and brownfield projects. - Greenfield projects without
package.jsonnow getnpm init -yautomatically before pro install. - Removed unused
headingsimport inpro-setup.js.
docs/glossary.mdwith official AIOX taxonomy terms:squadflow-stateconfidence gateexecution profile
scripts/semantic-lint.jsfor semantic terminology regression checks.tests/unit/semantic-lint.test.jsfor semantic lint rule validation.
- CI now includes a
Semantic Lintjob (npm run validate:semantic-lint). - Pre-commit markdown pipeline now runs semantic lint through
lint-staged.
- Deprecated terminology replacements:
expansion pack->squadpermission mode->execution profileworkflow state->flow-state(warning-level migration)
This release introduces Squad Continuous Improvement capabilities with analyze and extend commands, plus a massive codebase cleanup removing 116K+ lines of deprecated content.
*analyze-squadcommand - Analyze squad structure, coverage, and get improvement suggestions*extend-squadcommand - Add new components (agents, tasks, workflows, etc.) incrementally- New Scripts:
squad-analyzer.js- Inventory and coverage analysissquad-extender.js- Component creation with templates
- 8 Component Templates:
agent-template.md,task-template.md,workflow-template.yamlchecklist-template.md,template-template.mdtool-template.js,script-template.js,data-template.yaml
- New Tasks:
squad-creator-analyze.mdsquad-creator-extend.md
- Fixed ESLint warnings in 5 core files
- Removed 284 deprecated files (~116,978 lines deleted)
- Cleaned
.github/deprecated-docs/directory - Removed obsolete backup files
- ESLint
_errorvariable warnings in test utilities - Context loader error handling improvements
Previous release with WIS and SQS features.
This release marks the Open-Source Community Readiness milestone, preparing AIOX for public contribution while introducing the Squad System for extensibility.
-
Legal Foundation (OSR-3)
PRIVACY.md/PRIVACY-PT.md- Privacy policies (EN/PT)TERMS.md/TERMS-PT.md- Terms of use (EN/PT)CODE_OF_CONDUCT.md- Community guidelines with contact info
-
Community Process (OSR-6)
- Feature request templates and triage process
- Issue labeling standards
-
Public Roadmap (OSR-7)
- Public roadmap documentation
- Community visibility into planned features
-
Squads Guide (OSR-8)
- Comprehensive guide for creating community squads
- Examples and best practices
-
Rebranding to Synkra (OSR-9)
- Brand investigation complete
- Namespace updated to SynkraAI
-
Release Checklist (OSR-10)
- GitHub configuration validated
- CodeQL security scanning active (30+ alerts addressed)
- Branch protection rules configured
- Smoke test passed on clean clone
-
Squad Designer Agent (SQS-9)
- New
@squad-creatoragent for guided squad creation - Interactive wizard with
*create-squadcommand - AI-powered naming and structure suggestions
- New
-
Squad Loader Utility (SQS-2)
- Local squad resolution from
./squads/directory - Simplified loading without complex caching
- Local squad resolution from
-
Squad Validator + Schema (SQS-3)
- JSON Schema for squad manifest validation
*validate-squadcommand for compliance checking
-
Squad Creator Tasks (SQS-4)
*create-squad- Interactive squad creation*validate-squad- Manifest validation*list-squads- Local squad discovery
-
Documentation Integrity System (6.9)
- Automated cross-reference validation
- Link checking in CI pipeline
-
MCP Governance Consolidation (6.14)
- Unified MCP configuration rules
.claude/rules/mcp-usage.mdguidance
-
Agent Config Path Fix (6.15)
- Resolved path resolution issues across platforms
-
Scripts Path Consolidation (6.16)
- Standardized script locations under
.aiox-core/scripts/
- Standardized script locations under
-
Semantic Release Automation (6.17)
- Automated versioning on merge to main
- Conventional commit parsing
- Automatic CHANGELOG generation
-
Agent Command Rationalization (Story 6.1.2.3)
- Command consolidation:
aiox-master44→30 commands (32% reduction) - Command consolidation:
data-engineer31→28 commands (9.7% reduction) - New consolidated tasks:
security-audit,analyze-performance,test-as-user,setup-database - Migration guide:
docs/guides/command-migration-guide.md - Agent selection guide:
docs/guides/agent-selection-guide.md
- Command consolidation:
-
Dynamic Project Status Context (Story 6.1.2.4)
- Git branch, modified files, and recent commits shown in agent greetings
- Current story and epic detection from
docs/stories/ - 60-second cache mechanism (<100ms first load, <10ms cached)
- Cross-platform support (Windows/Linux/macOS)
- Agent Delegation Guidance - All agents now include "NOT for" sections in
whenToUse - PR Title Format - DevOps
*create-prnow generates Conventional Commits format titles - Scripts Location - Consolidated under
.aiox-core/scripts/for consistency - MCP Configuration - Unified rules in
.claude/rules/mcp-usage.md
- Agent Config Paths (6.15) - Resolved path resolution issues on Windows
- Script References (6.16) - Fixed broken script imports across agents
- CodeQL Scanning - Active with 30+ alerts reviewed
- Branch Protection - Enabled on main (1 approver, dismiss stale reviews)
- Squads Guide - Complete guide for community squad creation
- Feature Process - Templates and triage workflow documented
- Public Roadmap - Community visibility into planned features
- Legal Documents - Privacy policy, Terms of Use (EN/PT)
- Private squads - Moved to separate private repository (
aiox-squads)- Removed
squads/creator/(CreatorOS) - Removed
squads/innerlens/ - Removed
squads/mmos-mapper/ - Removed
squads/aiox-infrastructure-devops/ - Removed
squads/meeting-notes/ - Repository: https://github.com/SynkraAI/aiox-squads (PRIVATE)
- Removed
- Internal development tools - Moved to separate private repository (
aiox-dev-tools)- Removed analysis scripts:
analyze-batches.js,analyze-decision-patterns.js,analyze-epic3.js, etc. - Removed consolidation scripts:
consolidate-entities.js,consolidate-results.js, etc. - Removed extraction scripts:
extract-all-claude-backups.js,extract-claude-history.js - Removed generation scripts:
generate-entity-summary.js,generate-entity-table.js - Repository: https://github.com/SynkraAI/aiox-dev-tools (PRIVATE)
- Removed analysis scripts:
- hybrid-ops squad - Moved to separate repository for independent maintenance
- Removed
squads/hybrid-ops/directory - Removed
.hybrid-ops/directory - Updated
core-config.yamlto reference external repository - Updated
install-manifest.yaml(removed 47 file entries) - Repository: https://github.com/SynkraAI/aiox-hybrid-ops-pedro-valerio
- Removed
- README.md - hybrid-ops now listed under "Squads Externos"
- Squad can now be installed independently via GitHub
- Squad naming convention - Applied consistent
{agent-id}-prefix to agent-specific tasks across all 6 squads- ETL pack: 4 tasks renamed (youtube-specialist, social-specialist, web-specialist)
- Creator pack: 4 tasks already renamed (pre-existing migration)
- Innerlens pack: 4 tasks renamed (fragment-extractor, psychologist, quality-assurance)
- Mmos-mapper pack: 7 tasks renamed (cognitive-analyst, research-specialist, system-prompt-architect, emulator, mind-pm)
- Aiox-infrastructure-devops pack: 2 tasks already renamed (pre-existing)
- Meeting-notes pack: 1 task already renamed (pre-existing)
- All agent dependencies updated to reference new task names
- Shared tasks correctly have NO prefix (conservative approach)
- Story: 4.6 - Move Hybrid-Ops to Separate Repository
- Breaking Change: hybrid-ops no longer bundled with aiox-core
- Migration: Users can install from external repo to
squads/hybrid-ops/ - Story: 4.7 - Removed
squads/hybrid-ops.legacy/directory (legacy backup no longer needed) - Story: 4.5.3 - Squads Naming Convention Migration
- Applied naming convention from Story 4.5.2 to all 6 squads
- Total: 15 tasks renamed (11 new + 4 pre-existing)
- 18 agent files updated with new dependencies
- Validation: 100% compliance, 0 broken references
- NPX temporary directory detection with defense-in-depth architecture
- PRIMARY detection layer in
tools/aiox-npx-wrapper.jsusing__dirname - SECONDARY fallback detection in
tools/installer/bin/aiox.jsusingprocess.cwd() - User-friendly help message with chalk styling when NPX temp directory detected
- Regex patterns to identify macOS NPX temporary paths (
/private/var/folders/.*/npx-/,/.npm/_npx/) - JSDoc documentation for NPX detection functions
- NPX installation from temporary directory no longer attempts IDE detection
- Clear error message guides users to correct installation directory
- Prevents confusion when running
npx aiox-core installfrom home directory
- Early exit with
process.exit(1)when NPX temporary context detected - Help message provides actionable solution:
cd /path/to/your/project && npx aiox-core install
- Story: 2.3 - NPX Installation Context Detection & Help Text (macOS)
- Defense in depth: Two independent detection layers provide redundancy
- macOS-specific implementation (other platforms unaffected)
- Non-breaking change (patch version)
(Previous changelog entries to be added)