Skip to content

Cloud artifact-kernel-factory must adopt partitionAssembledViewArtifacts before env artifacts carrying expanded view items boot against the #5320 tighten #8573

Description

@qq9340100

Mechanism

PR #8572 (the #5320 ruling's tighten) makes the ObjectQL registration loop refuse non-container views: entries with INVALID_METADATA/422; runtime-assembled manifests carry non-container view artifacts under the declared viewItems: channel instead (AssembledViewArtifactSchema, partitionAssembledViewArtifacts — landed in #8564).

The in-repo producer (GET /packages/:id/export, assemblePackageManifest) now partitions. The cloud repo's artifact-kernel-factory is the remaining producer of runtime-assembled manifests: it assembles artifact.metadata category arrays from stored metadata, and the registry's ADR-0017 dual-read keeps expanded viewKind items registered beside their container — so an env artifact for a views-bearing package plausibly carries entries the tightened loop refuses at env boot (the boot chain is AppPlugin → manifest service → registerApp, documented in packages/runtime/src/app-plugin.test.ts).

Whether cloud's assembly actually reads the expanded layer could NOT be measured from this repo (the factory lives in objectstack-ai/cloud); this issue is the explicit cross-repo hand-off rather than a silent assumption either way.

Fix (in objectstack-ai/cloud)

At the artifact assembly site, route the package's view items through partitionAssembledViewArtifacts (@objectstack/spec) exactly as assemblePackageManifest does in packages/runtime/src/domains/packages.ts — containers in views:, non-derivable artifacts in viewItems:. Until that lands, sequencing matters: a cloud env carrying expanded items must not boot against a runtime with the tighten (the #5320 ruling forbids option D — "tighten now and let cloud artifact boot break").

Filed from the #5320 implementation (PRs #8564 / #8572); the measurement record is on #5320 (2026-08-12 fork report) and #8070. This repo cannot host the fix — the PM relay should route or transfer this to the cloud repo's lane.

Blocked-by: #8572

Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions