Skip to content

Releases: Fisherk2/codice-opencode

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Aug 07:27
ace066e

Added

  • Review fixes from /ship v1.2.0-beta.1: All observations from the 4-persona ship review addressed:
    • Security: CODICE_BYPASS_URL_VALIDATION is now gated behind NODE_ENV=test so the URL-validation escape hatch can never be active in production (src/infrastructure/config/constants.ts). Coordinated with the 4 E2E scripts and tests/integration/cli/main.test.ts that set it.
    • Path safety: withTrailingSeparator("/") now returns the filesystem root unchanged instead of producing // (src/infrastructure/adapters/pathResolver.ts).
    • Perf: FileMergeEngine.execute() only allocates the optional-path list when standard directory rules exist; staging cleanup now also runs when nothing was staged (total === 0).
    • Comments: Untrusted-input note for .codice-version parsing in UpdateWorkspaceUseCase; empty catch in safeEmit documented as intentional; PROGRESS_EMITTERS comment corrected.
    • Tests: Direct unit tests added for isPathWithin/withTrailingSeparator (tests/unit/adapters/path-resolver.test.ts) and isRuleSelected (tests/unit/domain/file-rule-manifest.test.ts); unused _makeRule helper removed from tests/integration/use-cases/update-granularity.test.ts.
  • Dependencies: @biomejs/biome 2.5.3 → 2.5.6, @types/semver 7.7.1 → 7.8.0 (TypeScript 6.x deferred — 7.x not yet adopted).
  • ADR-011: Binary Removal — documents the architectural decision (see specs/adr/adr-011-binary-removal.md)
  • tests/e2e/codice.sh: Wrapper script for bun run src/cli/main.ts in E2E tests
  • FEV-13 — SDD Plugin Auto-Discovery (Issue #53): 6 hardcoded maps extracted to autoDiscovery.tsCOMMAND_AGENT_MAP, VALID_SUBAGENTS, and AGENT_MENTION_PATTERNS now detected automatically from filesystem (commands/*.md, agents/*.md). New files: autoDiscovery.ts (182 lines), destructivePatterns.ts, normalizeBash.ts. See ADR-013.
  • FEV-13 — Config-Driven Plugin Behavior (Issue #53): INTENT_PATTERNS, COMMAND_PHASE_MAP, PHASE_SUGGESTIONS moved to defaults.ts with optional opencode.json sddPipeline section override. Plugin works without config (backward compatible).
  • FEV-14 — Progress bar during installation (Issue #47): ProgressEvent discriminated union (6 variants: stage_start, stage_complete, stage_skip, commit_start, commit_complete, error) in Domain layer. ProgressCallback optional on IFileMergeEngine.execute(). ClackPromptsAdapter implements clack.progress() (heavy style) with showProgressBar(total, label), updateProgress(current, filePath), completeProgress(). logProgressEvent(message) dispatches by category prefix: commit: → success, symlink: → success, gitignore: → info, error: → error, skip: → warn. Visible in all three modes (Clean, Project, Update).
  • FEV-14 — New /help slash command for onboarding (Issue #56): Interactive help menu with 6 options — discover Códice, start a new project, update workspace, learn the SDD cycle, list all 13 commands, troubleshoot issues. Assigned to Huitzilopochtli. Template: template/obligatorio/commands/help.md (63 lines).
  • FEV-14 — /help registered in pipeline maps: Added to COMMAND_AGENT_MAP, INTENT_PATTERNS (15 EN/ES keywords), COMMAND_PHASE_MAP (idle), and PHASE_SUGGESTIONS in defaults.ts.
  • FEV-14 — Spec/ADR templates with industry formats: MADR v4.0 ADR template (template/estandar/specs/adr/adr-template.md) and RFC-based spec template (template/estandar/specs/spec-template.md) replace previous placeholders.
  • FEV-14 — 14 new integration tests for progress events, structured logs, and adapter methods.
  • FEV-14 — E2E test extended with progress assertions (commit/symlink messages in stdout).
  • FEV-15 — Project Code of Conduct (Issue #55): CODE_OF_CONDUCT.md added to repo root, adapted from Contributor Covenant v2.1. Contact: dev@fisherk2.com.
  • FEV-15 — Template Code of Conduct: template/estandar/CODE_OF_CONDUCT.md created as a customizable placeholder. Includes 2 placeholders ([PROJECT_NAME], [CONTACT_EMAIL]).
  • FEV-15 — Manifest integration: CODE_OF_CONDUCT.md registered in FileRuleManifestData.ts with category: "standard" (11 standard files, was 10).
  • FEV-15 — Cross-references: CONTRIBUTING.md and README.md updated with ## Code of Conduct sections.
  • FEV-15 — E2E test extension: tests/e2e/01-clean-install.sh asserts CODE_OF_CONDUCT.md delivery and content.
  • FEV-16 — Pre-release Tech Debt Closure: Resolves 5 TECH_DEBT.md items (TD-1.1, TD-2.1, TD-5.1, TD-5.2, TD-6.2):
    • Coverage foundation: resolveInteractiveMode() extracted from main.ts for testability. 9 new unit tests. main.ts coverage 86.21% → 98.90%.
    • Use case refactor: Template Method pattern applied to CleanInstallUseCase + ProjectInstallUseCase. New InstallUseCaseBase abstract class. 166+147 → 73+72 lines.
    • Performance benchmarks: just bench recipe with hyperfine for 3 installation modes. 3 standalone benchmark scripts + assert-no-regression.sh for SC-9/10/11 verification.
    • Update granularity: Tree-level diff (diffTrees()) for standard directories. FileMergeEngine updated to stage only new files in update mode. 11 unit + 3 integration + 1 E2E test.
    • Coverage instrumentation: c8 evaluated (incompatible with Bun/JSC). Native Bun coverage used with 95% CI gate. main.ts 98.90%, overall 98.10%.
  • /test command: now ensures a test/ directory exists with unit/, integration/, and e2e/ subdirectories; if test/ exists but is not separated, prompts the user (via question) whether to refactor and standardize existing tests into those three directories (per @skills/test-driven-development/SKILL.md test-pyramid convention).
  • /ship command: adds a post-Phase-C incremental-fix phase that resolves all review observations one at a time using @skills/incremental-implementation/SKILL.md, verifies all tests pass, then creates atomic commits with descriptive messages (matching /code-simplify and /test conventions).

Changed

  • BREAKING: Binary compilation removed. The only installation method is now bunx @fisherk2-dev/codice (or npx @fisherk2-dev/codice). Compiled binaries are no longer produced or distributed. Users in air-gapped environments can use npm pack to download the tarball. See ADR-011 for migration details.
  • FEV-12 (References Restructuring): 59 reference files moved from centralized template/obligatorio/references/ to skills/<name>/references/ for co-location with their primary skill. opencode.json now includes a references section with 3 example entries (local path + 2 remote repos). docs/WORKFLOW.md and docs/TECH_DEBT.md removed from instructions array. Agent models updated: huitzilopochtli → deepseek-v4-flash, moctezuma steps 20→30, tlaloc steps 90→100. docs-mcp-server removed; codebase-memory-mcp added (disabled by default). See ADR-012.
  • FEV-13 — Wiki Rewrite (Issue #51): 8 Wiki pages rewritten for end users — removed all "edit sdd-pipeline.ts" references. Instructions now direct users to create agents/my-agent.md, commands/my-command.md, skills/my-skill/SKILL.md instead.
  • FEV-13 — Quality Infrastructure (Issue #53): Biome config extended to plugin directories. Justfile targets added: check-plugin, test-plugin-unit, test-plugin-integration. Plugin test suites: tests/plugin/unit/, tests/plugin/integration/.
  • FEV-13 — Documentation Reduction (Issue #51): WORKFLOW.md, CHANGELOG.md, SPEC.md audited and trimmed to target line counts (<300, <350, <400 respectively).
  • FEV-14 — DRY extraction — createProgressCallback() helper: Duplicated ~30-line progress callback (3 copies × 30 lines = ~90 lines) extracted to shared createProgressCallback(userPrompt, label) in src/application/helpers.ts. All 3 use cases now call the shared helper (each reduced by ~28 lines).
  • FEV-14 — Symlink/gitignore log events moved to postInstall.ts: Log events (symlink: Created .opencode/agents, gitignore: Generated .gitignore) now emit AFTER each operation completes in runPostInstallSteps(), not predicted before. Fixes false success on failure.
  • FEV-14 — 13 command files updated with explicit subagent delegation patterns (sequential only, never parallel).
  • SC-15: Updated to "npm package (tarball) size < 5MB" (previous SC-15 about compiled binaries removed)
  • ARCHITECTURE.md: Added ADR-011 to ADR table
  • FEV-15 — FileRuleManifestData delivery surface: 1 new entry in FileRuleManifestData.ts (now tracks 11 standard files, was 10).
  • FEV-16 — FileMergeEngine: Tree-level diff replaces directory-level skip. Standard rules in update mode now deliver new files.
  • FEV-16 — CleanInstallUseCase / ProjectInstallUseCase: Reduced from 313 → 145 lines (-168) via Template Method.
  • FEV-16 — Coverage thresholds: CI now enforces ≥95% lines/functions (was unenforced).
  • FEV-16 — main.ts: runMode restructured from switch to if/else for complete branch coverage.
  • FEV-16 — Code review simplifications: stageOne() extraction, stagePlanner total folding, walkRelative helper, resolveInteractiveMode return type narrowed, promptForMode async removed.
  • FEV-17 — Code simplification pass (Issue #53):
    • IFileMergeEngine.execute accepts MergeExecuteOptions object instead of positional params (improves call-site readability).
    • FileRuleManifest.isRuleSelected shared optional-filter predicate extracted from CleanInstallUseCase and ProjectInstallUseCase.
    • Test-only dead surface removed: IUserPrompt.showSpinner/stopSpinner, IGitHubClient.getLatestReleaseNotes, `IVersionComparator.isUpdateAvailable/g...
Read more

v1.2.0-beta.2

v1.2.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Aug 00:17
782c16d

Added

  • /test command: now ensures a test/ directory exists with unit/, integration/, and e2e/ subdirectories; if test/ exists but is not separated, prompts the user (via question) whether to refactor and standardize existing tests into those three directories (per @skills/test-driven-development/SKILL.md test-pyramid convention).
  • /ship command: adds a post-Phase-C incremental-fix phase that resolves all review observations one at a time using @skills/incremental-implementation/SKILL.md, verifies all tests pass, then creates atomic commits with descriptive messages (matching /code-simplify and /test conventions).

v1.2.0-beta.1

v1.2.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Aug 20:51
8b548ff

Added

  • Review fixes from /ship v1.2.0-beta.1: All observations from the 4-persona ship review addressed:
    • Security: CODICE_BYPASS_URL_VALIDATION is now gated behind NODE_ENV=test so the URL-validation escape hatch can never be active in production (src/infrastructure/config/constants.ts). Coordinated with the 4 E2E scripts and tests/integration/cli/main.test.ts that set it.
    • Path safety: withTrailingSeparator("/") now returns the filesystem root unchanged instead of producing // (src/infrastructure/adapters/pathResolver.ts).
    • Perf: FileMergeEngine.execute() only allocates the optional-path list when standard directory rules exist; staging cleanup now also runs when nothing was staged (total === 0).
    • Comments: Untrusted-input note for .codice-version parsing in UpdateWorkspaceUseCase; empty catch in safeEmit documented as intentional; PROGRESS_EMITTERS comment corrected.
    • Tests: Direct unit tests added for isPathWithin/withTrailingSeparator (tests/unit/adapters/path-resolver.test.ts) and isRuleSelected (tests/unit/domain/file-rule-manifest.test.ts); unused _makeRule helper removed from tests/integration/use-cases/update-granularity.test.ts.
  • Dependencies: @biomejs/biome 2.5.3 → 2.5.6, @types/semver 7.7.1 → 7.8.0 (TypeScript 6.x deferred — 7.x not yet adopted).
  • ADR-011: Binary Removal — documents the architectural decision (see specs/adr/adr-011-binary-removal.md)
  • tests/e2e/codice.sh: Wrapper script for bun run src/cli/main.ts in E2E tests
  • FEV-13 — SDD Plugin Auto-Discovery (Issue #53): 6 hardcoded maps extracted to autoDiscovery.tsCOMMAND_AGENT_MAP, VALID_SUBAGENTS, and AGENT_MENTION_PATTERNS now detected automatically from filesystem (commands/*.md, agents/*.md). New files: autoDiscovery.ts (182 lines), destructivePatterns.ts, normalizeBash.ts. See ADR-013.
  • FEV-13 — Config-Driven Plugin Behavior (Issue #53): INTENT_PATTERNS, COMMAND_PHASE_MAP, PHASE_SUGGESTIONS moved to defaults.ts with optional opencode.json sddPipeline section override. Plugin works without config (backward compatible).
  • FEV-14 — Progress bar during installation (Issue #47): ProgressEvent discriminated union (6 variants: stage_start, stage_complete, stage_skip, commit_start, commit_complete, error) in Domain layer. ProgressCallback optional on IFileMergeEngine.execute(). ClackPromptsAdapter implements clack.progress() (heavy style) with showProgressBar(total, label), updateProgress(current, filePath), completeProgress(). logProgressEvent(message) dispatches by category prefix: commit: → success, symlink: → success, gitignore: → info, error: → error, skip: → warn. Visible in all three modes (Clean, Project, Update).
  • FEV-14 — New /help slash command for onboarding (Issue #56): Interactive help menu with 6 options — discover Códice, start a new project, update workspace, learn the SDD cycle, list all 13 commands, troubleshoot issues. Assigned to Huitzilopochtli. Template: template/obligatorio/commands/help.md (63 lines).
  • FEV-14 — /help registered in pipeline maps: Added to COMMAND_AGENT_MAP, INTENT_PATTERNS (15 EN/ES keywords), COMMAND_PHASE_MAP (idle), and PHASE_SUGGESTIONS in defaults.ts.
  • FEV-14 — Spec/ADR templates with industry formats: MADR v4.0 ADR template (template/estandar/specs/adr/adr-template.md) and RFC-based spec template (template/estandar/specs/spec-template.md) replace previous placeholders.
  • FEV-14 — 14 new integration tests for progress events, structured logs, and adapter methods.
  • FEV-14 — E2E test extended with progress assertions (commit/symlink messages in stdout).
  • FEV-15 — Project Code of Conduct (Issue #55): CODE_OF_CONDUCT.md added to repo root, adapted from Contributor Covenant v2.1. Contact: dev@fisherk2.com.
  • FEV-15 — Template Code of Conduct: template/estandar/CODE_OF_CONDUCT.md created as a customizable placeholder. Includes 2 placeholders ([PROJECT_NAME], [CONTACT_EMAIL]).
  • FEV-15 — Manifest integration: CODE_OF_CONDUCT.md registered in FileRuleManifestData.ts with category: "standard" (11 standard files, was 10).
  • FEV-15 — Cross-references: CONTRIBUTING.md and README.md updated with ## Code of Conduct sections.
  • FEV-15 — E2E test extension: tests/e2e/01-clean-install.sh asserts CODE_OF_CONDUCT.md delivery and content.
  • FEV-16 — Pre-release Tech Debt Closure: Resolves 5 TECH_DEBT.md items (TD-1.1, TD-2.1, TD-5.1, TD-5.2, TD-6.2):
    • Coverage foundation: resolveInteractiveMode() extracted from main.ts for testability. 9 new unit tests. main.ts coverage 86.21% → 98.90%.
    • Use case refactor: Template Method pattern applied to CleanInstallUseCase + ProjectInstallUseCase. New InstallUseCaseBase abstract class. 166+147 → 73+72 lines.
    • Performance benchmarks: just bench recipe with hyperfine for 3 installation modes. 3 standalone benchmark scripts + assert-no-regression.sh for SC-9/10/11 verification.
    • Update granularity: Tree-level diff (diffTrees()) for standard directories. FileMergeEngine updated to stage only new files in update mode. 11 unit + 3 integration + 1 E2E test.
    • Coverage instrumentation: c8 evaluated (incompatible with Bun/JSC). Native Bun coverage used with 95% CI gate. main.ts 98.90%, overall 98.10%.

Changed

  • BREAKING: Binary compilation removed. The only installation method is now bunx @fisherk2-dev/codice (or npx @fisherk2-dev/codice). Compiled binaries are no longer produced or distributed. Users in air-gapped environments can use npm pack to download the tarball. See ADR-011 for migration details.
  • FEV-12 (References Restructuring): 59 reference files moved from centralized template/obligatorio/references/ to skills/<name>/references/ for co-location with their primary skill. opencode.json now includes a references section with 3 example entries (local path + 2 remote repos). docs/WORKFLOW.md and docs/TECH_DEBT.md removed from instructions array. Agent models updated: huitzilopochtli → deepseek-v4-flash, moctezuma steps 20→30, tlaloc steps 90→100. docs-mcp-server removed; codebase-memory-mcp added (disabled by default). See ADR-012.
  • FEV-13 — Wiki Rewrite (Issue #51): 8 Wiki pages rewritten for end users — removed all "edit sdd-pipeline.ts" references. Instructions now direct users to create agents/my-agent.md, commands/my-command.md, skills/my-skill/SKILL.md instead.
  • FEV-13 — Quality Infrastructure (Issue #53): Biome config extended to plugin directories. Justfile targets added: check-plugin, test-plugin-unit, test-plugin-integration. Plugin test suites: tests/plugin/unit/, tests/plugin/integration/.
  • FEV-13 — Documentation Reduction (Issue #51): WORKFLOW.md, CHANGELOG.md, SPEC.md audited and trimmed to target line counts (<300, <350, <400 respectively).
  • FEV-14 — DRY extraction — createProgressCallback() helper: Duplicated ~30-line progress callback (3 copies × 30 lines = ~90 lines) extracted to shared createProgressCallback(userPrompt, label) in src/application/helpers.ts. All 3 use cases now call the shared helper (each reduced by ~28 lines).
  • FEV-14 — Symlink/gitignore log events moved to postInstall.ts: Log events (symlink: Created .opencode/agents, gitignore: Generated .gitignore) now emit AFTER each operation completes in runPostInstallSteps(), not predicted before. Fixes false success on failure.
  • FEV-14 — 13 command files updated with explicit subagent delegation patterns (sequential only, never parallel).
  • SC-15: Updated to "npm package (tarball) size < 5MB" (previous SC-15 about compiled binaries removed)
  • ARCHITECTURE.md: Added ADR-011 to ADR table
  • FEV-15 — FileRuleManifestData delivery surface: 1 new entry in FileRuleManifestData.ts (now tracks 11 standard files, was 10).
  • FEV-16 — FileMergeEngine: Tree-level diff replaces directory-level skip. Standard rules in update mode now deliver new files.
  • FEV-16 — CleanInstallUseCase / ProjectInstallUseCase: Reduced from 313 → 145 lines (-168) via Template Method.
  • FEV-16 — Coverage thresholds: CI now enforces ≥95% lines/functions (was unenforced).
  • FEV-16 — main.ts: runMode restructured from switch to if/else for complete branch coverage.
  • FEV-16 — Code review simplifications: stageOne() extraction, stagePlanner total folding, walkRelative helper, resolveInteractiveMode return type narrowed, promptForMode async removed.
  • FEV-17 — Code simplification pass (Issue #53):
    • IFileMergeEngine.execute accepts MergeExecuteOptions object instead of positional params (improves call-site readability).
    • FileRuleManifest.isRuleSelected shared optional-filter predicate extracted from CleanInstallUseCase and ProjectInstallUseCase.
    • Test-only dead surface removed: IUserPrompt.showSpinner/stopSpinner, IGitHubClient.getLatestReleaseNotes, IVersionComparator.isUpdateAvailable/getReleaseType/ReleaseType, IStagingSystem.getStagingPath, IFileSystem.readTemplateFile (447 lines, 29 files).
    • pathResolver.withTrailingSeparator and isPathWithin shared helpers; TemplateResolver, BunSymlinkCreator, BunGitignoreCreator refactored to use them.
    • GitHubRestClient outer try/catch removed (redundant after domain error mapping).
    • ClackPromptsAdapter.selectOptional redundant as string[] cast removed.
    • BunSymlinkCreator verbose log now reports resolvedLinkPath (actual created path).
    • Plugin configLoader.ts 226→88 lines; extracted mergeConfig.ts (159 lines) for config merging helpers.
    • P...
Read more

v1.1.3

Choose a tag to compare

@github-actions github-actions released this 11 Jul 19:00
4ab84f2

Fixed

  • Windows EPERM in destinationExists() (commit 86cb31e): On Windows, fs.access() throws EPERM instead of EACCES when a directory has restricted permissions (e.g. chmod 0o000). Now both EACCES and EPERM are treated as "path exists but unreadable", returning true so staging surfaces the real error downstream. Fixes CI failure on windows-latest runner.

v1.1.2

Choose a tag to compare

@github-actions github-actions released this 11 Jul 18:21
a91ed36

Changed

  • confirmOverwrite() DRY extraction (commits ede8389, bd17d3b, eaf5c5d): Shared helper extracted from duplicated confirmation logic in CleanInstallUseCase, ProjectInstallUseCase, and UpdateWorkspaceUseCase. Eliminates ~40 lines of duplicated guard code (force → isEmpty → prompt → cancel). All 3 use cases now delegate to the same helper.
  • VERSION module extraction (commit eaf5c5d): Architectural fix — VERSION constant moved from output.ts (presentation layer) to neutral src/cli/version.ts. container.ts (DI wiring) and output.ts now both import from the neutral module, removing an import across layer boundaries.
  • GitHubRestClient error handling simplification (commits da30dce57e075a): Consolidated separate 404/403/other HTTP error branches into a single if (!response.ok) return null. Removed dead AbortError branch — both abort and network-error paths returned the same null. Comment documents the design rationale.
  • AtomicStager I/O primitive change (commit eaf5c5d): Switched from Bun.file(source).text() + Bun.write(dest, content) to fs.copyFile(source, dest) for staging template files. Kernel-level copy avoids loading entire files into JavaScript heap, preventing OOM on large templates and improving cross-device safety.
  • BunSymlinkCreator path normalization (commit eaf5c5d): Extracted rootWithSep local variable for consistent prefix matching (used twice). Matches the pathResolver.ts:22 pattern.
  • FileRuleManifestData comment condensation (commit eaf5c5d): 3 verbose NOTE blocks (~30 lines) shortened to concise ADR references (~5 lines). Historical context preserved in ADRs.

Fixed

  • Windows system directory validation (commit c0842ae): Path prefix matching used hardcoded / which is never produced by path.normalize() on Windows (uses \). Fixed to path.sep. Also added missing system directories: C:\ProgramData, C:\Users. Added bare drive root check (/^[A-Z]:\\?$/i) covering D:\, E:\, etc.
  • AtomicStager backup detection consistency (commits 2d7496f3d693b4): Bun.file().exists() returns false for directories — switched to fs.access() in both renameStagedFile and restoreBackups. Same bug class as FEV-3 Issue #2.
  • restoreBackups Bun.file().exists() (ship review fix): Remaining Bun.file().exists() call in the rollback path switched to fs.access() for API consistency with the rest of the file.

Security

  • Windows system directory protection expanded: Added C:\ProgramData, C:\Users, and drive root check to the --dest validation blocklist. Covers non-C: drives via regex pattern.
  • Symlink path containment hardened: BunSymlinkCreator normalizes workspaceRoot via path.resolve() before appending trailing separator for prefix matching. Ensures consistent containment checking regardless of constructor input format (trailing .., no trailing separator, etc.).

Tests

  • 7 new tests (commit 3d693b4): confirmOverwrite() unit tests (4 — force, empty, confirm, cancel), VERSION semver format validation (2), resolveNewVersion() fallback to "0.0.0" (1 integration).
  • 3 isEmpty skip path integration tests: Clean Install, Project Install, and Update Workspace — all verify the isEmpty() check skips the confirmation prompt when the destination directory is empty.
  • showCancel assertion added to the update rejection test.
  • Coverage: 100.00% functions / 97.99% lines (596 tests, 1289 expects).

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 11 Jul 08:27
333d38e

Release 1.1.1

No changelog section found for this version. Please update CHANGELOG.md.

See CHANGELOG.md for the full history.

v1.0.15

Choose a tag to compare

@github-actions github-actions released this 10 Jul 03:50
96ed69d

Fixed

  • Wiki README.md removed from GitHub Wiki: docs/wiki-source/README.md es documentación interna del proceso de sincronización, no una página de usuario. Eliminado del wiki remoto.
  • npm republish blocked: v1.0.14 no pudo republicarse tras unpublish (política de npm). Release bump a v1.0.15.

Changed

  • Wiki repo clonado dentro del proyecto: En vez de /tmp/wiki, ahora se clona en docs/wiki-source/.wiki/ (gitignored). Sincronización con rsync --exclude='README.md'.
  • .gitignore actualizado: Nueva entrada /docs/wiki-source/.wiki/ para excluir el clon de la Wiki del repo principal.
  • Instrucciones de sincronización actualizadas: docs/wiki-source/README.md ahora documenta el uso de rsync con --exclude='README.md'.

v1.0.13 — SDD Command Refactor + Governance

Choose a tag to compare

@Fisherk2 Fisherk2 released this 28 Jun 02:50
ad8367c

Added

  • New docs-update/ command: Dedicated command for updating, migrating, and synchronizing documentation with code and configuration files. Includes pre-flight analysis of existing docs, question-tool integration for resolving contradictions, and strict restrictions (no tasks/ writes, no code implementation).
  • New diagnosis/ command: Analyzes remote repository issues, detects problems, and documents technical diagnostics in docs/diagnosis/. Creates structured diagnosis files with metadata, symptoms, root cause analysis, and verification steps. Includes docs/diagnosis/README.md and diagnosis-template.md in the template.
  • docs/diagnosis/ directory in template: New standard directory for operational technical knowledge. Contains README explaining its purpose and a template for documenting diagnoses.

Changed

  • Refactored evolve/ command: Simplified scope to only create new specs for mature projects with robust versions. Removed ability to write to tasks/ or implement code. Added pre-flight to detect project maturity level.
  • Agent governance — Quetzalcoatl: Updated permissions to prohibit writing to tasks/, source code (src/), and configuration files. Quetzalcoatl now exclusively writes documentation.
  • Agent governance — Moctezuma: Updated permissions to restrict writing exclusively to tasks/ directory and its files.
  • SDD determinism: All SDD lifecycle commands now suggest the next command to execute upon completion (e.g., spec/ suggests plan/, plan/ suggests build/, etc.).
  • Removed command suggestions from agent configurations: Primary agents no longer suggest specific commands. Instead, they suggest invoking other primary agents (e.g., Quetzalcoatl suggests invoking Moctezuma for execution planning).

Fixed

  • Issue #15: Resolved governance and determinism issues in workspace commands. evolve/ no longer executes tasks outside its scope (writing to tasks/, implementing code). Clear separation of concerns between documentation (Quetzalcoatl), planning (Moctezuma), and implementation (Tlaloc).

v1.0.12

Choose a tag to compare

@github-actions github-actions released this 27 Jun 22:48
dfb6c96

Fixed

  • Windows CI: broken symlink test skipped on Windows: Symlink tests (destinationExists) now skip on Windows where elevated privileges are required for fs.symlink().
  • E2E: stdout verification for update success message: E2E scenario 15 now captures both stdout and stderr. Assertion #9 checks for "Workspace update complete" in stdout (where @clack/prompts writes it), not stderr.