-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStatus_Summary.html
More file actions
806 lines (806 loc) · 36.2 KB
/
Copy pathStatus_Summary.html
File metadata and controls
806 lines (806 loc) · 36.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Status_Summary</title>
<style>
/* Default styles provided by pandoc.
** See https://pandoc.org/MANUAL.html#variables-for-html for config info.
*/
html {
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 12px;
}
h1 {
font-size: 1.8em;
}
}
@media print {
html {
background-color: white;
}
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
svg {
height: auto;
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
white-space: pre-wrap;
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
border: none;
border-top: 1px solid #1a1a1a;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">Status_Summary</h1>
</header>
<h1 id="helixtranslate-feature-status-summary">HelixTranslate — Feature
Status Summary</h1>
<p><strong>Revision:</strong> 18 <strong>Last modified:</strong>
2026-06-16T20:05:00Z <strong>Authority:</strong> Two-audience companion
to <code>docs/features/Status.md</code> (§11.4.56). Derived from the
same inventory. Per §11.4.44 (revision header), §11.4.60 (always-sync),
§11.4.6 (no-guessing).</p>
<hr />
<h1 id="page-1-for-the-team-non-developer">Page 1 — For the team
(non-developer)</h1>
<p><strong>What is this?</strong> HelixTranslate is an ebook translation
system. This page is a plain-language snapshot of how much of it we have
catalogued and how much we have proven works on camera.</p>
<h2 id="what-works">What works</h2>
<ul>
<li>We have a complete catalogue of <strong>every feature</strong> in
the product and its 8 owned add-on modules — <strong>497 individual
capabilities</strong> catalogued (Rev 16 added 1 new row for the
standalone gRPC translate-round-trip probe tool
<code>cmd/grpc-translate-probe</code>; Rev 14 added 2 new
unified-translator rows for the Wave-3f net-new videos: EPUB→EPUB
conversion + TXT→TXT translation; Rev 9 added 1 new unified-translator
HTML→Markdown conversion row for the Wave-2 video; Rev 8 re-counted the
live tables directly and added the 7 missing agent-bridge ensemble rows
to reach 493; the headline “417” is the same list with closely-related
sub-options counted once).</li>
<li>The majority are fully built and reachable: the command-line
translators, the web dashboards, the REST and gRPC servers, ~32 built-in
AI providers, ebook format readers (FB2, EPUB, DOCX, HTML, TXT, PDF) and
writers (EPUB, FB2, TXT, HTML, Markdown, <strong>DOCX and now
PDF</strong>), caching, security, and all 8 add-on modules.</li>
<li><strong>66 features are proven on real recordings</strong> — each
checked frame-by-frame to confirm it genuinely shows the feature working
(real translated text in the right language, a live connection count
changing, a real CLI database/pipeline output, etc.), not just “a
screen”. <strong>New this round (Waves 7–9, +12 net-new):</strong> the
translator producing distinct real translations in more languages
(Korean/Hangul, a German→English reverse, French→Spanish,
English→Serbian-Latin) and through a new AI provider (Groq); the REST
API translating a single string, translating a batch of three sentences
at once, and reporting real version/build details; the script converter
turning Cyrillic into Latin on its own; the preparation analysis reading
a book’s genre/characters and feeding that into a real Spanish
translation. Of these 12, <strong>3 genuinely flipped a row from
“pending” to “proven”</strong> (translate-a-string API, the Groq
provider, translate-a-batch API); the other 9 are extra proof on
features already proven or covered by general language-pair rows —
counted in the running total but honestly distinguished in the detailed
document so nothing is double-counted. <strong>Honestly recorded but NOT
counted as proven:</strong> the EPUB→Markdown tool hit an empty-payload
bug (it sent blank text to the AI and wrote the AI’s “you sent an empty
message” reply as if it were the translation) — that bug is <strong>now
fixed at source (commit 4fbe581)</strong>, but a fresh recording is owed
before it is marked proven; and two API findings (an unwired alternate
server with no runnable entry point, and a providers endpoint that
returns a fixed hardcoded list) are recorded as honest gaps, not proven.
<strong>Prior round (Waves 4–6, +12 net-new):</strong> the translator
producing 7 distinct target languages from the same English source
(French, German, Italian, Portuguese, Japanese, Chinese, Russian —
proving real per-language translation, not echo), accepting PDF and Word
(DOCX) files as input, an HTML→HTML round-trip, and the REST API
converting Serbian script and translating an FB2 book into a real EPUB.
<strong>Honestly demoted this round:</strong> the multi-pass polishing
engine (<code>-multipass</code>) — its older recording is superseded
because the default model is rejected and the polish step silently does
nothing; a fix + fresh recording is owed before it is re-counted.
<strong>Earlier round (Wave 3f):</strong> the translator producing a
fully-translated <strong>EPUB→EPUB</strong> book (real Spanish inside
the produced .epub) and a plain <strong>TXT→TXT</strong> translation
(real Spanish text out), plus fresh re-confirmations of FB2→FB2, format
auto-detection, Serbian Cyrillic↔︎Latin scripting, and the EPUB↔︎Markdown
round-trip. These include: the primary command-line translator doing
real DeepSeek translations and converting between ebook formats
(EPUB→TXT, <strong>EPUB→EPUB</strong>, HTML→EPUB, FB2→EPUB, FB2→FB2,
<strong>TXT→TXT</strong>, <strong>and HTML→Markdown</strong>), Serbian
Cyrillic/Latin handling, the <strong>multi-pass polishing engine
(<code>-multipass</code>)</strong>, the REST API server translating for
real, the gRPC server translating English→Spanish, the markdown
round-trip tool, the preparation/analysis runner (fixed), the simple CLI
translator, the live monitoring dashboard, the <strong>agent bridge
command-line tool</strong>, the <strong>agent bridge MCP-stdio
server</strong>, the <strong>provider-diverse translator set</strong>
(Wave 2: novita, mistral, groq, siliconflow; Wave 3a: Cerebras,
SambaNova; Wave 3b: Gemini, Zhipu, Cohere; Wave 3c: Hyperbolic,
Fireworks; Wave 3d: nvidia, openrouter), and — <strong>new this round
(Wave 3d)</strong> — the <strong><code>verify-models</code> command-line
tool</strong> (real model-verification pipeline + ranking), the
<strong><code>workable-items</code> command-line tool</strong> (real
project-tracker database), and <strong>two more providers</strong>
(nvidia + openrouter, distinct real Spanish translations).</li>
<li><strong>DOCX output and PDF output are now proven on camera (Wave
2).</strong> A real run of the command-line translator produces a real
<code>.docx</code> (“Microsoft Word 2007+” with real Spanish text) and a
valid PDF with real Spanish — both captured as real-use videos and
checked frame-by-frame. <strong>The blocker is fixed:</strong> the
default command-line/gRPC translation path that was runtime-broken in
Wave 1 (the auto-selected verified model being rejected by a stale model
whitelist) now works — which is exactly why these recordings genuinely
demonstrate working features. We never faked a “working” recording; in
Wave 1 these were honest skips.</li>
<li><strong>New this round (Wave 3d):</strong> four feature-type-diverse
confirmations — the <strong><code>verify-models</code> CLI</strong>
(shows the real LLMsVerifier model-verification pipeline: 14 providers
checked live with real reachable/auth/HTTP-status results, 4 models
verified and persisted, then a selection ranking with real scores), the
<strong><code>workable-items</code> CLI</strong> (the project’s real
SQLite issue-tracker: <code>validate</code> reports “DB matches markdown
(81 items)” and <code>list</code> prints real ticket rows), and
<strong>two more providers</strong> — <strong>nvidia</strong> (“…el sol
se alzó… Un anciano pescador <strong>caminaba</strong> a lo largo de la
orilla.”) and <strong>openrouter</strong> (“…<strong>paseaba</strong> a
lo largo de la orilla.”), the two outputs distinct (caminaba/paseaba)
proving genuine separate per-provider models. <code>upstage</code> was
tried but honestly skipped (its key was rejected, HTTP 403) and
<code>together</code> skipped (no key) — never faked.</li>
<li><strong>Prior round (Wave 3c):</strong> the
<strong>Hyperbolic</strong> library client and the
<strong>Fireworks</strong> provider (in the <code>llm_provider</code>
submodule) are now video-proven — each a real EN→ES translation run
through the OpenAI-compatible per-provider path, with the two Spanish
outputs distinct from each other (“…el sol salía…caminaba por la
orilla…” for Hyperbolic vs “…el sol ascendió…paseaba por la orilla…” for
Fireworks), proving genuine, separate per-provider models rather than a
canned response. Wave 3c also re-confirmed (not double-counted) the REST
<code>POST /api/v1/translate</code> and the
<code>/health</code>+<code>/api/v1/version</code>+<code>/api/v1/providers</code>
endpoints against a freshly-started live TLS API server — real
translated JSON and real endpoint JSON captured on camera. (Prior round,
Wave 3a: Cerebras + SambaNova; Wave 3b: Gemini + Zhipu + Cohere; Wave 2:
DOCX/PDF/HTML→MD + provider-diverse translators; the Wave-1
default-translation-path blocker is resolved.)</li>
</ul>
<h2 id="what-is-pending-or-limited">What is pending or limited</h2>
<ul>
<li><strong>Video proof is still the main gap:</strong> <strong>66 of
497</strong> features have a recorded, watch-it-yourself demonstration
(≈ 13.3%). Everything else is built and present in the code, but a
recording is still owed. Nothing is claimed proven just because the code
exists. (This bullet previously read <strong>30</strong> — a sync lag;
it is reconciled here to the authoritative running total
<strong>66</strong>, matching the headline + the Page-2 Video-confirmed
cell, per §11.4.6 / §11.4.60.)</li>
<li><strong>PDF <em>output</em> is now built</strong> (this round). The
product can <em>read</em> DOCX and PDF, and can now <em>write</em> DOCX
<strong>and PDF</strong>. Output is now EPUB, FB2, TXT, HTML, Markdown,
DOCX and PDF. (PDF writing needs the <code>weasyprint</code> tool, which
is installed here.)</li>
<li><strong>The web dashboard’s video proof is honestly skipped, not
faked:</strong> recording the dashboard translating end-to-end needs the
HelixQA web/video test backend, which was off-limits to this round. The
page is proven working by its tests + a real run, but its on-camera
proof is owed.</li>
<li><strong>The on-this-computer AI engines and the remote-worker
translators were removed (this round):</strong> the product no longer
runs a local AI model (llama.cpp / Ollama) and no longer ships the
SSH-based remote-worker tools (<code>translate-ssh</code>,
<code>ssh-translation</code>, <code>ebook-translator</code>, the
documented <code>translator</code> tool). Every translation now uses an
online verified AI provider chosen automatically via the LLMsVerifier
bridge. These removed tools are marked <strong>Obsolete</strong>
(operator-approved 2026-06-15). The team-facing distributed/API
capability is kept.</li>
<li><strong>The “verified models” API returns 404</strong> because the
model-verification service is switched off in the current configuration
(a config choice, not a broken feature).</li>
<li><strong>4 features are “stubs”</strong> — they look like real
endpoints but return placeholder data: ebook-translate-via-API, the two
preparation/analysis API endpoints, and
translate-with-verification.</li>
<li>A handful of small API endpoints return fixed/sample data (e.g. a
stats endpoint that always shows zeros). These are flagged in the
detailed document.</li>
</ul>
<h2 id="video-confirmation-coverage">Video-confirmation coverage</h2>
<p><strong>66 / 497 ≈ 13.3%</strong> (Waves 7–9 added <strong>12
net-new</strong> [4+5+3], of which 3 are genuine PENDING→Confirmed
row-flips [<code>POST /api/v1/translate/string</code>, the
<code>Groq client</code> library row,
<code>POST /api/v1/translate/batch</code>] and 9 are headline-counted
additional distinct-scope confirmations on already-Confirmed rows /
language-pair coverage [EPUB→EPUB round-trip, <code>-script</code>
Cyrillic→Latin, preparation analysis, <code>GET /api/v1/version</code>,
preparation→translate two-stage, EN→KO, DE→EN, FR→ES, EN→SR-latin]; each
clip real input → real LLM → real output, window-scoped §11.4.154,
<code>helix_translate-</code>-prefixed §11.4.155, frame-read source ≠
output per §11.4.107; Wave 7 also recorded the markdown-translator
empty-payload bug [found→fixed at 4fbe581→re-record owed, NOT counted]
and Wave 9 recorded two honest non-confirmable gaps [unwired
<code>pkg/api/server.go</code> alt Server; static-hardcoded
<code>GET /api/v1/providers</code>]. §11.4.6 running tally: 54 [prior
authoritative] + 4 + 5 + 3 = 66. Prior — Waves 4–6 added <strong>12
net-new</strong> and §11.4.138-demoted 1 [multipass]: Wave 4 +3
multi-language-pair EN→FR/DE/IT [same EN source → 3 distinct
language-correct outputs]; Wave 5 +4 EN→PT, EN→JA, REST
<code>POST /api/v1/convert/script</code> [real Cyrillic↔︎Latin JSON both
directions], REST <code>POST /api/v1/translate/fb2</code> [FB2→real
Serbian EPUB; handler hardcodes ru→sr, tracked fix] — the
<code>-multipass</code> clip was NOT counted; Wave 6 +5 HTML→HTML
round-trip, PDF input, DOCX input, EN→ZH, EN→RU; all
ffprobe+frame-verified §11.4.107, input-frame ≠ output-frame. §11.4.138
demotion: the <code>-multipass</code> polisher row PASS is superseded →
PENDING_FORENSICS [default-model whitelist reject + silent no-op;
meta-response corruption — see docs/qa/wave3e-multipass-regression +
wave5 evidence]. Net 43 − 1 + 12 = 54. Earlier — Wave 3f added 2 net-new
video confirmations prioritising feature-type diversity: EPUB→EPUB
conversion [real Spanish EPUB produced] + TXT→TXT translation [real
Spanish .txt produced], each ffprobe+frame-verified per §11.4.107; Wave
3f also re-confirmed FB2→FB2 / format-detection / <code>-script</code>
Cyrillic↔︎Latin / markdown EPUB↔︎MD round-trip with fresh frame-verified
clips, not double-counted; Wave 3d added 4 net-new video confirmations
prioritising feature-type diversity: the <code>verify-models</code> CLI
[real LLMsVerifier discovery/scoring/selection + ranking], the
<code>workable-items</code> CLI [real §11.4.93 SQLite validate+list],
and 2 more providers nvidia + openrouter [distinct real EN→ES
translations]; <code>upstage</code> HTTP-403 SKIP +
<code>together</code> no-key SKIP, never faked; Wave 3c added 2: the
Hyperbolic library client and the Fireworks <code>llm_provider</code>
submodule client, each a distinct real EN→ES translation via the
OpenAI-compat per-provider path [+ re-confirming the REST translate +
endpoints rows against a live TLS server, not double-counted]; Wave 3b
added 3: Gemini, Zhipu (GLM) and Cohere library clients; Wave 3a added
2: Cerebras and SambaNova; Wave 2 added 5: DOCX output, PDF output,
HTML→Markdown conversion, ProviderDiverseTranslators, EnsembleFactory).
This is the headline number to keep improving: each new genuine
recording raises it.</p>
<h2 id="team-actions">Team actions</h2>
<ul>
<li><strong>No operator decision owed for the former SSH/local
tools:</strong> the remote-worker + local-engine tools were removed
(operator-approved 2026-06-15), so they no longer wait on a remote host
— they are Obsolete, not blocked.</li>
<li>Priority ask: produce real recordings for the next-most-important
runtime features (web dashboard translation, the other AI providers) to
keep lifting video-confirmation coverage.</li>
</ul>
<hr />
<h1 id="page-2-for-software-engineers">Page 2 — For software
engineers</h1>
<h2 id="source-method">Source & method</h2>
<p>Derived 1:1 from <code>docs/features/.feature_inventory_raw.md</code>
(Rev 1). Every detailed inventory row → one Status row. Statuses set per
§11.4.6 from what the inventory actually found in source; no test files
were attributed per-feature (recorded <code>Not-inventoried</code>, an
honest unknown, never guessed).</p>
<h2 id="counts">Counts</h2>
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr>
<th>Dimension</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Headline total (dedup per-category tally)</td>
<td>417</td>
</tr>
<tr>
<td>Enumerated detailed rows (this doc + Status.md)</td>
<td>497 (Rev 16 = 496 Rev 14 + 1 new
<code>cmd/grpc-translate-probe</code> row [standalone gRPC
translate-round-trip probe client, Implemented + Wired +
Source-confirmed, Video PENDING]; Rev 14 = 494 Rev 13 + 2 new
unified-translator rows EPUB→EPUB conversion + TXT→TXT translation added
for the Wave-3f net-new videos; Rev 9 = 493 Rev 8 + 1 new
unified-translator HTML→Markdown conversion row added for the Wave-2
html-to-md video; Rev 8 added the 7 missing <code>pkg/bridge</code>
ensemble-seam rows [<code>BestTranslator</code>,
<code>BestTranslatorFunc</code>, <code>EnsembleFactory</code>,
<code>ProviderDiverseTranslators</code>,
<code>ProviderDiverseClients</code>, <code>ProviderDiverseModels</code>,
<code>BestClient</code>] → 493)</td>
</tr>
<tr>
<td>Implemented</td>
<td>446 (Rev 16: 445 Rev 14 + 1 new
<code>cmd/grpc-translate-probe</code> row, Implemented + Wired; Rev 14:
443 Rev 13 + 2 new unified-translator rows EPUB→EPUB conversion +
TXT→TXT translation, both Wave-3f video-confirmed; Rev 9: 442 Rev 8 + 1
new unified-translator HTML→Markdown conversion row; Rev 8: 435 Rev 7 +
7 new pkg/bridge ensemble-seam rows; was 471 Rev 6, −36 flipped to
Obsolete Rev 7)</td>
</tr>
<tr>
<td><strong>Obsolete (→ Fixed.md)</strong></td>
<td><strong>39</strong> (Rev 7 — bridge phase-2 R-2..R-4 removals:
<code>cmd/translate-ssh</code>/<code>ssh-translation</code>/<code>translator</code>/<code>ebook-translator</code>,
<code>pkg/sshworker</code>, <code>pkg/modelsbridge</code>, Ollama +
llama.cpp providers; Reason=<code>feature-removed</code>)</td>
</tr>
<tr>
<td>Stub</td>
<td>4</td>
</tr>
<tr>
<td>Not implemented (gap rows)</td>
<td>0 (PDF-write flipped gap→Implemented Rev 4, commit fb265e7)</td>
</tr>
<tr>
<td>Partial</td>
<td>2 (<code>POST /api/batch</code>; <code>vision_engine</code> OpenCV)
— was 3 Rev 6; <code>cmd/translator</code> → Obsolete Rev 7</td>
</tr>
<tr>
<td>Operator-blocked</td>
<td>0 (was 2 Rev 6; <code>translate-ssh</code> +
<code>ebook-translator</code> → Obsolete Rev 7 — capability removed, not
host-blocked)</td>
</tr>
<tr>
<td>Video-confirmed</td>
<td>66 (Rev 16 / Waves 7–9 added 12 net-new [4+5+3]: 3 genuine
PENDING→Confirmed row-flips [<code>POST /api/v1/translate/string</code>,
<code>Groq client</code>, <code>POST /api/v1/translate/batch</code>] + 9
headline-counted additional/distinct-scope confirmations on
already-Confirmed rows / language-pair coverage [EPUB→EPUB round-trip,
<code>-script</code> Cyrillic→Latin, preparation analysis,
<code>GET /api/v1/version</code>, preparation→translate two-stage,
EN→KO, DE→EN, FR→ES, EN→SR-latin]; Wave-7 markdown-translator bug
found→fixed-at-4fbe581→re-record-owed [NOT counted] + Wave-9 honest
non-confirmable gaps [unwired alt Server; static
<code>GET /api/v1/providers</code>]; §11.4.6 tally 54 + 4 + 5 + 3 = 66.
Prior — Waves 4–6 added 12 net-new, §11.4.138-demoted 1 [multipass]:
Wave 4 +3 EN→FR/DE/IT; Wave 5 +4 EN→PT/JA + REST convert/script + REST
translate/fb2 [multipass clip NOT counted]; Wave 6 +5 HTML→HTML + PDF
input + DOCX input + EN→ZH + EN→RU; net 43 − 1 + 12 = 54. Earlier — Wave
3f added 2 net-new prioritising feature-type diversity: EPUB→EPUB
conversion + TXT→TXT translation, each ffprobe+frame-verified §11.4.107;
Wave 3f also re-confirmed FB2→FB2 / format-detection /
<code>-script</code> Cyrillic↔︎Latin / markdown EPUB↔︎MD round-trip, not
double-counted; Wave 3d added 4 net-new prioritising feature-type
diversity: <code>verify-models</code> CLI [real LLMsVerifier pipeline +
ranking] + <code>workable-items</code> CLI [real SQLite validate+list] +
2 providers nvidia + openrouter [distinct real EN→ES];
<code>upstage</code> HTTP-403 SKIP + <code>together</code> no-key SKIP;
Wave 3c added 2: Hyperbolic library client + Fireworks
<code>llm_provider</code> submodule client, distinct real EN→ES
translations via OpenAI-compat per-provider path [+ re-confirmed REST
translate + endpoints rows against a live TLS server, not
double-counted]; Wave 3b added 3: Gemini + Zhipu (GLM) + Cohere library
clients; Wave 3a added 2: Cerebras + SambaNova per-provider LLM clients;
Wave 2 added 5: DOCX output, PDF output, HTML→Markdown conversion,
ProviderDiverseTranslators, EnsembleFactory)</td>
</tr>
<tr>
<td>Video PENDING</td>
<td>runtime/user-visible, no recording yet</td>
</tr>
<tr>
<td>Video N/A</td>
<td>flags / internal types / infra middleware</td>
</tr>
</tbody>
</table>
<h3 id="per-category-inventory-headline">Per-category (inventory
headline)</h3>
<table>
<thead>
<tr>
<th>Category</th>
<th>Count</th>
</tr>
</thead>
<tbody>
<tr>
<td>CLI</td>
<td>130</td>
</tr>
<tr>
<td>API</td>
<td>70</td>
</tr>
<tr>
<td>Web</td>
<td>23</td>
</tr>
<tr>
<td>gRPC</td>
<td>7</td>
</tr>
<tr>
<td>Library</td>
<td>81</td>
</tr>
<tr>
<td>Submodule</td>
<td>95</td>
</tr>
<tr>
<td>Infra</td>
<td>11</td>
</tr>
<tr>
<td><strong>TOTAL</strong></td>
<td><strong>417</strong></td>
</tr>
</tbody>
</table>
<h2 id="stub-list-implementationstub-returns-mock-no-real-work">Stub
list (Implementation=Stub — returns mock, no real work)</h2>
<ol type="1">
<li><code>POST /api/v1/translate/ebook</code> —
<code>pkg/api/handler.go:1954</code> (emits start event, returns mock;
does NOT translate).</li>
<li><code>POST /api/v1/preparation/analyze</code> —
<code>pkg/api/handler.go:1832</code> (file stat/count + events; stub
analysis, no LLM).</li>
<li><code>GET /api/v1/preparation/result/:session_id</code> —
<code>pkg/api/handler.go:1927</code> (returns mock result).</li>
<li><code>POST /api/v1/translate-with-verification</code> —
<code>pkg/api/verifier_handlers.go</code> (selects/verifies a model,
returns metadata + preview; does NOT translate).</li>
</ol>
<h2 id="partial-list">Partial list</h2>
<ol type="1">
<li><code>POST /api/batch</code> (standalone
<code>pkg/api/server.go</code>) — returns <code>queued</code> batch_id
only, no translation executed.</li>
<li><code>vision_engine</code> OpenCV — stub by default; real CV only
behind a build tag.</li>
</ol>
<blockquote>
<p><code>cmd/translator</code> was Partial in Rev 6 (local STUB + remote
OPERATOR-BLOCKED) — flipped to <strong>Obsolete</strong> Rev 7 (the
whole binary was removed in bridge phase-2 R-4).</p>
</blockquote>
<h2 id="not-implemented-gap-rows-11.4.6">Not-implemented gap rows
(§11.4.6)</h2>
<p>None — both former gap rows are now Implemented.</p>
<blockquote>
<p>Resolved Rev 3: <code>pkg/ebook</code> DOCX-write — Implemented
(pure-Go OOXML writer <code>pkg/ebook/docx_writer.go</code>, commit
87cd2be; real DeepSeek run → <code>garden_es.docx</code> =
<code>Microsoft Word 2007+</code>). Resolved Rev 4:
<code>pkg/ebook</code> PDF-write — Implemented
(<code>pkg/ebook/pdf_writer.go</code>, commit fb265e7;
Book→HTML5→weasyprint→Cyrillic-faithful PDF, wired into
unified-translator <code>.pdf</code> output, main.go:1160;
<code>pkg/ebook</code> PDF tests green). Output formats are now EPUB /
FB2 / TXT / HTML / MD / DOCX / PDF.</p>
</blockquote>
<h2
id="new-rev-4-features-built-tested-this-round-recordings-owedskipped">New
Rev 4 features (built + tested this round, recordings owed/skipped)</h2>
<ol type="1">
<li><strong>cmd/model-bridge + pkg/bridge</strong> —
LLMsVerifier→component+agent bridge (no local models): selects the best
verifier-scored model (top-1 + fallback) and exposes it via a CLI and an
MCP stdio server (<code>.mcp.json</code>). Commits ab1bed3 + a5860b2.
PASS (real run: best-model <code>novita/Sao10K/L3-8B-Stheno-v3.2</code>
score 0.919, <code>Invoke</code>→“Buenos días, amigo.”; MCP nonce-echo
<code>HELIX-PROOF-9b21x</code>; <code>go test -race ./pkg/bridge</code>
green; §1.1 routing-guard
<code>TestBridge_Invoke_RoutesToBestModel</code>). <strong>CLI video
CONFIRMED</strong>
(<code>helixtranslate-bridge-bestmodel-translate-20260615.mp4</code>,
ffprobe 8.0s/80fr, §11.4.107 content-verified); <strong>MCP-stdio
surface video CONFIRMED</strong>
(<code>helixtranslate-bridge-mcp-stdio-20260615.mp4</code> — real
JSON-RPC MCP session:
initialize→tools/list→<code>bridge_best_model</code>→<code>bridge_invoke</code>,
tool <code>bridge_invoke</code> real output “Le pont relie deux rives.”
isError:None; ffprobe 11.88s/10fr, ≥6 frames §11.4.107
content-verified).</li>
<li><strong>internal/verifier affirmative-response hard-gate</strong> —
commit 97a8afd: a model with <code>affirmative_response=0</code> is now
a hard disqualifier. PASS (§11.4.115 polarity guard
<code>pipeline_affirmative_gate_test.go</code>: GREEN-default — the
standing suite asserts the defect ABSENT; RED reproduction is OPT-IN
only under <code>RED_MODE=1</code>, green this session). Video N/A
(internal gate, no user-visible surface).</li>
<li><strong>pkg/api/dashboard.go web-dashboard backend</strong> — commit
f6ba5cc: dashboard page + translations endpoints, previously 404, now
genuinely translates. PASS unit/integration
(<code>dashboard_test.go</code> §11.4.115 RED→GREEN,
<code>go test -race ./pkg/api</code> green; live run → “Dobro jutro,
prijatelju.”). Video <strong>SKIP</strong> (§11.4.3/§11.4.52 —
autonomous browser+video capture needs the HelixQA web/video backend,
off-limits this round; migration item owed; NOT a faked
confirmation).</li>
</ol>
<h2 id="operator-blocked-list-11.4.45">Operator-blocked list
(§11.4.45)</h2>
<p>None — the Rev 6 operator-blocked binaries
(<code>cmd/translate-ssh</code>, <code>cmd/ebook-translator</code>) were
<strong>removed</strong> in bridge phase-2 R-4 and are now Obsolete (see
the Obsolete list), not host-blocked.</p>
<h2
id="obsolete-list-11.4.90-rev-7-operator-approved-2026-06-15-d1d2-r-1-r-4">Obsolete
list (§11.4.90 — Rev 7, operator-approved 2026-06-15 D1/D2 + R-1 +
R-4)</h2>
<ol type="1">
<li><code>cmd/translate-ssh</code>, <code>cmd/ssh-translation</code>,
<code>cmd/translator</code>, <code>cmd/ebook-translator</code> —
SSH-local / remote-worker translators (removed; FACT:
<code>git ls-files</code> empty for these cmd dirs).</li>
<li><code>pkg/sshworker</code>, <code>pkg/modelsbridge</code> — SSH
worker library + models-bridge adapter (removed).</li>
<li>Ollama provider, llama.cpp provider + multi-worker coordinator
(<code>pkg/translator/llm/{ollama.go,llamacpp.go,llamacpp_provider.go}</code>
removed).</li>
</ol>
<blockquote>
<p>Reason=<code>feature-removed</code>;
Superseding-item=<code>pkg/bridge</code> (LLMsVerifier→agent bridge);
the KEPT distributed-API path is NOT Obsolete. Triple-check: source
files gone + <code>CM-NO-LOCAL-RUNTIME</code> gate PASS.</p>
</blockquote>
<h2
id="static-hardcoded-return-endpoints-implemented-but-not-live">Static /
hardcoded-return endpoints (Implemented, but not live)</h2>
<ul>
<li><code>GET /api/stats</code> (<code>pkg/api/server.go</code>) —
hardcoded zeros.</li>
<li><code>GET /api/v1/status/:session_id</code>
(<code>pkg/api/handler.go</code>) — hardcoded
<code>completed</code>.</li>
<li><code>GET /api/v1/metrics</code>
(<code>cmd/api-server/main.go</code>) — static/zero.</li>
<li><code>GET /api/v1/status/:session_id</code>
(<code>cmd/monitor-server/main.go</code>) — static
<code>monitoring_active</code>.</li>
<li><code>GET /api/v1/providers</code> (gRPC <code>GetProviders</code>)
— static ProviderRegistry (API providers only; the <code>ssh</code>
local provider was removed in bridge phase-2 R-4).</li>
<li>Static language/provider lists in several
<code>GET /api/.../languages</code> routes.</li>
</ul>
<h2 id="top-gaps-engineering">Top gaps (engineering)</h2>
<ol type="1">
<li><strong>Video-confirmation 66/497.</strong> 66 rows carry real,
ffprobe- and content-verified recordings. <strong>§11.4.6 cell
reconciliation:</strong> this caveat previously read <strong>43</strong>
with a Wave-3f-anchored narrative — a sync lag behind the authoritative
running total (66) carried in the Page-1 + Page-2 Video-confirmed cells
and the <code>Status.md</code> Anti-bluff note. It is corrected here to
<strong>66</strong> (54 prior-authoritative + 4 Wave 7 + 5 Wave 8 + 3
Wave 9). For the full Waves 1–9 per-feature mapping, the genuine
PENDING→Confirmed row-flips vs headline-only re-confirmations, the
§11.4.138 multipass demotion, and the honest non-confirmable gaps, see
the authoritative <code>Status.md</code> Anti-bluff note — this caveat
is reconciled with it per §11.4.60. Per §11.4.2/§11.4.107 nothing may be
marked video-confirmed without a real, content-verified file.
<ul>
<li><strong>✅ Wave-1 DISCOVERED BLOCKER — RESOLVED (Wave 2,
§11.4.108/§11.4.138):</strong> the default bridge
<strong>translator</strong> path (<code>unified-translator</code> +
gRPC) that was RUNTIME-BROKEN in Wave 1
(<code>VerifiedFactory.CreateTranslatorWithFallback</code>→<code>NewLLMTranslatorWithConfig</code>
rejecting the verified strongest model against the stale
<code>ValidModels</code> whitelist, <code>llm.go:237</code>) is now
FIXED — the Wave-2 DOCX/PDF/gRPC/per-provider recordings are real-use
videos showing the verified-bridge translator path producing real
target-language output (the exact path that failed in Wave 1). The
honest Wave-1 SKIPs are now genuine CONFIRMED rows. See Status.md caveat
8 for the preserved forensic record.</li>
</ul></li>
<li><strong>PDF output now Implemented</strong> (Rev 4, commit fb265e7)
— <code>pkg/ebook</code> now has FB2/EPUB/DOCX/PDF writers; zero open
gap rows remain. Output is EPUB/FB2/TXT/HTML/MD/DOCX/PDF.</li>
<li><strong><code>-multipass</code> wired (d53e085);
<code>-verify</code> ≠ <code>-multipass</code></strong> —
unified-translator <code>-verify</code> runs the CLI’s own per-step
check; the new <code>-multipass</code> flag invokes the
<code>pkg/verification</code> multi-pass polisher engine (now wired +
video-confirmed). cmd/cli write-safety FIXED (87cd2be, atomic
write/no-clobber, guard cmd/cli/no_partial_output_test.go) + title
path-leak FIXED (d53e085).</li>
<li><strong>SSH-local + local-runtime features removed (Rev 7, 39 rows
Obsolete)</strong> —
<code>translate-ssh</code>/<code>ssh-translation</code>/<code>translator</code>/<code>ebook-translator</code>
binaries, <code>pkg/sshworker</code>, <code>pkg/modelsbridge</code>, and
the Ollama + llama.cpp providers are gone (operator-approved); the
default path now sources the LLMsVerifier bridge.</li>
<li><strong><code>GET /api/v1/verified-models</code> → 404</strong> —
LLMsVerifier disabled in config (route not mounted);
feature-disabled-by-config, not a defect.</li>
<li><strong>Per-feature test attribution missing</strong>
(<code>Not-inventoried</code> everywhere). Repo has extensive
<code>_test.go</code> + <code>test/</code> suites; mapping suites →
features is future work.</li>
<li><strong>4 stubs + 1 unimplemented + 3 partials</strong> must either
be implemented or reclassified per §11.4.90 before they can be claimed
as working capabilities.</li>
<li><strong>UNCONFIRMED LLM determinations</strong> carried from the
inventory: thin OpenAI-compatible providers’ base-URL/model specifics;
several <code>llms_verifier</code> packages
(scoring/helixqa/cliagents/crush/opencode/scheduler/partners/bigdata/multimodal/performance);
<code>challenges/userflow</code> evaluators;
<code>doc_processor/archdoc</code>.</li>
</ol>
<h2 id="video-coverage-ratio">Video-coverage ratio</h2>
<p><code>66 / 497</code> enumerated rows = <strong>13.3%</strong> (≈
15.8% against the 417 headline) as of Rev 16 (Waves 7–9 added 12 net-new
— see the Page-1/Page-2 Video-confirmed entries for the 3-flip /
9-headline §11.4.6 breakdown). The historical per-wave clauses below
were written at their respective revisions and describe earlier running
totals; they are retained as the audit trail, the current authoritative
count is 66. Wave 3f added 2 net-new video confirmations prioritising
feature-type diversity (EPUB→EPUB conversion + TXT→TXT translation, each
ffprobe+frame-verified §11.4.107; + re-confirmed FB2→FB2 /
format-detection / <code>-script</code> Cyrillic↔︎Latin / markdown
EPUB↔︎MD round-trip, not double-counted); Wave 3d added 4 net-new video
confirmations prioritising feature-type diversity
(<code>verify-models</code> CLI + <code>workable-items</code> CLI + 2
providers nvidia/openrouter; <code>upstage</code> HTTP-403 SKIP +
<code>together</code> no-key SKIP, never faked); Wave 3c added 2 net-new
video confirmations (Hyperbolic library client + Fireworks
<code>llm_provider</code> submodule client, distinct real EN→ES
translations via OpenAI-compat per-provider path; + re-confirmed REST
translate + endpoints rows against a live TLS server, not
double-counted); Wave 3b added 3 (Gemini + Zhipu + Cohere library
clients); Wave 3a added 2 (Cerebras + SambaNova); Wave 2 added 5
(DOCX/PDF/HTML→MD/ProviderDiverseTranslators/EnsembleFactory). This is
the primary metric to drive upward; each anti-bluff §11.4.107 recording
increments the numerator.</p>
<h2 id="cross-references">Cross-references</h2>
<ul>
<li>Detail: <code>docs/features/Status.md</code></li>
<li>Source: <code>docs/features/.feature_inventory_raw.md</code></li>
<li>Sync context: <code>.docs_chain/contexts/features.yaml</code>
(§11.4.106)</li>
</ul>
</body>
</html>