NinaData Monetizer -- direct_render activation UI

Internal operator-only (Fix Pack 66 hosted-operator packaging). Not publisher-facing. Drafts config diffs; does NOT publish, deploy, purge caches, or mutate the repo.
This UI is an internal operator draft tool. It does not activate customers. Every field below comes from the local sample-record.json illustrative example and matches the FP 59 activation record model. The textarea in section 1 is source-of-truth for the rendered record, validation results, generated previews, generator command output directory, and the browser-generated activation package download once you click Validate draft. See internal/config-ui/README.md for how to run it locally (developer mode) or hosted (authorized-operator mode), and docs/internal/internal-config-ui-hosting-plan.md for the FP 66 hosting-plan doc.

1. Edit activation record JSON

The textarea below drives everything else on this page. Edits stay in-browser only -- they never overwrite sample-record.json and never touch any repo file. Use Download current record JSON to save the current textarea contents as a local .json file you can pass to the FP 61 CLI generator. Use Download activation package to get a single Markdown bundle that reproduces the 9-file draft package in the browser -- useful for authorized operators without a local repo checkout. The package download is disabled while JSON is invalid; when the record is INVALID or NOT READY FOR REVIEW, the downloaded bundle is prominently labeled so it cannot be mistaken for an approved package.
PENDING Awaiting first parse.

2. Rendered activation record

activationId
-
state
-
publisherId
-
siteId
-
customerName
-
siteName
-
productionHosts
    stagingHosts
      approvedTestUrl
      -
      rollbackOwner
      -
      commercialApprovalRef
      -
      adOpsApprovalRef
      -
      privacyApprovalRef
      -
      requestedPlacementFamilies
        telemetryEnabled
        -
        notes
        -
        directRenderDemandProfile
        
          

        3. Validation results

        4. Generated draft outputs

        4.1 data/publisherRegistry.mjs diff preview
        
        
            
        4.2 CUSTOMER_PAIR_AUCTION_OVERRIDES diff preview
        
        
            
        4.3 Customer snippet preview
        
        
            
        4.4 Validation command list
        
        
            
        4.5 Codex review prompt draft
        
        
            
        4.6 Cloudflare publish checklist
        
        
            
        4.7 Mandatory Cloudflare cache purge instruction
        
        
            
        4.8 Staged / live SHA-256 evidence placeholders
        
        
            
        4.9 Live-CDN direct-render smoke command
        
        
            
        4.10 Rollback record placeholder
        
          

        5. Generator command (FP 61 CLI)

        The browser UI never runs the generator. Run the FP 61 CLI generator by hand in a shell. The command below runs against the on-disk sample-record.json (which does NOT reflect your textarea edits) -- to run it against edited JSON, click Download current record JSON above and pass the downloaded file's path as the CLI argument.
        Command
        
            
        Expected output directory
        
          

        6. Reminder -- what this UI does NOT do