Work Done
Reviewed the staged Factory campaign prototype in the virdx/mono worktree without editing it. Checked the split Pixi workspaces and locks, Hatch wheel contents and console scripts, Docker build and runtime paths, Nx targets, Tekton build submissions, the deployed infra_k8s image-name policy, Argo run-image selection, the current Factory deployment, and dashboard API callers.
Found that both new Dockerfile paths are absent from the deployed Tekton image-name map, so their PipelineRuns receive an empty image name. The controller also selects factory-worker, which the current registry flow does not publish. The new Nx target names are not called by the PR gate and their Docker commands omit the required BuildKit secret. The existing dashboard still uses the removed /rules API.
Both Pixi locks passed pixi lock --check. The controller and worker distributions built successfully. The worker wheel contained the expected modules and both console scripts. Controller tests, lint, typecheck, and format checks passed. Docker images were not built.
Lessons Learned: Pitfalls
The initial product workstream classification was too narrow. Factory packaging and cluster rollout depend mainly on infrastructure material. The product workstream also has no SOP index. Reading the infrastructure execution SOP and checking the live infra_k8s checkout exposed the decisive image-name behavior quickly.
Lessons Learned: Improvements
The infrastructure execution SOP should state that the tekton-image-name mapping has no usable fallback: an unmapped build gets an empty image name. It should also require every monorepo Dockerfile rename to land with its infra_k8s mapping and runtime image reference update. The mono PR gate convention that container validation only invokes an exact container target should be documented near app packaging guidance.