feat(governance): Technical Steering Committee charter and founding roster#300
Open
mlieberman85 wants to merge 3 commits into
Open
feat(governance): Technical Steering Committee charter and founding roster#300mlieberman85 wants to merge 3 commits into
mlieberman85 wants to merge 3 commits into
Conversation
Introduce the darnit project's first formal governance documents, modeled on the LF Projects Technical Charter pattern used by GUAC and gittuf. Single-tier TSC over one project (gittuf shape, not GUAC's two-tier). New top-level files: - CHARTER.md — LF-template sections 1-8 plus a transitional §2.6 noting the known concentration risk of a two-member TSC. Voting rules: consensus-first; 50% quorum; simple majority of attendees with quorum (synchronous) or majority of entire TSC (electronic); 2/3 of entire TSC for amendments and license exceptions. PR approvals on tracked files are the canonical vote record; non-file decisions use a GitHub Issue with +1/-1/+0 comments. - TECHNICAL-STEERING-COMMITTEE.md — founding roster: Michael Lieberman (Kusari / industry / @mlieberman85) and Justin Cappos (NYU / academia / @JustinCappos). gittuf-style row schema with industry/academia tag. Reconciled with existing GOVERNANCE.md (was committed 2026-01-15): the prior maintainer-only decision-making model was reframed as the operational layer below the TSC charter. Pre-existing Project Structure, Roles and Responsibilities, Release Process, Code of Conduct, and Contact sections preserved. Removal-for-cause threshold follows gittuf: majority of the *other* current TSC members; the member under review does not vote on themselves. "Inactivity" is a discretionary judgment with no fixed numeric threshold. Validation: - All 8 LF sections present in order - Roster rows fully populated, GitHub handle regex matches, no chairs - CC-BY-4.0 license notice present in CHARTER.md - Cross-document invariant: founding handles do not appear in CHARTER.md (roster changes are a one-file edit) - ruff: passed - validate_sync: 5/5 passed - pytest: 2213 passed, 6 skipped, 0 failures Spec, plan, research, data model, quickstart, tasks, and checklist under specs/015-tsc-charter/ for the speckit feature artifacts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Michael Lieberman <mlieberman85@gmail.com>
Replace typographic Unicode that was injected during initial drafting with plain-ASCII equivalents, per project preference for ASCII-only prose in repo files. Substitutions applied: - em-dash (U+2014) -> -- - en-dash (U+2013) -> - - right arrow (U+2192) -> -> - left-right arrow (U+2194) -> <-> - less-than-or-equal (U+2264) -> <= - greater-than-or-equal (U+2265) -> >= - box-drawing chars (U+2500..) -> - | + - play / down triangles (U+25BA, U+25BC) -> > v - warning sign with variation selector (U+26A0, U+FE0F) -> dropped - target emoji (U+1F3AF) -> dropped Files affected: CHARTER.md, GOVERNANCE.md, and the spec-kit feature artifacts under specs/015-tsc-charter/ (spec, plan, research, data-model, quickstart, tasks). TECHNICAL-STEERING-COMMITTEE.md and checklists/requirements.md were already pure ASCII; README.md edit introduced no non-ASCII. Validation post-scrub: all 8 LF charter sections still present in order; CC-BY-4.0 notice intact; roster rows unchanged; cross-document invariants hold. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Michael Lieberman <mlieberman85@gmail.com>
Add two additional founding TSC members before charter adoption: - Stephen Augustus | Bloomberg | industry | @justaugustus - Adolfo Garcia Veytia | Carabiner | industry | @puerco Founding roster is now 4 members (3 industry, 1 academia), up from 2. Consequential changes: - Drop CHARTER.md section 2.6 ("Transitional Note on a Two-Member TSC"). With four members, "majority of the other current TSC members" no longer collapses to a majority of one, so the concentration-risk note is moot. Section 2 subsections now run 2.1..2.5; top-level sections 1..8 unchanged. - spec.md: record the expansion as a Clarifications session entry (2026-06-18). Annotate the pre-existing "Two-member quorum" and "Removal-for-cause in a two-member TSC" edge cases as moot, and mark the "Transitional two-member TSC" assumption as resolved. Preserved in the spec for audit-trail purposes rather than deleted. - data-model.md: update the "Required document structure" example and the "Initial roster matches user input" validation rule to reflect four founding rows. - plan.md, quickstart.md: light touch-ups noting the two-member framing is now historical. Out of scope (left as historical drafting record): research.md decision rationale, tasks.md task descriptions, checklists/requirements.md notes. These describe how the charter was authored, not what was adopted. Validation: - 8 LF charter top-level sections still present in order - All four roster rows fully populated, GitHub handle regex matches - Cross-document invariant holds (no member handles in CHARTER.md) - All authored files remain pure ASCII Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Michael Lieberman <mlieberman85@gmail.com>
3cb71e6 to
12a7f0f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduce the darnit project's first formal governance documents, modeled on the LF Projects Technical Charter pattern used by GUAC and gittuf. Single-tier TSC over one project (gittuf shape, not GUAC's two-tier).
New
CHARTER.md: LF-template sections 1-8. Voting rules: consensus-first; 50% quorum; simple majority of attendees with quorum (synchronous) or majority of entire TSC (electronic); 2/3 of entire TSC for amendments and license exceptions. PR approvals on tracked files are the canonical vote record; non-file decisions use a GitHub Issue with+1/-1/+0comments.New
TECHNICAL-STEERING-COMMITTEE.md: founding roster of four:Reconciled
GOVERNANCE.md: existing maintainer-only model (committed 2026-01-15 in64dd2f2) reframed as the operational layer below the TSC charter. Pre-existing Project Structure, Roles and Responsibilities, Release Process, Code of Conduct, and Contact sections preserved with light edits clarifying that TSC authority sits above maintainer authority.README.md: added a Governance section linking the three documents.Key design choices
specs/015-tsc-charter/research.md+1/-1for othersFounding roster expansion (2026-06-18)
The first commit on this branch seated a two-member founding TSC, with an explicit Charter section 2.6 noting the transitional concentration risk and the intent to recruit a third member promptly. Before adoption that risk was already addressed: Stephen Augustus and Adolfo Garcia Veytia were added as founding members, bringing the TSC to four (three industry, one academia). Charter section 2.6 was removed as moot; the two-member edge cases in
spec.mdare annotated as moot but preserved for audit trail.Test plan
NEEDS CLARIFICATIONmarkers remain in any deliverable@[A-Za-z0-9-]+) matches all four membersCHARTER.mdCHARTER.md(a future roster change is a one-file edit)uv run ruff check .-- passeduv run python scripts/validate_sync.py --verbose-- passed (5/5)uv run pytest tests/ --ignore=tests/integration/ -q-- 2213 passed, 6 skipped, 0 failuresSpec-Kit artifacts (under
specs/015-tsc-charter/)spec.md,plan.md,research.md,data-model.md,quickstart.md,tasks.md, andchecklists/requirements.md. The clarifications sessions on vote recording, removal threshold, inactivity definition (2026-06-17), and the founding roster expansion (2026-06-18) are captured inspec.md.Commits
feat(governance): add Technical Steering Committee charter and roster-- the initial deliverable (2-member founding roster)style(governance): scrub non-ASCII characters from charter feature files-- plain-ASCII cleanupfeat(governance): expand founding TSC roster to four members-- add Augustus and Garcia Veytia, drop the now-moot transitional sectionAll commits carry DCO sign-off per the constitution.
[Generated with Claude Code]