mirror of
https://github.com/got-feedBack/feedBack.git
synced 2026-09-12 20:28:32 +00:00
Address CodeRabbit follow-up review fixes
This commit is contained in:
@@ -64,6 +64,27 @@ Required args:
|
||||
|
||||
Outcomes: `handled`, `validation-failed`, `incompatible-version`, `denied`.
|
||||
|
||||
### `unregister-provider`
|
||||
|
||||
Unregisters a provider and settles provider-owned active jobs to terminal state.
|
||||
|
||||
Required args:
|
||||
|
||||
```json
|
||||
{
|
||||
"providerId": "string"
|
||||
}
|
||||
```
|
||||
|
||||
Rules:
|
||||
|
||||
- Command is privileged and host-owned.
|
||||
- Missing/unknown provider returns `no-owner`.
|
||||
- Registered provider emits `provider-unregistered`.
|
||||
- Any active jobs owned by the provider transition to terminal unavailable/orphaned state with a safe reason.
|
||||
|
||||
Outcomes: `handled`, `no-owner`, `failed`.
|
||||
|
||||
### `list-providers`
|
||||
|
||||
Returns redaction-safe provider summaries. Prompt-free and side-effect-free.
|
||||
@@ -92,7 +113,7 @@ Rules:
|
||||
|
||||
- Privileged work requires `authorization: "user-action"` or an approved continuation matching provider, job type, target, requester, and inputs.
|
||||
- Missing or mismatched approval returns `denied` or `user-action-required` before provider operation callbacks run.
|
||||
- If exactly one compatible provider exists, it may be selected automatically.
|
||||
- If exactly one compatible provider exists, it MUST be selected automatically.
|
||||
- If multiple compatible providers exist, `providerId` or selected/default provider is required; otherwise return `provider-selection-required`.
|
||||
- Validation happens before provider work starts.
|
||||
- Provider capacity controls whether the job enters `queued` or `running`.
|
||||
|
||||
@@ -121,8 +121,8 @@ A user or maintainer troubleshooting long-running work can tell whether a job fa
|
||||
- **FR-004**: System MUST support job states including queued, running, paused, cancellation-requested, cancelled, completed, failed, provider-unavailable, and orphaned.
|
||||
- **FR-005**: System MUST expose explicit outcomes including handled, queued, denied, user-action-required, unavailable, no-owner, no-handler, no-target, unsupported-command, unsupported-operation, incompatible, incompatible-version, provider-selection-required, validation-failed, stale, cancelled, completed, failed, timeout, and retry-started.
|
||||
- **FR-006**: System MUST allow users and authorized requesters to inspect current jobs and providers without triggering privileged work, file writes, downloads, subprocesses, or external-service calls.
|
||||
- **FR-007**: System MUST require explicit user action before enqueueing any job that can create, modify, delete, download, export, convert, or publish user-visible files or plugin state; approval applies only to one job request and provider-declared retry or continuation attempts for the same provider, job type, target, and requester.
|
||||
- **FR-008**: System MUST reject background or plugin-initiated privileged jobs without user approval using a distinct denied or user-action-required outcome.
|
||||
- **FR-007**: System MUST require explicit user action before enqueueing any job that can create, modify, delete, download, export, convert, or publish user-visible files or plugin state; approval applies only to one job request and provider-declared retry or continuation attempts for the same provider, job type, target, requester, and inputs.
|
||||
- **FR-008**: System MUST reject background or plugin-initiated privileged jobs without user approval using a distinct denied or user-action-required outcome, including approved-continuation attempts whose inputs do not match the original approved scope.
|
||||
- **FR-009**: System MUST apply provider-declared scheduling limits so queued jobs do not exceed provider capacity and running jobs do not silently overrun declared concurrency; user-approved interactive jobs MUST run before background or maintenance jobs, with FIFO ordering within each priority.
|
||||
- **FR-010**: System MUST make provider registration idempotent so repeated hydration updates provider state without duplicate providers or duplicated active jobs.
|
||||
- **FR-011**: System MUST auto-select only when exactly one compatible provider can handle the job type; when multiple compatible providers exist, the system MUST use a user-selected/default provider or return provider-selection-required.
|
||||
|
||||
Reference in New Issue
Block a user