Releases: kasi-x/python-copier-template
Release list
6.1.0
[6.1.0]
Bug Fixes
-
keep the 2-minute witness batch runner out of the edit loop (25bbb80)
-
refuse a taskfile append that leaves invalid YAML (06d88ab)
-
stop the logging_setup wrappers from emitting a leading blank line (b9aaf65)
-
attribute conventional-commit enforcement to CI, not a hook (fd6bcc8)
-
diagnose a malformed target instead of raising or blaming (cfc4f41)
-
mirror the models/ un-ignores into the rendered gitignore (7d7b6e8)
-
read the derived names from the render's own answers (e62d0e8)
-
TypeError, not RuntimeError, for a non-mapping answers file (35f8e5a)
-
let the fixture registry take the fixtures' own types (63fa251)
-
keep the generated qa module formatted at every name length (0673309)
-
keep the leaf dest out of the secret scanner's grammar (7439a33)
-
read the python-floor pin from the macros source (de06ece)
-
gitlab renders get gitlab urls, not hardcoded github ones (4a018b2)
-
a throttled PyPI lookup is an unresolved check, not removed drift (ca67b80)
-
the rehearsal records the described revision, not a raw sha (cbbf902)
-
pin the version comments to the tags that point at them (b8d2e9c)
-
pass the audit flag as the keyword-only argument it became (fadecdb)
-
resolve include targets against the watched files, and sync the doc counts (3945fa9)
-
gitleaks-action v2.3.9 -> v3.0.0; retarget the just pin probe (000a2d6)
-
Japanese pydocstyle ignores, torch index on the GPU axis, deptry web_api gating + the sphinx regressions they exposed (7d6c2e2)
-
the license gate is armed for every offered license, not 13 of 49 (4ae54b8)
-
the update rehearsal checks out its release tags (2e410d3)
-
the composite cannot check out the repo it lives in, and the zizmor pins must be a released pair (9b13f95)
-
the domain variant list keeps list[str] without tripping RUF025 (3da5f17)
-
the cpp flavour stops shipping pyproject orphans -- and the untested paths get their first exercise (7b294b2)
-
the slides theme and the CSL actually render -- first real quarto run caught both (2a1b544)
-
the example identifiers pass typos on both sides of the render -- found by act (ca5f8aa)
-
the vendored clean.scss ends with exactly one newline -- the hygiene EOF check caught it on the first real CI run (8465713)
-
the fairness acronyms are whitelisted, and the identifier-rewrite hazard is written down (6013e39)
-
the spellchecker goes report-only -- fix never runs typos -w (8bd6338)
-
the hazard's own example tripped the checker -- reworded, typos clean (e60b45f)
-
generated .gitignore ends with exactly one newline on every include branch (7a13884)
-
scheduled-check grants contents:write to the docs reusable call (bd8db87)
-
strip trailing whitespace from vendored clean.scss (5dd6fce)
-
skip leaves whose answers are invalid at the base ref (cac4260)
-
strip trailing whitespace from generated text files (6ca255a)
-
retry the transient copier tempdir race; re-record tier ledger (a8c876f)
-
mcp floor 2.0 -> 2.0.1 (2.0.0 final was never released) (958d0d7)
-
upstream-fork check compares against a reviewed marker, not HEAD (594a988)
Documentation
-
pin the verification architecture and its growth rules (6ce577d)
-
make the README a 120-line entry point (1981f36)
-
record section 25/26 and check off the items the day's commits landed (c28fefb)
-
spell unparsable the way the typos dictionary prefers (f9c637a)
-
record the section 26.4 outcomes, spike verdicts and remaining items (d1aaab5)
-
record the §27.7 batch — five branches, five outcomes (10747dc)
-
V5 landed -- the merge contracts are an artifact (f9b1b31)
-
settle §27.7-7 — pixi venv sharing rejected, randomly nightly adopted (d29e05b)
-
the discord bot how-to, the layer's second implementation (b275e98)
-
record the bot layer's first slice in section 4 (dabc7ac)
-
follow the split in the prose that named test_example.py (95e62fe)
-
audit the section 1-26 checkboxes against the tree (dcf546c)
-
close section 27.7 item 4 with what landed (640427a)
-
close the two MCP items the run_tests and support slices finished (11fe52a)
-
the silent-override visibility item is done (f1218e9)
-
the macros extraction is done (2ef2aab)
-
the section-18 structural batch is done (bfd3ce1)
-
the raw-vs-effective rule, and the README gate it was hiding (212cd59)
-
section 18 is complete -- predicates named, rule written down, gitlab urls fixed (3bcbede)
-
wire the predicate classifier into the workflow and the cost ledger (b2bc53e)
-
section 18.5 -- the predicate classifier makes the unification permanent (c60bc52)
-
the extension runbook -- platforms, layers, gates (398c779)
-
section 18.6 -- growth-resilience contracts (068e5e3)
-
section 18.7 -- the render twin turns byte-identity proofs into a command (8453f37)
-
tell the template what you want -- the inverse template's page (21947bb)
-
section 18.8 -- the update rehearsal, every configuration every night (7d5d6af)
-
the drift matrix goes public -- and the leaf-count references stop lying (59ee48b)
-
the paper scaffold gets its documentation -- and the generated README admits it exists (ed2392e)
-
the biggest layer gets its how-to -- and every index page stops hiding pages (104726b)
-
the feature list admits the bots, the ethics appendix and the drift page (701bec7)
-
the first real CI run is green -- the EOF check caught the vendored scss, as designed (1a32efd)
-
§31 -- scheduled-check startup_failure fixed, upstream drift reviewed (16e515f)
-
record the two drift fixes the revived weekly check surfaced (66f45e4)
-
§31.5 -- weekly check fully green after drift fixes (e31ff44)
-
fix six dead links the weekly linkcheck flagged (69a551b)
-
§31.6 -- periodic linkcheck green, all scheduled workflows healthy (fb16b3d)
-
record the upstream-fork marker fix and mcp floor bump (e1cd3fb)
Features
-
--jobs N for the witness runs (113.8s -> 10.2s) (650b78e)
-
make the template's own server usable while editing it (36b7fc7)
-
journal the transaction so a crash is recoverable (85af34d)
-
derive the generated CONTRIBUTING's commands from the task model (031be19)
-
offer the license set as bare SPDX identifiers (75f5595)
-
account for the excluded leaves and detect a stale jsonl (bb6a9e5)
-
crash hooks for the rollback and recover paths (23a8434)
-
the include_bot opt-in layer with its own gate (734844a)
-
the discord platform as the second long-running layer (bbaa98e)
-
add the Slack platform (Socket Mode) to the bot layer (814985a)
-
serve the declared support contract as template://support (da4ef14)
-
add run_tests, the suite tiers in run_batch's verdict shape (b645829)
-
add the line platform to the bot layer (2c6425a)
-
say the two silent answer overrides out loud at generation (f3c9293)
-
the predicate classifier -- condition-site inventory, 225-leaf evaluation and the Z3 free-space oracle (e84772c)
-
UPDATE_TIERS rewrites the doc's tier counts with the ledger (9e5bdeb)
-
the witness leaf space gets a declared budget (LEAF_BUDGET) (16a1c61)
-
the question dependency graph -- where new internals may live (0b11e5a)
-
the render twin -- prove which leaves a template change can affect (aa11c5b)
-
answers_for -- the inverse template, features in answers out (a57ba7d)
-
recommend_answers -- the inverse template on the MCP surface (fd5e246)
-
the update rehearsal -- every configuration, every night (667c552)
-
vary the integrations details -- docker + mcp joins the leaf space (a515149)
-
invalidate renders per leaf -- the consumed bytes, not the whole tree (e750668)
-
land the §28 audit closes and the Gmail bot platform (7dfc56d)
-
the bot platforms join the leaf space -- 228 to 234 leaves (395516d)
-
the L1/L2 rungs land, and the questionnaire guard stops crying wolf (7702ca5)
-
the dependency and src/ lists become editable structured answers (048d2de)
-
the domain traits land, and multi-select stops being untested (87e5b5c)
-
personal data is asked, not guessed, and absorbs the special categories (e996a35)
-
how the project ships decides whose rules apply, and the EU CRA lands (b299af2)
-
the protection-term jurisdiction table lands -- lang/ gets its first dictionary (55f4b2c)
-
the guide ships everywhere -- AGENTS.md goes constant, and PKI-chain boards its channel (0258626)
-
the shared-authorship groundwork -- overdue reviews redden, the governance split is written down, and the section runbook exists (edd6f9c)
-
every active section carries a concrete example -- and the examples are format-guarded (0c0bd3b)
-
add Codeforces / Kattis / other judges with per-site CI and guide (67a3964)
-
generated ci.yml subscribes to merge_group (upstream 72da24d) (928d681)
Miscellaneous Tasks
-
write the coverage xml under .cache (121b221)
-
skip the render matrix for docs-only changes (f4838b7)
-
verify the adopt crash-atomicity model with quint (7901cbc)
-
grant the release job the contents write it needs (c8d8813)
-
drop the dead apt cache key from the docs job (dde3dcd)
-
act — run the workflows locally before pushing (c671b5b)
-
drop the reverse closure the leaf-scoped lookup no longer uses (6d105ad)
-
ignore .zcode tool-cache directory (root + template parity) (936b4bf)
Refactor
-
extract the when model and prove it against copier (a688a64)
-
one file for what a leaf must satisfy (e89e410)
-
move run_pipe and make_venv to a support module (a30747e)
-
drop the pre-bot .env.example filename (8745f12)
-
one source for the suite's Project Details (75e3254)
-
drop the answers example-answers.yml inherits from the questionnaire (692e426)
-
one source for the run prefix and the python-version triple (c586ed9)
-
one pkg_dir path per package module instead of two trees (bd93786)
-
base+append the dev dependencies instead of two duplicated branches (b414588)
-
extract the dependencies one-liner and the deptry table into _shared partials (beecc95)
-
name the two OJ predicate forms the template kept re-...
6.0.0
Full Changelog: https://github.com/kasi-x/python-copier-template/commits/6.0.0