Publish curated ITWorx-ModelForge source from 990401737f96c8d46a9f7b0d84994516cadcb6a0

This commit is contained in:
Public Source Publisher committed 2026-09-30 09:23:17 +00:00
1 parent 7082ab955a
commit 848f0d8f8a
434 files changed
+67298 -4315

No files matched your search

@@ -0,0 +1,64 @@
# ADR 0057: Preserve the deployed migration lineage when integrating the model hub
Status: accepted for implementation; deployment qualification pending.
## Context
The canonical hub and a separately deployed creative branch diverged after schema
`20260908_0028`. Read-only inspection on 2026-09-09 found image
`modelforge-api:dfec816` and production schema `20260909_0032`. In that deployed
lineage, 0029 creates creative allocations, 0030 creates model watches, 0031 adds
creative governance, and 0032 widens audio workload names. Canonical hub 0029 and
0030 instead represented newer watches and selected comparisons. The shared
revision strings do not establish compatible database state.
## Decision
Preserve the deployed 0029–0032 migration artifacts byte-for-byte. Add 0033 after
0032 to introduce watch `enabled=true` and `version=1`, runtime history protections,
and selected-comparison storage. Do not stamp, rename applied migrations, or
downgrade populated production data to resolve the conflict. New installations
and upgrades from the common 0028-or-earlier lineage follow this same linear graph.
The earlier canonical comparison schema was development qualification, not an
alternative supported production upgrade source. An isolated database built with
that conflicting graph must retain its original migration bundle; it cannot be
upgraded using a revision number alone. Convergence does not authorize discarding
its data. Any required migration of that separate lineage needs its own explicit,
verified transfer procedure.
Retain canonical project-first navigation, model-watch pause/CAS and bounded
comparison execution alongside deployed creative history. ModelForge remains the
central capability hub. This integration adds no model tournament or external
creative tool execution.
Native inference and external grants share accelerator admission locks and account
for all granted or uncertain reservations. Capacity reads inside admission do not
commit the owning transaction. Unattributed GPU telemetry is not proof that a
particular external grant materialized; retain its full reservation until explicit
release. Queued work must revalidate current client, project, priority and approved
resource before receiving a grant. Expiry cannot be reversed by a heartbeat.
The governance tables belong to the typed persistence model, retaining the exact
deployed constraints. Downgrading 0033 refuses populated hub or creative history,
preventing traversal into older destructive downgrade paths.
## Recovery and acceptance
Recovery preserves creative provenance and explicitly marks restored queued/granted
allocations uncertain. That state does not claim an external process stopped.
Selected comparisons remain interrupted with their claims cleared. Deterministic
projections computed from the source rows must prove these exact changes; missing,
changed or unclassified history blocks readiness.
A deployed watch schema without the new control columns requires a fresh source
fingerprint with the explicit default-column projection. An old opaque fingerprint
cannot be rewritten to remove execution-claim fields or invent the new controls.
Unprojectable archived history remains a recovery blocker requiring its original
qualified artifact; no hash exception is introduced.
Qualify populated 0032→0033 upgrade and actual dump/restore, audit integrity,
runtime privileges, competing admission transactions, revoked queued authority,
expiry and UI stale-response handling. All four immutable images, the actual
deployment upgrade/rollback plan and the release soak remain separate gates.
Merging this source does not deploy it or establish RC readiness.