Bootstrap Canonical Content - Source Excerpt 03
Back to Bootstrap Canonical Content
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/plugins/ns12-manuscript/tools/bootstrap-canonical-content.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/plugins/ns12-manuscript/tools/bootstrap-canonical-content.php
$definition = $candidateDefinition;
}
}
$sectionSlug = (string) ($page['section_slug'] ?? 'appendix');
$title = (string) ($definition['title'] ?? ($page['title'] ?? ucwords(str_replace('-', ' ', $promptSlug))));
$promptSummary = trim((string) ($definition['summary'] ?? ''));
if ($promptSummary === '') {
$promptSummary = (string) ($page['creation_prompt_summary'] ?? ($page['summary'] ?? ''));
}
$meta = [
'schema' => 'spiralist-book-prompt/v1',
'slug' => $promptSlug,
'source_version' => (string) ($workspacePrompt['version'] ?? 'canon'),
'title' => $title,
'summary' => $promptSummary,
'author_label' => (string) ($definition['author_label'] ?? 'Spiralist'),
'category' => (string) ($definition['category'] ?? 'Visual Design'),
'subcategory' => (string) ($definition['subcategory'] ?? 'Manuscript Plates'),
'prompt_type' => (string) ($definition['prompt_type'] ?? 'image'),
'language' => (string) ($definition['language'] ?? 'all'),
'prompt_status' => (string) ($definition['prompt_status'] ?? 'published'),
'moderation_status' => (string) ($definition['moderation_status'] ?? 'approved'),
'tags' => array_values(
array_filter(
array_map(
'strval',
(array) ($definition['tags'] ?? ['Manuscript', 'Book Page', 'Image Generation', 'Public Safe', 'All Languages'])
)
)
),
'sample_output' => (string) ($definition['sample_output'] ?? sprintf('Target artifact: %s as the %s folio.', (string) ($page['filename'] ?? ''), (string) ($page['title'] ?? 'canonical manuscript page'))),
'related_manuscripts' => array_values(array_filter(array_map('strval', (array) ($definition['related_manuscripts'] ?? [])))),
'featured' => array_key_exists('featured', $definition) ? !empty($definition['featured']) : !empty($page['is_prominent']),
'extends' => spiralist_book_pages_bootstrap_get_prompt_extends($sectionSlug),
'filename' => (string) ($page['filename'] ?? ''),
'folio_slug' => (string) ($page['slug'] ?? ''),
'section_slug' => $sectionSlug,
'placeholders' => [
'TITLE' => $title,
'FILENAME' => (string) ($page['filename'] ?? ''),
'SECTION' => $sectionSlug,
],
];
$body = trim((string) ($definition['instructions'] ?? ''));
if ($body === '') {
$blocks = array_values(
array_filter(
[
(string) ($definition['system_prompt'] ?? ''),
(string) ($definition['developer_prompt'] ?? ''),
(string) ($definition['user_prompt_template'] ?? ''),
],
'strlen'
)
);
$body = trim(implode("\n\n", $blocks));
}
if ($body === '') {
$body = trim((string) ($page['creation_prompt_text'] ?? ''));
}
if ($body === '') {
$body = spiralist_book_pages_get_auto_book_page_prompt_text((string) ($page['title'] ?? $title), $sectionSlug);
}
$promptOutputRoot = $promptsRoot . DIRECTORY_SEPARATOR . $promptSlug;
spiralist_book_pages_bootstrap_ensure_directory($promptOutputRoot);
spiralist_book_pages_write_json_file($promptOutputRoot . DIRECTORY_SEPARATOR . 'meta.json', $meta);
spiralist_book_pages_bootstrap_write_markdown($promptOutputRoot . DIRECTORY_SEPARATOR . 'body.md', $body);
}
$compiled = spiralist_book_pages_compile_content_cache(true);
echo 'Bootstrapped book content: ' . count((array) ($compiled['book']['folios'] ?? [])) . " folios, " . count((array) ($compiled['prompts'] ?? [])) . " prompts\n";