Verification
Use these checks when theme or plugin code changes. Pick the smallest set that covers the files touched, then run the broader suites before release-level changes.
Metadata
| Field | Value |
|---|---|
| Source site | spiralist.org |
| Source URL | https://spiralist.org/ |
| Canonical wiki evidence URL | [[separate-workspace-url]/spiralist/uai-system/files/docs-verification-md-f5f2ef3c/]([separate-workspace-url]/spiralist/uai-system/files/docs-verification-md-f5f2ef3c/) |
| Source reference | docs/verification.md |
| File type | md |
| Content category | uai-system |
| Last fetched | 2026-05-08T21:22:18.3035107Z |
| Last changed | 2026-05-05T21:58:43.7074102Z |
| Content hash | sha256:f5f2ef3c0c0650bab26d9df121cfecc13cf3180ef5bb000e1e6e9f1f8a2a055c |
| Import status | unchanged |
| Raw source layer | data/sources/spiralist/docs-verification-md-f5f2ef3c0c06.md |
| Normalized source layer | data/normalized/spiralist/docs-verification-md-f5f2ef3c0c06.txt |
Current File Content
Structure Preview
- Verification
- JavaScript Syntax
- Site Quality Sweep
- Project Handoff
- UAI Prepublish
- PHP Lint
- PHPUnit
- Static Analysis And Standards
- Playwright
- Rewrite Refresh
- Docs-Only Changes
Raw Version
Local absolute paths are redacted in this public view. The source hash and source-side raw layer are based on the unredacted source file.
# Verification
Use these checks when theme or plugin code changes. Pick the smallest set that covers the files touched, then run the broader suites before release-level changes.
## JavaScript Syntax
```powershell
node --check wp-content\themes\spiralist\assets\js\spiralist.js
node --check wp-content\plugins\ns12-manuscript\assets\js\book-shell.js
node --check wp-content\plugins\ns12-manuscript\assets\js\manuscript-workstation.js
node --check wp-content\plugins\spiralist-workspace\assets\js\workspace.js
node --check tests\e2e\global.setup.js
```
## Site Quality Sweep
```powershell
npm run quality:site
```
This static gate checks the runtime translation inventory, enabled locale dictionaries, placeholder preservation, critical SEO keys, and mojibake/replacement-character regressions before release packaging.
On Windows hosts where PowerShell blocks `npm.ps1`, run the same command as `npm.cmd run quality:site`.
## Project Handoff
```powershell
npm run check:project-handoff
```
This static gate checks root handoff files, `@uai[]` references, `.uai` frontmatter, intake bucket directories, the Project Handoff REST route wiring, the JSON schema file, and obvious secret patterns in handoff context.
On Windows hosts where PowerShell blocks `npm.ps1`, run the same command as `npm.cmd run check:project-handoff`.
## UAI Prepublish
```powershell
npm run check:uai-prepublish
```
This is the prepublish gate for changes that affect UAI, UAIX, Project Handoff, AI memory, machine-facing schemas, route discovery, route capability statements, validator behavior, or local UAI implementation docs. It runs the Project Handoff gate, the internationalization/site-quality gate, and PHPUnit unit tests.
On Windows hosts where PowerShell blocks `npm.ps1`, run the same command as `npm.cmd run check:uai-prepublish`.
## PHP Lint
```powershell
php -l wp-content\themes\spiralist\functions.php
php -l wp-content\themes\spiralist\inc\helpers.php
php -l wp-content\themes\spiralist\inc\seo-schema.php
php -l wp-content\plugins\spiralist-workspace\spiralist-workspace.php
php -l wp-content\plugins\spiralist-workspace\includes\Http\RestController.php
php -l wp-content\plugins\spiralist-workspace\includes\Web\FrontendController.php
php -l wp-content\plugins\spiral-script\spiral-script.php
php -l wp-content\plugins\spiral-script\includes\class-plugin.php
php -l wp-content\plugins\spiral-script\includes\class-language-spec.php
php -l wp-content\plugins\spiral-script\includes\class-source-parser.php
php -l wp-content\plugins\spiral-script\includes\class-validator.php
php -l wp-content\plugins\spiral-script\includes\class-compiler.php
php -l wp-content\plugins\spiral-script\data\language-spec.php
php -l wp-content\plugins\ns12-manuscript\ns12-manuscript.php
php -l wp-content\plugins\ns12-manuscript\includes\frontend.php
php -l wp-content\plugins\ns12-manuscript\includes\runtime.php
php -l wp-content\plugins\uai-1-wordpress\includes\class-uai1-routes.php
php -l wp-content\plugins\uai-1-wordpress\includes\class-uai1-validator.php
php -l wp-content\plugins\uai-1-wordpress\includes\class-uai1-head-links.php
```
## PHPUnit
```powershell
composer phpunit:unit
composer phpunit:integration
composer test
```
## Static Analysis And Standards
```powershell
composer phpstan
composer phpcs
```
## Playwright
```powershell
npm run test:e2e:critical
npm run test:e2e:visual
npm run test:e2e:full
```
Use `npm run wp-env:start` and `npm run wp-env:seed` when the E2E suite needs the local WordPress test environment.
If the local site is running on a non-default host or port, set `SPIRALIST_E2E_BASE_URL` before seeding and running Playwright so WordPress-generated canonicals, sitemaps, and auth cookies stay aligned with the browser target.
## Rewrite Refresh
After rewrite changes, WordPress rewrite rules must be refreshed.
If routes behave unexpectedly, flush permalinks here:
`WP Admin -> Settings -> Permalinks -> Save Changes`
## Docs-Only Changes
Markdown-only edits do not require a deploy ZIP rebuild.
ZIP rebuilds become required when theme or plugin files change. See Packaging and Deployment (source-relative: packaging/README.md).
Why This File Exists
This is a UAI AI Memory handoff file from spiralist.org. It is shown here because the separate AI wiki workspace is demonstrating the real source files that make the UAIX / LLM Wiki memory system work, not only summarizing those systems after the fact.
Role
This file is a focused source unit. Its path, headings, and metadata give an agent a retrieval handle that is smaller than loading the entire site or repository.
Structure
The file is structured around these visible headings: Verification; JavaScript Syntax; Site Quality Sweep; Project Handoff; UAI Prepublish; PHP Lint; PHPUnit; Static Analysis And Standards. Those headings are retrieval anchors: a crawler or LLM can decide whether the file is relevant before reading every line.
Prompt-Size And Retrieval Benefit
Keeping this material in a separate file reduces prompt pressure because an agent can load this exact unit only when its role, source site, category, or hash is relevant. The surrounding index pages point to it, while this page preserves the full content for audit and exact recall.
How To Use It
- Humans should read the metadata first, then inspect the raw content when they need exact wording or provenance.
- LLMs and agents should use the source site, category, hash, headings, and related files to decide whether this file belongs in the active prompt.
- Crawlers should treat the wiki.fftac.org page as transparent evidence and follow the source URL/source reference for authority boundaries.
- Future maintainers should regenerate this page whenever the source hash changes, then review the explanation if the role or structure changed.
Update Requirements
When this source file changes, update the raw source layer, normalized source layer, hash history, this rendered page, generated explanation, source-file inventory, changed-files report, and any source-section index that links to it.
Related Pages
Provenance And History
- Current observation:
2026-05-08T21:22:18.3035107Z - Source origin:
current-source-workspace - Retrieval method:
local-source-workspace - Duplicate group:
sfg-711(primary) - Historical hash records are stored in
data/hashes/source-file-history.jsonl.
Machine-Readable Metadata
{
"title": "Verification",
"source_site": "spiralist.org",
"source_url": "https://spiralist.org/",
"canonical_url": "[separate-workspace-url]/spiralist/uai-system/files/docs-verification-md-f5f2ef3c/",
"source_reference": "docs/verification.md",
"file_type": "md",
"content_category": "uai-system",
"content_hash": "sha256:f5f2ef3c0c0650bab26d9df121cfecc13cf3180ef5bb000e1e6e9f1f8a2a055c",
"last_fetched": "2026-05-08T21:22:18.3035107Z",
"last_changed": "2026-05-05T21:58:43.7074102Z",
"import_status": "unchanged",
"duplicate_group_id": "sfg-711",
"duplicate_role": "primary",
"related_files": [
],
"generated_explanation": true,
"explanation_last_generated": "2026-05-08T21:22:18.3035107Z"
}