Release automation, supply chain hardening, npm package rename to @undef-games/telemetry
113 files · 4,096+ · 496-

Release automation with release-please

8 files changed
  • release-please.yml release-please workflow for automated changelog and version bump PRs
  • .release-please-config.json release-please config: package-level versioning for Python and TypeScript
  • .release-please-manifest.json Initial version manifest for release-please state tracking
  • CHANGELOG.md Generated changelog for 0.4.0 release
  • CHANGELOG.md Generated TypeScript changelog for 0.4.0
  • PULL_REQUEST_TEMPLATE.md PR description template
  • CODEOWNERS CODEOWNERS for automatic review assignment
  • BRANCH_PROTECTION.md Branch protection configuration guide for maintainers
  • release-please configured to manage automated release PRs for both Python and TypeScript packages. CODEOWNERS, PR template, and branch protection guide added to standardize contribution workflow. baseline internal
    3 files
    • release-please.yml
    • CODEOWNERS
    • BRANCH_PROTECTION.md

Supply chain security: CodeQL, Sigstore, SBOM, pinned Actions

6 files changed
  • codeql.yml CodeQL SAST scanning for Python and TypeScript on every push and PR
  • release.yml Release workflow updated with Sigstore artifact signing and CycloneDX SBOM generation for both Python and TypeScript distributions
  • ci-python.yml All Actions steps pinned to full commit SHAs; numbered emoji workflow name
  • ci-typescript.yml All Actions steps pinned to commit SHAs
  • dependabot.yml Dependabot config for automated npm and pip dependency updates
  • commitlint.config.js commitlint config enforcing conventional commit format on PRs
  • CodeQL SAST added for Python and TypeScript. Release workflow now generates CycloneDX SBOMs and signs artifacts with Sigstore. All GitHub Actions pinned to full commit SHAs to prevent supply chain compromise via tag mutation. Dependabot enabled for automated dependency updates. commitlint enforces conventional commit format on PRs. harden internal
    3 files
    • codeql.yml
    • release.yml
    • dependabot.yml

Changed-files mutation gate for PRs

2 files changed
  • ci-python.yml New mutation-pr job: finds changed Python source files, runs mutmut only on those files, fails if any survivors found
  • run_mutation_gate.py Updated mutation gate script with --retries and --max-children flags and survivor name logging on failure
  • Python CI now runs a changed-files mutation gate on every PR: diffs against main to find modified source files, runs mutmut only on those files, and logs surviving mutant names on failure. Full mutation gate (all files) retained for scheduled and dispatch runs with –max-children 1 for CI stability. baseline internal
    2 files
    • ci-python.yml
    • run_mutation_gate.py

npm package rename to @undef-games/telemetry and 0.4.0 release

3 files changed
  • package.json name changed from @undef/telemetry to @undef-games/telemetry; version 0.3.0 → 0.4.0
  • VERSION TypeScript VERSION file tracking 0.4.0
  • VERSION Python VERSION updated to 0.4.0
  • npm package renamed from @undef/telemetry to @undef-games/telemetry to align with the GitHub org namespace. Python and TypeScript both release at 0.4.0. All TypeScript source files updated to reflect new package identity. interface behavioral
    1 file
    • package.json

TypeScript relicensed from AGPL-3.0-or-later to Apache-2.0

2 files changed
  • AGPL-3.0-or-later.txt AGPL license text removed
  • REUSE.toml TypeScript files switched to Apache-2.0 in REUSE annotations
  • TypeScript SDK relicensed from AGPL-3.0-or-later to Apache-2.0. REUSE.toml updated to reflect the change; AGPL license text removed. Python SDK remains AGPL-3.0-or-later. baseline behavioral
    1 file
    • REUSE.toml

Perf threshold unified to 25μs; resilience bypass signal validation

2 files changed
  • test_performance_smoke.py All performance thresholds unified to 25μs for CI runner tolerance
  • core.py Resilience bypass validates signal argument to kill mutation survivors
  • All performance smoke test thresholds unified to 25μs to handle variance across CI runner environments. Resilience bypass now validates the signal argument (was unvalidated, leaving mutation survivors). Unused loop variable renamed to satisfy ruff B007. remediate errata
    2 files
    • test_performance_smoke.py
    • core.py

Enterprise hardening and polyglot monorepo design docs

5 files changed
  • 2026-03-28-enterprise-hardening.md 825-line enterprise hardening implementation plan
  • 2026-03-28-enterprise-hardening-design.md 256-line enterprise hardening design spec
  • 2026-03-27-playwright-browser-e2e.md 714-line Playwright browser E2E implementation plan
  • 2026-03-27-polyglot-spec-infrastructure.md 1146-line polyglot spec infrastructure plan
  • 2026-03-27-polyglot-monorepo-design.md 333-line polyglot monorepo design spec
  • Added enterprise hardening implementation plan and design spec covering advanced security hardening patterns. Playwright browser E2E and polyglot spec infrastructure plans also captured from prior sprint planning. specify internal
    2 files
    • 2026-03-28-enterprise-hardening.md
    • 2026-03-28-enterprise-hardening-design.md