Skip to content

One-Time Bootstrap Workflow Repair

This page records the single bootstrap exception required to repair the Anuva delivery workflow. The exception is temporary, explicit, and limited to the branches below. It does not authorize manual Linear status changes.

Why the exception exists

The pre-repair CLI cannot start a Backlog parent, expects a parent to be In Review before completion, and creates a circular dependency between child PR merge and Completion Report recording. It also cannot mark drafts ready or deliver Product Main planning docs without completing the parent. The implementation repositories do not yet contain the shared skills, templates, instructions, or a stable anuva launcher.

flowchart LR
    Broken["Circular pre-repair workflow"] --> Main["Product Main repair PR"]
    Main --> Shim["Install and verify anuva launcher"]
    Shim --> CMS["CMS bootstrap PR"]
    CMS --> Python["Python bootstrap PR"]
    Python --> Unity["Unity bootstrap PR"]
    Unity --> Close["Product Main closure PR"]
    Close --> Normal["Normal guarded workflow only"]

Authorized bootstrap branches

Repository Branch Purpose PR URL
anuva-main-video-creator codex/bootstrap-anuva-workflow-repair CLI, launcher, Product Main skills/docs/tests #3
anuvax-cms codex/bootstrap-anuva-workflow CMS instructions, skills, prompts, templates #29
anuva-python-server codex/bootstrap-anuva-workflow Python instructions, skills, prompts, templates #13
anuva-unity-video-creator codex/bootstrap-anuva-workflow Unity instructions, skills, prompts, templates #2
anuva-main-video-creator codex/close-bootstrap-anuva-workflow Record final evidence and close this exception #4

For only these PRs, direct gh pr create, gh pr ready, and gh pr merge are permitted after the user reviews the intended mutation and explicitly approves it. No Linear issue may be created, relabeled, or moved manually. All normal change work, beginning with ANU-5, must use the repaired Anuva CLI.

Required evidence

  • Product Main: typecheck, tests, strict MkDocs build, recursive docs-index validation, CLI help/confirmation checks, and launcher tests.
  • Each implementation repository: strict MkDocs build, recursive docs-index validation, skill validation, and explicit/implicit skill invocation checks.
  • Launcher: %LOCALAPPDATA%\Anuva\bin\anuva.cmd, PATH registration, argument/exit-code forwarding, and invocation from all four repositories.
  • Linear: ANU-5 remains Backlog throughout bootstrap. Its first mutation requires separate approval after a successful linear change start dry run.

Expiry

The exception closes only when all listed PRs are merged, the launcher is verified, repository skills are discoverable, the final evidence is recorded here, and the closure PR is merged. Direct GitHub mutation is forbidden for Anuva delivery after closure.

Completion record

Status: Closing in anuva-main-video-creator#4. The exception becomes closed when that Product Main closure PR is merged.

Evidence finalized: 2026-07-21T10:11:09+05:30.

Merged delivery

Delivery Pull request Merge commit GitHub gate
Product Main repair anuva-main-video-creator#3 2b29bb6 Clean, mergeable, no review threads, no configured remote checks
CMS pilot anuvax-cms#29 413bcd1 Clean, mergeable, no review threads, no configured remote checks
Python bootstrap anuva-python-server#13 90624d2 Clean, mergeable, no review threads, no configured remote checks
Unity bootstrap anuva-unity-video-creator#2 d03ad88 Clean, mergeable, no review threads, no configured remote checks

Every bootstrap PR was created as a draft, reviewed at an explicit user approval boundary, marked ready, and squash-merged with an expected-head SHA guard. No manual Linear state change occurred.

Acceptance evidence

  • Product Main passed TypeScript typecheck and 36 tests, strict MkDocs, recursive index validation, CLI help and confirmation-boundary checks, and launcher tests.
  • CMS, Python, and Unity each passed strict MkDocs, recursive index validation, all five skill-creator validations, fresh-context explicit/implicit skill invocation checks, and git diff --check.
  • All 19 checked-in skills passed the skill-creator validator.
  • %LOCALAPPDATA%\Anuva\bin\anuva.cmd was refreshed idempotently with pathUpdated: false; it preserved arguments and exit codes and resolved the correct repository context from Product Main, CMS, Python, and Unity.
  • ANU-5 repeatedly dry-ran as Backlog -> In Progress and remained Backlog after every bootstrap merge.

Preview evidence

Repository Workflow Launcher Prompt Completion template
Product Main Product change Anuva CLI Plan product change Completion workflow
CMS Change workflow Anuva CLI Implement issue Completion Report
Python Change workflow Anuva CLI Implement issue Completion Report
Unity Change workflow Anuva CLI Implement issue Completion Report

Deviations and recovery notes

  • The authorized exception used connector-backed direct GitHub create, ready, and squash-merge mutations after separate user approvals. No unlisted PR or direct Linear mutation was included.
  • The repositories have no configured remote status checks, so the documented local acceptance suite, clean merge state, and absence of review threads were the merge gates.
  • Main and CMS CLI-owned preview children were terminated by the desktop validation job. They were relaunched as hidden persistent MkDocs processes; all four preview ports and the listed routes returned HTTP 200.
  • Strict MkDocs emitted the existing Material 2 compatibility warning and some pre-existing navigation/absolute-link informational messages, but every strict build exited successfully.
  • The launcher was adjusted to start Bun from Product Main while restoring the caller working directory through ANUVA_INVOCATION_CWD, eliminating caller tsconfig.json probing without breaking repository-context detection.
  • There were no partial GitHub merges, no failed Linear updates, and no manual status recovery actions.

After the closure PR merges, direct GitHub mutation under this exception ceases. All subsequent Anuva delivery begins with the repaired CLI workflow.