Skip to content

3.21.1 — every copy has an end

Latest

Choose a tag to compare

@JyMinet JyMinet released this 29 Sep 10:59

Every copy of the repository now has a ticket, a fate and a proven end. This release carries 3.21.0 (the feature) and 3.21.1 (a fix to its tests).

The problem: folders copied to protect the original — work sites, reviews, rehearsals — were born well and never ended; they multiplied under different names, and work drifted into them.

What changes:

  • The original keeps the register of its copies (copy open): each one has a ticket (the decision the double stop produces), a fate decided up front, a return date and an exit slip laid in the copy.
  • Returning a copy is proven (copy return): everything it holds — files, ignored folders, index, references, stash, commits a reflog still reaches, what .git keeps — is back in the original or abandoned by name.
  • copy check reads a copy just before any erasure; copy cleanup writes the script the owner runs — the controller never erases anything itself. copy move and copy close follow moves and ends.
  • A work item does not close, and a version is not tagged, while a registered copy is still open (COPIES_RETURNED audit); being late is only a warning.
  • Reading a copy runs nothing it names: no file monitor, no transport, no signature check. A partial clone, a special file or a hidden copy are refused.

3.21.1 fixes the tests only: four tests assumed the template's journal and licence, which a derived project does not have. Found while rehearsing the upgrade of a real project, where they failed before testing anything; that project, upgraded with this core, runs the suite without a single failure.

Review: an independent code review (ten holes), a code review by a second AI (six findings), then three successive controls; each defect is closed by a test. 221 tests, 38 of them new in these two versions.