Project-Template/docs/architecture/scripts
null abf7315aa0 fix(scaffold): new projects were missing two documents they reference
docs/data/README.md links to `img/README.md` for the dimensions, weights and
magic-byte rule of the three marks. scaffold.sh never copied it: DOCS did not
list it and DIRS created docs/data/img empty. Every scaffolded project therefore
started with a broken link in a required document, a doc-claims failure on its
first run, and no copy of the spec the link promises.

The omission looks like a misreading of the script's own rule. Its header says
it does not copy branding and that the template's docs/data/img is not a source
-- both true of the three .webp marks, which must not be invented because a
placeholder that looks deliberate outlives the issue that would have replaced
it. img/README.md is documentation about those files, not one of them.

Verifying that fix surfaced a second, plainer one: docs/architecture/GUARDS.md
was never scaffolded either, while being referenced by TOOLS.md,
DOC_TRUST_MAP.md and architecture/README.md twice. It is a document, not a
script, and nothing argued for leaving it out.

A scaffold now writes 19 files, and a freshly scaffolded project no longer names
a document that is not there.

This is the fourth instance here of one shape -- a document naming a path that
is not present. The others were docs/planning/FUTURE.md in the batch ledger, an
Exempt: line inside a code fence, and docs/data/logo.webp as an example of where
NOT to put an asset. The first three were wrong in the template; this one was
correct in the template and wrong in every copy of it, which is why running
doc-claims here never caught it and scaffolding into a scratch directory did.

closes #15

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-17 23:34:12 -05:00
..
audit-gate.mjs chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
backup.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
check-env.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
commit-mine.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
controls.sh feat(ops): controls.sh, which controls this project actually has 2026-08-17 23:11:52 -05:00
dead-code.py chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
deploy.py chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
dev.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
doc-claims.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
doc-triggers.py chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
duplication.py chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
forgejo-issue.py chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
healthcheck.sh docs(template): the owner is _null 2026-08-17 22:47:56 -05:00
migrate.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
preflight.sh feat(security): preflight.sh distinguishes present from in force 2026-08-17 23:30:37 -05:00
prove-guard.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
release-notes.mjs chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
release.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
restore-check.sh feat(ops): restore-check.sh, the other half of backup.sh 2026-08-17 23:07:36 -05:00
scaffold.sh fix(scaffold): new projects were missing two documents they reference 2026-08-17 23:34:12 -05:00
secrets.sh fix(secrets): the scanner printed the credential it found 2026-08-17 23:08:57 -05:00
status.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00
verify.sh chore(repo): put the template under version control 2026-08-17 22:44:26 -05:00