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-changeskill 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.mdandagents/openai.yaml; no compatibility alias, README, recovery command, or duplicate CLI contract was added.
Shared lifecycle skills
- Updated
$linear-implement-issueto normalize either an implementation child or a marked standalone repository-change issue without weakening kind-specific validation. - Updated
$anuva-implement-issueto 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 standaloneRequireddisposition. - Updated
$anuva-review-and-complete-prto 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.mdwith implicit repository-change selection, pre-mutation preflight, no-side-effect escalation, and the three independent approval boundaries. - Rewrote
docs/process/ChangeWorkflow.mdwith Product Main child and standalone entry paths,Not required/Required/Escalatedispositions, bounded Product Main documentation delivery, implementation-first merge ordering, cleanup, and Linear completion. - Updated
docs/process/index.mdto describe the two supported Linear-backed paths and the no-side-effect escalation boundary. - Replaced the removed CLI help surface in
docs/bootstrap/AnuvaCli.mdwith 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, andanuva-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-childforanuvax-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, withmainas 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.