Merge spec/ into specs/: one specs directory for the whole repo

Moves TargetRevenueLicenseConcept.md from the separate singular spec/
directory into specs/ (git mv, preserving history) and updates every live
cross-reference (README, CONTRIBUTING, all specs/*.md, workplans, schema
comments, source docstrings, test file) to the new path.

This resolves the spec/ vs specs/ split that history/260728-SWOT-Assessment.md
flagged as a "perpetual footgun" and recommended deciding on. The historical
record of that split and the recommendation itself are left unedited in
history/ (a dated assessment, not a living document) — only README and TSD
now document the merge as resolved, with a pointer back to that history file
for context.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-07-29 10:22:14 +02:00
parent 458d3a3b60
commit 55a1756f7c
20 changed files with 67 additions and 63 deletions

View file

@ -44,7 +44,7 @@ def test_reordered_entries_break_hash_chain():
def test_fold_matches_concept_section_23_first_checkpoint():
"""spec/TargetRevenueLicenseConcept.md §23: after the first four entries,
"""specs/TargetRevenueLicenseConcept.md §23: after the first four entries,
Development Credit $37,000, Remission Credit $18,000, Outstanding $45,000."""
manifest = golden_manifest()
first_four = golden_entries()[:4]
@ -58,7 +58,7 @@ def test_fold_matches_concept_section_23_first_checkpoint():
def test_fold_reaches_zero_and_converts():
"""spec/TargetRevenueLicenseConcept.md §23: full six-entry sequence
"""specs/TargetRevenueLicenseConcept.md §23: full six-entry sequence
reaches Outstanding Target = 0 (Development Credit $67,000 + Remission
Credit $33,000 = Initial Target $100,000)."""
manifest = golden_manifest()