Skip to content

Extract warp-orset as a real published workspace package #517

Description

@flyingrobots

1. Background Context

Source: git-warp #517. Audited against main 94b40dac64034cd8caab9bb05efe14a0c22bd735. Template: feature; work type: type:feature.

Current scope and disposition: Extract/publicly publish ORSet only after the pipeline exists; registry availability is a separate delivery condition before root imports land.

2. Problem Description

Extract/publicly publish ORSet only after the pipeline exists; registry availability is a separate delivery condition before root imports land.

Historical source report; the current disposition above supersedes obsolete claims:
packages/warp-orset/ exists, but it is still a private workspace shell.
The real ORSet implementation remains in root under src/domain/crdt/ and
src/domain/orset/.

Cycle 0020 was closed as not-met because extracting a private workspace package
into shipped root imports would break consumers. That is still the right
constraint.

2b. Proposed Solution

Extract/publicly publish ORSet only after the pipeline exists; registry availability is a separate delivery condition before root imports land.

Historical approach to reconcile:
Current architecture rules take precedence: parsing/encoding stays at adapters, domain concepts are runtime-backed, no trust casts are introduced, and tests run in Docker.
After the multi-package publish pipeline exists, move ORSet-owned code from
root into packages/warp-orset/src/, flip the package public, and make root
declare and consume @git-stunts/warp-orset as a normal dependency.

2c. Alternatives considered and rejected

No additional alternatives are recorded as decided. Reject duplicate ownership, private-import escape hatches and a broken intermediate mainline; retain original alternatives below when present.

2d. Acceptance Criteria

  • packages/warp-orset/package.json is public and participates in the
    lock-step release pipeline.
  • ORSet-owned root code moves into packages/warp-orset/src/.
  • Root imports use the published package boundary instead of relative imports
    into packages/warp-orset/.
  • src/domain/orset/README.md is updated to reflect the code that moved and
    any root-local ORSet code that remains.
  • Browser, JSR, TypeScript, lint, coverage, and consumer checks all exercise
    the package boundary.

2e. Test Plan

Golden: Validate a packed artifact and the declared release/publication outcome.

Edges: Missing workspace manifest, stale metadata, rerun and runtime/platform differences.

Known failure modes: Deterministic validation failure is not retried as a transport error or reported as publication success.

Fuzz and stress: Repeated clean Docker builds/dry-runs; registry publishing requires the separate release workflow.

All tests and benchmarks execute in COPY-based Docker containers without host repository or Git-directory mounts. This planning audit does not claim those checks were run.

3. Prerequisites

Completion prerequisites; preparatory work may start earlier.

  • #519: Publishing root imports of warp-orset requires multi-package release, dry-run and lock-step version support.

4. Scope

In: Extract/publicly publish ORSet only after the pipeline exists; registry availability is a separate delivery condition before root imports land.

Out: unrelated domain work and any expansion beyond the issue’s stated observable outcome.

Safe intermediate state: the PR builds and passes relevant checks after its listed prerequisites; existing supported behavior remains usable. Any preparatory step must be independently mergeable.

5. Why now

Maintainer ordering: memory correctness first, supported attachments next, then land eligible PRs. Preserve this card’s existing priority unless a separately recorded scope decision changes it.

6. Risks

Main risk: implementing the historical description instead of the current runtime contract. Preserve compatibility, causal/ownership invariants and bounded behavior relevant to release.

7. Definition of Done

The issue-specific acceptance checks pass, relevant validation evidence is attached, and the issue links the coherent PR and resulting mainline integration commit. No open item is hidden in a later repair PR.

8. Stakeholders

James Ross: maintainer, assignee and acceptance owner. Package consumers and release maintainers rely on reproducible published artifacts.

9. Related Issues

  • Blocks completion of #516: Kernel extraction must consume a real public warp-orset dependency, not a private shell or relative path.

Source (source record):
Rehomed from archived v17 residual note
INFRA_extract-warp-orset-package-post-publish.

Historical paths, counts, release names and shell examples in source material are evidence to reconcile, not authority to restore retired documentation or run host tests.

Activity

  1. added
    area:storagePrimary work area: storage.
    priority:nextNext in line after active work.
    status:blockedBlocked by an explicit dependency or external condition.
    on Jun 11, 2026
  2. added
    type:featureNew capability or product behavior.
    priority:laterDeferred or speculative work.
    and removed
    blockedBlocked by explicit Method dependency metadata.
    lane:up-nextMethod source lane up-next.
    priority:nextNext in line after active work.
    on Jun 21, 2026
  3. self-assigned this
    on Oct 1, 2026
  4. added this to the v21.2.0 milestone on Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:storagePrimary work area: storage.domain:releasepriority:laterDeferred or speculative work.status:blockedBlocked by an explicit dependency or external condition.template:featureCard template: featuretype:featureNew capability or product behavior.

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions