Skip to content

Add deterministic tenant dependency normalization command #97

Description

@shiny-code-bot

Goal

Provide the shared product-owned command that deterministically regenerates a tenant workspace's canonical root uv.lock and frozen dependency export after nested workspace dependency changes.

Current Status

State: Completed on August 21, 2026.

PR #104 merged as a9e8589a822b58df9248d999d0c9ebeb36302c14 from exact reviewed head
9f0ea308da23fe7ec77e214dc335766c0a72ef88. Post-merge CI and CodeQL each
passed 2/2 jobs, local main was fast-forwarded cleanly, and the merged task
worktree and local branch were removed.

The product-owned platform dependencies normalize command is now available on
main. It normalizes in the staged tenant/shared-addon workspace, pins uv
resolution to the manifest Python version, preserves strict tenant CI checks,
emits source/tool/artifact provenance, rolls back the tenant lock on failure,
and is byte-idempotent. Exact-head Opus and Gemini reviews approved the change.

This issue no longer blocks cbusillo/odoo-tenant-opw#113. The next work belongs
in that repository's trusted write-back workflow; no additional devkit change is
required before starting it.

Finish Line

A deterministic product-owned command regenerates canonical tenant lock/export artifacts, reports provenance, passes strict post-checks, and is idempotent.

Acceptance Criteria

  • Reuse the tracked workspace manifest and existing dependency-workspace inspection contract.
  • Regenerate the canonical root uv.lock without broad dependency upgrades.
  • Produce the same frozen export shape used by tenant CI.
  • Emit machine-readable source/tool/artifact provenance without secrets or private topology.
  • Preserve measured no-change as a successful idempotent result.
  • Fail before publishing when normalization or the strict post-check fails.
  • Add focused unit/integration tests and update shared docs and .github/github.json when command metadata changes.

Relationships

  • Parent: cbusillo/launchplane#1935.
  • Blocks the OPW trusted write-back workflow leaf.
  • Related dependency-health contract: cbusillo/launchplane#1932.

Next Action

Implement the command against the current manifest/dependency workspace abstractions and prove it on a temporary nested workspace fixture before wiring any write-capable workflow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:doneCompleted plan

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions