clarify template-only AI memory context

This commit is contained in:
Daniel 2026-05-08 07:38:27 +02:00
parent 20fc6798a9
commit 03ee07f92f
6 changed files with 15 additions and 12 deletions

View file

@ -151,7 +151,7 @@
<!-- My Templates / Memories -->
<div class="settings-section card">
<h3><i class="fas fa-book-medical"></i> My Templates</h3>
<p style="font-size:13px;color:var(--g600);">Save reusable templates for physical exam, ROS, encounter format, etc. The AI will use these when generating notes. You can reference them by saying "use my normal physical exam" in dictation.</p>
<p style="font-size:13px;color:var(--g600);">Save reusable templates for physical exam, ROS, encounter format, etc. Only template categories are sent to AI when generating notes. You can reference them by saying "use my normal physical exam" in dictation.</p>
<div style="margin-bottom:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;">
<select id="mem-category" style="font-size:13px;padding:5px 8px;border:1px solid var(--g300);border-radius:6px;">
<option value="physical_exam">Physical Exam Template</option>
@ -164,7 +164,6 @@
<option value="template_wellvisit">Well Visit Template</option>
<option value="template_sickvisit">Sick Visit Template</option>
<option value="template_ed">ED Template</option>
<option value="custom">Custom</option>
</select>
<input type="text" id="mem-name" style="font-size:13px;padding:5px 8px;border:1px solid var(--g300);border-radius:6px;flex:1;min-width:150px;" placeholder="Template name (e.g. Normal PE)">
</div>

View file

@ -491,7 +491,7 @@
<script type="module" src="/js/soap.js"></script>
<script type="module" src="/js/milestones.js"></script>
<script defer src="/js/peGuide.js"></script>
<script defer src="/js/extensions.js"></script>
<script type="module" src="/js/extensions.js"></script>
<script type="module" src="/js/notes.js"></script>
<script type="module" src="/js/diagrams.js"></script>
<script type="module" src="/js/clinicalAssistant.js"></script>
@ -501,7 +501,7 @@
<script type="module" src="/js/sickVisit.js"></script>
<script type="module" src="/js/ed-encounters.js"></script>
<script defer src="/js/encounters.js"></script>
<script defer src="/js/memories.js"></script>
<script type="module" src="/js/memories.js"></script>
<script defer src="/js/admin-docs.js"></script>
<script type="module" src="/js/documents.js"></script>
<script defer src="/js/calc-math.js"></script>

View file

@ -1,7 +1,6 @@
// ============================================================
// PAGERS & EXTENSIONS — personal directory with async search + soft delete
// ============================================================
(function () {
var _inited = false;
var _items = [];
var _mode = 'active'; // 'active' | 'trash'
@ -352,5 +351,3 @@
if (s == null) return '';
return String(s).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}
})();

View file

@ -2,8 +2,6 @@
// MEMORIES.JS — User template/memory storage + settings UI
// ============================================================
(function() {
var _memories = [];
var _editingId = null;
@ -18,7 +16,7 @@
template_wellvisit: 'Well Visit Template',
template_sickvisit: 'Sick Visit Template',
template_ed: 'ED Template',
custom: 'Custom'
custom: 'Custom (not used by AI)'
};
// ── Load memories ────────────────────────────────────────────────────────
@ -176,5 +174,3 @@
}
console.log('✅ Memories module loaded');
})();

View file

@ -10,7 +10,9 @@ const moduleEntrypoints = [
'public/js/admin.js',
'public/js/diagrams.js',
'public/js/ed-encounters.js',
'public/js/extensions.js',
'public/js/hospitalCourse.js',
'public/js/memories.js',
'public/js/milestones.js',
'public/js/nextcloud.js',
'public/js/notes.js',

View file

@ -18,6 +18,15 @@ test('AI memory context is limited to saved template categories', () => {
assert.doesNotMatch(route.match(/var AI_CONTEXT_CATEGORIES = \[[\s\S]*?\];/)[0], /'custom'/);
});
test('template settings do not offer new custom AI memories', () => {
const settings = read('public/components/settings.html');
const memories = read('public/js/memories.js');
assert.doesNotMatch(settings, /<option value="custom">/);
assert.match(settings, /Only template categories are sent to AI/);
assert.match(memories, /custom: 'Custom \(not used by AI\)'/);
assert.match(memories, /window\.getUserMemoryContext = function\(\)/);
});
test('browser Whisper is removed from public runtime and user settings', () => {
assert.equal(fs.existsSync(path.join(root, 'public/js/browserWhisper.js')), false);
const publicRuntimeFiles = [