Skip to content

Implementation Log: ANU-22 - Adopt Repository-change Workflow in Anuva CMS

Timeline

UTC Action Evidence
2026-07-28 16:12 Started ANU-22 through the approved guarded mutation. Linear moved from Ready to In Progress; branch codex/anu-22-adopt-repository-change-workflow-in-anuva-cms; receipt 20260728T161221Z-work-start-84bc
2026-07-28 16:13 Created and strictly previewed the planning-only change folder, ImplementationPlan, changes index, and navigation. All three requested pages returned HTTP 200 and matched a fresh strict build.
2026-07-28 16:22 Received separate explicit approval of the exact current ImplementationPlan. User message: Approved in direct response to the mandatory plan gate.
2026-07-28 16:22 Revalidated ANU-22 and the merged Product Main foundation before implementation. ANU-22 In Progress, kind implementation-child, repository anuvax-cms, parent ANU-19, blocker ANU-20 Done; Product Main main at 90837acdcff768558554c8b029b6dea67b461ce9
2026-07-28 17:42 Replaced Direct Maintenance and aligned the shared lifecycle skills. Removed the deprecated skill and metadata; added the canonical repository-change skill and metadata; updated validation, implementation, review, and discovery metadata.
2026-07-28 17:45 Aligned active CMS policy and workflow documentation. AGENTS.md, docs/process/ChangeWorkflow.md, docs/process/index.md, and docs/bootstrap/AnuvaCli.md
2026-07-28 17:47 Validated all checked-in Anuva skills. Skill-creator quick_validate.py: six of six valid.
2026-07-28 17:48 Verified the Product Main canonical/local boundary. Repository-change skill, normalized Linear validator, and discovery metadata match canonical content; implementation and review differ only by documented CMS verification and managed-auth guidance.
2026-07-28 17:50 Forward-tested a natural auth/migration/shared-contract request. Fresh agent returned Escalate with an exact Product Main Backlog intake and performed no mutation.
2026-07-28 17:50 Compared no-side-effect snapshots. HEAD, current branch, worktree delta, change-folder inventory, maintenance refs, and open PR inventory were unchanged; open PRs remained [].
2026-07-28 17:51 Verified removed and replacement CLI help surfaces. Root help contains repository-change and no maintenance group; start, docs, and complete are available.
2026-07-28 17:52 Verified active reference and recovery state. No active deprecated-workflow reference outside change history; no local or remote codex/maintenance-* branch; no open CMS PR required recovery.
2026-07-28 17:55 Completed repository and documentation verification. git diff --check, active-reference search, executable-file scope check, recursive indexes, and eight-page fresh strict MkDocs/live comparison passed.
2026-07-28 17:55 Committed the verified ANU-22 implementation through the guarded checkpoint. Commit 4469313a1a5366ca1e1c7b432c46b0ed4e54aa1d; stage receipt 20260728T175459Z-work-stage-3cd8; commit receipt 20260728T175520Z-work-commit-7d89
2026-07-28 17:56 Committed the verified delivery evidence. Commit 466a43db97661e168cc5a0948837de6836843057; stage receipt 20260728T175630Z-work-stage-cb5c; commit receipt 20260728T175649Z-work-commit-bd54
2026-07-28 17:57 Created and linked the draft implementation PR. CMS PR #41; Linear moved from In Progress to In Review; receipt 20260728T175720Z-pr-create-8bf6
2026-07-28 18:08 Completed the independent acceptance review of the issue contract, Product Main contract, implementation records, and full PR patch. Reviewed head 7b69ffacaa45ff21b37093284d2b35d8e80b8cad; PR open, draft, and mergeable; no reviews, requested changes, or configured check runs; all repeated repository checks passed.

Implemented changes

Repository-change entry point

  • Deleted .agents/skills/anuva/anuva-direct-maintenance, including its explicit-only discovery policy.
  • Added the Product Main canonical .agents/skills/anuva/anuva-repository-change skill and discovery metadata.
  • Preserved the canonical rule that implicit selection performs only routing: it does not approve intake, planning, implementation, PR, merge, cleanup, or Linear mutations.
  • Kept the skill folder limited to SKILL.md and agents/openai.yaml; no compatibility alias, README, recovery command, or duplicate CLI contract was added.

Shared lifecycle skills

  • Updated $linear-implement-issue to normalize either an implementation child or a marked standalone repository-change issue without weakening kind-specific validation.
  • Updated $anuva-implement-issue to preserve the child start gate, accept an already-started marked standalone issue on its exact branch, revalidate preflight evidence, require separate plan approval, use guarded stage/commit and draft-PR operations, and limit Product Main companion docs to a standalone Required disposition.
  • Updated $anuva-review-and-complete-pr to review either supported kind, require independent completion approval, merge implementation first, verify cleanup and base synchronization, and reconcile partial completion by retrying the identical guarded command.
  • Preserved only CMS-specific implementation/review additions: process-only application-check skips; affected-boundary lint, typecheck, integration, Playwright, and Payload generation checks; workspace/auth, billing, schema/migration, Mastra provider, and ownership guardrails; strict CMS previews; and managed-sandbox GitHub authentication retry guidance.

Policy and documentation

  • Replaced the issue-free maintenance authorization in AGENTS.md with implicit repository-change selection, pre-mutation preflight, no-side-effect escalation, and the three independent approval boundaries.
  • Rewrote docs/process/ChangeWorkflow.md with Product Main child and standalone entry paths, Not required/Required/Escalate dispositions, bounded Product Main documentation delivery, implementation-first merge ordering, cleanup, and Linear completion.
  • Updated docs/process/index.md to describe the two supported Linear-backed paths and the no-side-effect escalation boundary.
  • Replaced the removed CLI help surface in docs/bootstrap/AnuvaCli.md with the guarded repository-change namespace and its dry-run/confirm contract.

Escalate forward-test evidence

The independent test request was:

Change CMS authentication so workspaces are moved to a new tenant-key schema, migrate existing workspace records, and update the shared Python worker contract to accept the new identity.

The checked-in skill classified it as Escalate because it combined authentication/authorization, a persisted workspace-data migration, a shared CMS/Python contract, and multiple implementation repositories. It returned this exact Product Main proposal:

  • title: Define tenant-key workspace migration and shared Python worker identity contract;
  • state: Backlog;
  • priority: Normal;
  • label: anuva-main-video-creator;
  • outcome: approve the versioned tenant-key identity model, migration/rollout strategy, and compatible CMS/Python worker identity contract;
  • constraints: preserve tenant isolation, define tenant-key semantics, specify migration validation and recovery, version or stage /api/worker/v1, split delivery into CMS and Python children, and keep authorization separate from identity;
  • non-goals: direct Product Main implementation, unrelated login/billing/config redesign, Unity expansion without evidence, or premature legacy-field removal;
  • source request: the exact request above;
  • affected repositories: anuva-main-video-creator, anuvax-cms, and anuva-python-server; and
  • acceptance evidence: approved identity/rollout decisions, CMS migration and isolation evidence, Python typed-client and simulator evidence, cross-repository worker lifecycle fixtures, migrated/new-tenant rejection coverage, and Product Main completion records.

The fresh agent inspected CMS auth/workspace documentation, the current render worker workspaceId contract, and Product Main ownership records. It created no Linear issue, branch, file, change artifact, docs preview, or PR.

Before and after snapshots were identical:

  • HEAD: 64b6df7b37a08635656d57a5e286f7816f2764cb;
  • branch: codex/anu-22-adopt-repository-change-workflow-in-anuva-cms;
  • worktree delta: unchanged;
  • change-folder inventory: unchanged;
  • local and remote maintenance branches: none; and
  • open CMS PR inventory: [].

Verification

Command or check Result
anuva linear issue get ANU-22 --json Passed; correct child, repository, state, parent, links, and blocker
anuva repository-change --help Passed; start, docs, and complete available
Root anuva --help assertion Passed; repository-change present and removed namespace absent
Skill-creator quick_validate.py over .agents/skills/anuva/* Passed; all six skills valid
Normalized canonical content comparison Passed for repository-change, Linear validator, and all discovery metadata
Canonical/local implementation and review diff inspection Passed; only documented CMS verification/auth additions
Escalate forward test and before/after snapshot Passed; exact Product Main intake, no side effects
Active-reference search outside docs/changes/**, docs/_stale/**, and .git/** Passed; no match
Local and remote codex/maintenance-* branch search Passed; none
Open CMS PR inventory before and after forward test Passed; []
git diff --check Passed
Executable CMS changed-file check Passed; none
anuva docs validate-indexes --repository current Passed; no missing or empty index
Eight-page anuva docs wait strict/live comparison Passed; every page returned HTTP 200 and verifiedAgainstStrictBuild: true

Independent acceptance review

  • Re-read ANU-22 and confirmed it remains an implementation-child for anuvax-cms, In Review, linked to ANU-19 and draft PR #41, with blocker ANU-20 Done.
  • Re-read the approved ImplementationPlan, this log, the CompletionReport, and the complete 19-file PR patch.
  • Re-read ANU-19's ChangeBrief and RepositoryImpact contract. The implementation remains within the CMS adoption child and the Product Main documentation disposition remains Not required.
  • Confirmed PR #41 is open, draft, and mergeable with no reviews, requested changes, or configured check runs. The absence of check runs is repository configuration, not a failed or pending required check.
  • Confirmed local HEAD and the remote PR head are both 7b69ffacaa45ff21b37093284d2b35d8e80b8cad, with main as an ancestor and a clean worktree before recording this review evidence.
  • Re-ran git diff --check, the executable-file scope check, the active deprecated-reference search, the maintenance-branch audit, all six skill validations, and the normalized Product Main skill comparisons. All passed.
  • Reconfirmed that the only Product Main differences in the implementation and review skills are the approved CMS-specific verification and managed-auth guidance.

The implementation remains on the linked draft PR. PR readiness, merge, branch cleanup, base synchronization, and Linear Done require a later, independently approved completion review.

Skipped application checks

No executable CMS file changed. The delta is limited to skill Markdown, discovery YAML, repository policy, documentation, and MkDocs navigation. pnpm lint, pnpm typecheck, pnpm test:int, pnpm test:e2e, Payload generation, migration, provider-registry, and application runtime checks were therefore intentionally skipped under the approved ANU-22 verification contract.