{"id":51061808,"url":"https://github.com/aygp-dr/trace-spine","last_synced_at":"2026-06-23T03:01:02.668Z","repository":{"id":356763528,"uuid":"1233978876","full_name":"aygp-dr/trace-spine","owner":"aygp-dr","description":"Wire-discipline library for W3C traceparent propagation","archived":false,"fork":false,"pushed_at":"2026-05-11T11:41:33.000Z","size":219,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T11:59:23.529Z","etag":null,"topics":["architecture-decision-records","c4-model","clojure","distributed-tracing","observability","property-based-testing","tla-plus","traceparent","w3c-trace-context","wire-protocol"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","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/aygp-dr.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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-09T15:38:22.000Z","updated_at":"2026-05-11T11:41:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aygp-dr/trace-spine","commit_stats":null,"previous_names":["aygp-dr/trace-spine"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aygp-dr/trace-spine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aygp-dr%2Ftrace-spine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aygp-dr%2Ftrace-spine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aygp-dr%2Ftrace-spine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aygp-dr%2Ftrace-spine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aygp-dr","download_url":"https://codeload.github.com/aygp-dr/trace-spine/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aygp-dr%2Ftrace-spine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34673437,"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-23T02:00:07.161Z","response_time":65,"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":["architecture-decision-records","c4-model","clojure","distributed-tracing","observability","property-based-testing","tla-plus","traceparent","w3c-trace-context","wire-protocol"],"created_at":"2026-06-23T03:00:57.936Z","updated_at":"2026-06-23T03:01:02.657Z","avatar_url":"https://github.com/aygp-dr.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# trace-spine\n\nWire-discipline library and CI harness that enforces W3C traceparent propagation\nacross every wire crossing in the architecture.\n\n## What this is\n\ntrace-spine is the **contract enforcement** layer for distributed tracing.\nIt is not a tracing backend, not a collector, not a sampling policy.\n\nThe invariant: every request, message, span, and event carries a W3C `traceparent`\nthat resolves to the same trace id throughout its causal cone.\n\n## Quick start\n\n```yaml\n# .trace-spine.yaml in your service repo\nversion: 1\nservice_name: checkout\ningress_designated: false\ncrossings:\n  http_inbound:\n    - path: /api/checkout\n      framework: rails\n```\n\n## Spec\n\n| Document                | Purpose                              |\n|-------------------------|--------------------------------------|\n| spec/L0-claims.org      | Named invariants (I-spine-*)        |\n| spec/L1-wire.org        | Wire format (W3C Trace Context v00) |\n| spec/L1-contracts.org   | Function contracts for adapters     |\n| spec/L2-properties.org  | Property tests                      |\n| spec/cprr.org           | Conjecture tracking                 |\n\n## Wire format\n\n```\ntraceparent: 00-{trace-id}-{parent-id}-{flags}\n             00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01\n```\n\nValidation regex: `^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$`\n\n## Adapters\n\n| Language/Substrate | Status  |\n|--------------------|---------|\n| Clojure (JVM)      | Planned |\n| ClojureScript      | Planned |\n| Ruby (Rails)       | Planned |\n| Babashka           | Planned |\n| aq (NDJSON)        | Planned |\n| Go                 | Planned |\n\n## Conformance\n\nServices declare their wire crossings in `.trace-spine.yaml` and run the\nconformance harness in CI:\n\n```bash\ncd conformance \u0026\u0026 ./run.sh\n```\n\n## Documentation\n\n- [ADR-0001: Record decisions](docs/architecture/adr/0001-record-decisions.md)\n- [ADR-0002: W3C Trace Context](docs/architecture/adr/0002-w3c-trace-context-version-00.md)\n- [ADR-0003: No internal origination](docs/architecture/adr/0003-no-internal-origination.md)\n- [ADR-0004: 50µs budget](docs/architecture/adr/0004-50us-propagation-budget.md)\n- [ADR-0005: Cross-substrate test](docs/architecture/adr/0005-cross-substrate-chain-property.md)\n\n## Team\n\n| Role           | Scope                                           |\n|----------------|------------------------------------------------|\n| spec-keeper    | Edit spec, gate L0→L3, sign exemptions         |\n| spine-engineer | Libraries, harness, middleware                 |\n| adversary      | Chaos testing (agent-fillable under review)    |\n\n## License\n\nTBD\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faygp-dr%2Ftrace-spine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faygp-dr%2Ftrace-spine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faygp-dr%2Ftrace-spine/lists"}