T9.4 - S7: one sample-data affordance, confirmed, and fenced off the project
Four affordances under three names became ONE: "Load sample data", on the creator's toolbar, at the far end of two separators from the live actions (New / Duplicate), pushed right with its own gap. It confirms through the T7.9 dialog, naming exactly what it does - and what it does not: "This page only: nothing is written to the project unless you then save." The probe verifies the fence the way the done-when demands - against a REAL project, reading the server's SOP and work-package list before and after and asserting byte-identical. Gone: the wizard's header "Load sample" (the dangerous one: it filled the state completeSOP() pushes to the LIVE project, one click, no confirm, no undo - reconciled with D1 exactly as the task records: the creator's control is the survivor, the wizard copy goes), the creator's split Sample SOP / Load example pair (now internals behind the one entry point), and the empty-state context bar's third button (its text now points at the toolbar control). The location/material "Load sample values" buttons stay: they fill a PASTE BOX that acts only through an explicit, dry-runnable import - a different thing, stated in the code. Probes re-pointed with reasons in place: frame_check's D1 toolbar list names the consolidated control; validation_check's sample-driven toast checks became the-affordance-is-gone checks (and its stale showAnalytics drive, orphaned by T7.10, became a the-duplicate-stays-gone check). Verification (each probe run alone): NEW tests/sample_check.py 10/10. Regressions: validation_check 77/77, frame_check 38/38, kitting_check 26/26, export_check 20/20, sections_check 95/95. Items: S7 (D1 reconciliation honored) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -84,12 +84,15 @@
|
||||
<button class="btn btn-ghost" onclick="openSopModal()">View SOP</button>
|
||||
<button class="btn btn-ghost" onclick="document.getElementById('sop-import').click()">Import SOP</button>
|
||||
<input type="file" id="sop-import" accept="application/json" style="display:none" onchange="importSOP(event)">
|
||||
<button class="btn btn-ghost" onclick="loadSampleSOP()">Sample SOP</button>
|
||||
<button class="btn btn-ghost" onclick="loadExample()">Load example</button>
|
||||
<span class="wp-toolbar-sep" aria-hidden="true"></span>
|
||||
<!-- T7.10 moves this to the admin console and deletes one of the two
|
||||
implementations. It stays visible here until then rather than being
|
||||
deleted by the task that dissolved the frame. -->
|
||||
<!-- S7 / T9.4: THE sample-data affordance - exactly one in the whole suite,
|
||||
under one name. Pushed to the far end, away from the live actions (New /
|
||||
Duplicate sit at the other side of two separators), it confirms before
|
||||
acting and names exactly what it does. It fills THIS PAGE only: nothing
|
||||
is written to the project unless the user then saves, which the probe
|
||||
verifies against a real project. The wizard's copy and the split
|
||||
Sample SOP / Load example pair are gone. -->
|
||||
<span class="wp-toolbar-sep" aria-hidden="true" style="margin-left:auto"></span>
|
||||
<button class="btn btn-ghost" onclick="loadSampleAll()">Load sample data</button>
|
||||
</div>
|
||||
|
||||
<div class="dev-banner" id="dev-banner" style="display:none">⚙ DEV MODE — usage tracking paused. This session's actions are not being recorded.</div>
|
||||
|
||||
Reference in New Issue
Block a user