распознавание: большие раздачи размечаются целиком, файлы вне плана видны
- модель адресует файл номером строки нашего списка вместо копии пути: ответ на 180 файлов вместо ~15k токенов стоит ~2.5k, усечение сотней снято, max_files и max_tokens ушли в [recognition], correction-ретрай больше не переприсылает список - негодный элемент ответа отбрасывается поимённой причиной, обрыв генерации и отказ по размеру запроса названы своими причинами, покрытие плана блокирует авто только при непокрытом видеофайле - раскладка показывает все файлы раздачи со строками «не в плане» и полным порядком сортировки; снимок списка файлов лёг рядом с планом (миграция 0012)
This commit is contained in:
@@ -391,6 +391,11 @@ table.tbl .size{font-family:var(--mono);color:var(--text-dim);white-space:nowrap
|
||||
.se-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak)}
|
||||
.role-select{font:inherit;font-size:var(--fs-xs);padding:4px 6px;border-radius:var(--r-sm);
|
||||
border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}
|
||||
/* Строка о полноте перечня над таблицей раскладки: is-warn — когда список
|
||||
файлов раздачи неизвестен и полнота не гарантирована. */
|
||||
.tbl-note{margin:0 0 var(--sp-3);font-size:var(--fs-sm);color:var(--text-dim)}
|
||||
.tbl-note.is-warn{padding:9px 12px;border-radius:var(--r-sm);color:var(--text);
|
||||
background:var(--st-wait-bg);border:1px solid color-mix(in srgb,var(--st-wait) 30%,transparent)}
|
||||
.tbl-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;align-items:center}
|
||||
.validation{font-size:var(--fs-xs);margin-top:var(--sp-2);display:flex;gap:var(--sp-3);flex-wrap:wrap}
|
||||
.validation .ok{color:var(--st-ok)}
|
||||
|
||||
@@ -1,18 +1,31 @@
|
||||
{{define "layout_widget"}}
|
||||
{{/* Полнота перечня названа явно: молчаливый показ неполного списка как
|
||||
полного неотличим от честного «файлов вне плана нет». */}}
|
||||
{{if .SourceUnknown}}
|
||||
<p class="tbl-note is-warn">Список файлов раздачи не сохранён — эта загрузка распознана до того,
|
||||
как система стала его хранить. Строки построены по плану: файлы, которых в плане нет,
|
||||
здесь не видны, и полнота не гарантирована. Повторное распознавание из ревью вернёт полный список.</p>
|
||||
{{else if lt .Planned .Total}}
|
||||
<p class="tbl-note">В план распознавания попало {{.Planned}} файлов из {{.Total}} —
|
||||
остальные показаны ниже пометкой «не в плане».</p>
|
||||
{{end}}
|
||||
<div class="table-wrap">
|
||||
<table class="tbl">
|
||||
<thead><tr><th class="cell-num">#</th><th>файл источника → раскладка</th><th>роль</th></tr></thead>
|
||||
<thead><tr>
|
||||
<th class="cell-num" title="номер файла в списке распознавания — им же его адресует ответ модели">#</th>
|
||||
<th>файл источника → раскладка</th><th>роль</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
{{range $i, $f := .}}
|
||||
<tr class="{{if $f.Ignored}}ignored{{end}}">
|
||||
<td class="cell-num">{{add $i 1}}</td>
|
||||
{{range .Rows}}
|
||||
<tr class="{{if .Ignored}}ignored{{end}}">
|
||||
<td class="cell-num">{{if .Num}}{{.Num}}{{end}}</td>
|
||||
<td>
|
||||
<div class="fname">{{$f.Src}} <span class="arr">→</span></div>
|
||||
<div class="fname">{{.Src}} <span class="arr">→</span></div>
|
||||
<div class="link-to">
|
||||
{{if $f.Linked}}<span class="src">{{$f.Dst}}</span>{{else}}<span class="no-link">не разложен</span>{{end}}
|
||||
{{if .Linked}}<span class="src">{{.Dst}}</span>{{else if .Unplanned}}<span class="no-link">модель не разметила этот файл</span>{{else}}<span class="no-link">не разложен</span>{{end}}
|
||||
</div>
|
||||
</td>
|
||||
<td><span class="badge {{if $f.Ignored}}st-cancelled{{else}}st-done{{end}}">{{$f.RoleLabel}}</span></td>
|
||||
<td><span class="badge {{if .Unplanned}}st-review{{else if .Ignored}}st-cancelled{{else}}st-done{{end}}">{{.RoleLabel}}</span></td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user