Initial server source import
This commit is contained in:
+61
@@ -0,0 +1,61 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: All-provider strict-yield pruning rule
|
||||
The system SHALL retire a discovery term only when canonical lineage shows zero historical strict-usable credential linkage for every provider and the term has meaningful measured exposure.
|
||||
|
||||
#### Scenario: Any strict-usable linkage preserves a term
|
||||
- **WHEN** any credential linked to a configured term has ever met the canonical `usable_llm` rule
|
||||
- **THEN** that term SHALL remain in every configured source rotation
|
||||
|
||||
#### Scenario: Credential exposure qualifies a zero-yield term
|
||||
- **WHEN** a term has zero strict-usable linkage and at least 30 linked credential observations
|
||||
- **THEN** the term SHALL qualify for retirement
|
||||
|
||||
#### Scenario: Scanner-cost exposure qualifies a zero-yield term
|
||||
- **WHEN** a term has zero strict-usable linkage, at least 200 scan events, and at least 20 cumulative scanner-hours
|
||||
- **THEN** the term SHALL qualify for retirement
|
||||
|
||||
#### Scenario: Low-exposure zero-yield term remains a canary
|
||||
- **WHEN** a zero-yield term satisfies neither exposure condition
|
||||
- **THEN** it SHALL remain configured until more evidence is available
|
||||
|
||||
### Requirement: Approved global retirement cohort
|
||||
The system SHALL omit the approved 38-term zero-yield cohort from every source rotation where each exact term was configured.
|
||||
|
||||
#### Scenario: Shared broad-source cohort is removed
|
||||
- **WHEN** GitHub, GitLab, DockerHub, npm, PyPI, or package-git loads its query rotation
|
||||
- **THEN** it SHALL omit `autonomous`, `benchmarks`, `claw`, `code-assistant`, `codegen`, `dspy`, `embedding`, `embeddings`, `eval`, `evals`, `gateway`, `grok`, `haystack`, `inference`, `inference-api`, `knowledge`, `llamaindex`, `model`, `model-router`, `models`, `ollama`, `orchestration`, `prompts`, `replicate`, `rerank`, `reranker`, `retrieval`, `router`, `tokenizer`, `tool-use`, `vector`, and `vllm`
|
||||
|
||||
#### Scenario: Cross-source zero-yield terms are removed
|
||||
- **WHEN** an affected rotation is loaded
|
||||
- **THEN** `chatgpt`, `gpt`, and `moonshot` SHALL be absent from GitHub, GitLab, DockerHub, npm, PyPI, package-git, and Postman, and `openai` SHALL be absent from GitHub, GitLab, DockerHub, and Postman
|
||||
|
||||
#### Scenario: Zero-yield Postman signatures are removed
|
||||
- **WHEN** Postman loads its query rotation
|
||||
- **THEN** `dashscope-intl.aliyuncs.com` and `generativelanguage.googleapis.com` SHALL be absent
|
||||
|
||||
#### Scenario: Post-prune list sizes are deterministic
|
||||
- **WHEN** canonical configuration is loaded
|
||||
- **THEN** query counts SHALL be GitHub 64, GitLab 46, DockerHub 46, npm 43, PyPI 43, package-git 43, and Postman 33
|
||||
|
||||
### Requirement: Operational and historical authority is preserved
|
||||
Keyword retirement SHALL stop future discovery for the retired terms without deleting or rewriting source state, target queues, scans, findings, credentials, or results.
|
||||
|
||||
#### Scenario: Dedicated source sentinels remain
|
||||
- **WHEN** archive and gist source rotations are loaded
|
||||
- **THEN** `gharchive`, `gharchive-files`, and `gists` SHALL remain as their sole configured query tokens
|
||||
|
||||
#### Scenario: Persisted rotation index remains valid
|
||||
- **WHEN** an existing query index exceeds a shortened query list
|
||||
- **THEN** normal modulo-based rotation SHALL select a valid configured query without a state-file edit
|
||||
|
||||
#### Scenario: Existing backlog remains intact
|
||||
- **WHEN** the pruned configuration is deployed
|
||||
- **THEN** previously admitted targets and all historical attribution records SHALL remain unchanged
|
||||
|
||||
### Requirement: Retired query overrides are removed
|
||||
The canonical configuration SHALL NOT retain a query override for a retired query.
|
||||
|
||||
#### Scenario: Literal OpenAI overrides are absent
|
||||
- **WHEN** GitHub, GitLab, and DockerHub configuration is loaded
|
||||
- **THEN** each source SHALL omit the `openai` query override while preserving overrides for retained bounded queries
|
||||
Reference in New Issue
Block a user