feat(workbench): add DBN Case Workbench guided case-preparation hub

Additive-only change: new workbench.php authenticated page with guided
intake flow, evidence map, tool sequence, output checklist, and
sessionStorage-only note persistence. Dashboard and public index get
a new Case Workbench card. No existing tools, APIs, or prompts modified.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 19:08:16 +02:00
parent b495ff29fd
commit 1246b7a804
6 changed files with 760 additions and 0 deletions
+12
View File
@@ -47,6 +47,7 @@ if (isset($_GET['sso']) && !dbnToolsIsAuthenticated()) {
$isAuthed = dbnToolsIsAuthenticated();
$userEmail = $isAuthed ? (string)($_SESSION['dbn_tools_user_email'] ?? '') : '';
$tools = dbnToolsLaunchedTools($uiLang);
$workbench = dbnToolsWorkbenchMeta($uiLang);
$langPath = '/';
$toolsLogin = 'https://dobetternorge.no/tools-login.php?return=' . urlencode($returnPath);
$registerUrl = 'https://dobetternorge.no/register.php';
@@ -147,6 +148,17 @@ window.DBN_TOOLS_LANG = <?= json_encode($uiLang, JSON_UNESCAPED_UNICODE) ?>;
<p class="lt-tools__sub">Seven purpose-built AI tools &mdash; from audio transcription to deep legal research. Every tool processes your documents in memory and discards them when you&rsquo;re done.</p>
</div>
<div class="lt-grid">
<a class="lt-card lt-card--workbench" href="<?= $isAuthed ? '/workbench.php' : '#access' ?>" data-tool="workbench">
<div class="lt-card__art workbench-entry-art" aria-hidden="true">
<span>WB</span>
</div>
<div class="lt-card__body">
<p class="lt-card__badge"><?= htmlspecialchars($workbench['badge']) ?></p>
<h3 class="lt-card__title"><?= htmlspecialchars($workbench['label']) ?></h3>
<p class="lt-card__desc"><?= htmlspecialchars($workbench['description']) ?></p>
<span class="lt-card__arrow"><?= htmlspecialchars($isAuthed ? dbnToolsT('enter_workbench', $uiLang) : dbnToolsT('primary_access', $uiLang)) ?> &#x2192;</span>
</div>
</a>
<?php foreach ($tools as $slug => $item): ?>
<a class="lt-card" href="preview.php?tool=<?= htmlspecialchars($slug) ?>" data-tool="<?= htmlspecialchars($slug) ?>">
<div class="lt-card__art" aria-hidden="true">