Skip to content

Implementation Log: ANU-20 - Repository-change CLI and canonical workflow

Status

Implementation started after Girish explicitly approved the current Implementation Plan on 2026-07-28 at 12:12 UTC.

Product Main documentation disposition

  • Disposition: Required
  • Evidence: ANU-20 changes Product Main-owned CLI, skills, policy, prompts, templates, and engineering workflow documentation.
  • Bounded paths: the Product Main files enumerated in the approved Implementation Plan.

Implementation record

Time (UTC) Change Evidence
2026-07-28 12:12 Recorded explicit approval and opened implementation evidence User approval in the ANU-20 Codex task
2026-07-28 12:14 Added schema-version-1 standalone intake, versioned marker, Product Main disposition/path validation, and issue-kind classification src/schemas/repository-change.ts; schema and classifier tests
2026-07-28 12:17 Added Linear SDK create/reuse, exact contract verification, managed docs/completion evidence, and kind-specific transitions src/adapters/linear.ts
2026-07-28 12:20 Added guarded intake/branch reconciliation, bounded Product Main docs branch/PR operations, and ordered retryable completion src/commands/repository-change/index.ts; unit and integration tests
2026-07-28 12:21 Generalized implementation PR creation and Product Main/child guards without weakening child validation src/commands/pr/index.ts; src/commands/work/start.ts
2026-07-28 12:24 Removed the old CLI namespace, implementation, and tests; added the new CLI command family and help/removal coverage src/cli.ts; CLI integration tests
2026-07-28 12:29 Installed and validated the canonical repository-change, implementation, and review skills; removed both retired skill folders Four skill folders passed the skill-creator validator
2026-07-28 12:35 Aligned Product Main policy, engineering/development workflows, prompts, templates, indexes, and CLI documentation Strict Product Main MkDocs validation passed
2026-07-28 12:39 Repaired existing Linear Markdown-link normalization discovered by a live child compatibility check ANU-20 normalized as implementation-child with its Product Main preview URL
2026-07-28 12:42 Completed final executable verification bun run typecheck; 74 tests, 241 assertions, zero failures; git diff --check; recursive docs indexes
2026-07-28 12:46 Committed and opened the linked draft implementation PR Commit 34f2c07; PR #20; PR receipt 20260728T124651Z-pr-create-c2e5
2026-07-28 12:47 Verified the durable workflow transition ANU-20 is In Review with the exact linked PR; PR #20 is open and draft
2026-07-28 12:49 Made linked-PR retries push committed evidence before returning the existing PR src/commands/pr/index.ts; dry-run now reports push plus linked-PR reuse

Deviations and decisions

  • The skill-creator validator runtime did not include PyYAML. A temporary, repository-local compatibility shim supplied only safe_load and YAMLError for the validator's two-field frontmatter read; all four calls to the unmodified validator passed. The shim and bytecode cache were deleted.
  • Live ANU-20 validation revealed that Linear formats review previews as Markdown links. The URL normalizer was generalized and covered by regression tests before PR delivery.
  • Post-delivery evidence exposed that an idempotent anuva pr create retry returned a linked PR before pushing later committed evidence. The command now pushes the validated managed branch first and then reuses the linked PR.

Verification record

  • bun run typecheck: passed.
  • bun test: 74 passed, 0 failed, 241 assertions across 18 files.
  • Focused repository-change tests: schema fail-closed behavior, marker and kind isolation, bounded docs paths, deterministic branches, implementation-first completion, and Done suppression on partial docs failure passed.
  • Live read-only Linear check: ANU-20 remains an implementation child, is In Review, links PR #20, and its Product Main preview normalizes correctly.
  • Four changed skill folders: validator passed.
  • git diff --check: passed.
  • Recursive documentation index validation: passed.
  • Strict Product Main preview and link validation: passed.