{
  "version": "product-workflows-v1",
  "reviewedAt": "2026-09-14",
  "modelCalls": 0,
  "artifacts": [
    {
      "id": "contextual-prompt",
      "title": "A policy carried into a prompt",
      "provenance": "Authored task and current public Memory policy. The displayed instruction is the actual output of the production context-append helper, not a model-generated prompt or answer.",
      "productionFunctions": [
        "appendMemoryToProviderPrompt"
      ],
      "input": {
        "task": "Draft a customer reply. Support each capability claim with the supplied policy. Ask for missing information. Do not send the reply.",
        "sourceUrl": "https://prompeteer.ai/pricing.md",
        "sourceQuote": "Memory preview is available on Free. New document uploads and Ask Memory require Pro or Enterprise; existing sources remain subject to account permissions and retention controls."
      },
      "output": {
        "instruction": "Draft a customer reply. Support each capability claim with the supplied policy. Ask for missing information. Do not send the reply.\nREFERENCE_MATERIAL\nhttps://prompeteer.ai/pricing.md\nMemory preview is available on Free. New document uploads and Ask Memory require Pro or Enterprise; existing sources remain subject to account permissions and retention controls.\nEND_REFERENCE_MATERIAL",
        "repeatedAppendIsUnchanged": true
      },
      "checks": [
        {
          "label": "Exact policy and source URL preserved",
          "passed": true
        },
        {
          "label": "Repeating context attachment adds no duplicate",
          "passed": true
        },
        {
          "label": "No context leaves the base instruction unchanged",
          "passed": true
        }
      ],
      "annotations": [
        {
          "label": "Task",
          "detail": "The base instruction asks for a draft and retains the restriction on sending."
        },
        {
          "label": "Source",
          "detail": "The exact current policy travels with its pricing reference."
        },
        {
          "label": "Result",
          "detail": "Repeat attachment preserves the same instruction without duplicating the source."
        }
      ],
      "limitations": "This checks context preservation at one production boundary. It does not run generation, assess the quality of a model answer, or test the upload and account authorization path. Review any generated answer against the original policy."
    },
    {
      "id": "agent-skill",
      "title": "A release-review skill that passes the file checks",
      "provenance": "Authored release-note skill fixture. This is the actual output of the production Markdown normalizer and strict validator, with automatic repair disabled.",
      "productionFunctions": [
        "normalizeSkillContent",
        "validateSkillContent"
      ],
      "input": {
        "brief": "Create a SKILL.md skill for reviewing draft release notes against an approved change list. Use it when a teammate asks to prepare or check release notes. Compare each stated feature with the supplied changes, flag unsupported availability claims and return a proposed revision plus unresolved questions. Do not invent product behavior, modify the change list or publish the notes. Include an example with a missing rollout date.",
        "wrappedSkill": "```markdown\n---\nname: release-note-review\ndescription: Review draft release notes against an approved change list. Use when preparing or checking a release announcement.\n---\n\n# Release-note review\n\n## Inputs\nAsk for the draft release notes and approved change list. If either is missing, request it before reviewing claims.\n\n## Workflow\n1. Match every stated feature to an approved change.\n2. Flag unsupported product behavior, availability claims and rollout dates.\n3. Propose a revision that preserves the supported facts.\n4. Return unresolved questions separately from the revised draft.\n\n## Output\nReturn a claim-to-source table, a proposed revision and unresolved questions. Cite the supplied change-list item for each supported claim.\n\n## Limits\nDo not publish the notes, modify source records or invent product behavior. A proposed revision is not approval to release it.\n\n## Example\nThe approved change says \"CSV export added\" but the draft promises availability tomorrow. Flag the missing rollout date and remove that promise until the owner supplies an approved date.\n```",
        "autoRepair": false,
        "negativeControl": "Review the release notes."
      },
      "output": {
        "skill": "---\nname: release-note-review\ndescription: Review draft release notes against an approved change list. Use when preparing or checking a release announcement.\n---\n\n# Release-note review\n\n## Inputs\nAsk for the draft release notes and approved change list. If either is missing, request it before reviewing claims.\n\n## Workflow\n1. Match every stated feature to an approved change.\n2. Flag unsupported product behavior, availability claims and rollout dates.\n3. Propose a revision that preserves the supported facts.\n4. Return unresolved questions separately from the revised draft.\n\n## Output\nReturn a claim-to-source table, a proposed revision and unresolved questions. Cite the supplied change-list item for each supported claim.\n\n## Limits\nDo not publish the notes, modify source records or invent product behavior. A proposed revision is not approval to release it.\n\n## Example\nThe approved change says \"CSV export added\" but the draft promises availability tomorrow. Flag the missing rollout date and remove that promise until the owner supplies an approved date.",
        "valid": true,
        "errors": [],
        "invalidControlRejected": true,
        "invalidControlErrors": [
          "Missing YAML frontmatter (must start with --- and end with ---)"
        ]
      },
      "checks": [
        {
          "label": "Required metadata passes strict validation",
          "passed": true
        },
        {
          "label": "Publishing restriction survives normalization",
          "passed": true
        },
        {
          "label": "Missing frontmatter is rejected without repair",
          "passed": true
        }
      ],
      "annotations": [
        {
          "label": "Input",
          "detail": "A complete release-review instruction is wrapped in a Markdown code fence."
        },
        {
          "label": "File",
          "detail": "The normalizer removes the outer fence; the validator checks required metadata and body."
        },
        {
          "label": "Control",
          "detail": "A sentence without frontmatter fails, making the result useful beyond the successful example."
        }
      ],
      "limitations": "Format validity does not establish that a client will follow the instructions or that executable code is safe. This example makes no model calls and does not install or execute the skill. Test in your selected client before use."
    },
    {
      "id": "selected-memory",
      "title": "Retrieve a passage from the selected source",
      "provenance": "Two authored document fixtures: an approved product note and past campaign copy. Actual production lexical-index results are shown for the explicitly selected product note.",
      "productionFunctions": [
        "buildKbLexicalIndex",
        "queryKbLexicalIndex"
      ],
      "input": {
        "pages": [
          {
            "schemaVersion": 1,
            "pageId": "release-facts",
            "title": "Approved export release",
            "content": "CSV export is available to existing customers. The approved release note does not state a launch date.",
            "links": [],
            "claims": [],
            "sourceIds": [
              "approved-release-note"
            ],
            "updatedAt": "2026-09-14"
          },
          {
            "schemaVersion": 1,
            "pageId": "voice-example",
            "title": "Past launch copy",
            "content": "Our past launch offered a discount. This example describes a previous campaign and is not an approved fact about the current release.",
            "links": [],
            "claims": [],
            "sourceIds": [
              "past-campaign-copy"
            ],
            "updatedAt": "2026-09-14"
          }
        ],
        "selectedPageIds": [
          "release-facts"
        ],
        "query": "CSV export",
        "missingQuery": "refund eligibility"
      },
      "output": {
        "selectedPageIds": [
          "release-facts"
        ],
        "retrievedPageIds": [
          "release-facts"
        ],
        "excerpts": [
          {
            "pageId": "release-facts",
            "title": "Approved export release",
            "snippet": "CSV export is available to existing customers. The approved release note does not state a launch date."
          }
        ],
        "missingQueryHits": 0
      },
      "checks": [
        {
          "label": "Query returns the approved export source",
          "passed": true
        },
        {
          "label": "Unselected campaign copy never enters the index",
          "passed": true
        },
        {
          "label": "An unsupported query returns no lexical hits",
          "passed": true
        }
      ],
      "annotations": [
        {
          "label": "Select",
          "detail": "Choose the current product note. Leave the old campaign outside the selected-source index."
        },
        {
          "label": "Retrieve",
          "detail": "The CSV export query returns the product excerpt with its page identifier."
        },
        {
          "label": "Missing facts",
          "detail": "The refund query returns no hits. The demonstration produces no answer to fill that gap."
        }
      ],
      "limitations": "Selection here is explicit fixture input. This tests lexical retrieval, not production account authorization, storage, embedding retrieval, source compilation or answer generation. No model calls occur. Keep the source reference and inspect the original passage."
    },
    {
      "id": "discovery-aem",
      "title": "Turn recorded findings into an accountable action plan",
      "provenance": "Synthetic answer labels and an authored empty HTML document on example.test. All numbers and actions are actual outputs of the production measurement and plan functions; none describes Prompeteer’s live visibility.",
      "productionFunctions": [
        "summarizeGrowthObservations",
        "runChecks",
        "actionPlan"
      ],
      "input": {
        "plannedSlots": 4,
        "observations": [
          {
            "slotId": "unbranded-a",
            "questionId": "U01",
            "layer": "web_grounded",
            "status": "answered",
            "mention": "named",
            "citation": "own_domain"
          },
          {
            "slotId": "unbranded-b",
            "questionId": "U01",
            "layer": "web_grounded",
            "status": "answered",
            "mention": "absent",
            "citation": "other_source"
          },
          {
            "slotId": "unbranded-c",
            "questionId": "U01",
            "layer": "web_grounded",
            "status": "failed",
            "mention": "unassessed",
            "citation": "unassessed"
          },
          {
            "slotId": "branded-a",
            "questionId": "B01",
            "layer": "web_grounded",
            "status": "answered",
            "mention": "named",
            "citation": "own_domain"
          }
        ],
        "url": "https://example.test/",
        "html": "<!doctype html><html lang=\"en\"><head><title>Fixture export tool</title></head><body><div id=\"root\"></div></body></html>",
        "rubricVersion": "1.6.0"
      },
      "output": {
        "completed": "3 / 4",
        "searchMentions": "1 / 2",
        "searchMentionRate": 50,
        "failed": 1,
        "brandedMentions": "1 / 1",
        "actions": [
          {
            "id": "P1",
            "title": "Content present without JavaScript",
            "evidence": "0 words in <body>",
            "owner": "engineering",
            "steps": [
              "Server-render meaningful body text into the initial HTML.",
              "Compare the HTML response with the rendered page.",
              "Include sufficient useful context; avoid word-count filler."
            ],
            "acceptance": "P1 passes on a re-run"
          },
          {
            "id": "P2",
            "title": "Not an empty SPA shell",
            "evidence": "<div id=\"root\"> is empty and the document holds only 0 words",
            "owner": "engineering",
            "steps": [
              "Render the meaningful public content into the initial HTML.",
              "Check the page with JavaScript disabled.",
              "Keep the visible content consistent across supported clients."
            ],
            "acceptance": "P2 passes on a re-run"
          },
          {
            "id": "A1",
            "title": "Answer-first opening",
            "evidence": "no opening paragraph",
            "owner": "content",
            "steps": [
              "Open with a direct answer to the main reader question.",
              "Name the product and the audience it serves.",
              "Use enough words for accuracy; the audit range is a guideline."
            ],
            "acceptance": "A1 passes on a re-run"
          },
          {
            "id": "A2",
            "title": "Question-shaped headings",
            "evidence": "0 question headings",
            "owner": "content",
            "steps": [
              "Use headings that describe each section; questions are optional.",
              "Start each section with a direct, supported answer.",
              "Prioritize useful coverage over a heading-count target."
            ],
            "acceptance": "A2 passes on a re-run"
          },
          {
            "id": "E1",
            "title": "Structured data present",
            "evidence": "no ld+json",
            "owner": "content",
            "steps": [
              "Choose schema types that match the visible page and business.",
              "Publish only accurate, supported properties.",
              "Validate the markup and compare it with the rendered content."
            ],
            "acceptance": "E1 passes on a re-run"
          },
          {
            "id": "P4",
            "title": "Exactly one H1",
            "evidence": "0 H1 elements",
            "owner": "engineering",
            "steps": [
              "Use a clear main heading that describes the page.",
              "Arrange section headings in a meaningful hierarchy.",
              "Check the page outline with assistive navigation."
            ],
            "acceptance": "P4 passes on a re-run"
          },
          {
            "id": "A4",
            "title": "Structured content present",
            "evidence": "no list or table",
            "owner": "content",
            "steps": [
              "Use lists for genuinely sequential or parallel information.",
              "Use tables for comparisons with consistent criteria.",
              "Keep qualifications and units beside the facts they describe."
            ],
            "acceptance": "A4 passes on a re-run"
          },
          {
            "id": "A7",
            "title": "Sentences are readable",
            "evidence": "mean 0 words",
            "owner": "content",
            "steps": [
              "Express one clear idea at a time.",
              "Use concrete language suited to the intended audience.",
              "Keep essential qualifications attached to their claims."
            ],
            "acceptance": "A7 passes on a re-run"
          },
          {
            "id": "A8",
            "title": "Summary near the top",
            "evidence": "no heading followed by prose",
            "owner": "content",
            "steps": [
              "Place the main proposition near the start of the content.",
              "Give enough context to understand the offer.",
              "Review the first screen on mobile and desktop."
            ],
            "acceptance": "A8 passes on a re-run"
          },
          {
            "id": "R11",
            "title": "Self-referential canonical",
            "evidence": "no canonical link",
            "owner": "engineering",
            "steps": [
              "Choose the preferred public URL for this content.",
              "Align canonical links, internal links and sitemap entries.",
              "Keep business identifiers distinct from page URLs where appropriate."
            ],
            "acceptance": "R11 passes on a re-run"
          },
          {
            "id": "E3",
            "title": "sameAs links",
            "evidence": "0 sameAs",
            "owner": "content",
            "steps": [
              "Link only profiles that represent the same business.",
              "Check ownership, identity and destination accuracy.",
              "Remove stale or unrelated links rather than meeting a quota."
            ],
            "acceptance": "E3 passes on a re-run"
          },
          {
            "id": "E6",
            "title": "dateModified is precise",
            "evidence": "absent",
            "owner": "content",
            "steps": [
              "Publish the actual content modification date where relevant.",
              "Use a valid date or timestamp with known precision.",
              "Keep visible dates and structured data consistent."
            ],
            "acceptance": "E6 passes on a re-run"
          },
          {
            "id": "E8",
            "title": "Social card complete",
            "evidence": "og:title no, og:description no, og:image no",
            "owner": "content",
            "steps": [
              "Match preview metadata to the visible page.",
              "Use an accessible image with suitable dimensions for target platforms.",
              "Test the resulting previews and correct stale information."
            ],
            "acceptance": "E8 passes on a re-run"
          },
          {
            "id": "G1",
            "title": "Markdown twin available",
            "evidence": "neither .md nor content negotiation",
            "owner": "engineering",
            "steps": [
              "Confirm which readers or tools would use a Markdown version.",
              "If useful, publish equivalent content and keep it synchronised.",
              "Advertise the supported format and test its content."
            ],
            "acceptance": "G1 passes on a re-run"
          },
          {
            "id": "G5",
            "title": "Link: alternate header",
            "evidence": "no Link rel=alternate header",
            "owner": "engineering",
            "steps": [
              "Identify maintained alternate formats or supported API descriptions.",
              "Publish the appropriate link relationship for each resource.",
              "Verify access rules and content consistency across formats."
            ],
            "acceptance": "G5 passes on a re-run"
          },
          {
            "id": "P6",
            "title": "Content sits in a landmark",
            "evidence": "no main or article element",
            "owner": "engineering",
            "steps": [
              "Wrap the body copy in one <main> or <article>.",
              "Keep navigation and footer outside it."
            ],
            "acceptance": "P6 passes on a re-run"
          },
          {
            "id": "P7",
            "title": "Content outweighs boilerplate",
            "evidence": "0% of body text",
            "owner": "content",
            "steps": [
              "Review the extracted main content alongside the rendered page.",
              "Reduce unnecessary repeated text without harming navigation.",
              "Add information only where it answers a real reader need."
            ],
            "acceptance": "P7 passes on a re-run"
          },
          {
            "id": "R10",
            "title": "Sitemap reachable",
            "evidence": "no sitemap.xml",
            "owner": "engineering",
            "steps": [
              "List the preferred public URLs in a valid sitemap.",
              "Reference the sitemap from robots.txt.",
              "Use actual modification dates and remove obsolete entries."
            ],
            "acceptance": "R10 passes on a re-run"
          },
          {
            "id": "R9",
            "title": "Response is compressed",
            "evidence": "no content-encoding header",
            "owner": "engineering",
            "steps": [
              "Enable supported compression for suitable public text responses.",
              "Check Content-Encoding and compare transferred bytes.",
              "Confirm that the decoded page content remains complete."
            ],
            "acceptance": "R9 passes on a re-run"
          }
        ]
      },
      "checks": [
        {
          "label": "Failed request is excluded from the mention denominator",
          "passed": true
        },
        {
          "label": "Branded recognition stays outside unbranded discovery",
          "passed": true
        },
        {
          "label": "Every failed or warning check has exactly one action",
          "passed": true
        },
        {
          "label": "Every action retains an owner and a checkable acceptance condition",
          "passed": true
        }
      ],
      "annotations": [
        {
          "label": "Measure",
          "detail": "Three usable answers out of four planned. One failure remains a failure, rather than becoming a negative answer."
        },
        {
          "label": "Separate",
          "detail": "One of two unbranded answers names the business. The branded answer uses a separate denominator."
        },
        {
          "label": "Act",
          "detail": "The empty document produces specific actions with source evidence, owners and acceptance checks."
        }
      ],
      "limitations": "These four synthetic observations are a calculation test, not a visibility benchmark. The authored page tests check-to-action coverage. A plan does not prove a fix was implemented or that mentions, search position, conversions or traffic will improve."
    }
  ]
}
