baseline: close 5 of 7 gaps (I10436) — SECURITY.md, templates, coverage-scope test, generated badges - #116
Merged
Merged
Conversation
…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
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.
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) andRB-6(releases) are explicitly out of scope for this PR — owned elsewhere this session.Clauses
RB-3.2-secSECURITY.md— GitHub Security Advisory +security@nousergon.ai, 72h ack / 14d fix window, tax-document/PII-specific scopeRB-3.2-pr.github/pull_request_template.mdwith thePrepared by:model-attribution footer (pull-request-policy.md §3)RB-3.2-iss.github/ISSUE_TEMPLATE/bug_report.md+feature_request.md, mirrored frommorning-signalRB-4.2-C5tests/test_coverage_scope.py— asserts--covtargets the wholetelospackage, exactly onefail_underat/above a pinned ratchet (98), noomitbeyond an (empty) justified set, and no source module outside the measured packageRB-5.1img.shields.io/github/license/nousergon/telos(generated). Python-version badge dropped, not faked — telos is not published to PyPI (pypi.org/pypi/telosis an unrelated package), so no generated source exists for it. Added a Coverage badge sourced from a CI-published shieldsendpointdocumentMeasured numbers
telospackage (--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:badgesorphan 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-levelpermissions: contents: writescoped 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 tomain.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] sourceis narrowed to a submodule.ruff check .— clean.tomllib, and telos'srequires-python = ">=3.11"covers every matrix leg (notomlifallback needed, unlike a 3.10-inclusive repo).Refs
alpha-engine-config-I10436.Prepared by: Claude Sonnet 5 via Claude Code