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:
- Engine-capability spike (cross-schema aggregation via
@self.{relation}).
- Add 2
x-openregister-aggregations (totalParticipantCount, presentParticipantCount) on Meeting.
- Add 2
x-openregister-calculations (quorumPercentage, quorumMet) on Meeting.
- Bump Meeting schema version.
- Add
tests/Integration/Meeting/QuorumDeclarativeTest.php (only PHP authored).
- Materialise-refresh check.
- License headers + traceability.
- Verify zero new
QuorumService references.
- 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-rewrite — depends_on: [quorum-schema-declaration]. Hydra blocks it from building until this issue closes.
quorum-service-deletion — depends_on: [quorum-guard-rewrite].
The supervisor's dependency check enforces the chain automatically.
Implements OpenSpec change
quorum-schema-declaration— the head of the 3-spec chain that replaces the failedquorum-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: configper ADR-032. Only declarative JSON edits + one integration test:@self.{relation}).x-openregister-aggregations(totalParticipantCount, presentParticipantCount) on Meeting.x-openregister-calculations(quorumPercentage, quorumMet) on Meeting.tests/Integration/Meeting/QuorumDeclarativeTest.php(only PHP authored).QuorumServicereferences.No code refactor in this spec.
MeetingTransitionGuard+QuorumServicekeep working unchanged. The chain successors handle that.Why this is the empirical Stage A retest
The failed
quorum-declarative-migrationspec (PR #146, issue #148) waskind: 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_onblocked until this issue closes) run in sequence, each well within default budget.Successors (do NOT label until this closes)
quorum-guard-rewrite—depends_on: [quorum-schema-declaration]. Hydra blocks it from building until this issue closes.quorum-service-deletion—depends_on: [quorum-guard-rewrite].The supervisor's dependency check enforces the chain automatically.