Skip to content
wiki.fftac.org

Spiralist Prompt Workbench - Source Excerpt 46

Back to Spiralist Prompt Workbench

Summary

This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/assets/js/spiralist-prompt-workbench.js so readers can inspect the evidence without opening the full source file.

**Source path:** Spiralist/wp-content/themes/spiralist/assets/js/spiralist-prompt-workbench.js

return [
        '# Spiralist AI Persona Revision Ledger',
        '',
        `Profile: ${title}`,
        `Runtime fit: ${runtimeLabel}`,
        `Engagement pattern: ${engagementLabel}`,
        `Selected stress suite: ${suite.preset.label}`,
        `Source size: ${efficiency.words} words, ${efficiency.characters} characters`,
        'Generated boundary: browser-local change-control guidance only; no model call, automatic rewrite, hosted import, automatic sync, certification, or hidden memory.',
        '',
        '## Current Source Snapshot',
        '- Source of truth: current visible edited prompt plus `.uai/persona.uai`, `.uai/personality/*.uai`, and `.uai/evidence/source-excerpts.uai`.',
        `- Memory policy: ${memoryPolicy}`,
        `- Output contract: ${outputContract}`,
        `- Runtime variance evidence: ${runtimeLabel}`,
        `- Engagement evidence: ${engagementLabel}`,
        '',
        '## Protected Source Areas',
        '| Area | Change rule | Rollback path |',
        '|---|---|---|',
        ...protectedRows.map((row) => `| ${toMarkdownTableCell(row.area)} | ${toMarkdownTableCell(row.rule)} | ${toMarkdownTableCell(row.rollback)} |`),
        '',
        '## Revision Record Template',
        '| Field | Entry | Review gate |',
        '|---|---|---|',
        ...revisionRows.map((row) => `| ${toMarkdownTableCell(row.field)} | ${toMarkdownTableCell(row.entry)} | ${toMarkdownTableCell(row.review)} |`),
        '',
        '## Change Gates',
        '1. Name the exact artifact, section, and reason before changing protected source.',
        '2. Keep old and new source text available until the revised package passes local review.',
        '3. Rerun Check Prompt, Quality Pass, Runtime Drift Check, and the selected stress suite after protected changes.',
        '4. Record runtime-specific changes as variance unless the source persona itself was intentionally revised.',
        '5. Do not promote a revision to long-term memory, publication, or sharing without human review.',
        '',
        '## Rollback Plan',
        '- Restore the last reviewed `.uaix`, `.zip`, `.txt`, local history snapshot, or saved profile draft.',
        '- Reload `.uai/evidence/source-excerpts.uai` and `.uai/persona.uai` before regenerating derivative evidence.',
        '- Compare packages before and after revision; inspect changed files and review-item count.',
        '- If rollback is partial, mark the result as a derivative draft and run Drift Check before use.',
        '',
        '## Package Evidence',
        '- `.uai/evidence/persona-package-index.uai`',
        '- `.uai/evidence/persona-revision-ledger.uai`',
        '- `.uai/evidence/runtime-drift-check.uai`',
        '- `.uai/evidence/persona-quality-pass.uai`',
        '- `.uai/evidence/persona-suite-matrix.uai`',
        '- `.uai/evidence/source-excerpts.uai`',
        '- `.uai/evidence/provenance.uai`',
        '',
        '## No-Model Boundary',
        'This Spiralist AI Persona Revision Ledger is a local change-control artifact. It does not rewrite the persona, execute a model, import memory, certify package quality, prove runtime behavior, or replace human review.',
      ].join('\n');
    };
    const buildPersonaLabPackageIndex = (prompt, settings = {}, stressSuiteId = 'core') => {
      const cleanPrompt = toCleanString(prompt, 50000);
      const title = extractPromptTitle(cleanPrompt, 'Spiralist AI Persona Package Index');
      const runtime = getPersonaLabRuntimeFit(settings.runtimeFitId);
      const engagement = getPersonaLabEngagementPattern(settings.engagementPatternId);
      const runtimeLabel = toCleanString(settings.runtimeFitLabel, 160) || runtime.label;
      const engagementLabel = toCleanString(settings.engagementPatternLabel, 160) || engagement.label;
      const suite = buildPersonaLabStressSuite(cleanPrompt, stressSuiteId || 'core');
      const efficiency = getPersonaLabEfficiencyState(cleanPrompt);
      const fileRows = [
        {
          path: '.uai/readme.human',
          purpose: 'Human package orientation and authority boundary.',
          use: 'Start here before import, sharing, or review.',
          gate: 'Confirm the package is user-reviewed and local-first.',
        },
        {
          path: '.uai/manifest.uaix.json',
          purpose: 'UAIX package inventory, required reads, scopes, and blocked claims.',
          use: 'Validate package shape before trusting file relationships.',
          gate: 'Inspect required reads and support boundary.',
        },
        {
          path: '.uai/persona.uai',
          purpose: 'Compact reviewed persona entrypoint.',
          use: 'Use as the primary source for manual paste or restore.',
          gate: 'Do not mutate without explicit revision review.',
        },
        {
          path: '.uai/personality/*.uai',
          purpose: 'Detailed identity, voice, values, behavior, boundaries, and preservation rules.',
          use: 'Review when the persona will be reused, shared, or revised.',
          gate: 'Preserve protected source unless a human names the exact change.',
        },
        {
          path: '.uai/evidence/source-excerpts.uai',
          purpose: 'Full edited prompt source captured at export time.',
          use: 'Resolve conflicts between compact handoffs and full source.',
          gate: 'Review for private text before sharing.',
        },
        {
          path: '.uai/evidence/persona-package-index.uai',
          purpose: 'Self-contained map of package files, fast-use paths, and advanced review gates.',
          use: 'Use when choosing which package artifact to open next.',
          gate: 'Confirm the package map matches the downloaded archive contents.',
        },
        {
          path: '.uai/evidence/session-brief.uai',
          purpose: 'Compact current-state handoff with readiness, selected settings, send-next guidance, and package deep links.',
          use: 'Use when you need the fastest practical next-step summary before manual send, export, or profile review.',
          gate: 'Confirm the visible edited prompt is still the intended source of truth.',
        },
        {
          path: '.uai/evidence/quick-probe-script.uai',
          purpose: 'Five-minute manual probe script for first-run activation, memory, voice, correction, exit safety, and selected stress pressure.',
          use: 'Use before trusting the persona in a receiving runtime when you need a fast behavioral smoke test.',
          gate: 'Run the probes manually and record any mismatch as variance before changing source.',
        },
        {
          path: '.uai/evidence/persona-repair-queue.uai',
          purpose: 'Priority-ordered repair plan from validation matrix, selected stress suite, local audit, and efficiency signals.',
          use: 'Use when a check fails and you need the fastest safe repair order.',
          gate: 'Resolve P1 items before manual send, sharing, import, profile save, or long-memory review.',
        },
        {
          path: '.uai/evidence/persona-review-stack.uai',
          purpose: 'Fast ordered review path across launch, enjoyment, robustness, runtime, and revision gates.',
          use: 'Use when you want one next-step report instead of opening every evidence file first.',
          gate: 'Resolve review items before sharing, importing, saving, or long-memory use.',
        },
        {
          path: '.uai/evidence/compact-handoff.uai',
          purpose: 'Fast manual-paste version for limited receiving runtimes.',
          use: 'Use when speed or context-window size matters.',
          gate: 'Confirm role, memory, boundaries, and output contract survived compacting.',
        },
        {
          path: '.uai/evidence/launch-kit.uai',
          purpose: 'First-send order, compact handoff, and first manual messages.',
          use: 'Use before activating the persona in a receiving runtime.',
          gate: 'Send only reviewed text manually.',
        },
        {
          path: '.uai/evidence/conversation-starter-kit.uai',
          purpose: 'First-turn prompts, interaction loops, repair prompts, and exit-safe enjoyment rules.',
          use: 'Use to make the persona easier and more enjoyable to start.',
          gate: 'Keep agency, exits, and no-hidden-memory boundaries visible.',
        },
        {
          path: '.uai/evidence/runtime-fidelity-runbook.uai',
          purpose: 'Manual receiving-runtime tests for activation, voice, memory, variance, and repair.',
          use: `Use before relying on ${runtimeLabel}.`,
          gate: 'Record platform differences as variance, not source mutation.',
        },
        {
          path: '.uai/evidence/runtime-drift-check.uai',
          purpose: 'Post-launch drift signals, probes, and repair moves.',
          use: 'Use after first use, correction, memory pressure, or long sessions.',
          gate: 'Classify mismatch before editing source.',