Skip to content

baseline: close 5 of 7 gaps (I10436) — SECURITY.md, templates, coverage-scope test, generated badges - #116

Merged
cipher813 merged 1 commit into
mainfrom
baseline/I10436
Sep 10, 2026
Merged

baseline: close 5 of 7 gaps (I10436) — SECURITY.md, templates, coverage-scope test, generated badges#116
cipher813 merged 1 commit into
mainfrom
baseline/I10436

Conversation

@cipher813

Copy link
Copy Markdown
Contributor

What & why

Closes the five clauses assigned to this session on alpha-engine-config-I10436 (repository-baseline-policy.md). RB-2.2/RB-2.2-hp (topics/homepage) and RB-6 (releases) are explicitly out of scope for this PR — owned elsewhere this session.

Clauses

Clause Gap Status What changed
RB-3.2-sec no SECURITY.md Closed SECURITY.md — GitHub Security Advisory + security@nousergon.ai, 72h ack / 14d fix window, tax-document/PII-specific scope
RB-3.2-pr no PR template Closed .github/pull_request_template.md with the Prepared by: model-attribution footer (pull-request-policy.md §3)
RB-3.2-iss no issue templates Closed .github/ISSUE_TEMPLATE/bug_report.md + feature_request.md, mirrored from morning-signal
RB-4.2-C5 scope unprotected Closed tests/test_coverage_scope.py — asserts --cov targets the whole telos package, exactly one fail_under at/above a pinned ratchet (98), no omit beyond an (empty) justified set, and no source module outside the measured package
RB-5.1 hand-set badges Closed License badge → img.shields.io/github/license/nousergon/telos (generated). Python-version badge dropped, not faked — telos is not published to PyPI (pypi.org/pypi/telos is an unrelated package), so no generated source exists for it. Added a Coverage badge sourced from a CI-published shields endpoint document

Measured numbers

  • Local suite: 483 passed, 1 skipped.
  • Coverage: 98.34% measured over the whole telos package (--cov=telos). Floor raised 90 → 98 as a ratchet (repository-baseline-policy.md §4.2 C3) — never lowered to pass a change.
  • ruff check .: clean.

No post-merge step

Everything here is either applied in this PR or fires automatically from committed CI code on the next push to main:

  • The badges orphan branch already exists on the remote (coverage.json = "pending" + a machine-written README), seeded before this PR was opened.
  • .github/workflows/ci.yml's new "Publish coverage badge" step runs on the python-3.13 leg, push-to-main only, with job-level permissions: contents: write scoped to that one write — no operator action required. Merging this PR alone is sufficient; the coverage badge starts rendering a real number on the next push to main.

Test plan

  • pytest --cov --cov-report=term-missing — 483 passed, 1 skipped, 98.34% ≥ 98% floor.
  • pytest tests/test_coverage_scope.py -v — 5 passed; manually confirmed it fails if [tool.coverage.run] source is narrowed to a submodule.
  • ruff check . — clean.
  • CI matrix (3.11–3.14) unaffected by the coverage-scope test: it uses stdlib tomllib, and telos's requires-python = ">=3.11" covers every matrix leg (no tomli fallback needed, unlike a 3.10-inclusive repo).

Refs alpha-engine-config-I10436.


Prepared by: Claude Sonnet 5 via Claude Code

…urced badges

Closes RB-3.2-sec, RB-3.2-pr, RB-3.2-iss, RB-4.2-C5, RB-5.1 from
alpha-engine-config-I10436 (RB-2.2/RB-2.2-hp/RB-6 out of scope here).

- SECURITY.md: disclosure path (GitHub Security Advisory + email), 72h ack /
  14d fix window, PII/tax-document-specific threat model.
- .github/pull_request_template.md: model-attribution footer per
  pull-request-policy.md §3, mirrored from crucible/morning-signal.
- .github/ISSUE_TEMPLATE/{bug_report,feature_request}.md, mirrored from
  morning-signal with telos-specific fields (no-PII reminder, tax year/form).
- tests/test_coverage_scope.py: asserts --cov targets the whole telos
  package, exactly one enforced floor >= the pinned ratchet, no coverage
  omit beyond the (currently empty) justified set, and no stray source
  module outside the measured package.
- pyproject.toml: coverage floor raised 90 -> 98 as a ratchet, against a
  measured 98.34% (483 passed, 1 skipped locally).
- README.md: hand-set License and Python-version badges replaced. License
  now reads img.shields.io/github/license/nousergon/telos (generated).
  Python-version badge dropped outright rather than faked — telos is not
  published to PyPI (pypi.org/pypi/telos is an unrelated package), so no
  shields-generated source exists for it. Added a Coverage badge rendering
  the shields endpoint scripts/publish_coverage_badge.sh publishes.
- .github/workflows/ci.yml: badge-publish step on the python-3.13 leg,
  push-to-main only, job-level `permissions: contents: write` scoped to
  that one write.
- badges branch seeded on the remote before this PR opened (coverage.json =
  "pending" + machine-written README) so the merge alone is sufficient —
  no post-merge step.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T3iQ5BqsPVNPZgQQsYNh2L
@cipher813
cipher813 merged commit e60a8ea into main Sep 10, 2026
13 checks passed
@cipher813
cipher813 deleted the baseline/I10436 branch September 10, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant