diff --git a/README.md b/README.md index 431f93b65..e0b3c9a7c 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,7 @@ SIG-specific GitHub discussions. | Ruby: SDK ๐Ÿ”— | Tuesday at 10:00 PT | [Google Doc](https://docs.google.com/document/d/1EaIbfDE1elWTWt3bhilggki_OCRJZoFCSYZJXgc9KsM) | [#otel-ruby](https://cloud-native.slack.com/archives/C01NWKKMKMY) and [GitHub Discussions](https://github.com/open-telemetry/opentelemetry-ruby/discussions) | [calendar-ruby](https://groups.google.com/a/opentelemetry.io/g/calendar-ruby) | [Ted Young](https://github.com/tedsuo) | | Rust: SDK ๐Ÿ”— | Alternating between Tuesday at 09:00 AM PT and Wednesday at 8:00 AM PT | [Google Doc](https://docs.google.com/document/d/12upOzNk8c3SFTjsL6IRohCWMgzLKoknSCOOdMakbWo4) | [#otel-rust](https://cloud-native.slack.com/archives/C03GDP0H023) | [calendar-rust](https://groups.google.com/a/opentelemetry.io/g/calendar-rust) | [Ted Young](https://github.com/tedsuo) | | Swift: SDK ๐Ÿ”— | Thursday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1LugL8r4bAkbTxZ1Gq_6j_8SDv1LuZaNeUdR-QLN4d48) | [#otel-swift](https://cloud-native.slack.com/archives/C01NCHR19SB) | [calendar-swift](https://groups.google.com/a/opentelemetry.io/g/calendar-swift) | [Alolita Sharma](https://github.com/alolita) | +| Zig: SDK | | | | | [Alolita Sharma](https://github.com/alolita) | | Network ๐Ÿ”— | Tuesday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/13GK915hdDQ9sUYzUIWi4pOfJK68EE935ugutUgL3yOw) | [#otel-network](https://cloud-native.slack.com/archives/C02AB15583A) | [calendar-network](https://groups.google.com/a/opentelemetry.io/g/calendar-network) | [Ted Young](https://github.com/tedsuo) | | eBPF Instrumentation ๐Ÿ”— | Wednesday at 08:00 PT | [Google Doc](https://docs.google.com/document/d/1ZkmUT2EHKfgtLqrgx3WI8aBy2QNyZeTwSKXxe3DI6Pw) | [#otel-ebpf-instrumentation](https://cloud-native.slack.com/archives/C08P9L4FPKJ) | [calendar-ebpf-instrumentation](https://groups.google.com/a/opentelemetry.io/g/calendar-ebpf-instrumentation) | [Severin Neumann](https://github.com/svrnm) | | Kubernetes Operator ๐Ÿ”— | Thursday at 09:00 PT | [Google Doc](https://docs.google.com/document/d/1Unbs2qp_j5kp8FfL_lRH-ld7i5EOQpsq0I4djkOOSL4) | [#otel-operator](https://cloud-native.slack.com/archives/C033BJ8BASU) | [calendar-k8s-operator](https://groups.google.com/a/opentelemetry.io/g/calendar-k8s-operator) | [Juraci Paixรฃo Krรถhling](https://github.com/jpkrohling) | diff --git a/scripts/schema/workstreams.schema.yml b/scripts/schema/workstreams.schema.yml index 5d83b67b1..760f54a49 100644 --- a/scripts/schema/workstreams.schema.yml +++ b/scripts/schema/workstreams.schema.yml @@ -19,12 +19,19 @@ items: id: type: string minLength: 1 + # Any kind may be associated with a project proposal document + # under /projects/*.md. kind: type: string enum: # Permanent operational group with recurring meetings, # a GC liaison, and a TC sponsor. - sig + # Time-bound effort with defined deliverables and exit criteria. + # Concludes when its deliverables are met, distinct from a + # permanent SIG. Initiatives are scoped under a parent SIG, which + # manages the initiative's lifecycle. + - initiative name: type: string minLength: 1 @@ -92,6 +99,11 @@ items: - leading # Level required but not yet determined. - tbd + # Person accountable for driving the workstream forward. + # Required on: initiative. GitHub username, or 'tbd' if not yet assigned. + lead: + type: string + minLength: 1 # Trusted collaborator with approval rights on the spec repository. # TC members are a superset and may fill this role. # GitHub username, or 'tbd' if not yet assigned. diff --git a/scripts/validate-workstreams.py b/scripts/validate-workstreams.py index 71381ece2..b8470c1ba 100644 --- a/scripts/validate-workstreams.py +++ b/scripts/validate-workstreams.py @@ -33,12 +33,20 @@ KIND_REQUIRED_ROLES = { "sig": {"gcLiaison", "tcSponsor"}, + "initiative": {"lead"}, +} + +KIND_FORBIDDEN_ROLES = { + "initiative": {"gcLiaison", "tcSponsor"}, } VALID_PARENT_KINDS = { "sig": {"sig"}, + "initiative": {"sig"}, } +KINDS_REQUIRING_PARENT = {"initiative"} + MEMBERSHIP_REQUIRED_ROLES = {"gcLiaison", "tcSponsor", "specSponsor"} @@ -90,6 +98,8 @@ def validate_workstreams_semantics(workstreams: list[dict], people_data: dict) - parent_id = w.get("parent") if parent_id is None or parent_id == NONE: + if kind in KINDS_REQUIRING_PARENT: + errors.append(f"[{wid}] kind '{kind}' requires a parent") continue if parent_id == wid: @@ -132,6 +142,11 @@ def validate_workstreams_semantics(workstreams: list[dict], people_data: dict) - errors.append( f"[{wid}] kind '{kind}' requires at least one '{required_role}'" ) + for forbidden_role in KIND_FORBIDDEN_ROLES.get(kind, set()) & person_roles: + errors.append( + f"[{wid}] kind '{kind}' must not specify '{forbidden_role}' " + "(inherited from parent SIG)" + ) teams = people_data.get("teams", {}) gc_members = {u.lower() for u in teams.get("governance-committee", [])} diff --git a/workstreams.yml b/workstreams.yml index 890818cc7..d1d323b57 100644 --- a/workstreams.yml +++ b/workstreams.yml @@ -770,6 +770,16 @@ name: '#otel-swift' id: C01NCHR19SB - repository: open-telemetry/opentelemetry-swift +- id: zig-sdk + kind: sig + sigCategory: implementation + name: 'Zig: SDK' + parent: none + people: + - gcLiaison: alolita + - tcSponsor: + username: jmacd + level: tbd - id: network kind: sig sigCategory: implementation @@ -1156,3 +1166,61 @@ - slack: name: '#otel-localization-uk' id: C097ZNPM3LK +- id: agentic-workflow + kind: initiative + name: OpenTelemetry Collector Agentic Workflows + parent: collector + people: + - lead: pavolloffay + - lead: niwoerner +- id: otel-blueprints + kind: initiative + name: OTel Blueprints + parent: end-user + people: + - lead: danielgblanco + - lead: dmathieu + resources: + - meeting: + schedule: Every other Thursday at 10:00 PT (alternating with general End-User SIG meetings) + gDocNotes: 1e-UNZA3Tuno9b53RQbe--whUcO0VIXF3P81oXsrBK6g + - slack: + name: '#otel-blueprints' + id: C0A844D6ZCH +- id: zig-sig-bootstrap + kind: initiative + name: Bootstrap Zig Special Interest Group + parent: zig-sdk + people: + - lead: inge4pres + - lead: kmos + - lead: hendriknielaender +- id: collector-v1 + kind: initiative + name: Collector v1 + parent: collector + people: + - lead: tbd +- id: cicd-phase-2 + kind: initiative + name: CI/CD Observability SIG Phase 2 + parent: semconv-cicd + people: + - lead: horovits + - lead: adrielp +- id: ecosystem-explorer + kind: initiative + name: OpenTelemetry Ecosystem Explorer + parent: communications + people: + - lead: jaydeluca + - lead: svrnm + - lead: mx-psi + resources: + - roadmapProject: 175 +- id: getting-started-docs + kind: initiative + name: New Getting Started Documentation and Reference Application + parent: communications + people: + - lead: svrnm