Files
2026-09-30 20:30:56 +03:00

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_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