test: pin skill appendix sync and SKILL.md-only seeding (C-line, no behaviour change)

- test_skill_appendix_sync: all 9 appendix chapters 00..08 in order,
  body role-matrix set == appendix role-title set, authority
  statement on both sides, GitHub guarantee in body + named
  appendix chapters 00/04/07, seeded copy byte-identical with
  full appendix. Previously only 00/08 existence was asserted.
- test_skill_seed_pinning: only SKILL.md copied (pack extras never
  land, never resurrected), tenant extras left alone, tenant-modified
  SKILL.md never overwritten across repeats, identical = noop,
  deleted SKILL.md re-seeded (documented boundary, not deletion
  preservation).
- skill_seed.py: evaluation note only (why whole-dir copy is not
  done); no code change.
This commit is contained in:
host committed 2026-11-03 02:49:25 +00:00
1 parent 06710cf47b
commit be41ad2c0a
3 files changed
+389

No files matched your search

+21
View File
@@ -55,6 +55,27 @@ copying is not adopted unless a future evaluation proves both
content-preservation AND deletion-preservation. Until then, only
SKILL.md is seeded; extra files in a pack directory are ignored
(pinned by test_merge_gate_protectskill.py).
Evaluation note (2026-10-31, skill-engineering convergence line;
comment only, behaviour unchanged -- see
cloud/tests/test_skill_seed_pinning.py, which pins it):
whole-directory copy is explicitly NOT done, for three reasons.
(1) The pack today ships exactly one file per skill (SKILL.md;
verified: cloud/skills/*/ contains nothing else), so copying a
whole directory has zero benefit today and would silently start
copying future extras (templates/, README) without review.
(2) Per-file skip-if-differ cannot preserve a tenant deletion:
a missing destination is copied by design, so whole-dir copy
would resurrect tenant-deleted auxiliary files on the next run.
SKILL.md-only copy bounds that resurrection surface to the single
SKILL.md file itself (auxiliary deletions are preserved trivially
because those files never landed in the tenant home).
(3) Seeding never prunes the tenant directory, so tenant-added
files in a skill directory are left alone by the same rule.
Boundary, stated plainly so it is not misread: a tenant-deleted
SKILL.md IS re-seeded (missing = copied); only the differ-guard
preserves edits. Preserving a SKILL.md deletion would need a
tombstone, which is new behaviour, not a convergence fix.
"""
import shutil