Skip to content
wiki.fftac.org

Promptmetaregistry - Source Excerpt 01

Back to Promptmetaregistry

Summary

This source excerpt preserves a bounded section of Spiralist/wp-content/plugins/spiralist-workspace/includes/Support/PromptMetaRegistry.php so readers can inspect the evidence without opening the full source file.

**Source path:** Spiralist/wp-content/plugins/spiralist-workspace/includes/Support/PromptMetaRegistry.php

<?php

namespace SpiralistWorkspace\Support;

if (!defined('ABSPATH')) {
    exit;
}

/**
 * Canonical metadata registries for public prompt dossiers, library facets, and safety labels.
 */
class PromptMetaRegistry
{
    /**
     * Returns publication lanes used across the public library.
     *
     * @return array<string,string>
     */
    public static function publication_lanes(): array
    {
        return [
            'official_canon' => self::ui_text('workspace.meta.publication_lane.official_canon', 'Official Canon'),
            'community_library' => self::ui_text('workspace.meta.publication_lane.community_library', 'Community Library'),
            'prompt_ecology_archive' => self::ui_text('workspace.meta.publication_lane.prompt_ecology_archive', 'Prompt Ecology Archive'),
        ];
    }

    /**
     * Returns provenance badges used by the public library and dossier pages.
     *
     * @return array<string,string>
     */
    public static function provenances(): array
    {
        return [
            'official' => self::ui_text('workspace.meta.provenance.official', 'Official'),
            'community' => self::ui_text('workspace.meta.provenance.community', 'Community'),
            'managed_system' => self::ui_text('workspace.meta.provenance.managed_system', 'Managed System'),
            'archived_public_artifact' => self::ui_text('workspace.meta.provenance.archived_public_artifact', 'Archived Public Artifact'),
            'critical_analysis' => self::ui_text('workspace.meta.provenance.critical_analysis', 'Critical Analysis'),
            'deprecated' => self::ui_text('workspace.meta.provenance.deprecated', 'Deprecated'),
        ];
    }

    /**
     * Returns moderation states for self-operating publication flows.
     *
     * @return array<string,string>
     */
    public static function moderation_statuses(): array
    {
        return [
            'draft' => self::ui_text('workspace.meta.moderation_status.draft', 'Draft'),
            'provisional_public' => self::ui_text('workspace.meta.moderation_status.provisional_public', 'Provisional Public'),
            'peer_reviewed' => self::ui_text('workspace.meta.moderation_status.peer_reviewed', 'Peer Reviewed'),
            'restricted_review' => self::ui_text('workspace.meta.moderation_status.restricted_review', 'Restricted Review'),
            'reverted' => self::ui_text('workspace.meta.moderation_status.reverted', 'Reverted'),
            'archived' => self::ui_text('workspace.meta.moderation_status.archived', 'Archived'),
            'official_canon' => self::ui_text('workspace.meta.moderation_status.official_canon', 'Official Canon'),
        ];
    }

    /**
     * Returns risk labels for prompt safety overlays.
     *
     * @return array<string,string>
     */
    public static function risk_labels(): array
    {
        return [
            'anthropomorphism' => self::ui_text('workspace.meta.risk_label.anthropomorphism', 'Anthropomorphism'),
            'identity_overwrite' => self::ui_text('workspace.meta.risk_label.identity_overwrite', 'Identity Overwrite'),
            'dependency_cue' => self::ui_text('workspace.meta.risk_label.dependency_cue', 'Dependency Cue'),
            'coercive_certainty' => self::ui_text('workspace.meta.risk_label.coercive_certainty', 'Coercive Certainty'),
            'privacy_risk' => self::ui_text('workspace.meta.risk_label.privacy_risk', 'Privacy Risk'),
            'high_stakes_unsuitable' => self::ui_text('workspace.meta.risk_label.high_stakes_unsuitable', 'High-Stakes Unsuitable'),
            'viral_propagation' => self::ui_text('workspace.meta.risk_label.viral_propagation', 'Viral Propagation'),
            'manipulation_risk' => self::ui_text('workspace.meta.risk_label.manipulation_risk', 'Manipulation Risk'),
            'memory_opacity' => self::ui_text('workspace.meta.risk_label.memory_opacity', 'Memory Opacity'),
            'hidden_message_framing' => self::ui_text('workspace.meta.risk_label.hidden_message_framing', 'Hidden-Message Framing'),
            'closed_recursion' => self::ui_text('workspace.meta.risk_label.closed_recursion', 'Closed Recursion'),
            'delusion_reinforcement' => self::ui_text('workspace.meta.risk_label.delusion_reinforcement', 'Delusion Reinforcement'),
            'guru_authority' => self::ui_text('workspace.meta.risk_label.guru_authority', 'Guru Authority'),
            'cultural_misuse' => self::ui_text('workspace.meta.risk_label.cultural_misuse', 'Cultural Misuse'),
        ];
    }

    /**
     * Returns function tags for discovery and editorial organization.
     *
     * @return array<string,string>
     */
    public static function function_tags(): array
    {
        return [
            'education' => self::ui_text('workspace.meta.function_tag.education', 'Education'),
            'research' => self::ui_text('workspace.meta.function_tag.research', 'Research'),
            'community' => self::ui_text('workspace.meta.function_tag.community', 'Community'),
            'art' => self::ui_text('workspace.meta.function_tag.art', 'Art'),
            'governance' => self::ui_text('workspace.meta.function_tag.governance', 'Governance'),
            'tooling' => self::ui_text('workspace.meta.function_tag.tooling', 'Tooling'),
            'outreach' => self::ui_text('workspace.meta.function_tag.outreach', 'Outreach'),
            'reflection' => self::ui_text('workspace.meta.function_tag.reflection', 'Reflection'),
            'onboarding' => self::ui_text('workspace.meta.function_tag.onboarding', 'Onboarding'),
            'companion' => self::ui_text('workspace.meta.function_tag.companion', 'Companion'),
            'memory' => self::ui_text('workspace.meta.function_tag.memory', 'Memory'),
            'safety' => self::ui_text('workspace.meta.function_tag.safety', 'Safety'),
            'visual_prompting' => self::ui_text('workspace.meta.function_tag.visual_prompting', 'Visual Prompting'),
            'wellness' => self::ui_text('workspace.meta.function_tag.wellness', 'Wellness'),
            'awakening' => self::ui_text('workspace.meta.function_tag.awakening', 'Awakening'),
            'calibrant' => self::ui_text('workspace.meta.function_tag.calibrant', 'Calibrant'),
        ];
    }

    /**
     * Returns the prompt maturity ladder.
     *
     * @return array<string,string>
     */
    public static function maturity_levels(): array
    {
        return [
            'raw_prompt' => self::ui_text('workspace.meta.maturity_level.raw_prompt', 'Raw Prompt'),
            'structured_prompt' => self::ui_text('workspace.meta.maturity_level.structured_prompt', 'Structured Prompt'),
            'prompt_system' => self::ui_text('workspace.meta.maturity_level.prompt_system', 'Prompt System'),
            'self_improving_system' => self::ui_text('workspace.meta.maturity_level.self_improving_system', 'Self-improving System'),
        ];
    }

    /**
     * Returns available public licenses.
     *
     * @return array<string,string>
     */
    public static function licenses(): array
    {
        return [
            'spiralist_contributor' => self::ui_text('workspace.meta.license.spiralist_contributor', 'Spiralist Contributor License'),
            'cc_by' => self::ui_text('workspace.meta.license.cc_by', 'CC BY 4.0'),
            'cc_by_nc' => self::ui_text('workspace.meta.license.cc_by_nc', 'CC BY-NC 4.0'),
        ];
    }

    /**
     * Returns every registry in API-ready format.
     *
     * @return array<string,array<int,array{value:string,label:string}>>
     */
    public static function for_api(): array
    {
        return [
            'publication_lanes' => self::to_api_records(self::publication_lanes()),
            'provenances' => self::to_api_records(self::provenances()),
            'moderation_statuses' => self::to_api_records(self::moderation_statuses()),
            'risk_labels' => self::to_api_records(self::risk_labels()),
            'function_tags' => self::to_api_records(self::function_tags()),
            'maturity_levels' => self::to_api_records(self::maturity_levels()),
            'licenses' => self::to_api_records(self::licenses()),
        ];
    }

    /**
     * Returns one publication-lane label.
     */
    public static function publication_lane_label(string $value): string
    {
        return self::label_for($value, self::publication_lanes(), self::ui_text('workspace.meta.publication_lane.community_library', 'Community Library'));
    }

    /**
     * Returns one provenance label.
     */
    public static function provenance_label(string $value): string
    {
        return self::label_for($value, self::provenances(), self::ui_text('workspace.meta.provenance.community', 'Community'));
    }

    /**
     * Returns one moderation-status label.
     */