{"id":50592304,"url":"https://github.com/hummbl-dev/evidence-gate","last_synced_at":"2026-06-05T11:30:17.197Z","repository":{"id":357687124,"uuid":"1233304964","full_name":"hummbl-dev/evidence-gate","owner":"hummbl-dev","description":"Pre-publish source-verification rule library for HUMMBL governance content. Stdlib-only TOML rules + fixture harness consumed by hummbl-production case_study_verify.","archived":false,"fork":false,"pushed_at":"2026-05-13T20:47:41.000Z","size":21,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-13T22:35:24.178Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hummbl-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"hummbl-dev"}},"created_at":"2026-05-08T20:16:54.000Z","updated_at":"2026-05-13T20:47:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hummbl-dev/evidence-gate","commit_stats":null,"previous_names":["hummbl-dev/evidence-gate"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/hummbl-dev/evidence-gate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fevidence-gate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fevidence-gate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fevidence-gate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fevidence-gate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hummbl-dev","download_url":"https://codeload.github.com/hummbl-dev/evidence-gate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fevidence-gate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33939225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-05T11:30:16.332Z","updated_at":"2026-06-05T11:30:17.177Z","avatar_url":"https://github.com/hummbl-dev.png","language":"Python","funding_links":["https://github.com/sponsors/hummbl-dev"],"categories":[],"sub_categories":[],"readme":"# Evidence-Gate\n\nPre-publish source-verification rule library for HUMMBL governance content.\n\nThis repo is the **canonical home** for the Evidence-Gate v2 rule library\nconsumed by `hummbl-production/scripts/case_study_verify.py` and other\nconsumers. The canonical working tree lives on Anvil at\n`PROJECTS/evidence-gate/`; this repo mirrors to GitHub\n(`hummbl-dev/evidence-gate`) and Gitea (`HUMMBL/evidence-gate`).\n\n## Layout\n\n```\nevidence-gate/\n├── rules/                              # 8 ER-NNN.toml rules + _surfaces + _families\n│   ├── _surfaces.toml                  # surface registry (external/internal/canonical-corpus globs)\n│   ├── _families.toml                  # context-tag families (numeric, percent, broccolilly)\n│   ├── ER-001-multiplier-no-source.toml\n│   ├── ER-002-numeric-with-unit-no-source.toml\n│   ├── ER-003-code-ident.toml\n│   ├── ER-004-sha-ref.toml\n│   ├── ER-005-pr-ref.toml\n│   ├── ER-006-exact-percent.toml\n│   ├── ER-007-dated-incident.toml\n│   └── ER-008-broccolilly-tuple.toml\n├── docs/\n│   └── evidence-gate-v2-schema.md      # versioned schema receipt (v0.3)\n├── scripts/\n│   └── run_rule_fixtures.py            # stdlib fixture harness\n├── contribution_learnings.jsonl        # append-only review-learning corpus\n└── README.md\n```\n\n## Quickstart\n\n```bash\n# Run fixtures locally\ncd PROJECTS/evidence-gate\npython scripts/run_rule_fixtures.py\n# → PASS: 32 fixtures across 8 rules\n\n# Use against case studies via the consumer in hummbl-production\nEVIDENCE_GATE_RULES_DIR=\"$PWD/rules\" python ../hummbl-production/scripts/case_study_verify.py path/to/case-study.html\n```\n\n## How rules work\n\nEach rule is a TOML file that declares:\n\n- A `[pattern]` (regex / phrase / compound) that finds candidate claims in text\n- `[severity]` rules — `default`, `promote_when` contexts, `demote_when` contexts\n- `[canonical_sources]` policy — `must_match_with_unit` / `must_match_anywhere` /\n  `must_match_full_context` / `git_rev_parse` / `none`\n- `[[exceptions]]` — marker matches like `[VERIFY: \u003cbasis\u003e]` that demote-by-one-tier\n- Embedded `[[fixtures.positive]]` and `[[fixtures.negative]]` — test cases the\n  harness validates on every run\n\nSee `docs/evidence-gate-v2-schema.md` for the full v0.3 schema, the layer-by-layer\nfail-closed contract, and the cross-check trail.\n\n## Status\n\n- v0.3 (current): canonical-home migration. ER-007 family.date P2 fix applied;\n  ER-002 P3 alignment with ER-006 (external phantom → ERROR).\n- 8 rules / 32 fixtures all pass against `hummbl-production` `rule_loader.py`\n  on `main` (commit `07047fe`+).\n- Pending **third PR** in `hummbl-production`: rewire `find_claims_in_html` to\n  consume rules directly (currently uses v1 hardcoded patterns; rule library\n  loads + validates but doesn't yet drive findings).\n\n## Stdlib only\n\nNo PyYAML, no third-party runtime dependencies. Loader is `tomllib` (Python\n3.11+). Harness is stdlib `re` + `subprocess` + `pathlib`.\n\n## Automation Posture\n\nThis repository should keep CI focused on the rule contract rather than broad\ncontent review. The GitHub Actions posture is:\n\n- Compile `scripts/run_rule_fixtures.py` and parse rule TOML files on supported\n  Python versions when rule, script, schema-doc, or workflow files change.\n- Keep the harness stdlib-only; do not add third-party CI dependencies for the\n  rule library.\n- Leave adoption, source sufficiency, and publishing readiness to human or\n  agent review because those are evidence judgments, not syntax checks.\n\nFull fixture execution currently depends on the private\n`hummbl-production/scripts/rule_loader.py` contract. Run it locally from a\nsibling checkout or by setting `HUMMBL_PRODUCTION_ROOT`; GitHub-hosted fixture\nexecution is tracked separately in issue #4.\n\nYou can also pass an explicit loader location:\n\n```bash\npython scripts/run_rule_fixtures.py --rule-loader-path ../hummbl-production\npython scripts/run_rule_fixtures.py --rule-loader-path ../hummbl-production/scripts/rule_loader.py\n```\n\nCI uses `--skip-missing-loader` so public syntax checks can run without access\nto the private loader repository.\n\n## Origin\n\nAuthoring split (codex c+d after claude-code Stage-2 schema + (b) loader).\nSee `docs/evidence-gate-v2-schema.md` § Cross-Check Trail for the full\nmulti-stage history with bus receipts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhummbl-dev%2Fevidence-gate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhummbl-dev%2Fevidence-gate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhummbl-dev%2Fevidence-gate/lists"}