Update the workflow map with the 28 August decisions

Left uncommitted on 28 August alongside the commit of the same name. Adds
section 3b, "Two decisions taken on 28 August, and what they cost", and
refreshes the tool and phase annotations around it.

Committed as found, unreviewed: this is someone else's work being preserved
rather than endorsed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Claude 2026-08-31 17:02:09 +10:00
parent 41c4cbbbdc
commit 3516a3efe3

View file

@ -107,8 +107,9 @@ ul.next b{color:var(--ink)}
assistant answers it from plant records and controlled documents, and shows its evidence. This page
follows one question through the assistant, names the piece of software doing each job, and marks
what already exists.</p>
<p class="stamp">Status as observed on the live host, 28 August 2026, mid-morning.
Every status below was read from the running containers, not from the plan.</p>
<p class="stamp">Status as observed on the live host, 28 August 2026, end of day.
Every status below was read from the running containers and probed by hand, not taken from the plan.
Where this page and the build documents disagree, this page is the later reading.</p>
<div class="note stop"><b>What changed in the last week:</b> two of the three things this project
was waiting on arrived. The network names came on 27 August, and the AI model account the same day.
@ -119,17 +120,24 @@ keyword. The dropdown and the placeholder wording are gone.
surfaced within the hour, and every one had been hidden by the stand-in</b> that replaced the model.
The most important: asked how to lift an interlock, the assistant was handing the answer writer
<em>the step list</em> &mdash; the one thing it must never reproduce &mdash; while withholding the
title block it actually needed. All five are fixed, each is pinned by a test, and the exam grew from
67 questions to 75 to cover them.</p>
title block it actually needed. <b>Three more followed that afternoon</b>, when the first real
document was uploaded and found faults no fabricated one could. All eight are fixed, each is pinned
by a test, and the exam grew from 67 questions to 75 to cover them.</p>
<p style="margin:.7em 0 0"><b>Two more things changed later the same day, both at the
customer&rsquo;s direction, and both are worth understanding before the next demo.</b>
The operator&rsquo;s screen <b>no longer asks anyone to sign in</b> &mdash; it now admits the SCADA
machine by its network address alone and refuses everything else. And <b>document management was
built and put live</b>, out of order, ahead of the exam it was meant to follow. Operators can now
add and withdraw documents from a screen. Both are explained in section 3b.</p>
<p style="margin:.7em 0 0">One thing remains outstanding, and it is the one furthest outside this
project&rsquo;s control: <b>a read-only login to the plant historian.</b> Until it exists every
figure on screen is a stand-in, and says so.</p></div>
figure on screen is a stand-in, and says so. A fresh instance of that gap surfaced today &mdash;
see &ldquo;the question that cannot be answered&rdquo; in section 2.</p></div>
<div class="legend">
<span class="key"><i class="dot d-live"></i> Running now</span>
<span class="key"><i class="dot d-partial"></i> Running, on stand-in data</span>
<span class="key"><i class="dot d-blocked"></i> Waiting on someone else</span>
<span class="key"><i class="dot d-none"></i> Not started, or cannot start yet</span>
</div>
<h2>1 &middot; The question&rsquo;s journey</h2>
@ -210,7 +218,7 @@ use and what it is allowed to say.</p>
<p>Explains a signal, alarm or piece of equipment from the manuals and alarm records, quoting
the document it came from.</p>
<div class="uses">Looks in: <b>document search</b> + the equipment and tag list.
<br>Proven on the host, but only against three fabricated demo documents.</div>
<br>Proven on the host against four real documents and three fabricated ones.</div>
</div>
<div class="lane">
<h4>Procedural — how do I do it?</h4>
@ -277,9 +285,12 @@ use and what it is allowed to say.</p>
<p>These are ordinary software checks written in code, not instructions given to the AI. That
distinction is the point: an AI can be talked out of an instruction, and cannot be talked out
of a check.</p>
<p>This is the part the current stand-in arrangement proves best. The placeholder answers are
put through exactly the same rulebook as a generated one would be, and a refusal is a correct
result rather than a fault. The rulebook is running today.</p>
<p>The rulebook earned its keep today, on a real question. Asked how many high level alarms
there had been last week, the assistant produced an answer with a number in it &mdash; and the
check refused to let it out, twice, because no records had come back to support it. The
operator saw an error rather than a figure nobody could stand behind. <b>A refusal is a
correct result, not a fault</b>; what it exposed was a fault one layer below, in how the alarm
is filed. See section 2.</p>
<div class="tool">Application: <b>ai-api</b> &middot; the answer contracts and guardrails</div>
</div>
</div>
@ -339,23 +350,40 @@ lane is fixed before any searching starts.</div>
because the real historian is still not available — so no number it produces today means anything
about the plant, and every answer built on one says so on the operator&rsquo;s screen. The definitions
it uses are the real ones and will not change when the historian arrives; only the source will.</p>
<div class="tool">Reads: today the stand-in tables in <b>pg-ai</b>. Eventually the <b>imh</b>
plant historian, read-only. Definitions live in <b>cube/model/</b> — alarms, process values,
operations, equipment. Ready-made summaries are being rebuilt on a schedule.</div>
<p><b>The question that cannot be answered.</b> Asked today, on the running system:
<em>&ldquo;how many wet well high level alarms were there between 1 and 7 August?&rdquo;</em>
&mdash; the most obvious question anyone would ask at this station. It came back as an error.
The alarm is filed in the name list against <em>the station</em>; every one of its recorded
occurrences is filed against <em>the wet well</em>. The two never meet, so the count comes out
as nothing at all. Counted by equipment, that week holds 100 alarms.</p>
<p>What did work is the part that matters most: the assistant had written an answer with a
number in it, and <b>the rulebook stopped it leaving</b>, because there were no records behind
it. The operator got an error rather than a figure nobody could stand behind. This is the third
place the same underlying mismatch has appeared, and none of the three can be fixed here &mdash;
the stand-in tables were built from the same name list, so &ldquo;correcting&rdquo; either side
would only make the two agree with each other and prove nothing. All three wait on the real
historian.</p>
<div class="tool">Reads: today the stand-in tables in <b>pg-ai</b> — 145 alarms, 129,603 level
readings, 309 pump operations. Eventually the <b>imh</b> plant historian, read-only. Definitions
live in <b>cube/model/</b> — alarms, process values, operations, equipment. Cube runs as two
containers, <b>cube</b> and <b>cubestore</b>; the second holds the ready-made summaries and the
first will not start without it. Those summaries are rebuilt daily, and are not yet being
written into <b>pg-ai</b> as the design specifies.</div>
</div>
<div class="card partial">
<h3>Document search <span class="badge b-partial">Searching by meaning, on demo documents</span></h3>
<h3>Document search <span class="badge b-live">Searching real documents by meaning</span></h3>
<p>Searches the controlled documents by meaning rather than keyword, so &ldquo;lift the
interlock&rdquo; finds the right procedure even when the document says &ldquo;interlock
override&rdquo;. Two rules are permanently on: withdrawn revisions are never returned, and every
result carries its document number, revision, date, page and section — a passage that cannot be
cited cannot be used.</p>
<p>Search by meaning now works: the documents were indexed on 27 August 2026, once the model
account arrived. What it has to search is still the problem &mdash; three fabricated demo
documents, written so the document lanes had something to find. They carry deliberately
impossible document numbers and made-up figures so that nothing in them can be mistaken for
plant content.</p>
<p>Search by meaning works, and it now has real material to search. <b>Four real documents
were loaded on 28 August</b> &mdash; three control descriptions and an instrument document
&mdash; alongside the three fabricated demo ones that were written so the document lanes had
something to find at all. The demo documents carry deliberately impossible document numbers and
made-up figures, and say so on every passage, so nothing in them can be mistaken for plant
content. What is outstanding is the rest of the real set, not the ability to hold it.</p>
<p>Procedures are now handled differently from everything else, and deliberately so. Ranking a
procedure&rsquo;s sections by how closely they match &ldquo;how do I lift the interlock&rdquo;
returned <em>the step list</em> &mdash; the one part that must never be reproduced &mdash; and
@ -364,8 +392,9 @@ lane is fixed before any searching starts.</div>
and withholds its step sections entirely. The wording step never receives them. The rulebook
still refuses instruction language independently; withholding is the first line, not the
only one.</p>
<div class="tool">Reads: document sections stored in <b>pg-ai</b> — 14 sections across
3 demo documents. No controlled document has been loaded.</div>
<div class="tool">Reads: document sections stored in <b>pg-ai</b> &mdash; 92 passages across
7 documents, 4 of them real. Withdrawn and superseded revisions are filtered out before ranking,
every time, and that filter is not something a question can switch off.</div>
</div>
<div class="card live">
@ -391,20 +420,32 @@ lane is fixed before any searching starts.</div>
<div class="cols">
<div class="card partial">
<h3>Documents in <span class="badge b-partial">Proven, on demo documents</span></h3>
<h3>Documents in <span class="badge b-live">Proven on real documents</span></h3>
<p>Procedures, manuals, alarm rationalisation and design documents are read, split into sections,
and converted into a searchable form. Three habits matter: a numbered step sequence is never cut
in half; the document&rsquo;s type comes from the folder it was filed in, not from a guess; and
a person confirms the document number, revision and date before anything is stored. A wrong
revision on a procedure is a safety problem, not a tidiness one.</p>
<p>The whole path has now been run on the host, end to end, with a person confirming each
header at a terminal — but on three fabricated demo documents, not real ones. That was
deliberate: it exercises the reading, splitting, header confirmation and storage without any
real document being handled before the reviewing arrangement is agreed. It also runs without the
AI model, which is why it could be proven now.</p>
<div class="tool">Application: <b>ai-ingest</b>, run by hand when documents change &rarr; stored
in <b>pg-ai</b>. The demo documents are marked so they can be removed in one step before real
ones arrive.</div>
<p>The whole path has been run on the host end to end, first at a terminal on three
fabricated demo documents, and since 28 August through the new upload screen on <b>four real
ones</b>.</p>
<p><b>The first real document was worth more than the entire demo set</b>, and this is the part
worth repeating. An eight-page control philosophy exposed three faults in a single upload, none
of which any test or any demo document had caught, and every one of which left the screen
looking perfectly correct. The whole document had become <em>one</em> passage, because the PDF
reader produces no blank lines and the splitter had nothing to split on &mdash; eight pages
behind a single search entry, every citation reading &ldquo;untitled, page 1&rdquo;. Every
passage was labelled with the document&rsquo;s revision instead of its title, because a cover
page collapses into a column of labels and the matcher ran past the line break. And publishing
the same document twice quietly duplicated it, leaving the same passage quotable twice with
nothing on screen to show it. All three are fixed; the document now splits into 19 sections that
match its own headings.</p>
<p>The lesson is not that the code was careless. It is that <b>fabricated documents are shaped
like what the code expects</b>. Real ones are not, and only a real one could have shown it.</p>
<div class="tool">Two ways in, and they must not both be used on the same document:
<b>ai-ingest</b> at a terminal, and the upload screen added at step 9. Both run the same
splitting code, now held identical by a test rather than by intention. Stored in <b>pg-ai</b>.
The demo documents stay marked so they can be removed in one step.</div>
</div>
<div class="card blocked">
@ -418,22 +459,23 @@ lane is fixed before any searching starts.</div>
</div>
</div>
<div class="note"><b>Worth knowing:</b> until the real historian is available, the data lanes run on
stand-in figures, and until the model account is issued the wording is a placeholder. Both facts are
labelled on the operator&rsquo;s screen, on every answer, all the way through — so nothing produced
today can be mistaken for a real plant number or for the assistant&rsquo;s own words. Neither label
is something an operator can turn off.</div>
<div class="note"><b>Worth knowing:</b> of the two supply lines, one is now connected and one is
not. The documents are real. <b>The figures are not</b> &mdash; until the historian is available the
data lanes run on stand-ins, and every answer built on one carries a label saying so, on the
operator&rsquo;s screen, all the way through. That label is not something an operator can turn off.
The placeholder wording is gone: the assistant has written in its own words since 27 August.</div>
<h2 id="waiting">3a &middot; What was being waited on</h2>
<p class="sub">Two of the three arrived in the last week. One remains, and it is the one furthest
outside this project&rsquo;s control.</p>
outside this project&rsquo;s control. Nobody outside this project is holding up anything else.</p>
<div class="cols">
<div class="card live">
<h3>An AI model account <span class="badge b-live">Arrived 27 August 2026</span></h3>
<p>Both AI steps now run, and the documents are indexed for search by meaning. Switching them on
was not the end of the work: five separate faults surfaced within the hour, every one of them
invisible while the stand-in was in place, and all five are now fixed and pinned by tests. The
<p>Both AI steps now run, and the documents are indexed for search by meaning. Switching them
on was not the end of the work: five separate faults surfaced within the hour, and three more
followed that afternoon when the first real document was uploaded. Every one of the eight was
invisible while the stand-in was in place; all eight are now fixed and pinned by tests. The
parts a safety reviewer most needs to examine can now actually be examined.</p>
<p><b>One difference from what was asked for.</b> Two model deployments were provided rather
than three &mdash; there is no small, cheap model, so the labelling step runs on the large one.
@ -455,47 +497,200 @@ outside this project&rsquo;s control.</p>
<div class="card live">
<h3>Three network name records <span class="badge b-live">Arrived 27 August 2026</span></h3>
<p>All three names resolve and all four addresses now hand the visitor to the sign-in page
first. The operator&rsquo;s page and the assistant behind it were moved onto a single address,
because the assistant&rsquo;s own name does not resolve from inside the plant network and a
control-room browser would have failed on every question.</p>
<p>All three names resolve. The operator&rsquo;s page and the assistant behind it were moved
onto a single address, because the assistant&rsquo;s own name does not resolve from inside the
plant network and a control-room browser would have failed on every question.</p>
<p><b>Only the operator&rsquo;s address works from inside the plant network.</b> The other
three &mdash; and, importantly, the sign-in page itself &mdash; have no internal record, so a
browser on the plant network resolves them, gets correctly handed to sign-in, and then fails
there. It went unnoticed for weeks because the equipment that talks to this host never opens a
browser. It no longer affects the operator, who does not sign in at all, but it will catch the
next protected service anyone tries to open from the plant floor.</p>
<p><b>What is still unproven is the part no check from here can reach:</b> an operator sitting
at a control-room PC, signed in, getting an answer end to end. Names resolving is not the same
as a person succeeding.</p>
at a control-room PC and getting an answer end to end. Names resolving is not the same as a
person succeeding, and a mistake in the new address rule would look identical from here.</p>
<div class="tool">Have: <b>ai</b>, <b>api</b> and <b>cube</b> under <b>yokogawa.tech</b>, plus
the internal record for <b>ai</b>.</div>
</div>
</div>
<h2>3b &middot; Two decisions taken on 28 August, and what they cost</h2>
<p class="sub">Both were asked for by the customer, both are reversible, and both trade a
protection for convenience. Neither is a mistake &mdash; but neither should reach a wider audience
undescribed.</p>
<div class="cols">
<div class="card partial">
<h3>The operator no longer signs in <span class="badge b-partial">Applied 28 August 2026</span></h3>
<p>An operator at the console should not have to complete a phone prompt to ask a question, and
nobody outside the plant should reach the assistant at all. So the operator&rsquo;s screen now
admits <b>one machine, by its network address</b>, and refuses everything else &mdash; plant
network, remote access and internet alike.</p>
<p><b>What it costs.</b> This is an address list on a flat network with no boundary between the
office and plant sides, so anything that can take that address inherits the same unquestioned
access. It is a demonstration convenience, not a security control, and it is the first thing
proper network separation would replace. Two further consequences are easy to miss: the logbook
can no longer record <em>who</em> asked a question, only that somebody did; and engineers can no
longer open the assistant in a browser over the remote connection.</p>
<p>The assistant behind the screen is unchanged and still fully protected &mdash; document
management depends on that and must stay there. Undoing this is a single configuration reload;
the sign-in rule was deliberately left in place.</p>
<div class="tool">In scope for the safety review, which is still outstanding.</div>
</div>
<div class="card partial">
<h3>Document management, built out of order <span class="badge b-partial">Live 28 August 2026</span></h3>
<p>Step 9 was designed to follow the exam, for a reason: adding a way for more documents to
arrive makes a wrong answer harder to diagnose, not easier. It was built and put live first, at
the customer&rsquo;s direction. Upload, convert, review, approve, withdraw and restore all work,
and four real documents have been through it.</p>
<p><b>What it costs.</b> Four things, all deliberate and all reversible. <b>Nobody is checked:</b>
the publisher is a name typed into a box, checked against a one-entry list with no password, so
anyone who reaches the page can claim it &mdash; rows are permanently marked as unverified so
they stay tellable apart once real sign-in goes on. <b>Scanned documents cannot be read at all</b>
and are refused rather than stored empty, because the proper document reader needs software this
host must not run. <b>The two ways of loading a document must not be used on the same one</b>,
or the older path cannot see what the screen loaded. And the conversion happens inside the
request, so a large document holds up its own upload.</p>
<p>What has not moved is the judgement: nothing is quotable until a named person has confirmed
the document&rsquo;s number, revision and date, and the database itself refuses an approved
document without them.</p>
<div class="tool">Application: the document screens inside <b>ai-api</b>, at the assistant&rsquo;s
own protected address — not on the operator&rsquo;s screen, which now carries no identity at all.</div>
</div>
</div>
<h2>4 &middot; What exists, and the order the rest gets built</h2>
<p class="sub">Each step ends in a check that must pass before the next begins — so that when an
answer comes out wrong, there is one place to look, not four.</p>
<p class="sub">Each step ends in a check that must pass before the next begins &mdash; so that when
an answer comes out wrong, there is one place to look, not four. <b>Two of those checks have never
been run, and step 9 was built before step 8 rather than after it.</b> Status below is what was read
off the running host on 28 August 2026, in the evening.</p>
<div class="tblwrap">
<table>
<thead><tr><th>Step</th><th>What it delivers</th><th>Status</th><th>What it needs</th></tr></thead>
<thead><tr><th>Step</th><th>What it delivers</th><th>Status</th><th>Where it actually stands</th></tr></thead>
<tbody>
<tr><td class="ph">1</td><td><b>The store</b> — where documents, equipment names and ready-made summaries live</td><td><span class="badge b-live">Running now</span></td><td>Done. Live, checks passed.</td></tr>
<tr><td class="ph">2</td><td><b>The logbook</b> — recording of every question, put in early on purpose so every later experiment is traceable</td><td><span class="badge b-live">Running now</span></td><td>Done. Live, and recording the trial questions going through the chain now.</td></tr>
<tr><td class="ph">3</td><td><b>The documents</b> — the real procedures and manuals, read in and searchable</td><td><span class="badge b-partial">Proven and indexed, on demo documents</span></td><td>Reading, splitting, human header confirmation, storage <b>and search by meaning</b> have all been run on the host — on three fabricated demo documents, indexed 27 August 2026. The header now also captures the document&rsquo;s title and authorising role, because the answer writer was being asked for facts it had never been shown. What is outstanding is the real documents, and someone to confirm each one&rsquo;s revision and date.</td></tr>
<tr><td class="ph">4</td><td><b>Access to plant history</b> — a read-only login to the historian</td><td><span class="badge b-blocked">Blocked</span></td><td>The historian server, a read-only login and agreed table names. <b>Still outstanding, and now the only blocker</b> — the model account arrived on 27 August 2026.</td></tr>
<tr><td class="ph">5</td><td><b>Cube</b> — the data translator, with every definition written down</td><td><span class="badge b-partial">Running on stand-in figures</span></td><td>Running and answering questions. Two of its definitions were found to be wrong and fixed while proving it, which is what proving it is for. Two further questions about them are deliberately left until the real historian settles them. An engineer must independently confirm its first real numbers.</td></tr>
<tr><td class="ph">6</td><td><b>The assistant itself</b> — the sorting step, the four lanes, the answer writer and the rulebook</td><td><span class="badge b-live">Running, with both AI steps</span></td><td>All four lanes answer end to end on the host with a real model, through the rulebook. Five faults surfaced within an hour of switching the model on — every one of them hidden by the stand-in, every one now fixed and pinned by a test. The exam set grew from 67 questions to 75 to cover them.</td></tr>
<tr><td class="ph">7</td><td><b>The operator&rsquo;s screen</b> — the question box, the answer, the working</td><td><span class="badge b-partial">Reachable by name, not yet used by an operator</span></td><td>The name records arrived on 27 August 2026 and all four addresses hand the visitor to sign-in first. What remains unproven is the only part no check from here can reach: a person at a control-room PC, signed in, getting an answer.</td></tr>
<tr><td class="ph">8</td><td><b>The exam</b> — 75 engineer-checked questions run end to end and scored</td><td><span class="badge b-partial">Now runnable, not yet run</span></td><td>No longer blocked: the model account exists, so the sorting step and the wording can both be scored. Eight questions were added covering the five faults found on switch-on. Pass mark unchanged: 85% correct overall, 95% on the two dangerous kinds, and <b>zero</b> breaches of the rulebook.</td></tr>
<tr><td class="ph">9</td><td><b>Document management by operators</b> — uploading and withdrawing documents from a screen instead of a terminal</td><td><span class="badge b-none">Designed, not built</span></td><td>Designed and deliberately held back until step 8 passes. Its settings are in place but switched off.</td></tr>
<tr><td class="ph">1</td>
<td><b>The store</b> &mdash; where documents, equipment names and ready-made summaries live</td>
<td><span class="badge b-live">Running now</span></td>
<td>Healthy for eight days. It holds 92 passages from seven documents, the 8 equipment items and 56
tags that turn &ldquo;Pump 02&rdquo; into a real tag, and &mdash; since step 9 &mdash; the upload
queue and a permanent audit trail that nothing in the system is allowed to delete from. Five
database logins with the split that matters: <b>the answer path can only read</b>, and only the
loading job can write documents. Checked by hand, not assumed: the reading login was proven unable
to write.</td></tr>
<tr><td class="ph">2</td>
<td><b>The logbook</b> &mdash; a record of every question, put in early on purpose so every later experiment is traceable</td>
<td><span class="badge b-live">Running now</span></td>
<td>Both parts healthy for seven days, and every question since has been recorded: how it was
sorted and with what confidence, what was retrieved, how long it took, and whether the rulebook
passed or refused it. Every refusal is kept with the wording that caused it. <b>One thing changed on
28 August:</b> now that the operator does not sign in, the logbook no longer knows <em>who</em>
asked &mdash; only that somebody did.</td></tr>
<tr><td class="ph">3</td>
<td><b>The documents</b> &mdash; the real procedures and manuals, read in and searchable</td>
<td><span class="badge b-live">Running on real documents</span></td>
<td><b>Four real documents have now been through it</b> &mdash; three control descriptions and an
instrument document &mdash; alongside the three fabricated demo ones, for 92 passages in total. The
first real document was worth more than all the testing before it: an eight-page control philosophy
exposed <b>three silent faults in one upload</b>, every one of which left the screen looking
perfectly correct. The whole document had become a single passage, because the PDF reader emits no
blank lines and the splitter had nothing to split on. Every passage was titled
&ldquo;Revision&rdquo;, because a cover page flattens into a column of labels and the title matcher
ran on past the line break. And re-publishing the same document quietly duplicated it, leaving the
same passage quotable twice. All three are fixed, and the two loading paths are now held identical
by a test rather than by good intentions. What is outstanding is the rest of the real document set,
and a named reviewer for each.</td></tr>
<tr><td class="ph">4</td>
<td><b>Access to plant history</b> &mdash; a read-only login to the historian</td>
<td><span class="badge b-blocked">Blocked &mdash; the only one</span></td>
<td><b>The only thing this project still needs from anybody.</b> The server is still being built and
the read-only login has not been created; the connection settings sit on the host waiting, with the
password and database name blank. Also outstanding: the agreed table names, the firewall rule, and
confirmation of whether the historian stores time as UTC or local. That last one is not a formality
&mdash; <b>three separate findings cannot be settled without the answer</b>, and one of them decides
whether an alarm time on screen is right or a day out.</td></tr>
<tr><td class="ph">5</td>
<td><b>Cube</b> &mdash; the data translator, with every definition written down</td>
<td><span class="badge b-partial">Running on stand-in figures</span></td>
<td>Running as two containers &mdash; the translator and its own store, which is a hard dependency
rather than an optimisation &mdash; and answering the data lane against 145 stand-in alarms, 129,603
level readings and 309 pump operations. Two of its definitions were found wrong and fixed while
proving it by hand, which is what proving it is for. <b>Three findings are deliberately left open</b>
until the real historian settles them, the newest found today: see section 2. Two further gate items
are ours, not anybody else&rsquo;s &mdash; no number has been independently confirmed by an
engineer, and the ready-made summaries are not being written back into the store as the design
specifies.</td></tr>
<tr><td class="ph">6</td>
<td><b>The assistant itself</b> &mdash; the sorting step, the four lanes, the answer writer and the rulebook</td>
<td><span class="badge b-live">Running, with both AI steps</span></td>
<td>All four lanes answer end to end on the host with a real model, through the rulebook. Proven
again today: an interlock question came back in <b>3.96 seconds</b> with the governing
procedure&rsquo;s identity, its prerequisites quoted word for word, its steps withheld entirely, and
the scope banner attached. <b>Eight faults have been found and pinned since the model went on</b>
&mdash; five within an hour of switching it on, and three more when the first real document went
through. Every one was invisible while the stand-in was in place. The exam grew from 67 questions to
75 to cover them.</td></tr>
<tr><td class="ph">7</td>
<td><b>The operator&rsquo;s screen</b> &mdash; the question box, the answer, the working</td>
<td><span class="badge b-partial">Live, never yet used from the control room</span></td>
<td>The screen is live, and since 28 August it admits the SCADA machine by its network address with
<b>no sign-in at all</b> &mdash; see section 3b for what that costs. The refusing half of that rule
was checked from the host and works: this host, the remote connection and the internet are all shut
out. <b>The half that matters cannot be checked from here</b> &mdash; that the one machine it is
meant to admit is actually admitted. A typo in the rule would refuse the control room too and look
exactly the same from this side. Until somebody opens the page at the console, this step is not
finished, and no check written here can finish it.</td></tr>
<tr><td class="ph">8</td>
<td><b>The exam</b> &mdash; 75 engineer-checked questions run end to end and scored</td>
<td><span class="badge b-blocked">Runnable, and never run</span></td>
<td><b>Nothing is blocking this and it has still not been done.</b> The model account arrived on 27
August, so both AI steps can be scored; no scorecard has ever been produced. The set covers 28
historical, 18 procedural, 14 advisory and 13 reference questions plus 2 that should be refused as
unclear, every data question with its time window pinned so the answer does not drift between runs.
Pass mark unchanged: 85% correct overall, 95% on the two dangerous kinds, and <b>zero</b> breaches of
the rulebook. Two questions fail by design until step 4 lands.</td></tr>
<tr><td class="ph">9</td>
<td><b>Document management by operators</b> &mdash; uploading and withdrawing documents from a screen instead of a terminal</td>
<td><span class="badge b-partial">Live, built ahead of step 8</span></td>
<td><b>Built on 28 August at the customer&rsquo;s direction, before step 8 rather than after it.</b>
It was sequenced after the exam for a reason: adding a way for more documents to arrive makes a
wrong answer harder to diagnose, not easier. Upload, convert, review, approve, withdraw and restore
all work and have been used on four real documents. <b>Five deliberate shortcuts</b> come with it
&mdash; see section 3b &mdash; the most important being that the publisher is a name typed into a
box with no password. What has not moved is the judgement: nothing is quotable until a named person
has confirmed the document&rsquo;s number, revision and date, and the database itself refuses an
approved document without them. The one part of the design deliberately left out is choosing which
documents are in the searchable set.</td></tr>
</tbody>
</table>
</div>
<div class="note stop"><b>Read the two red rows together.</b> Step 4 is the only thing anybody
outside this project owes us. Step 8 is the only thing on this list that nothing is blocking and
nobody has done &mdash; and step 9 went live in front of it, so people can now add documents to a
search path that has never been formally scored. That is a sequencing decision, taken deliberately;
it is not an accident, and it is reversible, but it is the sentence a reviewer should see first.</div>
<h2>5 &middot; The short version</h2>
<ul class="next">
<li><b>Running today:</b> the store, the logbook, the name list, the data translator, document
search, all four lanes, the rulebook and the operator&rsquo;s screen. A question typed in the box
comes back as an answer, with its evidence and its working, in well under a second.</li>
<li><b>Running, on stand-in data:</b> the figures are stand-ins, not plant data, and the documents
are three fabricated demo documents rather than controlled ones. Both are labelled on screen. The
two AI steps are no longer on this list &mdash; they run.</li>
<li><b>Running, on stand-in data:</b> the figures are stand-ins, not plant data. That one is
labelled on screen, on every answer, and an operator cannot turn the label off. The documents are no
longer only demo ones &mdash; four real documents have been loaded through the new upload screen,
alongside the three fabricated ones. The two AI steps are no longer on this list; they run.</li>
<li><b>What switching the model on actually taught us.</b> Five faults appeared within the hour,
and not one of them could have been found any earlier, because the stand-in had been quietly
supplying the very things that turned out to be missing. Four were the same mistake in four places:
@ -503,6 +698,13 @@ the answer writer was being asked for a <em>fact</em> &mdash; which revision, wh
called, which document a limit came from &mdash; and it answered with something empty or invented.
Every one is now taken from the retrieved document instead, so the wording step cannot influence it
at all.</li>
<li><b>And then the first real document found three more.</b> An eight-page control philosophy,
uploaded on 28 August, exposed three faults that every test and every demo document had missed
&mdash; and all three left the screen looking perfectly correct. The whole document had collapsed
into a single passage; every passage was titled &ldquo;Revision&rdquo;; and re-publishing one
quietly duplicated it. The lesson is not that the code was careless. It is that <b>fabricated
documents are shaped like what the code expects</b>, and one real file was worth more than the
entire demo set.</li>
<li><b>The one worth telling a safety reviewer.</b> Asked how to lift an interlock, the assistant
was ranking the procedure&rsquo;s sections by similarity to the question &mdash; which handed the
answer writer <em>the step list</em>, the one thing it must never reproduce, while withholding the
@ -514,9 +716,17 @@ rather than relying on catching it.</li>
They work; they are not yet scored. The 75-question exam can now be run and has not been. And no
operator has yet sat at a control-room PC and got an answer &mdash; the one check that cannot be
done from here.</li>
<li><b>Needs other people, so ask today:</b> the model account, the read-only historian login, and
three network name records. All three are now on the critical path, and none can be hurried at the
end.</li>
<li><b>Found today, and worth repeating:</b> the most obvious question at this station &mdash;
how many high level alarms last week &mdash; cannot be answered at all, because the alarm and its
recorded occurrences are filed against different equipment. The rulebook caught it and returned an
error instead of a number. That is the system working; it is also a reminder that the stand-in data
is hiding this class of problem rather than proving it absent.</li>
<li><b>Two things were traded away on 28 August,</b> both deliberately and both reversible: the
operator&rsquo;s screen no longer asks anyone to sign in, and document management went live before
the exam that was meant to precede it. Section 3b says what each one costs.</li>
<li><b>Needs other people:</b> just one thing now &mdash; the read-only historian login. The model
account and the network name records both arrived on 27 August. A small model deployment is still
wanted so the running-cost figures hold, but nothing is blocked without it.</li>
<li><b>Before any operator sees this:</b> what the assistant will and will not say must be reviewed
with an OT/safety representative. That review needs the model in place to be meaningful, which is
one more reason the account is the item to chase first.</li>