Skip to content

[TASK][MVP] Implement Provider Health and Availability Reporting - #22

Merged
Noam-Alum merged 3 commits into
mvp/implementationfrom
mvp/provider-health-monitoring
Oct 12, 2026
Merged

Noam-Alum merged 3 commits into
mvp/implementationfrom
mvp/provider-health-monitoring

Conversation

@Noam-Alum

Copy link
Copy Markdown
Member

Required result

Outcome and ownership

Expose standard grpc.health.v1 on the existing standalone Provider server and connect it to the public Provider lifecycle/health hook. Use standard generated health contracts, not a new StateForge health protobuf.

Required behavior

  • Register the actual negotiated operational service name(s) on the same multiplexed server/channel. Explicitly define startup NOT_SERVING, validated readiness SERVING, failed/degraded readiness, maintenance, and bounded shutdown behavior.

  • Keep author-facing status typed and simple; the runtime adapts it to standard Check/Watch. Health does not become a vendor polling scheduler or expose protobuf construction to authors.

  • Watch emits current status and changes with bounded observers/backpressure; invalid services and stream failures follow standard health semantics. Check is diagnostic, not a replacement for ongoing Watch.

  • Stop new operation eligibility before maintenance/shutdown. A health transition does not itself cancel admitted operations, and SERVING does not override an invalid manifest/session or guarantee target-specific capability.

  • Sanitize unexpected hook failures, prevent stale readiness from surviving a generation change, and clean up watchers/resources owned by this runtime only.

  • Extend the reusable R11 Provider scenario catalogue with health-specific installed-runtime coverage using the exact Protocol wheel, Provider wheel, and built Agent RPM on Linux over the real Unix socket; do not substitute a simulated Agent transport.

Acceptance evidence

CI/CD evidence must include the focused health scenario in pull requests and the unchanged full Provider scenario matrix.

Exercise real gRPC Check/Watch on the same endpoint as handshake/manifest, initial and changed status, unknown service, hook failure, slow/disconnected observers, restart, and shutdown. Verify typed author examples and no duplicate server/channel or custom StateForge health contract.

Non-goals

No Agent availability coordinator, Control Plane reporting, business-operation cancellation, vendor-specific health logic, or implementation of later admission APIs.

Compatibility, discretion, and delivery

Preserve landed contracts, public APIs, and repository boundaries. Current code wins existing disagreements with prose; SFP defines intended behavior not yet implemented. In particular, preserve P1 manifest schema 1, versioned string identifiers, explicit implements roles, and its revision rules. New incompatible semantics require explicit versioning, not a silent v1 rewrite.

Choose internal storage, scheduling, helper APIs, and compatible implementation details from the current codebase; document tradeoffs for human review. Loose specifications are guidance, not permission for unrelated redesign. Implement only the assigned Issue. Add behavioral tests and applicable repository checks/docs. Scoped local commits are allowed; a human pushes, opens the PR, reviews, and merges. Only matching merged GitHub evidence reconciled by DPT completes this step. SF-AOP and Control Plane are required later MVP phases, not work to invent here.

Implementation step

R2

Closes #16

@Noam-Alum Noam-Alum self-assigned this Oct 12, 2026
@Noam-Alum
Noam-Alum merged commit 8c8abf5 into mvp/implementation Oct 12, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant