3.7 KiB
3.7 KiB
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_llmrule - 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, andvllm
Scenario: Cross-source zero-yield terms are removed
- WHEN an affected rotation is loaded
- THEN
chatgpt,gpt, andmoonshotSHALL be absent from GitHub, GitLab, DockerHub, npm, PyPI, package-git, and Postman, andopenaiSHALL 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.comandgenerativelanguage.googleapis.comSHALL 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, andgistsSHALL 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
openaiquery override while preserving overrides for retained bounded queries