Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.
This repository was archived by the owner on May 29, 2026. It is now read-only.

Implement: Quorum — Schema declaration (chain spec 1 of 3) #151

Description

@rubenvdlinde

Implements OpenSpec change quorum-schema-declaration — the head of the 3-spec chain that replaces the failed quorum-declarative-migration (closed as superseded).

Spec: openspec/changes/quorum-schema-declaration/ (proposal, design, tasks)

Origin: decidesk PR #150 (3-spec chain merged at 19575a9), hydra PR #230 (ADR-032 spec-sizing merged at ede0916).

Scope

kind: config per ADR-032. Only declarative JSON edits + one integration test:

  1. Engine-capability spike (cross-schema aggregation via @self.{relation}).
  2. Add 2 x-openregister-aggregations (totalParticipantCount, presentParticipantCount) on Meeting.
  3. Add 2 x-openregister-calculations (quorumPercentage, quorumMet) on Meeting.
  4. Bump Meeting schema version.
  5. Add tests/Integration/Meeting/QuorumDeclarativeTest.php (only PHP authored).
  6. Materialise-refresh check.
  7. License headers + traceability.
  8. Verify zero new QuorumService references.
  9. Documentation updates.

No code refactor in this spec. MeetingTransitionGuard + QuorumService keep working unchanged. The chain successors handle that.

Why this is the empirical Stage A retest

The failed quorum-declarative-migration spec (PR #146, issue #148) was kind: mixed — burned 200-turn Sonnet builder budget without producing a PR. ADR-032 mandates splitting; this is the head of the resulting chain.

If this spec lands cleanly through the pipeline in <80 builder turns with a tight PR, ADR-032's sizing premise is empirically validated. Then chain specs 2 + 3 (depends_on blocked until this issue closes) run in sequence, each well within default budget.

Successors (do NOT label until this closes)

  • quorum-guard-rewritedepends_on: [quorum-schema-declaration]. Hydra blocks it from building until this issue closes.
  • quorum-service-deletiondepends_on: [quorum-guard-rewrite].

The supervisor's dependency check enforces the chain automatically.

Metadata

Metadata

Assignees

No one assigned

    Labels

    build:queuedReady to buildopenspecOpenSpec-driven changeready-to-buildSpec ready — awaiting builder dispatch

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions