Skip to content

2026-09-16 Factory framework and histo consumer port

Moved the standalone framework into a mono package and ported six fixed histo services in PR 404.

Work Done

Opened mono PR #404 from branch feat/factory-framework-histo, worktree ~/work/worktrees/mono/factory-framework-histo, based on origin/main 3714b940. Commits: 9ff76c1a (histo app) and 5e2c876f (framework package).

Removed the standalone framework tests and its test task. Added packages/factory-framework with existing CLI/FastAPI/local/Argo behavior, direct real vxData clients and private _run_batch. Added apps/factory-histo, using six fixed cohort services from the old registry with no public inference knobs or imports from the old app. Preserved scopes, completion predicate, resource IDs, lineage and provenance; persist successful slides before processing the next.

One shared CUDA image serves API and workers; registration does not import heavy inference dependencies. App owns Argo pod secrets, model/storage mounts and a 1024 GiB generic ephemeral scratch PVC (lvm). Framework worker_disk remains unenforced; app supplies actual scratch explicitly. Default local backend uses real vxData. No mocks/client_factory or tests were added. Existing apps/factory and dashboard files remain unchanged; no deployment/cutover performed.

Validation passed: Nx format-check/lint/typecheck/build for both new projects, boundary checks, native real SDK/registration imports, six services and twelve OpenAPI routes without histo/Torch imports or network calls, wheel builds, conda recipe rendering, Docker base-tag existence, diff whitespace check. Nx graph has only package dependencies. Full CUDA image build, GPU inference, live vxData reads/writes and Argo submissions were not performed. Generated Pixi locks make up most of the PR diff. Working tree clean after push.

Pitfalls

The old histo worktree was at 0.0.120; use updated origin/main source or the pinned runtime for params, not stale cached source. The runtime is pinned to 0.0.122 and uses its actual dataclasses rather than copied schema mirrors. Authless archive inspection returned 401; no GPU-runtime execution is claimed.

Legacy apps/factory pre-commit hooks match the apps/factory-histo prefix and print a staging warning for apps/factory/-histo. Their commands passed, but the new app was validated separately through its own Nx targets. No hooks bypassed. A framework-only first commit was rejected by the lock consistency hook because the consumer’s new lock was outside that partial commit. App then framework commits succeeded; reviewers should use the final combined tree.

The new framework intentionally lacks old sync/jobs/in-flight suppression APIs. Do not run legacy and new histo triggers concurrently during cutover.

Improvements

Continue work in the mono worktree/PR, not by restoring the standalone tests or client injection. Before deployment verify actual GPU model mounts, credential permissions, identity/admission rules and CA trust. Keep dashboard changes separate until requested. Update old histo SOP file references only after rollout is real; this PR is a proposed new app, not yet the production execution path.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close