Migration map from how-we-work

Where every page of the old repository ended up, and what changed on the way

Id meta-migration-map Applies to any Status active Enforceable needs judgement Tags metamigrationhow-we-workhistory

This repository replaces newfold-labs/how-we-work, which was 33 flat markdown files numbered by reading order.

how-we-work is not archived. It keeps publishing a redirect shim so old URLs still resolve, because GitHub does not redirect project Pages URLs across repositories and jekyll-redirect-from only covers path changes inside a single site.

Where everything went

Old file New location
README.md Generated index
0-SCRATCH.md Not migrated, its TODOs are listed below
1-intro.md general/introduction.md
2-standards.md Merged into general/introduction.md
3-naming.md general/naming.md
3.1-projects.md general/naming-projects.md
3.2-files-directories.md Split, see below
3.3-code.md general/naming-code.md
3.4-global-namespaces.md general/naming-global-namespaces.md
3.5-naming-wp-hooks.md platform/wordpress/hooks-naming.md
4-frontend-best-practices.md general/frontend.md
5-wordpress.md platform/wordpress/support-matrix.md
5.1-wordpress-assets.md platform/wordpress/assets.md
5.2-wordpress-hooks.md platform/wordpress/hooks.md
5.3-wordpress-php.md platform/wordpress/php.md
5.4-wordpress-js.md platform/wordpress/javascript.md
5.5-wordpress-security.md platform/wordpress/security.md
5.6-wordpress-interfaces.md platform/wordpress/interfaces.md
5.7-wordpress-editor-and-blocks.md Not migrated, the file was empty
5.8-wordpress-performance.md platform/wordpress/performance.md
5.9-wp-i18n.md platform/wordpress/i18n.md
5.10-wp-cli.md platform/wordpress/wp-cli.md
5.11-tools-services.md platform/wordpress/tools-services.md
5.12-crowdin-translation-workflow.md process/translations-crowdin.md
5.13-ai-translation-workflow-documentation.md process/translations-ai.md
6-laravel.md Did not exist. Deleted in 2022, still linked from the old README
7-philosophy.md general/philosophy.md
8-resources.md meta/resources.md
9-version-control.md Split, see below
9.1-org-teams.md process/org-teams.md
9.2-tokens.md process/tokens.md
10-releases.md Split, see below
11-module-development.md artifacts/module/development.md
12-tests.md Split, see below
13-architectural-review.md process/architectural-review.md
14-cloudflare-workers.md artifacts/worker/cloudflare-workers.md

Documents that were split

Roughly a quarter of the old content was process rather than standards. Mixing the two meant the repository had no way to express that “ask your team lead for access” is not something a check can score you against.

3.2-files-directories.md

9-version-control.md

10-releases.md

12-tests.md

What changed in the content

Migration was not a straight copy. Beyond adding front matter to all 43 resulting documents and merging the six existing title-only blocks:

Broken links fixed. The old README linked to 6-laravel.md, deleted in 2022. 11-module-development.md linked to a misspelled 13-architectural-reveiw.md. The table of contents omitted 3.5-naming-wp-hooks.md and 14-cloudflare-workers.md entirely. Internal links and their anchors are now validated in CI, so this class of rot cannot come back.

Liquid-hostile code samples fenced. The AI translation workflow document contains GitHub Actions expressions using ${{ ... }}. On the old site Liquid evaluated those as template variables and rendered them empty, so the published page showed a broken snippet. They are now wrapped in {% raw %} tags.

Spelling and grammar corrected throughout, without changing what any standard requires.

Line-number deep links removed. Several links pointed at specific line ranges in plugin and module source (#L266-L269). Line numbers drift, so these now point at the file.

Two truncated sentences. 5.5-wordpress-security.md ended a section mid-sentence at “It can be tempting to cache a WP_Query or $wpdb”; it now completes the thought about persisting database credentials. 4-frontend-best-practices.md had a bullet cut off at “Long-running operations without reliable way to predic”, which was dropped rather than guessed at.

5.10-wp-cli.md marked draft. It ends with an empty “Custom WP-CLI Commands” heading. Rather than migrate an unfinished document as though it were settled, it carries status: draft and is listed below.

Theme standards stubbed. No theme-specific content ever existed. artifacts/theme/structure.md is a draft stub listing what needs writing, so every artifact type has a home.

Content still to be written

0-SCRATCH.md in how-we-work was an untracked TODO list. It was not migrated, but the gaps it named are real and are recorded here so they are not lost a second time. Nothing below is tracked as an issue yet.

Gap Where it would live Origin
Privacy standards general/ 0-SCRATCH.md TODO
Documentation standards general/ 0-SCRATCH.md TODO
Laravel standards platform/laravel/ 0-SCRATCH.md TODO, and 6-laravel.md deleted in 2022 while still linked
Serverless function standards artifacts/ 0-SCRATCH.md TODO
WordPress editor and blocks platform/wordpress/ 5.7 existed as a 0-byte file, plus a 0-SCRATCH.md enhance item
Deeper WordPress JavaScript standards platform/wordpress/javascript.md 0-SCRATCH.md enhance item
Theme standards artifacts/theme/structure.md Never existed, stubbed as draft
Custom WP-CLI commands platform/wordpress/wp-cli.md Source ended on an empty heading, carried as draft

The two draft documents flip to active once written. The rest need an RFC first, per contributing.