Skip to content

[API] Define Workspace, Environment, Application, and Component schemas #18

Closed

Description

@gnanirahulnutakki

Outcome

Represent the product hierarchy with enforceable ownership and deletion rules.

Scope

  • Implement hierarchy schemas, parent references, immutable ownership keys, deletion constraints, examples, and version round trips.

Acceptance criteria

  • Valid hierarchies pass.
  • Orphan, cross-workspace, and cyclic references fail.
  • Display names never serve as authorization keys.

Test and evidence

  • Positive and negative schema matrix.

Dependencies

  • Blocked by #17.

References

Activity

  1. added
    priority:p0Critical prerequisite or correctness boundary
    area:apiResource schemas and control-plane API
    on Sep 1, 2026
  2. gnanirahulnutakki commented on Sep 2, 2026

    @gnanirahulnutakki
    MemberAuthor

    Implemented and verified via PR #74.

    Merged state:

    Acceptance evidence:

    • valid root, full-chain, sibling, and two-Workspace hierarchy matrices pass
    • orphan, cross-Workspace, wrong-parent-kind, and self/two-node/long cycles fail
    • hierarchy records exclude display names and name-change properties preserve placement
    • workspace ownership and parent placement are server-derived and immutable
    • RESTRICT deletion blocks retained direct children and allows leaves
    • all four canonical v1alpha1 fixtures round-trip and match OpenAPI examples
    • pinned Vacuum validates the positive examples and one expected-fail schema instance per resource kind
    • 61,001-record qualification ceiling rejects before proportional index allocation
    • full ./hack/dev check, race, vet, 100 repeated runs, and two 10,000-execution fuzz targets passed

    README and architecture/development documentation were updated. No security scan was run.

  3. gnanirahulnutakki commented on Sep 6, 2026

    @gnanirahulnutakki
    MemberAuthor

    Acceptance checklist reconciled on behalf of @ArdurAI against merged PR #74. The issue remains scoped to the contract/schema/runtime package evidence recorded in that PR; unchecked boxes are no longer left on a closed issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:apiResource schemas and control-plane APIpriority:p0Critical prerequisite or correctness boundary

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions