Repository navigation
Admit business-site publication for source-only staging #5307
Description
🤖 Generated by the Agentic Engineer
Summary
Admit the business site's verified source-owned publisher and register its immutable source-only staging Tenant. Part of #5247. This is the concrete first adoption increment; it does not enable application reconciliation or the private portal.
Motivation
The signed application/image pair is published, but current admission assumes legacy publication history that this consumer never had. Binding verification and source-conservation checks also cannot recognize its maintained publisher and the actual typed Tenant source. Without completing that chain, a valid application release cannot be admitted for staging.
Proposed Solution
Extend the existing qualified approval/binding generator, writer, guard, report and bootstrap schema to support a canonical-only consumer while preserving legacy consumers. Join the complete consumer, artifact, source/tag/caller and immutable publisher identity; verification-only receipts continue to grant no deployment authority. Attribute only the already reviewed exact Tenant source constructor in conservation, retaining all unknown/altered/foreign constructor refusals. Regenerate governed matchers/tables using their reviewed tools.
Use an independently reverified published business-site manifest and declare exactly its production-provider source with reconcileApplication:false. Observe the signed source through the normal protected deployment/readback path. Keep application activation, staging hostname admission and its same-namespace private input as later acceptance under #5247.
Acceptance Criteria
- Test-first controls prove a canonical-only full-identity approval/binding works without fabricated legacy history. Missing, substituted, duplicate and mismatched consumer/artifact/source/tag/caller/publisher inputs refuse. Existing legacy and legacy-plus-canonical consumers retain their behavior.
- The exact reviewed Tenant source constructor is attributed to the one registered consumer; unknown/modified/cloned constructors, foreign GVK, ambiguous, missing or extra consumers still refuse through the real conservation path.
- Reverify the actual immutable business-site manifest/image publication and source/caller provenance before recording approval. Regenerate approved source tables/matchers through their tools, never by hand or with a bare SHA substitute.
- Register only the source-only typed staging Tenant through existing provider wiring. No WebApp reconciliation, route, disclosure value, customer database, identity deployment, social provider, payment or portal activation is enabled.
- Actual registration renders, affected script/policy/graph checks, substantive current-head review, normal protected merge/deployment and fixed read-only signed-source/controller proof pass. Keep Register the public-only business-site staging tenant #5247 open for workload/private-input/HTTPS staging acceptance and its business-site parents open for full identity/customer acceptance.
Alternatives Considered
Invented legacy history or a bare publisher SHA would weaken the identity binding. A manually copied OCIRepository would evade the typed tenant contract. Another generic lifecycle abstraction is unnecessary because source-only reconciliation already exists. Enabling the application alongside the source would mix admission with private-input and route acceptance.
Planning
Feature; High priority, High effort, Standard service class. This removes the concrete staging admission blocker for the unified business application. Effort includes maintained generator propagation, refusal controls, protected deployment and independent readback. The session's WIP waiver leaves ownership, signing, security, review and merge gates unchanged. No new service enrollment, paid resource or secret-value operation.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Start date
Target date
Effort
Projects
- StatusShow more project fields🏃🏻♂️ In Progress
Activity
coderabbitai commentedon Oct 25, 2026
🔗 Related PRs
#5261 - feat(tenants): support verified source-only bootstrap [merged]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
chore: agent-claim #5307 nonce=a6b33d6af6ca99f2e8cb8380ba92b2cc
devantler commentedon Oct 25, 2026
The current raw report/approval reader has a measured omission: a typed source can disappear beside the otherwise complete inventory. Native child #5309 and draft delivery PR #5311 isolate that correction. The final actual pre-fix report fails 22 controls; the repaired Bash 3.2 suite refuses them, including alternative YAML/JSON spellings, aliases, linked inputs and matching custom-schema instances. It joins complete source-producing schema identities across the tree and preserves unrelated group/version peers.
The positive binding/projection experiment is not shipped in this PR. Full canonical-only admission still needs its generator/writer/report propagation, rendered-constructor proof and monotonic observed-state controls before the actual source-only registration. Existing publication verification is still evidence only. #5247 and this issue remain OPEN; no production Tenant, application reconciliation, private input, route or portal activation has been enabled.
chore: agent-claim #5307 nonce=82183bcaf0810a8d3343838702f35021