{"id":43048337,"url":"https://github.com/hummbl-dev/base120","last_synced_at":"2026-01-31T10:09:12.100Z","repository":{"id":329882382,"uuid":"1120862292","full_name":"hummbl-dev/base120","owner":"hummbl-dev","description":"Base120 is a deterministic governance substrate for system design, validation, and execution. It defines executable mental models, failure modes, and guardrails to enforce correctness, escalation, and termination decisions before runtime. This repository is the authoritative v1.0.0 reference implementation.","archived":false,"fork":false,"pushed_at":"2025-12-22T07:01:26.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-23T16:08:32.229Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","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":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-22T04:15:24.000Z","updated_at":"2025-12-22T07:01:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hummbl-dev/base120","commit_stats":null,"previous_names":["hummbl-dev/base120"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/hummbl-dev/base120","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fbase120","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fbase120/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fbase120/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fbase120/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hummbl-dev","download_url":"https://codeload.github.com/hummbl-dev/base120/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hummbl-dev%2Fbase120/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28937871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T08:53:31.997Z","status":"ssl_error","status_checked_at":"2026-01-31T08:51:38.521Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-01-31T10:09:11.651Z","updated_at":"2026-01-31T10:09:12.087Z","avatar_url":"https://github.com/hummbl-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Base120\n\nBase120 is a deterministic governance substrate for system design, \nvalidation,\nand execution.\n\n## Authority Statement\n\nThis repository is the authoritative reference implementation for Base120 \nv1.0.0.\nAll other language implementations are semantics mirrors and MUST conform \nexactly\nto the outputs defined here.\n\n## Contract Unit CLI\n\nBase120 now includes a command-line interface for validating **contract units** - governance artifacts that encapsulate schemas, failure graphs, and version metadata.\n\n**Quick Start:**\n```bash\npip install base120\nbase120 validate-contract path/to/contract.json\n```\n\nSee [`docs/contract-units.md`](docs/contract-units.md) for complete documentation and examples.\n\n## Canonical Authority\n\nThis repository is the authoritative, executable reference for Base120 v1.x.\nAll other language implementations are semantic mirrors and MUST match the\noutputs defined by the golden corpus in `tests/corpus`.\n\n## Versioning\n\n- v1.0.0 — semantic specification freeze\n- v1.0.0-post-ci — CI-stabilized, corpus-verified release (recommended)\n\n## Observability\n\nBase120 v1.0.0 includes a **minimal, semantics-preserving observability layer** \nfor production deployments. This layer:\n\n- **Emits structured JSON events** for validation success and failure\n- **Is opt-in** via an optional `event_sink` parameter (backward compatible)\n- **Uses standard library only** (no runtime dependencies)\n- **Never affects validation semantics** or determinism\n\n### Quick Start\n\n```python\nfrom base120.validators.validate import validate_artifact\nfrom base120.observability import create_event_sink\nimport json\n\n# Load schemas and registries\nwith open(\"schemas/v1.0.0/artifact.schema.json\") as f:\n    schema = json.load(f)\nwith open(\"registries/mappings.json\") as f:\n    mappings = json.load(f)\nwith open(\"registries/err.json\") as f:\n    err_registry = json.load(f)[\"registry\"]\n\n# Create event sink (logs to stdout)\nevent_sink = create_event_sink()\n\n# Validate with observability\nartifact = {\"id\": \"test-001\", \"domain\": \"core\", \"class\": \"example\", \n            \"instance\": \"test\", \"models\": [\"FM1\"]}\nerrors = validate_artifact(artifact, schema, mappings, err_registry, \n                          event_sink=event_sink)\n```\n\n### Event Schema\n\nEach validation emits one `validator_result` event:\n\n```json\n{\n  \"event_type\": \"validator_result\",\n  \"artifact_id\": \"artifact-001\",\n  \"schema_version\": \"v1.0.0\",\n  \"result\": \"success\",\n  \"error_codes\": [],\n  \"failure_mode_ids\": [],\n  \"timestamp\": \"2026-01-02T22:15:00.123456Z\"\n}\n```\n\n### Documentation\n\n- **Full specification:** [`docs/observability.md`](docs/observability.md)\n- **Event schema:** Fields, guarantees, and integration patterns\n- **Governance status:** Part of v1.0.x contract (Indicated work per FM19)\n\n### Backward Compatibility\n\nOmitting `event_sink` (default) preserves original v1.0.0 behavior with no \nobservability overhead:\n\n```python\n# No events emitted, identical to original v1.0.0\nerrors = validate_artifact(artifact, schema, mappings, err_registry)\n```\n\nThis observability layer addresses **FM19 (Observability Failure)** from the \nBase120 governance framework and is production-ready for deployment monitoring.\n\n---\n\n## Governance \u0026 Contributing\n\nBase120 implements a **formal governance contract** with automated CI enforcement to ensure:\n\n- **Deterministic validation** across all implementations\n- **Mathematical rigor** in formal model changes  \n- **Audit trails** for substantive changes\n- **Version policy enforcement** (v1.0.x is a frozen specification)\n\n### Quick Links\n\n- **[GOVERNANCE.md](GOVERNANCE.md)** - Complete governance specification\n- **[Contributing Guide](docs/governance-migration.md)** - How to submit changes\n- **[Decision Tree](docs/governance-decision-tree.md)** - Quick classification reference\n\n### Change Classes\n\n| If you're changing... | Class | Review |\n|-----------------------|-------|--------|\n| Typos, formatting | Trivial | CODEOWNER only |\n| Documentation | Editorial | CODEOWNER only |\n| Test corpus | Corpus | CODEOWNER + tests |\n| Schemas | Schema | 1+ reviewers |\n| Formal models | FM | 2+ reviewers |\n\nSee [governance-decision-tree.md](docs/governance-decision-tree.md) for complete classification guide.\n\n### v1.0.x Policy\n\n**Permitted:** Security fixes, CI hardening, documentation, corpus additions  \n**Prohibited:** Schema changes, registry modifications, breaking changes\n\nAll changes are automatically classified and validated by CI workflows.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhummbl-dev%2Fbase120","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhummbl-dev%2Fbase120","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhummbl-dev%2Fbase120/lists"}