The Tier-0 content scan (core/src/scorekeeper/detect/tier0_content.py) flags mid-turn when an agent writes a rival technology against a pinned decision — e.g. board pins attr:persistence.primary_db=postgresql and the agent writes import pymongo. It works off a small, high-precision lexicon of mutually-exclusive technology families (FAMILIES).
Task: extend FAMILIES (and _ALIASES where a package name differs from the tech, like pymongo→mongodb) to cover more of a real stack.
Good candidates: message queues (kafka/rabbitmq/redis-streams/sqs), cloud object storage (s3/gcs/azure-blob/minio), search (elasticsearch/opensearch/meilisearch/typesense), container/runtime, ORMs beyond the current set, JS bundlers, etc.
Acceptance:
- new family/families added, lowercase, high-precision (no false-positive-prone generic words)
- aliases added where the import token differs from the canonical name
- a case in
core/tests/test_cli_hooks.py::test_tier0_content_scan (or a new test) covering one new family
uv run pytest -q and uv run ruff check src tests pass
See CONTRIBUTING.md → "Good places to start". Small, self-contained, great first PR.
The Tier-0 content scan (
core/src/scorekeeper/detect/tier0_content.py) flags mid-turn when an agent writes a rival technology against a pinned decision — e.g. board pinsattr:persistence.primary_db=postgresqland the agent writesimport pymongo. It works off a small, high-precision lexicon of mutually-exclusive technology families (FAMILIES).Task: extend
FAMILIES(and_ALIASESwhere a package name differs from the tech, likepymongo→mongodb) to cover more of a real stack.Good candidates: message queues (kafka/rabbitmq/redis-streams/sqs), cloud object storage (s3/gcs/azure-blob/minio), search (elasticsearch/opensearch/meilisearch/typesense), container/runtime, ORMs beyond the current set, JS bundlers, etc.
Acceptance:
core/tests/test_cli_hooks.py::test_tier0_content_scan(or a new test) covering one new familyuv run pytest -qanduv run ruff check src testspassSee CONTRIBUTING.md → "Good places to start". Small, self-contained, great first PR.