Goal
Let Gira inspect any GitHub repository without treating absent Gira metadata as a product failure.
Scope
- Consume the explicit operation-mode/policy contract.
- Classify status and doctor findings as environment, provider observation, or managed-policy findings.
- Make next-step output policy-aware and non-mutating by default.
- Add JSON provenance and regression fixtures for non-enrolled repositories.
Non-goals
- Do not alter ticket start, PR, or finish gating.
- Do not add a new root command or auto-enroll repositories.
Acceptance Criteria
- In observation mode, missing Gira labels and milestones are advisory rather than doctor failure.
- Status does not prescribe managed lifecycle actions for an unenrolled repository.
- JSON distinguishes mode, policy source, enforced findings, and advisories.
- Managed behavior is retained by regression tests.
Doctor Impact
This ticket changes doctor and status classification only; it must preserve strict managed-policy findings where that policy is explicitly enabled.
Expected Delivery
- One focused PR after the shared policy-contract ticket is available.
Verification
- Focused Go tests plus
go test ./... before PR.
Goal
Let Gira inspect any GitHub repository without treating absent Gira metadata as a product failure.
Scope
Non-goals
Acceptance Criteria
Doctor Impact
This ticket changes doctor and status classification only; it must preserve strict managed-policy findings where that policy is explicitly enabled.
Expected Delivery
Verification
go test ./...before PR.