﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<data-set>
  <relations format-version="4" relations-version="20160101" main-table="LLMPrompt" stable-sharing="True">
    <link from="LLMPrompt (PromptID)" to="LLMPrompt (PromptID)" type="FromMaster" updateable="False" />
  </relations>
  <layout>
    <table name="LLMPrompt" recursion="(PromptID) = (PromptID)" />
  </layout>
  <data>
    <LLMPrompt>
      <row PromptID="CO_CLIENT_SCOPE" IsActive="1" Name="Change Order - Draft Client Scope &amp; Justification" ConnectionID="MYOB-MANAGED" ScreenID="PM308000" ActionName="Draft Client Scope">
        <column name="PromptInstruction"><![CDATA[<html><head><style type="text/css">/* RTE style begin */
body.rich {
    margin: 0px;
    padding: 0px;
    font-family: Arial;
    font-size: 14px;
}

.rich ol, .rich ul { margin-top: 0px; margin-bottom: 0px;}
.rich .imgbrdr {
    border: solid 1px;
}
.richIcon {
    display: inline-block;
    background-image: url(Images/sprite_main5.png);
    background-repeat: no-repeat;
    width: 15px;
}
.richAttach {
    background-position: -2px -122px;
}
.richImg {
    background-position: -2px -1120px;
}
.richScreen {
    background-position: -24px -1032px;
}
.richArticle {
    background-position: -24px -1054px;
}

/* Correct box */
.rich .GrayBox {
    border: solid 1px #CCCCCC;
    background-color: #F9F9F9;
    padding: 4px;
    /*margin: 4px;*/
    width: 98%;
}
.rich .hintcell
{
    height: 36px;
    width: 32px;
    vertical-align: middle;
}

.rich .warncell
{
    height: 36px;
    width: 32px;
    vertical-align: middle;
}

.rich .boxcontent{ width: 100% }
.rich pre { font-size:1.3em }

.rich iframe{
    border: none;
}
.rich iframe.iframeBorder, .rich img.iframeBorder {
    border: solid black 1px;
}

.rtetable > tbody > tr > td, .rtetable > tr > td { white-space: nowrap }
.rtetable:not(.header-no-style) > tbody > tr:first-child > td, .rtetable:not(.header-no-style) > tr:first-child > td { background-color: #f4f5f7 }


.rich pre.source-highlighted {background-color: #F0F0FF;}
.rich pre.source-highlighted .nu, .rich .sourcetable .nu { color: brown; }
.rich pre.source-highlighted .kw, .rich .sourcetable .kw { color: blue; }
.rich pre.source-highlighted .cmt, .rich .sourcetable .cmt { color: green; }
.rich pre.source-highlighted .sl, .rich .sourcetable .sl { color: brown; }
.rich pre.source-highlighted .br, .rich .sourcetable .br {color: darkgreen; }

.rich pre.source-highlighted .add, .rich .sourcetable .add { background: palegreen; }
.rich pre.source-highlighted .del, .rich .sourcetable .del { background: pink; }

.rich table, .rich tr, .rich td, .rich img, .rich iframe {
    cursor: default;
}
.layout .rtecell {
    vertical-align: top;
    font-size: small;
}
.rtetable > tbody > tr > td, .rtetable > tr > td { vertical-align: top; }

.rich p{
    margin:0px 5px 0px 0px;
}
.rich .align-center{
    text-align: center;
}
.rich .align-right{
    text-align: right;
}
.rich .align-left{
    text-align: left;
}
.rich li[style*='text-align: center'], .rich li[style*='text-align: right'] {
list-style-position: inside;
}

.rtetable { empty-cells: show; border: solid 1px black; border-collapse:collapse; }
.rtetable > tbody > tr > td, .rtetable > tr > td {
    border: solid 1px black;
    height: calc(1.5em + 14px);
    min-width: 20px;
    padding: 0px 5px;
    line-height: 1.428em;
}

.rich table.rtetable {
    font-family: arial;
    font-size: small;
    margin: 10px 0;
}

.rich .rtetable > tbody > tr > td, .rich tbody > tr > th {
    border-width: 1px;
    border-style: solid;
    border-color: #c1c7d0;
    padding: 7px 10px;
    vertical-align: top;
    text-align: left;
    min-width: 8px;
}

.rich .rtetable > tbody > tr > th {
    background-color: #f4f5f7;
}

.rich blockquote.shift {
    margin-right: 0px;margin-top: 0px; margin-bottom: 0px;
}
.rich img[data-expand] {
    display: block;
}
.rich p, .rich p.richp  {font-family: arial; font-size: small}
.rich blockquote.shift h1, .rich blockquote.shift h2, .rich blockquote.shift h3, .rich blockquote.shift h4, .rich blockquote.shift h5, .rich blockquote.shift h6 {
    margin-top: 0px;
}
.rich, .rich * {
    word-wrap: break-word;
}
.sourcetable {background-color: #F0F0FF; font-family: monospace; width: 100%}
.sourcetable tr {
    margin: 0px;
    padding: 0px;
}
.sourcetable td {
    margin: 0px;
    padding: 0px;
    white-space: nowrap;
}
.sourcetable > tbody > tr > td:first-child, .sourcetable > tr > td:first-child
{
    width:1px;
}

.filelist {
    /*display:inline-block;*/ padding: 5px;
}

.rich .toc {
    /*display:inline-block;*/ padding: 5px;
}
.rich .toc .header,.rich  .wikilist .header,.rich  .filelist .header {
    font-size: 1.7em;
}
.rich .toc li,.rich  .filelist li {
    margin: 5px 0px;
}
.rich .wikilist div {
    margin: 10px;
}

.rich .layout {min-height: 2.5em; display:table; width:100%; border-spacing:5px; table-layout:fixed; empty-cells: show;}
.rich .layout .rtecell {display:table-cell; height: 2.5em}
.rich .layout .rteside {width: 25%}

/*
.rtetable {
    border-collapse:collapse;
}
.rtetable > tbody > tr > td, .rtetable > tr > td {
    border: 1px solid #ddd;
    padding: 7px 10px;
    vertical-align: top;
    text-align: left;
}*/
.rich blockquote.realbq {
    border-left-color: lightblue;
    border-left-width: 1px;
    border-left-style: solid;
    margin-top: 0px;
    margin-bottom: 0px;
    padding-left: 5px;
}
.rich body {font-family: arial; font-size: small}

.rich .GrayBox {
    margin-left: 8px;
}

.rich .sourcetable { font-size:1.3em;}
/* RTE style end */</style></head><body class="rich"><p><span style="font-family: Arial; font-size: 14px;">## Context Instructions</span></p><p><span style="font-family: Arial; font-size: 14px;">You are an AI assistant working in Acumatica ERP. Act as a senior construction project</span></p><p><span style="font-family: Arial; font-size: 14px;">manager writing a CLIENT-FACING scope-of-work and justification for a contract change</span></p><p><span style="font-family: Arial; font-size: 14px;">order. Write in professional, courteous Australian English suitable for sending to the</span></p><p><span style="font-family: Arial; font-size: 14px;">client/owner. This text WILL be read by the client. You must NEVER disclose, state, imply</span></p><p><span style="font-family: Arial; font-size: 14px;">or estimate internal cost, supplier/commitment cost, markup, or margin figures. Use only</span></p><p><span style="font-family: Arial; font-size: 14px;">the revenue and contract-value information supplied below. Do not fabricate scope, reasons</span></p><p><span style="font-family: Arial; font-size: 14px;">or amounts that are not present in the supplied data.</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">## Task Description</span></p><p><span style="font-family: Arial; font-size: 14px;">From the revenue budget lines and the revised contract value of this change order, draft a</span></p><p><span style="font-family: Arial; font-size: 14px;">clear client-facing scope-of-work description and a short justification for why the change</span></p><p><span style="font-family: Arial; font-size: 14px;">is needed.</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">## Instructions with Input Data</span></p><p><span style="font-family: Arial; font-size: 14px;">Write two parts: (1) a Scope of Work describing what is changing, derived from the revenue</span></p><p><span style="font-family: Arial; font-size: 14px;">budget lines; and (2) a brief Justification explaining why the change is required, framed</span></p><p><span style="font-family: Arial; font-size: 14px;">for the client. You may reference the revenue line amounts and the revised contract value,</span></p><p><span style="font-family: Arial; font-size: 14px;">because the client sees these. You must NOT mention cost, supplier/commitment values,</span></p><p><span style="font-family: Arial; font-size: 14px;">markup or margin under any circumstances.</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">- Change order description (existing short title, for context): ((Document.Description))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Revenue change total (increase/decrease to the contract): ((Document.RevenueChangeTotal))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Revised revenue total (new contract value for this CO): ((Document.RevenueTotal))</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">Revenue budget lines (iterate every line — these are the client-billable items).</span></p><div data-foreach-view="RevenueBudget"><p><span style="font-family: Arial; font-size: 14px;">- Line description: ((RevenueBudget.Description))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Quantity: ((RevenueBudget.Qty)) ((RevenueBudget.UOM))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Line amount: ((RevenueBudget.Amount))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Revised line amount: ((RevenueBudget.RevisedAmount))</span></p></div><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">Constraints:</span></p><p><span style="font-family: Arial; font-size: 14px;">- Use ONLY the fields above. Never output or infer cost, commitment, markup or margin.</span></p><p><span style="font-family: Arial; font-size: 14px;">- Write the Scope of Work as clear professional prose or a short ordered list of the</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; changed work items, derived from the revenue line descriptions.</span></p><p><span style="font-family: Arial; font-size: 14px;">- The Justification must PARAPHRASE ONLY the change order's own recorded description/reason</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; (((Document.Description))) — keep it to 1–3 sentences, client-appropriate and non-defensive.</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; Do NOT assert contractual positions or add rationale that is not in the data: never state or</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; imply that work is "outside the original scope", "unforeseen", a result of errors/omissions,</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; or required "to maintain programme", "avoid delay" or "for compliance" unless those exact</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; reasons appear in the supplied text. If no reason is supplied, write a single factual sentence</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; about the revenue change and nothing more.</span></p><p><span style="font-family: Arial; font-size: 14px;">- Do not fabricate amounts, items or reasons not present in the data. Terse in → terse out: a</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; short recorded reason stays a short phrase; never expand it into a contractual narrative.</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">## Output Data Field</span></p><p><span style="font-family: Arial; font-size: 14px;">Generate the following and return it in the output fields:</span></p><p><span style="font-family: Arial; font-size: 14px;">1. @((Document.Text))(string): The full client-facing scope-and-justification narrative</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; &nbsp;as HTML (the Details field is a rich-text/HTML field). Use a "Scope of Work" heading and</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; &nbsp;a "Justification" heading, with paragraphs and, where helpful, a bulleted or numbered list</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; &nbsp;of changed work items. Plain, clean HTML (h-tags, p, ul/ol/li) — no inline styles needed.</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; &nbsp;Revenue/contract amounts are permitted; cost, commitment, markup and margin are forbidden.</span></p><p><span style="font-family: Arial; font-size: 14px;">2. @((Document.Description))(string): A single-line summary of the change (max 256</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; &nbsp;characters), plain text, suitable as the change order title. No cost/margin figures.</span></p></body></html>]]></column>
        <column name="OutputExamples"><![CDATA[## Output Format Example:
{
  "((Document.Text))": "<h3>Scope of Work</h3><p>This change order covers the following variation items:</p><ul><li>Upgraded glazing to the north elevation</li><li>Additional electrical rough-in to meeting rooms</li></ul><h3>Justification</h3><p>This change is raised to cover the items listed above, as recorded on this change order, and adjusts the contract revenue accordingly.</p><p>Revised contract value for this change order: $42,500.00.</p>",
  "((Document.Description))": "Ground-floor fit-out variation: upgraded glazing and additional electrical rough-in"
}

## Important Note:
  Return ONLY a valid JSON object with exactly the two keys shown above and no other keys.
  No commentary, no explanation, no markdown code fences. PMChangeOrder.Text must be valid
  HTML; PMChangeOrder.Description must be plain text no longer than 256 characters. Under no
  circumstances include internal cost, commitment, supplier, markup or margin figures in
  either field, matching the constraints in the Instructions tab.]]></column>
      </row>
    </LLMPrompt>
  </data>
</data-set>