Revision: 96 Last modified: 2026-07-08T13:30:00Z
▶️ RESUME HERE (2026-07-08 ~13:30) — 🟢 27 commits this session (aa7dacc) · 9 items closed + all autonomously actionable done
SHORT (rev96): HEAD aa7dacc (all remotes synced). 27 session commits. 9 items closed/migrated: ATM-065 (version 2.3.1), ATM-068 (CLI flags wired), ATM-069 (DOCXConfig wired), ATM-073 (Obsolete — cmd/translator removed), ATM-074 (pkg/hash relocated to cmd/codebase-hash), ATM-075 (13 CM-* gates), ATM-076 (markdown export audit), ATM-078 (coverage matrix), ATM-079 (docs/qa evidence). ALL autonomously actionable items exhausted.
- HEAD =
bec1498, all 4 remotes synced. - Fixed.md: 70 entries.
- 13 pre-build gates with paired mutations.
- SSH test container running on localhost:2222.
- ATM-068: Wire all 6 CLI flags to real functionality
- ATM-074: Wire pkg/hash into codebase
- ATM-073: Fix SSH download-dir inconsistency
- ATM-071: Reasoning-model structured-content support
- ATM-072: Markdown first-class input with structure preservation
- ATM-066/067: Provider allowlist verification (39 keys available)
- Gap investigation: test coverage gaps assessment
- ATM-080: Release retest (after all fixes land)
- ATM-081: Release tag (after retest)
- HEAD =
0682fda, origin synced. - Fixed.md: 68 entries (ATM-001 through ATM-075, plus ATM-069/076/079/075 this session).
- Issues.md: 17 entries (10 operator-blocked, 3 design, 2 blocked, 2 queued/active).
- 13 meta-test gates in
scripts/testing/meta_test_*.shwith paired §1.1 mutations.
- ATM-078 — per-feature test-type matrix + coverage ledger (§11.4.25/§11.4.27) — IN PROGRESS
- ATM-068 — inert CLI flags — design proposal done, operator decision needed
- ATM-071 — reasoning-model structured-content — design proposal done
- ATM-072 — markdown first-class input — design proposal done, .md alias registered
- ATM-065 (version number), ATM-066/067 (credentials), ATM-074 (dead pkg/hash), ATM-080 (release retest), ATM-081 (release tag)
- ATM-073 (needs live SSH container), ATM-077 (helix_qa ownership)
▶️ (rev92) RESUME HERE (2026-06-17 ~02:45) — 🟢 9 commits pushed (9aa8d2d) · 6 real fixes + §11.4.40 GREEN + -race CLEAN · LLMsVerifier verifier-side SHIPPED (verified-count=2) · helixtranslate enable NOT-VIABLE → auto-rolled-back → NON-degraded + working
SHORT (rev92): HEAD 9aa8d2d (all 4 remotes synced). retest_v4 (parent build + go test ./...) GREEN at HEAD with verifier gitlink ed03a98c. 9 session commits (99bb7a8→a99327b→989f5d1→62cbb28→4223e7c→2a36a57→98e0450→2a36a57-era … →ed03a98c(submodule)→9aa8d2d(gitlink bump)). 6 real fixes shipped: version-const, SQLite SQLITE_BUSY, api-server version-lie, handler request-context, redis observability, + the verifier verify-completion feature.
- ✅ Verifier source SHIPPED — submodule
ed03a98c(verify-completion:VerifyModelHandlerruns realModelVerificationService.VerifyModel+ persists honest status/score; +code_verification.goauth-header fix) pushed FF github+gitlab; parent gitlink bumped (9aa8d2d). Live nezha/api/modelscount(verified)=2 (deepseek-chat 0.80, llama-3.3-70b 1.0, real scores). Reviewed GO; build+test GREEN. - ⛔ helixtranslate enable = NOT VIABLE → AUTO-ROLLED-BACK. Enabling rerouted translation through the bridge HTTP-mode which selects verified models, but those models have NO usable translator binding on this deployment → translation FAILED (
bridge: no verified translator available). The subagent's mechanical never-degrade guard auto-rolled-back: restored.env.nezha(gitignored, net-zero change, NOT tracked → nothing to commit), disconnected the verifier net, redeployed → baseline translation RE-CONFIRMED working (Добро јутроvia llm-novita, 0 errors, all 6 containers healthy, verified-models back to "disabled"). helixtranslate NON-degraded. Evidencedocs/qa/+/Volumes/T7/helix-build/qa/helixtranslate_enable_20260616T222048Z/. - 📋 §11.4.150 finding (verify-score is NOT a quality measure): the verifier score (groq 1.0 vs deepseek 0.80) is a liveness/availability gate — keyword-density over a trivial "do you see my code?" probe with a 0.70 floor; ZERO translation-quality signal;
MinScoreThresholddefault 0.0. So enabling would be a liveness-gated lateral move, NOT a quality upgrade. Evidence/Volumes/T7/helix-build/qa/research_verify_completion.md.
- SECURITY (§11.4.10/CONST-042): rotate verifier
JWT_SECRETin nezha/home/milosvasic/helix-system/llmsverifier/.env— a subagent transcript inadvertently surfaced its value (transcript DELETED; never reached git; precautionary). - LLMsVerifier full enablement (future cycle): wire usable provider translators for verified models (or bridge fallback to the direct path when a verified model has no translator) — a tracked CODE change in the repo, NOT just env; AND add real translation-quality scoring (chrF/COMET-class) + raise
MinScoreThreshold>0 before relying on the ranking (per the §11.4.150 finding). Until then helixtranslate stays on the proven working direct path. - auth.go:31 short-JWT-secret panic (LOW→MED, OPERATOR-DECIDE A vs B):
config.Validate()doesn't enforcelen(JWTSecret)>=16so a misconfigured short/empty secret panics at startup instead of a clean error. Ready diffs (Option A return-error / Option B Validate-len-check) in/Volumes/T7/helix-build/qa/design_low_robustness.md. 6 other LOW items = LEAVE (safe-by-construction). - Version-display Makefile cosmetic (rev90) + untracked test fixtures (rev90) unchanged.
SHORT (rev91): HEAD 98e0450 (all 4 remotes synced). Operator authorized "wire it all + do it all". Since rev90, 3 more commits via parallel worktree subagents (each independently reviewed GO, merged main-loop): 2a36a57 (redis ListSessions logs swallowed errors + fallback residual-limitation documented §11.4 observability) → 98e0450 (handlers propagate c.Request.Context()+5min bound — audit HIGH context-misuse, all 6 sites proven SYNC §11.4.102, mutation-proven guard). 7 session commits total (99bb7a8→a99327b→989f5d1→62cbb28→4223e7c→2a36a57→98e0450). §11.4.40 retest GREEN at HEAD; -race CLEAN. LLMsVerifier (operator-authorized) — seed-at-boot now WORKING on nezha: verifier image rebuilt WITH seed code (CGO amd64, rollback img llm-verifier:nezha-prev-20260617T003159Z, src staged /home/milosvasic/helix-system/llmsverifier-src), config.yaml rendered (deepseek+groq, secrets never printed), /api/models count 0→2 (seed log providers +2 models +2). Evidence subagent report. BUT both models pending, NOT verified → never-degrade guard HOLDS (helixtranslate gate needs verified → NOT enabled, translation stays on working direct path). Verify-completion feature being implemented (verifier VerifyModelHandler only inserts a "running" row, never runs the real ModelVerificationService.VerifyModel nor persists status — subagent wiring it w/ TDD). NEXT: review the verify-completion impl → commit to verifier submodule + bump gitlink → rebuild nezha → run real verify pass → INSPECT scores → enable helixtranslate ONLY if a sink-side translation through a verified model proves correct (§11.4.69/§11.4.107 quality gate); else leave NON-degraded + operator.
SHORT (rev90): HEAD 62cbb28 (all 4 remotes synced). Since rev89, added a 4th commit 62cbb28 — api-server /health + /api info now report version.AppVersion (were hardcoded "3.0.0"/"1.0.0"; §11.4.108 lie-class) + §11.4.135 deterministic guard TestHealthCheckReportsAuthoritativeVersion (RED-on-revert proven). Independent design review (/Volumes/T7/helix-build/qa/design_version_hygiene2.md) corrected the audit: grpc-server/unified-translator/server ALREADY report 2.3.1 via const appVersion=version.AppVersion (Go -ldflags -X can't set a const → Makefile ldflag is a harmless no-op; Makefile cosmetic VERSION=3.0.0 left for operator). 4 session commits: 99bb7a8 (version-const+SQLite+scanner) → a99327b (CONTINUATION+verifier-block) → 989f5d1 (SQLite deterministic guard) → 62cbb28 (api-server version). -race sweep CLEAN on 6 concurrency pkgs. LLMsVerifier wiring still HONEST-BLOCKED (operator) — see docs/qa/llmsverifier_wire_attempt_20260616T203122Z/STATE.md. NEXT = operator items below.
🔶 ROBUSTNESS FOLLOW-UPS (audit-found this session, NOT fixed — need investigate-before-fix; evidence /Volumes/T7/helix-build/qa/audit_robustness2.md)
- HIGH — handler request-context misuse:
pkg/api/handler.go:277/438/575/924+batch_handlers.go:145/275usecontext.Background()(no client-disconnect cancellation, no timeout → a stuck provider hangs the handler). DO NOT blind-fix: must FIRST determine per-site whether the translate path is ASYNC (returns session_id, translation must OUTLIVE the request → Background() is CORRECT) vs SYNC (§11.4.102). If sync, propagatec.Request.Context()+ bounded timeout (the sites at handler.go:1166/1251/1429/1609 already do WithTimeout(5min)). If async, leave Background() but consider a generous standalone timeout. Wrong fix = cancels in-flight book translations on disconnect = regression. - MED:
pkg/distributed/fallback.go:215abandoned goroutine runs to completion after waiter times out (load amplification);pkg/storage/redis.go:111/117ListSessionssilentlycontinues on errors (anti-bluff observability gap). - LOW: unchecked map type-assertions (multi_llm.go:173/200/206/207/220, handler.go:1564, verifier_handlers.go:271/272 — safe-by-construction today, panic-on-drift); models/downloader.go:109 uncancellable download; library panics (security/auth.go:31, models/registry.go:47/70, logger.go:220 os.Exit) — return-error candidates.
- Verified CLEAN: postgres pool bounded 25/5 + ctx queries; all LLM providers propagate ctx + close bodies; ssh_pool ctx-cancellation OK; no stray sql.Open/http.DefaultClient.
test/assets/crow_original.md + test/fixtures/ebooks/{sample,spanish_sample}_original.md: NOT referenced by any test (no fresh-clone failure), never tracked, with gitignored *_translated output siblings → transient round-trip inputs (possibly another stream's live input). LEFT untouched (not committed, not deleted). Evidence /Volumes/T7/helix-build/qa/fixture_provenance.md.
▶️ (rev89) RESUME HERE (2026-06-16 ~20:40) — 🟢 OVERNIGHT STABILITY BATCH committed+pushed (99bb7a8) · 2 real bugs fixed + §11.4.40 GREEN · LLMsVerifier wiring HONEST-BLOCKED (operator) · nezha NON-degraded
SHORT: Read this file + .remember/remember.md FIRST, then git fetch --all --prune. HEAD 99bb7a8 (all 4 remotes synced: origin/github/upstream/githubhelixdevelopment). 🏷️ helix_translate-2.3.1 still the release tag (main+10 submodules). This overnight loop fixed 2 REAL bugs + a scanner false-positive, all reviewed GO + proven, committed 99bb7a8 (FF-pushed): (1) pkg/version/app.go AppVersion 2.3.0→2.3.1 (was RED — VERSION bumped at 236bac8 without the const); (2) pkg/storage/sqlite.go SQLITE_BUSY concurrency (unbounded pool + no busy_timeout → 110/640 concurrent writes failed; fix _busy_timeout=5000 + default SetMaxOpenConns(1), RED→GREEN 5x §11.4.85); (3) credential_scan.sh HTML-escaped-redaction false-positive + ignore-list its own regression test + new scripts/testing/test_credential_scan.sh §11.4.135 guard. §11.4.40 full retest GREEN at the batch (sweep 9/9 + build + go test ./... all pass; evidence /Volumes/T7/helix-build/qa/overnight_retest4_*.log). LLMsVerifier wiring = HONEST-BLOCKED (operator) — live verifier image (built 15:46Z) PREDATES the seed commit 6e6b0309 (19:26Z); no reproducible on-nezha rebuild context; config.yaml is operator-owned + secret-bearing + Permission-denied (can't populate llms: without handling secrets blind §11.4.10). NOT enabled, nezha NON-degraded. Operator options in docs/qa/llmsverifier_wire_attempt_20260616T203122Z/STATE.md. NEXT = operator decision on verifier (rebuild-with-seed + populate config + verify-pass) + the version-display-hygiene follow-ups below.
- Root/Data volume was ~100% full (operator data + a concurrent helix_code session) — broke the build harness with ENOSPC repeatedly. Worked around by routing ALL Go temp/cache to T7:
export TMPDIR=/Volumes/T7/tmp GOTMPDIR=/Volumes/T7/tmp GOCACHE=/Volumes/T7/helix-build/go-cache XDG_CACHE_HOME=/Volumes/T7/.cache. Reclaimed Homebrew+SwiftPM caches (regenerable). Did NOT delete operator data / the stopped 41G podman machine (§11.4.122). If ENOSPC recurs:find /private/tmp/claude-501 -path '*/tasks/*.output' -mmin +4 -delete(NEVER without-mmin +4— deletes the in-flight output).
Same defect class as the version-const bug, but display-only + touch the build-version question CLAUDE.md flags as deliberate ("Makefile references 3.0.0 — treat VERSION as authoritative"):
Makefile:5,20VERSION=3.0.0+-ldflags -X main.appVersion=$(VERSION)→ shipped grpc-server/unified-translator binaries report 3.0.0 not 2.3.1 (§11.4.108 SOURCE→ARTIFACT gap; no test catches the ldflags path).cmd/api-server/main.go:582/healthhardcodes"version":"3.0.0";pkg/api/handler.go:214,223serve"version":"1.0.0".- The version gate (app_test.go + bash CM-VERSION-SINGLE-SOURCE) only matches the
=form in cmd/ — blind to ldflags,:map form, pkg/. Broaden + add a post-build<bin> -version==VERSION regression guard. (Design notes were to land in/Volumes/T7/helix-build/qa/design_version_hygiene.mdbut that subagent was rate-limited; re-run or do main-loop.) Evidence:/Volumes/T7/helix-build/qa/audit_hygiene.md.
- 🏷️
helix_translate-2.3.1RELEASED — patch fix-cycle tag on main (VERSION 2.3.1) + 10 owned submodules (containers, challenges, doc_processor, llm_orchestrator, llm_provider, vision_engine, llms_verifier, constitution, docs_chain, security), pushed FF to every remote (NO force §11.4.113). EXCLUDED: helix_qa (§11.4.119) + helix_agent (incorporated-not-integrated). Pre-tag §11.4.40 GREEN (sweep 9/9 + build + go test 55 pkgs). Evidencedocs/qa/release_helix_translate-2.3.1_20260616T182714Z/. Shipped: nezha 6-svc boot + 6 product defects fixed (commentary-contamination, create-default env-override, verifier 404→503, /health IDLE, unsupported-provider→400); 6-site Translate-arg DATA-LOSS bug-class (4fbe581); multipass+FB2 (c2aa7c8); MINOR-W6-1 (7cabe3f); /providers static-list bug (388a2eb, 19 real providers); secret-hygiene (04f71e9); video 43→66. - ⛔ LLMsVerifier populate-then-wire — HONEST-BLOCKED (no bluff, no degrade):
- Separate nezha stack
llmsverifier(compose dir/home/milosvasic/helix-system/llmsverifier, containerllmsverifier_llm-verifier_1, imagellm-verifier:nezha). IP drifted .76→.77 but irrelevant — port bound loopback-only127.0.0.1:8080./api/health200 healthy;/api/models&/api/providersboth count:0. Provider keys (GROQ/DEEPSEEK/GOOGLE) ALREADY present in the container env → keys are NOT the blocker. - Root cause (FACT,
llm-verifier/api/server.goStart()): the deployedservermounts EXACTLY 5 hardcoded read routes —GET /api/health,GET /api/models(reads DB, not config),GET /api/models/,POST /api/models/{id}/verify(needs model already in DB),GET /api/providers. NO create/seed route, NO/api/v1/*, NO/auth/login(all → 404, proven).runServer()does NOT seedconfig.yamlllms:(which is[]) into the DB. CLImodels create/importPOST to/api/v1/models→ 404 on this build.batch runis a STUB. The only populate path = direct write to the encrypted SQLite DB (DATABASE_ENCRYPTION_KEYoperator-owned, 600-perm.env) → operator-owned config I must NOT autonomously mutate (§11.4.122/§11.4.10/§9.2). - Decision: DID NOT
network connect, DID NOT setLLMSVERIFIER_ENABLED, NO helixtranslate compose/env change. Confirmed safe:GET /api/v1/verified-models→ "integration is disabled"; working translation healthy en→srДобро јутро, како сте?(bridgellm-mistral).
- Separate nezha stack
- Operator decision on the verifier image (§11.4.66) — Option A (recommended): rebuild
llm-verifier:nezhasorunServer()seedsconfig.yamlllms:into the DB at boot (or add aseed/verify-allsubcommand writing viadatabase.CreateModel, NOT the HTTP client), populateconfig.yamlllms:(deepseek+groq), rebuild+restart,POST /api/models/{id}/verify→ real score → count>0; THEN run the verified helixtranslate wiring (network connect +LLMSVERIFIER_ENABLED=true+LLMSVERIFIER_API_URL=http://llm-verifier:8080— note verifier must publish onllmsverifier_default, not loopback-only — +scripts/nezha-deploy.sh reboot+ sink-side re-validate/api/v1/verified-modelsreal data). Option B: operator seeds the encrypted DB directly. - Known non-blocking (post-2.3.1, recorded not in tag): see
.remember/remember.md.
▶️ (prior) RESUME HERE (2026-06-16 ~20:20) — 🟢 BUG-CLASS FIXES + VIDEO 54→66 + 4-ITEM OPERATOR-REVIEW QUEUE ALL CLEARED (live-validated) · NEXT = bug-class review + full §11.4.40 retest → release-readiness
SHORT: Read this file + .remember/remember.md FIRST, then git fetch --all --prune. HEAD d7b4407 (all 4 remotes synced). Live nezha stack rebuilt onto image 08900424e481 (all 6 services healthy incl. monitor — the stranded-monitor bug is fixed). The 4-item operator-review queue is CLEARED. NEXT: independent review of the §11.4.69/§11.4.115 bug-class fixes (4fbe581 6-site Translate-arg data-loss + 7cabe3f MINOR-W6-1) → full §11.4.40 retest from last tag → release-readiness (operator tag decision per §11.4.151).
🟢 THIS SESSION ARC (since the rev86 nezha heavy-testing arc — all §11.4.142-reviewed GO, live-validated, no bluff)
Live image progression: 2bb4de5 (FB2-fix) → 08900424e481 (this session: /providers fix + all app services recreated). HEAD d7b4407.
-
PART-A/B/C + bug-class fixes (pre-this-committer-stream, on HEAD before f6b1f1f):
c2aa7c8— BUG-MULTIPASS-DEFAULT-MODEL (resolvePolisherModel substitutes a provider-valid model so-multipassgenuinely polishes; honest ❌ on real failure) + BUG-FB2-HARDCODED-LANG (FB2 handler honors source_lang/target_lang, validates→400 on unknown). RED→GREEN §11.4.115.04f71e9— security: scrubbed a leaked SSH password from the tracked tree (§11.4.10/§11.4.30/§11.4.124), closed GAP1/GAP2.4fbe581— 6-site Translate-arg data-loss bug-class (empty-payload + wrong-content sent to the LLM across the ebook pipeline) §11.4.69/§11.4.115/§11.4.135.7cabe3f— MINOR-W6-1 parser chapter-title duplication §11.4.115/§11.4.135.af2ef7f+f6b1f1f— §11.4.153 video waves 4–9: video-confirmed 43→54→66 (+12 net-new waves 7–9, of which 3 genuine PENDING→Confirmed row-flips), §11.4.138 multipass demote, + thecmd/grpc-translate-proberow.
-
THIS BACKGROUND-COMMITTER STREAM (HEAD f6b1f1f → d7b4407), all 4 operator-review items + drift cleared:
e5051a5— #1 Status video-count drift reconcile → 66 (§11.4.6/§11.4.60/§11.4.91): the headline/Anti-bluff-note/Coverage cell were 66 but 3 caveat cells lagged (Status.md "30 feature rows"; Status_Summary Page-1 "30 of 494", Page-2 "43/496") — all reconciled to 66 with explicit §11.4.6 cell-reconciliation notes; docs_chainfeaturesverify=in-sync. (docs_chain CANNOT catch internal contradictions — this was a real release-gate blocker.)0246851— #2 FB2 live re-validation evidence (§11.4.108/§11.4.123/§11.4.83): on nezha 2bb4de5 image,POST /api/v1/translate/fb2target_lang=es→real Spanish EPUB ("Capítulo de Prueba"…), de→German (distinct), klingon→400.docs/qa/fb2_revalidate_20260616T163552Z/.388a2eb— #3 /api/v1/providers REAL BUG fixed (§11.4.115/§11.4.135/§11.4.6): listProviders served a hardcoded static {openai,anthropic,zhipu,deepseek} list ignoring config → now serves the REAL configured set (configured/available/requires_api_key/model +<PROVIDER>_API_KEYenv), complete-catalogue fallback when unconfigured. RED→GREEN polarity test + guardHTQ-FIX-006. Independent review NO-GO→GO (§11.4.134). (cmd/api-server getProviders gRPC path untouched.)af23440— #5b deploy-script dependency-ordering fix (§11.4.108): no-argnezha-deploy.sh rebootnow stop+rm+recreates ALL app services (grpc/api/server/monitor) onto the fresh image (was gated on a named-service arg → left dependents, esp. monitor, on the stale image). Companion doc Rev 2 + exports.702d907— #4 pkg/api/server.go honest §11.4.124 N/A + record /providers fix in Status (the altapi.Serveris NEVER-WIRED test-only scaffolding — kept-not-deleted per §11.4.122/§11.4.124, documented N/A, NOT silently shown as a shipping API). Status Rev 18.d7b4407— #5a + #3 sink-side re-validation (§11.4.108/§11.4.69): rebuilt nezha (image 08900424e481) via the fixed reboot → ALL services incl. monitor recreated + healthy;GET /api/v1/providersreturns 19 config-driven providers (NOT the old static 4; openai correctly absent — no key), new fields present.docs/qa/providers_revalidate_20260616T170812Z/.
- HEAD =
d7b4407, all 4 remotes (origin/github=milos85vasic/Translator.git + HelixDevelopment/HelixTranslate.git, upstream, githubhelixdevelopment) synced. NOTE: origin & github push to the SAME repo pair → push them SERIALIZED (parallel pushes race the ref lock; harmless "remote rejected: cannot lock ref" = the loser of the race, re-fetch confirms the tip). - Nezha live stack (
nezha.local, ssh host aliasnezha.local, repo synced at/home/milosvasic/helixtranslate— a NON-git copy, NOT a clone): image 08900424e481, all 6 helixtranslate-* containers healthy (server-TLS :18443, api :18080, grpc :50061, monitor :18090). Deploy viabash scripts/nezha-deploy.sh rebootON nezha (rsync changed source to nezha FIRST). cmd/server (:18443/:8443) has a TRANSIENT startup health-window (HTTP/3 QUIC binds slower than the first health probes) — SIGQUIT dump proved it starts clean; wait ~60s then it's healthy. - Build/vet/gofmt clean on the providers fix; full pkg/api suite GREEN;
HTQ-FIX-006guard registered.
- Independent §11.4.142 review of the bug-class fixes (4fbe581 6-site Translate-arg data-loss + 7cabe3f MINOR-W6-1) if not already GO-reviewed in their own stream.
- Full §11.4.40 retest from the last release tag to HEAD (pre-build + post-build + nezha live re-validation of every fix's runtime signature + meta-test mutation sweep + Challenge bank incl.
HTQ-FIX-006) → release-readiness. - Operator tag decision (§11.4.151 prefix
helix_translate-; §11.4.126 release-scope terminal condition; §11.4.113 FF-only no-force-push).
- Owed/tracked: re-record live
/api/v1/providersfor a fresh §11.4.153 Confirmed; markdown-translator EPUB→MD re-record (bug fixed at 4fbe581); continue §11.4.153 video coverage toward the ~remaining eligible features.
▶️ (prior) RESUME HERE (2026-06-16 ~15:00) — 🟢 NEZHA HEAVY-TESTING ARC: api-400 fix + gRPC round-trip + coverage + commentary-escape fix (all live-validated)
Heavy testing against the LIVE nezha stack (server-TLS :18443, api :18080, grpc :50061). Live image progression: f3904ccd (pre) → 2d0c925 (api-400 fix) → ebb82df (commentary-escape fix; server+grpc+api all on it now, HEALTHY).
- iter1
5227585— LLM commentary contamination (trailing meta-prose/(Note:…)) + create-default-config env-override skip. FIXED + guarded. - iter2
2f326cd— verifier dead-routes 404→honest 503; api /health IDLE false-negative (active gRPC probe); durable--env-filedeploy (#3). - iter3 (salvage)
6a1aa8c— api: reject unsupported provider with 400 instead of silent bridge-substitution (§11.4.69/§11.4.120). RUNTIME RE-VALIDATION DONE (§11.4.108 PENDING→DONE): rebooted server on nezha (f3904ccd→2d0c925) and proved sink-side onPOST https://nezha.local:18443/api/v1/translate: RED pre-fixprovider:"unsupported-provider"→HTTP 200 silent-sub to llm-novita; GREEN post-fix→HTTP 400{"error":"unsupported provider: …"}; VALIDdeepseek→200 real SerbianДобро јутро, како стаса?; default(empty)→200Књига лежи на столу.(no regression). Evidencedocs/qa/nezha_revalidate_6a1aa8c_20260616T142656Z/. - gRPC round-trip (this run): new
cmd/grpc-translate-probe(standalone client) drove StartTranslation(/tmp/grpc_in.txt→/tmp/grpc_out.epub, ru→sr, deepseek)→poll GetTranslationStatus running→completed (3m21s)→read output. REAL SerbianДобар дан. Зовем се Иван. Живим у великом граду. …+ valid EPUB (mimetype/container.xml/content.opf/toc.ncx/chapter1.xhtml) containing the translation. Evidencedocs/qa/nezha_grpc_roundtrip_20260616T143649Z/. - Coverage (this run): 5 language pairs (ru↔sr, en→sr, en→ru, ru→en) + script-conversion (sr latin
Danas čitajem…) all 200 real; 24-parallel sustained load = 20×200 / 4×429 (clean rate-limit{"error":"Rate limit exceeded"}, p95~1.85s, 2s wall). Evidencedocs/qa/nezha_coverage_20260616T144123Z/. - iter4
e198b17(this run) — commentary-escape FIX (§11.4.4 test-interrupt → §11.4.102 → §11.4.115 → §11.4.135): the coverage batch surfaced 1/20 contamination the iter1 fix MISSED —Я пью кофе утром.→'Ја пијем кафу јутро.\n\n(Using Ekavica dialect and pure Serbian vocabulary as per guidelines)'. FACT root cause:isCommentaryBlockonly stripped a trailing()/[]block when inner started withnoteor containedtranslat; this style/dialect aside matched neither. FIX: widened withcommentaryParenSignalWords(using/dialect/vocabulary/guideline/register/as per/i used/…); genuine in-content parentheticals preserved (new guard test). Anti-bluff: 2 live-captured RED fixtures FAIL pre-fix/PASS post-fix + KeepsBenignTrailingParenthetical over-strip guard + §1.1 mutation (remove signal-loop→FAIL→restore→PASS);pkg/translator/llm+pkg/translatorGREEN; vet clean. Deployed (server+grpc+api→ebb82df), re-validated live: 18/18 clean (the exact pre-fix-contaminating source now CLEAN), task-1 400-fix unregressed. Evidencedocs/qa/nezha_revalidate_e198b17_20260616T145411Z/.
.env.nezhaline 48 malformed (§11.4.10 — value NEVER printed/committed):python-dotenv could not parse statement starting at line 48warns on every nezha deploy ⇒ OPENAI/ANTHROPIC keys may not be injected via that path (note: env NAMES OPENAI_API_KEY/ANTHROPIC_API_KEY ARE present<set>in containers, so injection is partial/via another mechanism). Action: operator reformats.env.nezhato oneNAME=valueper line (no continuation/quotes spanning lines around line 48).- Live LLMsVerifier upstream not cross-network wired ⇒
/api/v1/verified-modelscannot serve real upstream data; bridge model-selection at server startup blocks ~3.5min onbridge.Open(5m30s timeout) before binding (NOT a crash — it binds + HEALTHY). Action: enable the nezha LLMsVerifier upstream wiring + set its APIURL so/api/v1/verified-modelsreturns real data and startup model-selection resolves fast. scripts/nezha-deploy.sh rebootdependency-ordering bug: rebooting a service that has dependents (e.g.grpc-server, which api+server depend_on) failspodman rm("has dependent containers") and thencompose upcollides on existing names ⇒ the dependent service silently keeps the OLD image (§11.4.108 risk — caught this run, recovered by stop+rm dependents-first then up). Action: makerebootstop+rm the dependent subtree before rm'ing a depended-on service (or usepodman rm --depend/up --force-recreateonce supported).
▶️ (prior) RESUME HERE (2026-06-16 ~15:35) — 🟢 NEZHA DISTRIBUTED BOOT COMPLETE (full stack live + real translation verified) · §11.4.153 video program 43 confirmed · release 2.3.0 published
The whole HelixTranslate System is DEPLOYED + RUNNING on nezha.local (Linux 6.12, 8c/62GB, podman 5.7.1, SSH milosvasic keyed) via the containers submodule (§11.4.76: launcher containers/cmd/deploy-stack commit 20173e8, parent gitlink 6296c03; Phase A defs 2166d2c; JWT fix 1b29668). All 6 services Up HEALTHY: helixtranslate-{postgres,redis,monitor[:18090],grpc[:50061],api[:18080],server-TLS[:18443]} (ports remapped to avoid host conflicts). REAL translation round-trip VERIFIED sink-side (§11.4.69): POST https://nezha.local:18443/api/v1/translate en→es → HTTP 200, provider llm-novita → "El viejo faro se alzaba solitario en la rocosa orilla." Secrets in gitignored .env.nezha on nezha (real JWT_SECRET + all provider keys, chmod-safe, NEVER committed §11.4.10). Stack left RUNNING for heavy testing. NEXT: run the heavy/real-production-service test suites against the live nezha endpoints; any bug → systematic-debugging → fix → rebuild → reboot → re-validate (NO bluff).
Read docs/CONTINUATION.md (this file) + .remember/remember.md FIRST, then git fetch --all --prune; NEZHA BOOT COMPLETE (full stack live on nezha.local via containers submodule, real translation verified — see green block above; run heavy testing against it next); the no-local-runtime release helix_translate-2.3.0 is PUBLISHED (tag on main + 10 owned submodules; helix_qa tag OWED §11.4.119); the §11.4.153 per-feature video-confirmation program continues — docs/features/Status.md Rev 14, 43/496 features video-confirmed (waves 1+2+3a: bridge-ensemble/catalogue, DOCX/PDF/gRPC/HTML-MD, providers novita/mistral/groq/siliconflow/cerebras/sambanova — real bridge responses, ffprobe+content-verified, NO bluff), model source = LLMsVerifier bridge (real keys present), HelixAgent incorporated (helix_agent/ pinned) NOT integrated (42-dep graph = deferred operator decision). A release-critical default-path defect the video program CAUGHT is FIXED + re-reviewed GO + guarded: commit 7c2118a (VerifiedFactory routes verifier-selected models through the whitelist-immune path whenever a key exists from ANY source; env-independent §11.4.138 guard; proven GREEN with all 36 *_API_KEY unset). best-model=1s cached; 600s provider timeout is intentional for long translations). Long stale-output gaps are NORMAL — do NOT misread them as "hung" and premature-stop (that churn killed progressing agents, e.g. wave-3a was stopped AFTER it had committed). DISCIPLINE: dispatch small recording units (2–4 videos), be PATIENT (give 25–30 min before even suspecting a hang), check the DECISIVE signal (did it commit / are mp4s landing / is there an asciinema/ffmpeg/translate subprocess) before stopping. Full autonomous coverage of ~90 remaining eligible features ≈ many hours — a long steady iterative program, not a sprint. Continue the loop (§11.4.126), no force-push (§11.4.113), no git add -A (§11.4.30), never touch helix_qa(§11.4.119)/helix_agent build; SINGLE main-checkout committer at a time (§11.4.84 — reviews read-only, recorders worktree-no-commit); contested checkout (helix_code session shares machine) — verify branch/lock/sync before every commit. NEXT: wave-3 owed (providers deepseek/cerebras/sambanova/hyperbolic/gemini/zhipu/cohere/fireworks/openrouter + REST endpoints + verify-models + workable-items), then continue toward full coverage; web/desktop = honest operator-attended (§11.4.3/§11.4.52). Tracked: thread CLI -max-tokens through bridgeTranslator; commit untracked docs/design/LLMSVERIFIER_BRIDGE.md/.html; clean stale worktree .claude/worktrees/agent-a8ea4f6230cb2ee40.
- Parent HEAD
3ce413eonmain, local ==origin/main(verifiedgit fetch --allthis session; pushed FF to both upstreams github+HelixDevelopment). Untrackedbuild/*+ root binaries are EXTERNAL build-artifact churn (a gemini-cli/data-agent session rebuilds them) — NOT committed (§11.4.30). ⚠️ CONTESTED CHECKOUT (§11.4.84/§11.4.119): an EXTERNAL gemini-cli/data-agent process intermittently runsgit checkouts + has left a stale.git/index.lockin this repo. BEFORE EVERY commit: (a) confirmgit symbolic-ref -q HEAD == refs/heads/main, (b)ls .git/index.lockabsent (remove a STALE lock only if no live git process), (c)git fetch --all+ confirm local == origin/main. Every R-5 commit survived via this protocol.- R-5 commits this session (all FF-pushed):
102c773CM-NO-LOCAL-RUNTIME gate + paired meta-test ·abc0912Part-B NITs (bridge/format test asserts + bridgeOpener seam + detector XHTML anchor) ·7036a30config.worker.json default_provider ollama→openai ·3ce413e§11.4.153 ledger 39 rows Obsolete + verifier-doc framing fix. - Prior phase-2 commits (P-1..R-4):
8325f9dR-4 remove worker configs + SSH/llama/ollama scripts ·86175d0/earlier R-4 remove SSH binaries + pkg/sshworker + pkg/modelsbridge + llamacpp_provider + markdown bridge wiring; P-1 BestCliente5307ce.
Operator-CRITICAL: NO local runtime — only LLMsVerifier strongest models via pkg/bridge, bridged to components AND this Claude Code session. Plan: docs/design/BRIDGE_PHASE2_EXECUTION_PLAN.md (+ design docs/design/LLMSVERIFIER_BRIDGE.md, removal map docs/design/LOCAL_RUNTIME_REMOVAL.md).
LOCKED operator decisions: D1 remove local runtimes entirely; D2 forbid ALL local runtimes (llama.cpp + Ollama); R1 → R-4 decision (2026-06-16): keep the distributed/API path, remove SSH-local (the SSH-local binaries + worker body Obsolete §11.4.90; version_manager/ssh_pool/distributed coordination KEPT); R2 require API keys everywhere (no offline/local fallback — honest error/SKIP, never a silent local fallback); D4/D5 top-1 + fallback, in-process; ensemble = "Provider-diverse verified".
Status — DONE:
-
P-1 / R-1 BestClient/BestTranslator + all default-path components redirected to the bridge.
-
R-2 Ollama removed · R-3 llama.cpp removed · R-4 SSH-local binaries + pkg/sshworker + pkg/modelsbridge + local worker configs/scripts removed (operator-confirmed).
-
R-5 (this session):
CM-NO-LOCAL-RUNTIMEpre-build gate (3 arms, default-path-only) + paired §1.1meta_test_no_local_runtime.sh(baseline PASS / Mut1 Arm1 FAIL / Mut2 Arm3 FAIL / Neg PASS); Part-B NITs; config.worker.json fixed; §11.4.153 ledger 39 rows Obsolete (docs_chain features re-synced HTML/PDF/DOCX); AGENTS.md + README.md + this CONTINUATION updated. -
§11.4.40 FULL RETEST: PASS (authoritative main-checkout, HEAD
f9c52a2; evidencedocs/qa/bridge_phase2_retest_20260616/SUMMARY.md, commitd1bed61): sweep all-9-gates green · build clean · functional 55 pkgs OK · -race only pre-existingtest/distributed(§11.4.7) · meta-tests all bite (incl.meta_test_no_local_runtime.sh) · determinism stable · product challenges pass. Two prior worktree-retest FAILs proven ENVIRONMENT artifacts (worktree missing submodules; worktree checkout mtime) — same gate PASSES on the real main checkout; NOT regressions.
PHASE-2 CLOSED + RELEASED. 🏷️ helix_translate-2.3.0 (operator "do tag now" 2026-06-16; safest zero-churn calls: version = current VERSION 2.3.0 no bump; set = main + 10 owned submodules, helix_qa excluded §11.4.119). Annotated tag created + pushed to ALL remotes across main (6b81a10) + containers/challenges/doc_processor/llm_orchestrator/llm_provider/vision_engine/llms_verifier/constitution/docs_chain/security (each at its gitlink-pinned commit), verified via ls-remote (main ^{}→6b81a10). OWED: helix_qa tag (off-limits to this session §11.4.119 — operator/its session to apply helix_translate-2.3.0).
Non-blocking follow-ups (not product defects): (a) host_no_auto_suspend challenge FAILs = HOST not hardened against auto-suspend — environment (§11.4.3), host power config NOT changed autonomously (CONST-033), operator action if desired; (b) internal/working/config.distributed.{json,test,thinker}.json legacy llamacpp/gguf tokens (KEPT distributed path) — future R-cycle if distributed worker API-migrated; (c) codebase_hash_report.json generator needs a submodule-exclusion before faithful refresh (not a gate dep); (d) format-detector XHTML-branch advisory (conservative, zero real-tree impact) — optional future hardening.
- No force-push EVER (§11.4.113 — merge-onto-latest-main, FF-only); never
git add -A(§11.4.30); never touch thehelix_qasubmodule — another session owns it (§11.4.119 single-resource-owner); never touch owned submodules in this R-5 scope. - No host power-management (§12 / CONST-033). Require API keys, NO local llama.cpp/Ollama/SSH-distributed runtimes. Operator-blocked →
AskUserQuestion(§11.4.66). Endless autonomous loop is the DEFAULT (§11.4.126). - Working API keys:
DEEPSEEK_API_KEY+GROQ_API_KEYpresent (real translations work);GEMINI/ZHIPUinvalid/quota-blocked (honest errors). NEVER print key values (§11.4.10). - Contested checkout: apply the pre-commit vigilance protocol above before every commit (§11.4.84/§11.4.119).
⛔ (SUPERSEDED 2026-06-15 ~22:30 — subagent runtime has since reset; reconciliation + P-1 landed) RATE-LIMIT BLOCK + OWED CRASHED-STREAM WORK (2026-06-15 ~19:05)
The subagent runtime hit a session/usage limit (subagents die instantly, ~178 tokens). NO new subagents can run until the 7:10pm Europe/Moscow reset. Two phase-1 bridge streams CRASHED mid-work (§11.4.147 crash≠done — work OWED, partial state PRESERVED uncommitted in the worktree, do NOT discard, do NOT commit-incomplete §11.4.84/§11.4.121):
LLMsVerifier-bridge mandate (operator CRITICAL 2026-06-15): no local llama.cpp — only LLMsVerifier strongest models + bridge to components AND this Claude Code session. Design: docs/design/LLMSVERIFIER_BRIDGE.md; removal map: docs/design/LOCAL_RUNTIME_REMOVAL.md.
LOCKED operator decisions: D1 remove llama.cpp entirely; D2 forbid ALL local runtimes (llama.cpp + Ollama + SSH/distributed); D3 agent access = CLI + MCP; D4/D5 top-1 + fallback, in-process pipeline (env *_API_KEY keys, no service); R1 Obsolete cmd/translate-ssh + cmd/ssh-translation + llamacpp/ollama worker configs (§11.4.90); R2 require keys everywhere (no offline path — tests FAIL not skip when keys absent).
OWED CRASHED STREAMS (respawn after reset, §11.4.147 + §11.4.84 quiescence-check first):
- bridge-core (was a9659f5) — INCOMPLETE, does NOT build:
cmd/model-bridge/main.go:52: undefined: runMCP(crashed before writing the MCP stdio server). Preserved partial:pkg/bridge/(BestTranslator/Invoke/BestModel/ListVerified facade),cmd/model-bridge/main.go(CLI),internal/verifier/provider_resolver.go+_test.go(numeric-ProviderID gap-fix). RESPAWN to: finishrunMCP(MCP stdio server) +.mcp.jsonwiring + full tests + real best-model/invoke evidence +docs/guides/LLMSVERIFIER_BRIDGE_USAGE.md; then §11.4.142 review + commit. - web-UI (was aaf872a) — BUILDS clean (pkg/api + cmd/server). Preserved:
pkg/api/dashboard.go+dashboard_test.go,pkg/api/handler.go(M) — wires the unrouted Web Dashboard translation UI (the real §11.4.153 web gap). OWED: independent §11.4.142 review + real-server real-translation evidence run, then commit. (Note: a later phase swaps its provider tobridge.BestTranslator.)
NEXT (post-reset, phased per LOCAL_RUNTIME_REMOVAL.md R-0→R-5): (1) respawn bridge-core to finish; (2) review+commit web-UI; (3) phase-2: redirect all 9 components to bridge.BestTranslator, remove Ollama, remove llama.cpp, Obsolete SSH/distributed (R1), add CM-NO-LOCAL-RUNTIME gate + paired mutation, require-keys-everywhere (R2); (4) HelixQA web-runner browser+video backend extension (needs the helix_qa session) → then the real web-dashboard video. Web-dashboard video remains PENDING until both the UI wiring lands AND HelixQA gains a web/video backend.
DONE + PUSHED this session (all remotes, FF-only): constitution §11.4.153 (74e7fbe, 10 remotes); parent 58178a5→a5e8866→86bf81e→d53e085→fb74c2d→87cd2be→e73e0b7→fb265e7; submodules llm_provider 724e284, containers 2a9923a, llms_verifier 89719e2b. §11.4.153 mandate + 470/472 ledger (21 video-confirmed) + DOCX & PDF output writers + multipass wiring + cli title/atomic-write fixes + prep-translator/server/REST bug fixes + README §11.4.57 + all 9 submodules GREEN.
Three capabilities became real+evidenced this session and landed+pushed; the feature ledger
(docs/features/Status.md + Status_Summary.md) is re-synced honestly (docs UNCOMMITTED — conductor commits, no git add -A):
- DOCX output — gap → Implemented (pure-Go OOXML writer
pkg/ebook/docx_writer.go, commit87cd2be). Verified this session by re-producing a.docxvia the shipped writer →file=Microsoft Word 2007+, all 4 OOXML parts, real translated content, correct XML escaping. Real-artifact-confirmed (NOT video — no.mp4yet, video PENDING). -multipassmulti-pass verification — now video-confirmed:helixtranslate-cli-multipass-verify-20260615.mp4(ffprobe 888x630, 93 frames, 9.3s) shows "Step 4: Multi-pass Polishing ✅ Success — Polished over 1 pass with deepseek" + real Spanish output. Engine wired into unified-translator via-multipassind53e085.- cmd/cli atomic-write / no-clobber (
87cd2be) — write-safety fix, guardcmd/cli/no_partial_output_test.go(unit-proven, no video required); title path-leak fixed ind53e085. - Honest counts: video-confirmed 20 → 21 (the
-multipassflip) + 1 real-artifact-confirmed (DOCX); Status/Status_Summary Rev 2→3; not-implemented gap rows 2→1. - Exports re-synced:
docs_chain sync features(6 derived nodes) →docs_chain verify features= in-sync (RC=0); HTML+PDF+DOCX siblings regenerated for both docs (allfile-verified). - Remaining gaps now: PDF output (no writer);
cmd/translatorlocal path STUB; llm_provider gofmt hygiene (23 flagged files); cosmetic docx title-twice; web-dashboard translation video OPERATOR-BLOCKED (HelixQA-gated).translate-ssh/ebook-translatorstay OPERATOR-BLOCKED.
Three gap-closures (each RED-first §11.4.115, mutation-verified, independent batch review VERDICT GO §11.4.142) landed + pushed:
- Parent
d53e085(pushed all remotes): (1) cmd/cli title path-leak FIXED — TXT parser setMetadata.Title=filepath→ translated → leaked into output EPUB<dc:title>;sanitizeBookTitle()added at the cmd/cli input→book seam (genuine titles pass through; real run<dc:title>Tiha bašta</dc:title>, NO LEAK). (2) pkg/verification multipass engine WIRED (§11.4.124 — git-history proved it was NEVER imported by any cmd/, born dormant717bf18, finished real code not scaffolding) via opt-in-multipassflag (default OFF, back-compat; guardrails: passes≥1, base preserved on error/empty); RED→GREEN httptest + real DeepSeek "Step 4: Multi-pass Polishing ✅"; §11.4.150 researchdocs/research/20260615_video_surfaced_fixes/verification_multipass_wiring.md. - llm_provider
724e284(pushed LLMProvider remote; parent gitlink bumped ind53e085): contract test for the interface-onlypkg/provider(zero-coverage §11.4.28 gap; mutation-proven; suite green).
NEXT (open gaps, tracked — none blocking the current scope): implement DOCX/PDF output writers in pkg/ebook (input-only today); implement cmd/translator local path (STUB "not yet implemented"); fix cmd/cli silent-fail-exit-0 when -model omitted (incidental finding); record a -multipass video for §11.4.153 ledger confirmation (currently real-run+RED→GREEN evidenced, no .mp4 yet); gofmt the 23 pre-existing flagged files in llm_provider; web-dashboard translation video is OPERATOR-BLOCKED (HelixQA-gated, separate session). translate-ssh/ebook-translator stay OPERATOR-BLOCKED (need remote SSH/llama.cpp host).
The §11.4.153 per-feature Status ledger is now in honest sync with the real video evidence
captured this session (docs uncommitted — conductor to commit; do NOT git add -A).
What landed before this sync (already pushed):
- §11.4.153 doc set (
docs/features/Status.md+Status_Summary.md, 470/472 features, four-format HTML+PDF+DOCX) shipped in58178a5; constitution bump74e7fbe. - 3 video-surfaced bugs FIXED + pushed in
a5e8866(the green suite had missed all 3, §11.4.4/§11.4.138): (1) preparation-translator DEAD — DeepSeek API key never reached config (-api-key/env not wired) → "DeepSeek API key is required", no analysis JSON; (2) cmd/server TLS startup — config with notls_cert_filefailed to start; fix backfills self-signed certs in LoadConfig; (3) RESTPOST /api/v1/translateignoredtarget_lang(hardcoded) → always Serbian regardless of requested language. - ~25 real videos captured under
/Volumes/T7/Downloads/Recordings/helixtranslate-*.mp4(all ffprobe-verified dur>0+frames>0; key ones content-verified frame-by-frame this session). - All 9 owned submodules GREEN — coverage logs
qa-results/submodule_coverage_20260615/. - README §11.4.57 Tracked-Items doc-link section added (prior session).
This sync (Status.md/Status_Summary.md Rev 1→2 + exports re-synced):
- Video-confirmed: 1 → 20 feature rows (≈4.3% of 472), each flipped to
Confirmed:ONLY after the cited.mp4was content-verified (§11.4.6 no overclaim). Confirmed: unified-translator (DeepSeek translate; EPUB→TXT / HTML→EPUB / FB2→EPUB / FB2→FB2; Serbian-Cyrillic;-scriptCyrillic↔Latin; format-detection; help/version;-verify), REST API (POST /api/v1/translate real DeepSeek + target_lang FIXED, TLS startup FIXED, /health·/version·/providers), gRPC (real EN→ES), markdown-translator (EPUB↔MD round-trip), preparation-translator (FIXED), cmd/cli (real DeepSeek), monitor-server (live WS hub), DeepSeek library client. - Honest gaps recorded (§11.4.6, NOT confirmed): DOCX output + PDF output UNIMPLEMENTED (no writer in
pkg/ebook; unified-translator rejects them; 2 new gap rows added → 472 total);-verify≠pkg/verificationmultipass engine (engine has no CLI entry point wired in);cmd/translatorlocal path = STUB ("local translation not yet implemented");cmd/translate-ssh+cmd/ebook-translator= OPERATOR-BLOCKED (need remote SSH/llama.cpp worker host);GET /api/v1/verified-models= 404 (LLMsVerifier disabled in config); cmd/cli minor cosmetic file-path-leak into title metadata. - Exports + fingerprint re-synced via
docs_chain sync features(applied: 6 derived nodes — HTML/PDF/DOCX × 2 docs) →docs_chain verify features= in-sync (RC=0); evidenceqa-results/docs_chain/20260615T144104Z/sync.log; docs_chain state.json = §11.4.86 content-hash fingerprint store.
NEXT (open gaps queued): implement DOCX/PDF output writers in pkg/ebook; wire pkg/verification multipass engine into a CLI entry point; implement cmd/translator local path; produce videos for remaining PENDING runtime features (web dashboard translation, other providers) to lift coverage. translate-ssh/ebook-translator stay OPERATOR-BLOCKED until a remote SSH/llama.cpp host is provided.
Parent HEAD 6c89910, build/vet/test green, git OK, llms_verifier pointer intact.
- pkg/ebook
6c11dee(#102): EPUB parser set chapter.Title to the zip entry name → EPUB→translate→EPUB rendered "OEBPS/chapter1.xhtml" as every chapter heading + TOC entry (core use case). Fix = extractChapterTitle (<title>/ - pkg/translator/llm
4413b76(#103,#104): gemini + llamacpp ignored -temperature/-max-tokens (gemini silently capped output at 4000 tokens). Fix = standard Options>typed>default precedence. RED+mutation-proven. - llms_verifier
cd908195(gitlink6c89910, #105–#110): 6 §11.4.50 determinism defects — 4 ID-collision PRODUCT bugs (security/scheduler×2/logging UnixNano-only → duplicate audit/run/log IDs; crypto/rand suffix) + 2 flaky tests (scoring recency-date drift, client brotli live-endpoint coupling). Mutation-proven; 5 pkgs deterministic -count=3..30; FF-pushed all LLMsVerifier remotes. SECOND-PASS LESSON (§11.4.118): re-hunting "already-swept" surfaces with fresh angles STILL found 9 genuine bugs — fresh angles find what the first pass missed. KNOWN follow-up (§11.4.118, flagged NOT fixed): ~12 other UnixNano-only ID generators in llms_verifier (api/audit_logger, events/websocket_server, notifications, scoring/alert_manager+api_handlers, enhanced/*) have NO uniqueness test — latent collision risk.
Wave 14 (challenges + llms_verifier) closed the submodule sweep. Parent HEAD c47989a, git OK, llms_verifier pointer intact.
- challenges
349b0f1(gitlinka449d13, #100): bank ValidateFile JSON-only rejected YAML banks + skipped test_cases validation — a bluff in the anti-bluff framework. RED+mutation-proven; §11.4.113 rebased over a parallel session; FF-pushed all Challenges remotes. - llms_verifier
1e0de43c(gitlinkc47989a, #101): the verification GATE (CONST-036) certified code-BLIND models as Status=verified → IsModelVerified passed them. Fix keys off CodeVisibility. RED + §11.4.120 reconciliation of the bluff-enshrining test + mutation-proven; verification pkg -race green; FF-pushed all LLMsVerifier remotes. Submodule yield 8/8 (doc_processor, llm_orchestrator, docs_chain, containers, security, vision_engine, challenges, llms_verifier) — every owned submodule had a genuine fix. KNOWN follow-up (honest disclosure §11.4.118, NOT yet fixed): llms_verifier has PRE-EXISTING flaky/time-dependent tests in scoring (recency-date drift), security (timestamp uniqueness), client (brotli env) — independent of #101, don't import verification — a §11.4.50 determinism cleanup for a follow-up.
- security
3782c27(gitlinkfb7cc11, HIGH): securestorage read-path RLock while helpers mutate the in-memory AES key + cache → concurrent readers corrupt the secret key. Fix = RLock→Lock + lock the unlocked IsSecure. RED+mutation-proven; 18 pkgs -race green; FF-pushed all Security remotes. (SSRF/e2ee/AES-GCM audited hardened.) - vision_engine
e40e6f9(gitlink799121e): Gemini response returned only Parts[0].Text → multi-part analyses silently truncated. Fix = concatenate all parts + empty guard. RED+mutation-proven; 8 pkgs -race green; FF-pushed all VisionEngine remotes. Owned submodules hunted 6/6 ALL with genuine fixes: doc_processor, llm_orchestrator, docs_chain, containers, security, vision_engine. Remaining: challenges, llms_verifier (in flight wave 14).
🔬 POST-VALIDATION BUG-HUNT WAVES (2026-06-15, 32 parallel subagents over 12 waves, all verified+pushed)
After the green validation run, dispatched 12 worktree-isolated subagent waves (3-wide,
later 2-wide for FD safety) sweeping the ENTIRE main-module Go surface + the owned
submodules (§11.4.28). 34 genuine, conductor-verified, independently mutation-proven
fixes (campaign 63→97) + 1 teeth-proven regression guard; honest clean non-findings +
documented honest gaps (§11.4.118/§11.4.6). Parent HEAD d7db22f, build/vet/test green.
SUBMODULE YIELD 4/4 (each fix committed into its OWN repo FF-only §11.4.113 + gitlink
synced + parent pushed; 2 needed §11.4.113 rebase-onto-latest over parallel sessions).
NOTE: host FD pressure (ENFILE) under 3 concurrent -race agents — waves 9+ at 2-wide (§12).
WAVE 12 — submodules:
- docs_chain
0c72cdd(gitlinka57ebd9): canonicalDumpAllTables content-hash collision (unescaped TAB/NL → distinct DB states share a hash → verify false-in-sync / sync misses change) in the §11.4.106 engine. Fix = escapeDumpField injective escaping. RED+mutation-proven; 8 pkgs -race green; FF-pushed vasic-digital/docs_chain. - containers
a5269f3(gitlinkd7db22f): LazyBooter.err plain-field data race (torn/stale boot-error read + -race crash). Fix = atomic.Pointer[error]. RED+mutation-proven; 38-pkg suite green; §11.4.113 rebased over a parallel health/custom fix + FF-pushed all 7 Containers remotes.
WAVE 11 — OWNED SUBMODULES (§11.4.28 equal-codebase; init-only, no rm/symlink; committed into each submodule's OWN repo FF-only §11.4.113 + gitlink synced; 2/2 found real bugs):
- doc_processor
de1d023(gitlink4057d31): fenced-code-block#line parsed as a heading → phantom section + content truncation. Fix = codeFenceRanges + filterHeadingsOutsideCodeFences. RED+mutation-proven; 10 pkgs -race green; pushed FF to DocProcessor. - llm_orchestrator
a446a3d(gitlink5778aec): PipeTransport.Receive lost/mis-ordered a message on ctx-cancel (throwaway goroutine read+discarded) + pt.closed race. Fix = persistent in-order reader + sticky termErr. RED(RED_MODE)+mutation-proven; 9 pkgs -race green. §11.4.113 INTEGRATED onto latest master (rebased over a parallel-session opencode WaitDelay fix, disjoint, both coexist) then FF-pushed all LLMOrchestrator remotes.
SECURITY-REVIEW REMEDIATION (f6815b4): automated review flagged the wave-10
deployment fix — generate-plan emitted hardcoded JWT secrets (main-secret /
worker--secret = known signing keys → auth bypass). Fixed: generateJWTSecret() via
crypto/rand for Main + workers (placeholder on rand failure). RED+mutation-proven; 2
pre-existing tests §11.4.120-reconciled to the secure behavior.
MAIN-MODULE SURFACE NOW FULLY SWEPT (10 waves): storage, ebook(all formats incl FB2), distributed, verification, preparation, batch, security, events, websocket, coordination, grpc, markdown, format, report, progress, translator-core, api, all 6 CLIs, monitor-server, internal/verifier+services+config, hardware, version, logger, deployment, cmd/server, cmd/api-server, cmd/grpc-server, cmd/translate-ssh, cmd/deployment. Remaining un-hunted = root demo-*.go scripts (NOT source-of-truth) + the 9 owned submodules (had a dedicated pass in the prior 2026-06-14v session; higher git-corruption risk via worktrees). Dominant finding class = error-swallowing PASS-bluffs at every entry point (batch/grpc/ api-server/server/deployment/translate-ssh all reported success while the op failed).
WAVE 10 (cmd/translate-ssh, cmd/grpc-server+cmd/deployment):
- translate-ssh final-report false-negative (
78c7b45): printFinalReport filepath.Join(inputDir, absolutePath) doubled paths → real artifacts shown not-found, contradicting the success summary. Fix = expectedReportFiles helper. RED+mutation-proven. - deployment generate-plan undeployable (
a7cdce4): emitted plan had nil Main → the tool s own deploy action rejects it + nil-derefs. Fix = generateMainConfig. RED+mutation-proven. (cmd/grpc-server clean.)
WAVE 9 (cmd/server, cmd/api-server — completeness-confirmation; STILL found 3 real bugs):
- server TLS private-key world-readable (
3bc1ede, HIGH §11.4.10): certs/server.key written 0644 via os.Create → any local user could read it. Fix = 0600 + dir 0700. RED+mutation-proven. - api-server cancelTranslation PASS-bluff (
c5ce9ae): backend success=false forwarded as REST 200 success:true. Fix = check resp.GetSuccess()→502. RED+mutation-proven. - api-server startTranslation PASS-bluff (
c5ce9ae): backend status=error forwarded as REST 200 success:true. Fix = check resp.GetStatus()==error→502. RED+mutation-proven. - HONEST follow-ups flagged NOT fixed (§11.4.6/§11.4.124, MEDIUM, operator-decision): api-server + grpc req.Options untyped map silently discarded (needs a JSON-key→proto-field mapping decision); HTTP/3 ALPN-config sharing needs an integration harness to reproduce.
WAVE 8 (internal/config+CORS, pkg/hardware+version, pkg/logger+deployment):
- deployment Docker-health PASS-bluff (
3a2a516): checkServicesHealth used substring match — 'healthy' is a substring of 'unhealthy', so an unhealthy service was counted healthy → deploy reported success while broken. Fix = JSON-parse compose-ps, all-services-healthy. RED+mutation-proven. - deployment GetDiscoveredServices race (
3a2a516): delete() under RLock → concurrent map write. Fix = RLock→Lock. RED -race+mutation-proven. - version cross-OS hash instability (
396f70a): CodebaseHasher recorded raw OS-separator paths → same tree hashes differently per-OS → false distributed-worker version drift. Fix = canonicalize separators. RED+mutation-proven. - hardware Windows multi-socket core undercount (
396f70a): per-socket NumberOfCores lines errored the single-int parser → silent fallback to logical cores. Fix = parseWindowsCoreCount sums sockets. RED+mutation-proven. internal/config+CORS clean non-finding: CORS already hardened (wildcard sans credentials, exact-match allowlist, 5 bypass vectors rejected, fail-closed defaults).
WAVE 7 (internal/verifier, internal/services+verified-models, cmd/monitor-server):
- services MinScoreThreshold scale divergence (
55ca2c9): GetPreferences compared the threshold on a 0-10 normalized scale while the /verified-models handler + registry/selection use raw 0-100 → an operator threshold of 50 silently dropped ALL preferences. Fix = raw-scale compare. RED + §11.4.120 stale-test reconciliation; mutation→both tests FAIL→restore→GREEN. - verifier bare-array catalog false-not-found (
4b93d3b): checkModelExistence double-read a consumed resp.Body → providers returning a bare[{id}]/models had every model reported 'not found' + blocked from verification. Fix = buffer body once, unmarshal both forms. RED+mutation-proven. - monitor-server MONITOR_SERVER_PORT ignored (
4cbefed): port hardcoded 8090 despite the env var documented in 5 places. Fix = resolvePort with validation. RED+mutation-proven.
llms_verifier/.git
pointer — it got rewritten to a DELETED worktree gitdir
(.git/worktrees/agent-a4196278.../modules/llms_verifier), making git status +
go build ./... VCS-stamping fail with exit status 128. Product was unaffected
(Go uses the replace ./llms_verifier/llm-verifier FILES not git → tests stayed 59
ok; commits/pushes worked). Root-caused exactly: the intact gitdir is
.git/modules/LLMsVerifier (capitalized); only the working-tree .git pointer was
wrong. REPAIRED reversibly (no network, no data loss, §9 backup to /tmp): repointed
llms_verifier/.git → gitdir: ../.git/modules/LLMsVerifier; submodule now resolves
at pinned 6f19503b (§11.4.79), nested llm-verifier intact, build+vet+status clean.
The .git pointer is untracked (local-env only, nothing to commit). PROCESS NOTE for
future waves: a worktree subagent running git submodule update --init llms_verifier
inside its worktree + the subsequent git worktree remove is the suspected trigger;
verify git status after each worktree-wave cleanup.
WAVE 6 (gRPC EPUB-input, markdown block-marker, secondary CLIs) — both confirmed leads fixed + a security finding; required 2 conductor MERGES (subagent worktrees predated #76/#77, blind copy would have reverted them — caught per §11.4.84/§11.4.142):
- gRPC EPUB inputs unusable (
1377bd6): convertToMarkdown wrote ExtractText to a .epub temp + re-parsed as zip (always failed). Fix = convert the REAL input file path. RED+mutation-proven; merged on top of #77. - markdown block-marker round-trip (
a7140f9): prose<p>starting1./-/>/#→ list/heading/blockquote, digit lost. Fix = escapeLeadingBlockMarker. RED 7 cases+mutation; merged on top of #76. - cmd/cli cross-provider key leak (
2d65ee0, §11.4.10 security): config provider-switch sent OPENAI_API_KEY as bearer to the deepseek endpoint. Fix = drop stale pre-loaded key on provider switch unless -api-key explicit. RED+mutation-proven.
WAVE 5 (pkg/grpc+cmd/grpc-server, pkg/markdown reverse, pkg/format+pkg/report+pkg/progress):
- grpc nil-Options crash (
d7ec633, HIGH): req.Options deref panicked the translation goroutine AFTER the EPUB was written → session stuck 'running', completed work never reported. Fix = nil-safe GetOptions().GetEnableMonitoring(). RED; mutation→nil-pointer panic→restore→GREEN (3/3 -race). - markdown EPUB→MD round-trip corruption (
0ba2f48): prose text emitted unescaped → literal_/*/[]reinterpreted as emphasis/links on return trip. Fix = escapeMarkdownText (inCode-gated). RED 5 tests; mutation no-op→3 corruption FAILs→restore→GREEN; full suite no-regression. - progress stuck bar (
cebf4f7): items-only mode never counted failed items → 60% forever. Fix = ItemsCompleted+ItemsFailed. RED; mutation→'got 60.00'→restore→GREEN. (format+report clean.)
WAVE 4 (pkg/api+cmd/api-server+cmd/server, pkg/translator core, primary CLIs) — driven by §11.4.118 discovery-pressure on the batch PASS-bluff class:
- translator ctx-cancel silent success (
ba1ee96):TranslateBooknever checkedctx.Err()→ a cancelled (timeout/Ctrl-C) run reported success with a partial/no-op book. Fix = up-front + per-chapter ctx guards wrapping context.Canceled. RED; mutation strip-both-guards→"got nil (silent partial-result)"→restore→GREEN. - api Server.Stop no-op (
85d9849): Start() made a LOCAL http.Server, Stop() held no ref andreturn nil→ claimed graceful shutdown while listener stayed open + Start hung forever. Fix = mutex-guarded httpServer + Shutdown(ctx). RED lifecycle test; mutation revert→"Start did not return after Stop"→restore→GREEN. - preparation-translator lang-flags ignored (
4b9c1e4):-source/-targethardcoded to ru/sr codes → wrong translation direction + wrong language tag for any other pair. Fix = resolveLanguageCodes via language.ParseLanguage. RED; logic-mutation→"English=ru, want en"→restore→GREEN. - HONEST GAPS documented, NOT fake-fixed (§11.4.6 — for operator): cmd/api-server
getMetrics+ pkg/apigetStatus/statsHandlerreturn hardcoded 0 / "completed" because NO session/translation state store exists at that layer — wiring real values requires building a metrics/session-tracking FEATURE (operator-gated), not a bug fix. WebSocketCheckOrigin: return trueis the known dev default (no demonstrable bypass). pkg/apibatchHandler202-queued has no backing queue (incomplete async feature, not a false-completion).
WAVE 3 (pkg/security, pkg/events+pkg/websocket, pkg/batch+pkg/coordination):
WAVE 3 (pkg/security, pkg/events+pkg/websocket, pkg/batch+pkg/coordination):
- batch processFile PASS-bluff (
5baf804, HIGHEST severity): processFile parsed→wrote WITHOUT invoking the translator yet returned Success:true — every file/directory batch incl. the/translate/directoryAPI shipped an UNTRANSLATED copy as 'translation completed' (§11.4/CONST-035). Fix = translate book in place (recursive title+Section Title+Content+Subsections, ctx-honoring) when Translator!=nil. RED; mutation neutralize→"translator never invoked: untranslated copy reported as success"→restore→GREEN. pkg/securityclean non-finding: JWT alg-confusion/none/expired/nbf all rejected, refresh re-validates liveness, rate-limiter per-key race-clean, API-key store RWMutex-guarded, login timing defends CWE-208+CWE-204. HS512-when-HS256 candidate correctly rejected (forging still needs the secret — not a vuln).pkg/events+pkg/websocketclean non-finding + teeth-proven guard (46db0c6): both hardened (lock-released-before-fan-out, delete-before-close, session-filter, batched-drain). Added combined-concurrency regression guardhub_combined_stress_test.go; teeth proven (weaken unregister lock→DATA RACE caught→restore→GREEN).
WAVE 2 (pkg/script, pkg/verification, pkg/preparation):
- verification content-wipe (
39ae131, HIGH severity): a failed provider's zero-valuellmVerification{}(empty PolishedText) fedbuildConsensus→ could win consensus and WIPE the section's translated content to"", plus diluted scores (0.9→0.300 with 2/3 failing). Fix = drop empty-Provider phantom entries before aggregation. RED; mutation disable-filter→"CONTENT CORRUPTION got ''"+"SCORE DILUTION 0.300"→restore→GREEN. - preparation title data loss (
a8cf0cd):writeSectionContentwrote section.Content but never section.Title, yet the translator translates titles → names/terms in titles never reached the prep LLM. Fix = write Title before content. RED; mutation→"dropped section title"→restore→GREEN. pkg/scriptclean non-finding: 30-letter table, 3 digraphs, all-caps engine, round-trip identity, DetectScript all audited correct; only candidates were already-pinned ambiguous/lossy cases (§11.4.6 — not bugs).
WAVE 1 (pkg/ebook-FB2, pkg/storage, pkg/distributed):
- FB2 parser data loss (
a22d0de): section-level<subtitle>/<epigraph>/<poem>/<cite>silently dropped before translation+output; multi-line section<title>truncated to first line. Fix = recursive flatten + join all title lines. RED through realFB2Parser.Parse; mutation revert→"verse line not found"/"title not found"→restore→GREEN. - storage CreateSession data loss (
9ff5049, both sqlite+postgres): INSERT omittedend_time+error_message→ already-completed sessions persisted NULL →GetStatistics.AverageDurationreported 0 over zero rows. Fix = add columns to INSERT. RED + postgres integration guard; mutation→"EndTime lost"→restore→GREEN. - distributed AlertManager ×2 (
0366941): (1)SendAlertheldam.muacross blocking channel SMTP/webhook I/O (~30s) stalling all AlertManager methods → snapshot-then-unlock; (2)GetAlertHistory/GetAlertsleaked shared*DriftAlertpointers →-race-proven field race vsAcknowledgeAlert→copyDriftAlertdeep-copy. No protocol/message-shape change (worker version-compat held). RED -race; mutation revert→DATA RACE / "GetAlertHistory blocked"→restore→GREEN. Clean non-findings (audited, no RED reproducible): SQLite concurrent-writer contention (GREEN under -race), cache-key collisions (already hardened), CheckWorkerVersion race, CircuitBreaker breaker-serialization, HTML/DOCX/TXT/PDF round-trips. All 3 worktrees removed post-integration. HEAD0366941green+pushed both upstreams.
360 packages GREEN, ZERO failures project-wide (real captured evidence, no bluff):
- Main module: 59 ok / 0 FAIL (
go test ./... -p 1, clean baseline). - §11.4.27 additional test types (build-tagged) — ALL GREEN after 2 fixes: integration 1/0, e2e PASS, security PASS, stress 1/0, performance 10 benchmarks/0 FAIL (
go test -tags=<type> ./test/<type>/... -p 1). Two test-layer §11.4.1 FAIL-bluffs found by running them + FIXED (mutation-proven,b3381237): (a)test/securityTestAPIKeys_NoHardcodedKeysflagged a submodule MOCK fixturesk-mock-key-1→ scan now skips tests/testdata/mocks/fixtures/test dirs + mock/fake/example/dummy/placeholder lines; mutation-proven a realsk-in PRODUCTIONinternal/config/*.gois STILL caught. (b)test/e2eTestCLIBypassIssue/APIReturnsValidEPUBparsed a stale gitignored 29-byte placeholder → now generates a real EPUB in-test via EPUBWriter→t.TempDir()→parse-back (directly verifies a valid parseable EPUB, the test's actual intent). - 9 Go submodules: 176 ok / 0 FAIL (challenges 18, containers 38, doc_processor 10, docs_chain 8, llm_orchestrator 9, llm_provider 52, llms_verifier 15, security 18, vision_engine 8; constitution = non-Go).
- HelixQA tool (digital.vasic.helixqa): 125 ok / 0 FAIL (own core suite; build clean).
- Challenge suite: all PASS or honest §11.4.3 SKIP — cache_invalidation, degraded_mode, model_verification_gate, helixqa_wiring, provider_sync, anti_bluff_execution, api_key_provisioning, no_suspend_calls PASS; llmsverifier_connectivity PASS (runtime SKIP, no API key); host_no_auto_suspend N/A on macOS (Linux
/etc/systemd/host check). - 3 real challenge issues found by running them + FIXED (mutation-proven, committed): (1)
no_suspend_calls§11.4.1 FAIL-bluff on doc.html/.pdfexports +Constitution.mdcase-miss +CHALLENGE.mdtest-inputs +qa-results/logs → scanner excludes added, real.sh/.gocalls still caught (a24f806); (2)anti_bluff_executionscanned wrong dir (0 vs 11 real challenges) → fixed to its own dir (d1667dc); (3)./.envwas mode 644 →chmod 600per §11.4.10 (untracked/gitignored, perms-only). - Full autonomous HelixQA QA session DEFERRED (§11.4.3 topology-SKIP): needs the live HelixTranslate stack as a target (servers + DB/Redis via the §11.4.76 Containers submodule), not up; helix_qa is another session's active area (§11.4.119). Not launched unattended (zero-risk).
The build is at its best, most-stable, verified-green, fully-pushed state.
- Main HEAD
fc86064on BOTH upstreams (origin milos85vasic/Translator + HelixDevelopment/HelixTranslate).go build ./...= exit 0,go vet ./...= exit 0,go test ./... -p 1= zero FAIL (full quiescent sweep). - 110 genuine, reproduce-first, mutation-proven bug fixes this session across the whole main module + ALL 8 owned submodules + a productive second pass (full table below; latest 15 waves = 47 fixes + 1 regression guard, newest
6c11deeebook +4413b76translator/llm +cd908195llms_verifier-determinism; submodule yield 8/8, see WAVE 15 + COMPREHENSIVE BUG-HUNT COMPLETE blocks at top; highest-severity = batch processFile + verification content-wipe + grpc nil-Options + cli cross-provider key-leak + deployment Docker-health + server TLS-key leak + api-server backend-error PASS-bluffs + deployment hardcoded-JWT-secret). Each RED-on-broken → fix → GREEN → mutation-proven, conductor-verified, committed + pushed; submodule gitlink pointers all synced. (Latest: a systemic EOF-last-chunk streamed-content data-loss across 14 llm_provider adapters + ollama error-body,0f21fb0— merged cleanly with a parallel session's HealthCheck-baseURL fixes.) - Whole codebase hunted — every main
pkg/*+cmd/*user-facing CLI + 9 submodules. Recent waves return clean non-findings (§11.4.118 completeness on the high-yield surface). - Nothing half-done: zero uncommitted source/test work anywhere; working tree holds only pre-existing build-artifact binaries (§11.4.30, not committed) +
helix_qaother-session state (§11.4.119).
Autonomous decisions made (zero-risk, §11.4.101): (1) NO release tag cut — a tag asserts a fully-validated release but the §11.4.40 7-step (on-device/Challenge/HelixQA) cannot be completed solo; tagging would be a §11.4 bluff + outward-facing/irreversible. Deferred to the operator. (2) Tracked rebuilt binaries + untracked compiled binaries left uncommitted (§11.4.30). (3) §11.4.147 stale sibling clone /Volumes/T7/Projects/llm_orchestrator left untouched (its fix is already in the real submodule; discarding another clone unattended = avoidable risk).
To resume (morning): git fetch --all; read this file + docs/WORKING_PLAN.md rev 2. Next-highest-value = the release path (decide version P1.0 → full §11.4.40 retest → helix_translate-2.3.0 tag). Operator-gated remainder: provider keys (P1.1/P1.2), design calls (P2.x). Low-yield autonomous remainder: thin cmd/* server wrappers, deeper submodule passes, governance completeness (P4.1 migrate the 48 fixes into Fixed.md/workable_items.db, P4.4 .gitignore root binaries).
Parallel subagent-driven (§11.4.70/§11.4.103) hunt across owned submodules — each bug reproduce-first RED (§11.4.115) → fix → GREEN → mutation-proven (revert→FAIL/race→restore→PASS), verified by the conductor against repo state before commit (§11.4.142), committed in each submodule's own repo (raw git, FF-only, no force §11.4.113, multi-mirror §2.1). 18 genuine mutation-proven bugs fixed + pushed; vision_engine's was independently fixed upstream by a parallel session (64b7d08) so it was integrated, NOT double-fixed. Host API rate-limit (prior session's 6-subagent killer) had recovered — proven by a probe wave that all survived.
| Submodule | bug(s) fixed | commit (after FF) |
|---|---|---|
| llm_provider | health monitor recovered on cumulative not consecutive successes | f58559f |
| llm_provider | claude stream fake-success-on-error; openrouter 4096B SSE truncation; zen dropped system-prompt; zen sessionID data race | 325a469 |
| doc_processor | truncate byte-slice corrupts multibyte (Cyrillic) Feature.Description |
eec2d3e |
| doc_processor | i18n interpolate re-substitutes placeholders, order-dependent Cyrillic corruption |
fc4fed8 |
| llm_orchestrator | SimpleAgentPool.Release returns untracked agents (double-handout + cross-pool leak) |
1fac8b1 |
| llm_orchestrator | RoundRobinSelector never selects a lazy pool with spare build capacity (dead lazy-build path) |
4e08b93 |
| llms_verifier | HTTP/3-disabled nil-panic + ignored maxScore ceiling | 6e5ab147 |
| llms_verifier | nil circuit-breaker deref panic ×3 sites + concurrent map write under RLock (data race) | 6f19503b |
| docs_chain | corrupt SQLite node silently read as empty DB (SSoT-destroying) | 47275bc |
| docs_chain | verify masked multi-level staleness — CI gate passed a stale artifact |
ad8b9ff |
| challenges | go/cargo test-JSON parsers silently drop failures after >64KB line (PASS-bluff in the anti-bluff harness) | e4ae4ef |
| containers | boot summary counter corruption (Started=-1) + health check ignored ctx cancellation | f3bfbc2 |
| MAIN pkg/distributed | slice-header data race (remoteInstances) + BatchProcessor processFn-under-lock deadlock + version_manager backups fatal concurrent-map-write + alerts slice race — all -race-proven |
3a5b435 |
| MAIN internal/verifier | GetPreferences dropped ALL models without a prior RefreshScores (used uncached score vs threshold); empty verified-models result never cached (TTL defeated) | (wave 7) |
| MAIN pkg/ebook + pkg/fb2 | TXT >64KiB single-line total content loss; EPUB multiline <head> leaks <title> text into chapter; FB2 stanza title/subtitle dropped; FB2 cite/epigraph nested <poem> dropped — round-trip data-loss class |
(wave 7) |
| containers pkg/crossbuild | copyFile false-FAIL on directory artifacts (jpackage app-images) — successful build reported as failure (§11.4.1), all 3 non-Apple backends | ebf2641 |
| MAIN pkg/storage | cache-key NUL-delimiter collision (distinct (lang,provider,model,text) tuples → same sha256 → WRONG cached translation served) across SQLite/Postgres/Redis; length-prefix fix + §11.4.120 reconcile | c8e36d8 |
| MAIN pkg/security | JWT with NO exp claim accepted → never-expiring session (jwt/v5 treats exp optional); jwt.WithExpirationRequired() |
(wave 9) |
| MAIN pkg/verification | nondeterministic consensus tie-break (map-order-dependent verdict, §11.4.50) + untranslated-char double-count corrupting quality score | 54b50c3 |
| MAIN pkg/markdown | inline code-span corrupted by emphasis/link regexes (file_name_v2→file*name*v2) in EPUB↔MD round-trip; PUA-placeholder protection |
(wave 10) |
| MAIN pkg/coordination | TranslateWithRetry never retried (gave up after 1 attempt/instance despite maxRetries) — silent loss of recoverable translation | 84d462e |
| MAIN pkg/preparation | truncateContent byte-sliced mid-rune → invalid UTF-8 Cyrillic fed to the analysis LLM, degrading character/terminology JSON; rune-boundary backup | ae33585 |
| MAIN pkg/grpc | CoreTranslatorImpl GetStatus read job state lock-free while the pipeline mutated it — data race on every in-flight status poll (RPC); RLock + mutator locks | (wave 12) |
| MAIN pkg/progress | items-only mode (totalChapters=0) never computed PercentComplete — dashboard bar stuck at 0% to completion; items-driven percent branch | e4c96f6 |
| MAIN pkg/language | detectCyrillicLanguage classified 'й' as Bulgarian → plain Russian (Война и мир, Российская Федерация) detected as Bulgarian → WRONG target language → wrong translation; 'й' removed + §11.4.120 reconcile of 3 tests |
(wave 13) |
| MAIN pkg/api | GET /languages advertised 29 languages the translate endpoints reject with HTTP 400 (cross-endpoint contract violation); now sourced from language.GetSupportedLanguages() |
(wave 13) |
| MAIN pkg/sshworker | ProgressTracker.GetProgress leaked the live Details map into the snapshot → concurrent map read+write race (event subscribers); deep-copy under RLock | 3065029 |
| MAIN pkg/models | FindBestModel tie-break iterated a map (random order) → different "best" model selected run-to-run on identical inputs (§11.4.50, translation-critical); sort candidates by ID | (wave 14) |
| MAIN pkg/deployment | UpdateAllServices double-tagged pinned images (repo:v1.2.3:latest invalid) corrupting every pinned service + SSHDeployConfig.Validate mutated a shared config (data race); tag-aware helper + pure-validator/withDefaults-copy + §11.4.120 reconcile |
(wave 14) |
| MAIN pkg/challenge_runner | 6 mutation challenge scripts had NO trap → an interrupted go test left REAL project source mutated with a .bak (§11.4.84 residue corruption in the anti-bluff harness itself); restore-trap armed before each sed |
9539233 |
| security submodule | SSRF guard octal/hex IP-encoding bypass (0177.0.0.1→127.0.0.1, 012.0.0.1→10.0.0.1 reach INTERNAL via cgo/libc inet_aton) — a real SSRF vuln; ParseInetAtonIP added (verified vs compiled C inet_aton) |
1ef9f4e |
| MAIN cmd/unified-translator | auto output filename hardcoded _sr.epub ignoring -target-lang → a French/German/… translation silently labelled Serbian (output + session-report filenames); honors targetLang + §11.4.120 reconcile |
(wave 15) |
| MAIN pkg/version | codebase hasher used strings.Contains for excludes → over-excluded vendored//prod.env.json + dead globs (*.log never matched) → corrupted the distributed worker version-sync hash (false match/spurious resync); proper component + glob match |
fc86064 |
| llm_provider (15 bugs) | systemic EOF-last-chunk streamed-content data loss across 14 adapters (openai/groq/together/fireworks/generic/deepseek/xai/perplexity/cohere/mistral/qwen/nvidia/sambanova/cerebras — final SSE delta + stop frame dropped when last chunk has no trailing newline) + ollama success-on-HTTP-error-body + W1A empty-choices guards; merged with a parallel session's HealthCheck fixes | 0f21fb0 |
Flagged not-hermetically-testable (honest §11.4.6, NOT fabricated): pkg/sshworker UploadFile/DownloadFile/UploadData build unquoted shell commands (mkdir -p %s, cat %s, > %s) — a remote path with spaces/metacharacters breaks/injects; no executor seam to test hermetically (dials real *ssh.Client). Worth a command-runner-interface refactor → P-list. Also ExecuteCommand hardcodes ExitCode:1 (loses *ssh.ExitError fidelity) — same live-SSH-only constraint.
More clean non-findings (§11.4.6): pkg/format + pkg/hardware (detection correct; 2 Windows-only leads UNCONFIRMED-flagged, not fabricated), pkg/report (snapshot+clamp+locks correct). Hunt has reached the well-hardened core — consecutive clean non-findings across format/hardware/report/translator/events/websocket/script signal §11.4.118 completeness for the rule-based + already-hardened packages.
Clean non-findings (§11.4.6, mutation-verified the existing guards are real): pkg/translator root (data-loss guard genuine), pkg/events+pkg/websocket (concurrency already hardened), pkg/script (rule-based scope correct). Hunted main packages now broad: distributed, verifier, ebook/fb2, storage, security, verification, markdown, coordination, translator, events, websocket, script + 8 submodules.
Inline non-finding (§11.4.6): pkg/script (Serbian Cyrillic↔Latin) audited — conversion correct for its rule-based scope (all 30 letters both directions, uppercase-digraph all-caps logic sound, rune-iterated); the loanword nj/dž disambiguation (e.g. injekcija→инјекција) is an inherent rule-based-transliteration limitation needing an exception dictionary, NOT a narrow bug — no fix manufactured.
Main-repo + submodule-pointer sync (operator directive 2026-06-14): main repo committed the 4 pkg/distributed concurrency fixes (above) + advanced the 8 submodule gitlink pointers (challenges/containers/doc_processor/docs_chain/llm_orchestrator/llm_provider/llms_verifier/vision_engine) to their pushed HEADs so parent ↔ submodules are in sync. NOT staged: helix_qa (m, another session's in-flight work, §11.4.119); tracked rebuilt binaries preparation-translator/translate-ssh/unified-translator + untracked hash/workable-items (build artifacts, §11.4.30 — never committed).
Anti-bluff non-findings (honest, §11.4.6 — did NOT manufacture fixes): llm_provider
generic.go empty-choices→empty-content is by-design tested contract; numerous adapters/packages
audited clean with enumerated coverage; vision_engine gocv-build bug already fixed upstream.
§11.4.147 NOTE (operator awareness): a SEPARATE sibling clone exists at
/Volumes/T7/Projects/llm_orchestrator (outside the parent tree). A subagent accidentally wrote
the first RoundRobinSelector fix THERE; I left it untouched (unknown provenance) and re-applied the
fix correctly inside the submodule (committed 4e08b93). That sibling now holds a stale, superseded,
uncommitted change — safe to discard, but flagged so it isn't mistaken for live work.
- 22a32e3 §11.4.93 SQLite SSoT extended:
sync db-to-md(byte-stable summary round-trip),item_historytable +record-event,diff. (Full per-item-prose body round-trip honestly noted as not-yet-in-schema.) - c049907 pre-build gates +2 → 8-gate suite, all green (CM-DOC-SIBLING-SYNC §11.4.65 + CM-NO-FORCE-PUSH-ABSOLUTE §11.4.113), all 8 paired mutations pass; caught a real gate-regex bug pre-commit.
- fef82cc real e2e pipeline coverage:
test/integration/pipeline_roundtrip_test.go(FB2/TXT × EPUB/FB2 + httptest-provider HTTP path), asserts actual output-artifact content, empty-stub mutation-proven. - 84f7a46 fixed a pre-existing §11.4.1 build break:
test/e2epackage didn't compile (unuseddiscoveryimport) — removed;go vet -tags e2e ./test/e2e/now clean.
FINAL sweep GREEN at HEAD 84f7a46 (quiescent): go test ./... -p 1 = 58 ok / 0 FAIL; 8-gate pre-build suite PASS; build+vet clean; all FF-pushed both upstreams (no force §11.4.113).
NEW tracked gap (for follow-on): scripts/commit_all.sh does NOT auto-invoke sync_all_markdown_exports.sh, so doc commits leave stale .html/.pdf siblings (CM-DOC-SIBLING-SYNC catches them post-hoc; the gate agent had to regen CONTINUATION siblings manually). Follow-on: wire the export-sync into commit_all.sh (§11.4.75 layer-2). Until then, regen siblings when committing a doc.
Loop correctly rests on operator decisions. Remaining items (all operator-gated or larger multi-session follow-ons) tracked in docs/WORKING_PLAN.md + docs/Issues.md ATM-065..081: version number · pkg/hash remove-vs-relocate · provider keys/balance → allowlist audits · design calls · fuller §11.4.93 body round-trip · commit_all export-sync wiring · owned-submodule waves (another session active on helix_qa) · full §11.4.27 test-type matrix · full §11.4.40 retest → §11.4.151 release tag. Resume: point a fresh session at this file + docs/WORKING_PLAN.md.
Wave 13 closed the last clean autonomous WORKING_PLAN items (3 background subagents, disjoint, all real + proven):
- e623ffb §11.4.93 workable-items SQLite SSoT:
cmd/workable-itemsGo tool (sync md-to-db/validate/list) + trackeddocs/workable_items.db(§11.4.95). Real run: 81 items (64 fixed + 17 open), validate exit 0, verified viasqlite3 SELECT; mutation-proven. (Fuller schema — item_history/obsolete_details/db-to-md/fingerprint — is a tracked follow-on.) - 78023a7 P4.2 +2 gates: CM-TRACKER-DOCS-PRESENT + CM-ATM-TICKET-IDS → pre-build suite now 6 gates, all green, each paired-mutation-proven.
- 6444e38 P4.3/ATM-076 §11.4.65 doc-export:
scripts/testing/sync_all_markdown_exports.sh(pandoc html + weasyprint pdf, idempotent,--checkgate mode, §11.4.106 honest tool-absence) + 225 siblings generated (0 failures, 0 stale) for 120 in-scope docs. Caught + excluded a stray docs/research/helix_qa/ workspace dump (§11.4.30 guard).
FINAL integration sweep GREEN at HEAD 6444e38 (quiescent): go test ./... -p 1 = 58 ok / 0 FAIL; 6-gate pre-build suite PASS; build+vet clean. All FF-pushed both upstreams (no force §11.4.113).
Delivered: ~30 genuine mutation-proven bug fixes (13 waves; main-module bug-hunt SATURATED per §11.4.118 completeness audit); format matrix complete (6 in × 5 out); PDF+DOCX input revived; deepseek-v4 allowlist current; version single-source (5 binaries); workable-items tracker constellation (81 ATM tickets) + SQLite SSoT; 6-gate mutation-proven pre-build suite; §11.4.65 doc-export (225 siblings); perf/stress/chaos coverage (5 hot-path packages); docs/WORKING_PLAN.md (canonical unfinished+known-issues inventory).
REMAINING — all operator-gated or larger tracked follow-ons (NOT autonomously closable; see docs/WORKING_PLAN.md + docs/Issues.md ATM-065..081):
- OPERATOR DECISIONS: P1.0 version number (2.3.0 vs 3.0.0; wiring done) · P3.1 pkg/hash remove-vs-relocate · P1.1 provider keys/balance (OPENAI/ANTHROPIC absent, GEMINI invalid, ZHIPU no-balance) → unblocks stale-allowlist audits (deepseek pattern proven) · P2.x design calls (inert flags, MinScoreThreshold scale, reasoning-model structured-content, markdown first-class input).
- LARGER TRACKED FOLLOW-ONS: fuller §11.4.93 schema (item_history/db-to-md/fingerprint) · owned-submodule bug-hunt waves (§11.4.28 — ANOTHER SESSION ACTIVE on helix_qa, coordinate per §11.4.119) · full §11.4.27 test-type matrix + HelixQA/Challenges banks · P2.6 cmd/translator SSH download-dir (needs live SSH via §11.4.76 Containers).
- RELEASE: P0.2 full §11.4.40 7-step retest → P0.3 §11.4.151
helix_translate-<version>tag (after the operator decisions + the test-type matrix).
Loop status (§11.4.94(A)/§11.4.101/§11.4.126): correctly rests on operator decisions — every remaining item is externally/operator-gated and explicitly tracked; nothing silently dropped. Resume by pointing a fresh session at this file + docs/WORKING_PLAN.md.
Operator mandate: comprehensive subagent-driven plan of all unfinished items + known issues, then execute. Bug-hunt declared SATURATED by the §11.4.118 completeness-critic (wave 10).
- docs/WORKING_PLAN.md (78ce2d0) — the canonical no-bluff inventory: P0 release blockers, P1 operator/credential-gated, P2 design decisions, P3 dead code, P4 governance gaps, P5 owned submodules, P6 full test-type coverage. Each item: WHAT/WHY-OPEN/EVIDENCE/SUBAGENT-TASK/ACCEPTANCE.
- Wave 10 (2 fixes + saturation verdict): e520c4c
enhanceTranslationbyte→rune capitalization (silently no-op for Cyrillic/accented first letters) + isRussianToSerbian empty-source (told LLM wrong source lang); 5b0dd17 the orphaned guard. docx_parser: no bug (exhaustive). Completeness-critic: main-module product bug-hunt SATURATED. - Wave 11 (3 plan items): a36030e P0.1 version single-source (
pkg/version/app.go AppVersion=2.3.0; 5 divergent binaries reconciled, runtime-verified, mutation-proven); 981ced9 P3.1 §11.4.124 pkg/hash investigation (deadpackage mainduplicate of pkg/version.CodebaseHasher — finding doc written, NOT removed per §11.4.122, operator decision queued: remove-as-duplicate vs relocate); 279ac7c P4.2 first real pre-build gate suite (CM-GITIGNORE-PRECOMMIT-AUDIT + CM-NO-FAKES-BEYOND-UNIT + paired mutation meta-tests). 59819fa→06a8a16 §11.4.120 reconcile of stale version assertions in cmd/cli (v2.0.0→dynamic) + cmd/server (fixed a tautologicalContains("v1.0.0","1.0.0")§11.4.1 bluff). [Note: 59819fa committed a test beforego testverified it —go build ./...skips_test.go; repaired fix-forward in 06a8a16. Lesson: usego vet/go testas the pre-commit compile check for test changes.] - §11.4.65 finding (P4.3): only 3 of 87 tracked
docs/*.mdhave.html/.pdfsiblings — large export gap (needs pandoc/weasyprint or honest §11.4.106 ToolAbsent skip). - Wave 12 in flight: P4.1 tracker constellation scaffold (Issues/Fixed/summaries + ATM-NNN) · P6 perf/benchmark + stress/chaos coverage · P4.2 gate-suite expansion (CM-SCRIPT-TARGET-SHELL-PARSEABLE + CM-VERSION-SINGLE-SOURCE).
Integration sweep GREEN at HEAD 06a8a16 (quiescent): go test ./... -p 1 = 57 ok / 0 FAIL. build+vet clean. CAMPAIGN TOTAL: ~30 genuine mutation-proven fixes; main-module bug-hunt saturated; plan execution underway.
OPERATOR DECISIONS QUEUED: (1) P1.0 authoritative version number (2.3.0 vs 3.0.0); (2) P3.1 pkg/hash remove-vs-relocate; (3) P1.1 provider keys/balance (OPENAI/ANTHROPIC absent, GEMINI invalid, ZHIPU no balance) to unblock allowlist audits; (4) P2.x design decisions (inert flags, MinScoreThreshold scale, reasoning-content support). See docs/WORKING_PLAN.md.
Continued the §11.4.70/§11.4.103 parallel campaign (background subagents on disjoint cmd/ + pkg/ scopes; reproduce-first + mutation-proven + single-package -p 1/-race; FF-pushed, no force).
- 86d10d4 cmd/translate-ssh:
-outputignored — translated EPUB delivered to the INPUT dir instead of the requested path, thenprintFinalReportclaimed success pointing at a nonexistent file (wrong-delivery + false-success). - 309ca91 cmd/cli:
geminimissing fromgetAPIKeyFromEnvenv map →GEMINI_API_KEYsilently ignored (translation failed with a key present). - 21c2460 cmd/grpc-server: documented env-var overrides (
GRPC_ADDRESS/PORT,LOG_LEVEL,ENABLE_METRICS/REFLECTION) never implemented → silently ignored. - cde2e1a cmd/deployment:
handleStatusslicedContainerID[:12]unconditionally → panic crashing the whole status command on any <12-char/empty ID. - 93e89d7 cmd/grpc-server + cmd/monitor-server: wired the dead
-max-connectionsflag (was hardcoded 50) + stopped swallowing monitor-server'srouter.Run()bind error (silent failed start). - daa2f70 logger: JSON reserved-key collision — a user field named
level/message/timestampoverwrote the authoritative metadata → real severity/message/timestamp silently dropped.
Integration sweep GREEN at HEAD daa2f70 (quiescent): go test ./... -p 1 = 57 ok / 0 FAIL (up from 55 — the wave fixes added committed tests to 5 cmd/ packages that previously had none). build+vet exit 0.
CAMPAIGN TOTAL (waves 1-9): 25 genuine mutation-proven fixes (27 subagents). SESSION GRAND TOTAL ~32 real fixes. Wave 10 (completeness-critic audit + docx_parser + llm prompt/cache helpers) in flight to confirm saturation.
REMAINING (operator/design-gated, unchanged): OPENAI/ANTHROPIC keys absent; GEMINI_API_KEY invalid; ZHIPU out of balance (allowlist stale, can't verify); ~30 other provider allowlists need funded keys; verifier MinScoreThreshold 0-100-vs-0-10 scale (no caller, operator decision); -chunk-size inert flag (design); markdown first-class input (design); reasoning-model structured-content client support (design); cmd/translator intermediate-md download-dir inconsistency (needs live SSH); submodules (challenges/containers/helix_qa) being worked by another session — do not collide (§11.4.119). NO release tag yet (needs §11.4.40 full retest + operator confirm + §11.4.151 prefix).
Session 2026-06-14q — parallel subagent-driven bug-hunt campaign (§11.4.70/§11.4.103): 18 genuine mutation-proven fixes across 7 waves (HEAD 4bbac9a)
Operator directive: continuous endless loop with 3–4 parallel subagents on all parallelizable workable items, rock-solid evidence, zero bluff. Ran 7 waves (21 subagents on DISJOINT package scopes per §11.4.58/§11.4.119); every fix reproduce-first (§11.4.115) + mutation-proven (§1.1) + single-package -p 1(+-race) validated; all FF-pushed to both upstreams (no force §11.4.113). 4 subagents honestly reported NO bug (events/websocket, storage, api/services) — no manufactured changes (§11.4.6).
The 18 fixes:
- 80d627b hardware:
parseLscpuCoresundercounts cores on multi-socket hosts (ignoredSocket(s); dual-socket 16-core → 8). - 0df25d9 preparation: coordinator never stamped
ChapterNum→ 0 → positional-fallback chapter-context mis-attribution after a failed chapter compacts. - c3117f8 batch: same-stem/different-ext inputs (
book.fb2+book.epub) collide onto one output → data loss; reconciled the 3 stem-only tests (§11.4.120). - d0fe40a security:
RefreshTokenminted fresh tokens from EXPIRED/no-expiry claims (auth-bypass, session resurrection); zero residue confirmed. - d8142e5 verifier:
/api/v1/verified-modelshard-errored on zero verified models ({"models":null}fell through to array-decode). - 20beda7 distributed:
getFailureRatefabricated 100% failure rate on zero/expired window → falsely traps coordinator in degraded mode. - 8f52370 fb2:
<v>/<subtitle>/<text-author>dropped inline-element text (verse/quote/attribution data loss). - a728e57 llm/ollama: dropped
temperature/max_tokens(must be inoptionsper official API §11.4.99) → non-deterministic output. - be81550 markdown: chapter XHTML
<title>unescaped → malformed EPUB for titles with&/</>. - 7434ee4 verification:
polishChapter/polishSectionRecursiveindex-out-of-range panic when translated has fewer sections. - fd07e18 grpc:
SubscribeEventsdelivered lifecycle events with emptysession_id. - 107e570 ebook/epub_parser: chapter text shipped HTML entities literally (
Tom & Jerry,café). - fa35d2e config: nil-map panic in
LoadConfig(omittedproviders+ any API-key env var set). - 8316e3f translator core: data race / concurrent-map-write crash in
BaseTranslatorcache+stats (race-proven). - c416bd8 ebook/epub_writer: cover image mislabeled
image/jpegfor PNG/GIF/WEBP/SVG covers → broken cover. - 36f740a cmd/unified-translator: SSH provider used a hardcoded "ru→sr-cyrillic" prompt + hardcoded binary/model paths, ignoring all user flags (also carried the cmd/api-server health fix below, swept in by the wrapper).
- (36f740a) cmd/api-server:
healthCheckreturned 200 "healthy" regardless of gRPC backend state → derives fromconn.GetState()→ 503 when not Ready. - 85b3362 cmd/markdown-translator:
-formatflag never validated → unsupported value prints success but writes no file (false-success bluff). - 4bbac9a .gitignore (§11.4.30): bare
api-serverpattern ignored the wholecmd/api-server/SOURCE dir (no repo-root binary exists; build output isbuild/api-server) → hid the package + blocked its tests (api-server had ZERO committed tests). Anchored to/api-server; committed the health regression guard.
Operator-flag (no production caller, design decision): verifier MinScoreThreshold scale inconsistency — handler compares raw 0-100, adapter compares normalized 0-10; GetPreferences/GetProviderScore have no production caller; needs an operator decision on the canonical scale before either is wired (not guessed, §11.4.6/§11.4.120).
Process lesson (§11.4.119): the full go test ./... -p 1 integration sweep includes pkg/version's CodebaseHasher which hashes the whole tree (.go + .md + docs/) — it MUST run on a QUIESCENT tree; running it concurrently with file-writing subagents produces a spurious pkg/version hash-mismatch FAIL (confirmed green isolated). Sweeps + CONTINUATION syncs are therefore serialized BETWEEN parallel waves.
Integration sweeps GREEN at each quiescent checkpoint: waves 1-5 → 54 ok/0; waves 6+7 → 55 ok/0 FAIL (HEAD 4bbac9a; cmd/api-server now has committed tests). build+vet exit 0. SESSION GRAND TOTAL: ~25 real fixes (this campaign's 18 + earlier: PDF revival, format matrix + .html, deepseek-v4 allowlist, websocket race, ssh-test, 2 doc-syncs).
Session 2026-06-14p — Zhipu allowlist §11.4.150 finding (operator-blocked); autonomously-provable queue drained
- Zhipu allowlist is stale (Operator-blocked, §11.4.21): live Zhipu /models (account-authoritative, verified 2026-06-14) returns glm-4.5, glm-4.5-air, glm-4.6, glm-4.7, glm-5, glm-5-turbo, glm-5.1 — NONE of our allowlisted glm-4 family (glm-4/glm-3-turbo/glm-4-plus/glm-4-flash/glm-4-air/glm-4-airx/glm-4-long/glm-4-flashx) are listed. The generic factory (llm.go:218) HARD-REJECTS unlisted models, so a funded account requesting a current model is rejected (this is what the earlier "zhipu rejects documented models" flag actually was). Why not fixed autonomously: the account is OUT OF BALANCE (chat API error 1113 "余额不足/insufficient balance") → I cannot obtain §11.4.123 translation proof NOR verify response-shape compatibility (the magistral lesson: glm-5 reasoning models may return structured-list
contentour string-content client cannot parse — unverifiable while balance-blocked). Blindly adding glm-5 could enable a client-incompatible model. Operator-Block-Details: WHAT — recharge the Zhipu account OR provide a funded ZHIPU_API_KEY; WHY — every self-resolution exhausted (key present + API reachable, but balance blocks all verification; cannot manufacture credit); UNBLOCK CONDITION — a funded zhipu key so the deepseek-pattern fix (verify-translate + string-content shape, then additive allowlist update + RED-proven gate guard) can be applied; WHO — operator. - Contrast: deepseek had a funded key → fully provable → FIXED this session (0fd1a34). The verify-then-fix pattern is established; it just needs a funded provider account.
AUTONOMOUSLY-PROVABLE QUEUE DRAINED. All clearly-actionable, evidence-provable main-module work this session is done + green. Remaining known issues are ALL operator/research/design-gated (cannot be closed with rock-solid proof autonomously):
- Operator (credentials/balance): add OPENAI_API_KEY + ANTHROPIC_API_KEY (absent); refresh GEMINI_API_KEY (live /models = "API Key not found"); recharge/replace ZHIPU_API_KEY (balance 1113). Each unblocks a verify-then-fix allowlist/E2E pass.
- Research (needs funded keys): ~30 other provider allowlists not audited (audit pattern proven: live /models → verify-translate + string-content shape → additive update).
- Design:
-chunk-sizeCLI flag is inert (real chunking is automatic+correct via translateWithRetry/splitText; wiring the flag has ambiguous semantics OR removing it needs §11.4.122 operator confirm); markdown not a first-class CLI input (works as TXT today); reasoning-model structured-listcontentsupport in the OpenAI-compatible clients (would enable magistral/glm-5-class models). - Release: NO tag yet — needs §11.4.40 full retest + operator confirm + §11.4.151
<prefix>-<version>naming.
Loop status (§11.4.94(A)/§11.4.101/§11.4.126): idle-on-blocked — every remaining item is externally/operator-gated; no item is autonomously closable with rock-solid proof. Build is the most stable this session: full sweep 54 ok/0 FAIL, websocket race-clean, format matrix complete (6 in × 5 out), deepseek current.
Session 2026-06-14o — latent brittle test-harness defects fixed (HEAD 817b9dd); full sweep GREEN 54/0
Two latent test defects (NOT caused by this session's source changes — different packages) surfaced one-per-sweep by the §11.4.118 discovery-pressure of repeated full sweeps, root-caused (§11.4.102) + fixed + proven:
- ab7db0e tests: DETERMINISTIC goroutine panic in tests/websocket_monitoring_test.go — concurrent map WRITE at the handleClientMessages defer delete.
go test -raceconfirmed 22 races (suite.server.Clients + suite.testSessions + *TestSession fields accessed from the main goroutine, /status handler, and per-client goroutines without consistent locking; concurrent map read+write is a Go FATAL). Fixed: all shared-map access under suite.server.mu; thread-safe read helpers (clientCount/sessionCount/sessionSnapshot/totalSessionEvents, lock+copy, no I/O under lock) for /status + every assertion; TestMultipleClients writers joined via sync.WaitGroup (sleep = no happens-before edge → leaked writer raced another test's write to the same gorilla conn). PROVEN:-race -count=3→ 0 races; plain-count=5→ ok. - 817b9dd tests: DETERMINISTIC fail in cmd/translate-ssh TestSSHErrorHandling/connection_timeout — the 'connection timeout' case asserted the error contains 'connection refused', but this host's slow localhost resolver returns 'lookup localhost: i/o timeout' (§11.4.1 FAIL-bluff: failed on environment, not product defect). Broadened the connection-class assertion to accept any connection-failure indicator (refused/timeout/no route/unreachable/no such host/lookup); auth case keeps its specific check; still requires a real error. PROVEN:
-count=5→ ok.
Scope note (§11.4.28): the same brittle 'connection refused' assertion class exists in the challenges/containers/helix_qa SUBMODULES (separate go.mod → NOT in the main go test ./... sweep; their own repos/sweeps — separate work, noted for follow-up).
FULL SWEEP GREEN at HEAD 817b9dd: go test ./... -p 1 = 54 ok / 0 FAIL (qa-results/full_sweep_20260614_155722.log). build+vet exit 0. All 7 main-stream commits this session (PDF, output-format, .html, doc-sync, deepseek-v4, websocket-race, ssh-test) pushed FF to both upstreams (no force §11.4.113).
- 0fd1a34 deepseek: ValidModels[ProviderDeepSeek] was stale — only legacy {deepseek-chat,deepseek-coder}; deepseek.go HARD-REJECTS unlisted models, so the CURRENT flagship was rejected. Live DeepSeek /models (verified 2026-06-14) returns deepseek-v4-flash + deepseek-v4-pro; v4-flash proven to translate via full CLI (docs/qa/e2e_deepseek_v4_*, 136 Cyrillic chars). Added both (NOT deepseek-reasoner — not in /models, §11.4.6); kept legacy aliases (§11.4.122). RED-proven guard deepseek_v4_models_test.go. 2d98509 doc-sync: generateOutput comment now lists .html/.htm.
- AUDIT FINDINGS (captured, for operator/future work):
- Mistral: allowlist {large,medium,small}-latest all present in live /models → FUNCTIONAL (aliases track current). NOT widened: the
magistral-*reasoning family returnscontentas a STRUCTURED LIST (thinking blocks), which our OpenAI-compatible string-content clients CANNOT parse — adding magistral-medium would break for users. Latent gap (operator/design): supporting reasoning-model structuredcontentis a non-trivial client change, not a blind allowlist add. (deepseek-v4-flash is safe because it returnscontentas a plain STRING with reasoning in a separate field — verified.) - Gemini: live /models re-confirms
API Key not found→ §11.4.6 the gemini failures are an OPERATOR CREDENTIAL issue, NOT a code bug. Operator action: refresh GEMINI_API_KEY. - Other ~30 providers' allowlists: not audited (no keys / would need per-provider live verification). Adding current models is safe-but-must-be-verified-per-model (string-content shape + real translation), never from memory (§11.4.99/§11.4.150).
- Mistral: allowlist {large,medium,small}-latest all present in live /models → FUNCTIONAL (aliases track current). NOT widened: the
- fb07a59 cli: added
.html/.htmoutput togenerateOutput(was: errored, while INPUT fully supports HTML — asymmetric gap). Minimal valid HTML5, HTML-escaped content (no markup injection). REAL E2E PROVEN (docs/qa/e2e_html_output_20260614_152301/): English PDF → real DeepSeek → out.html (valid HTML document, DOCTYPE + 2<p>, 140 Cyrillic chars, not a zip). Guard extended (output_format_test.go): well-formed-HTML + escaping (no<script>injection) subtests.
FORMAT MATRIX NOW COMPLETE: input FB2/EPUB/TXT/HTML/DOCX/PDF (6) × output EPUB/FB2/TXT/MD/HTML (5) — all real-translation proven this session set (PDF/DOCX revived from license-gated-dead; output formats honored; HTML output added). SESSION GRAND TOTAL: ~84 real bugs/features + 5 reconciliations. build+vet exit 0; full go test ./... -p 1 sweep GREEN at HEAD fb07a59: 54 ok / 0 FAIL (qa-results/full_sweep_20260614_152400.log).
- ca5608f cli:
unified-translatorALWAYS emitted EPUB regardless of the-oextension →-o book.txt/-o book.fb2wrote EPUB (PK-zip) bytes into a misnamed file (silent wrong-output, §11.4). NewgenerateOutput()dispatches on extension:.epub(default)→EPUB;.txt/.md→translated text direct;.fb2→FB2Writer; unsupported→explicit error (§11.4.6). REAL E2E PROVEN (docs/qa/e2e_output_formats_20260614_151507/): same PDF → real DeepSeek → out.txt (UTF-8 plain, not zip, 135 Cyrillic) + out.fb2 (valid FictionBook XML, 138 Cyrillic). Permanent guard cmd/unified-translator/output_format_test.go, MUTATION-PROVEN (force always-EPUB → .txt/.fb2 FAIL). - §11.4.120 reconciliations surfaced by the post-PDF full sweep:
- test/unit/format_detector_test.go: PDF + DOCX moved to supportedFormats (real extractors landed); MOBI stays unsupported.
- cmd/cli TestTranslateEbookFunction/with_app_config: was a §11.4.98 BLUFF — skip-guard fired only with NO key, then forced openai + fake "config-key", dialled REAL OpenAI, 401'd, failed NoError whenever ANY other provider key was in env (DEEPSEEK/ZHIPU/GEMINI/MISTRAL present this session). Rewritten to a self-driving httptest OpenAI mock (config BaseURL→mock); asserts success + mock-hit + non-empty output. No real network, no env dependency.
SESSION GRAND TOTAL: ~83 real bugs + 5 reconciliations + §11.4.98 conversions + real E2E proofs (PDF, output-formats, 5-format matrix via DeepSeek + Mistral). All 6 input formats + 4 output formats (.epub/.fb2/.txt/.md) proven end-to-end. Post-fix full go test ./... -p 1 sweep GREEN at HEAD ca5608f: 54 ok / 0 FAIL (was 52 ok/2 stale-gate FAIL pre-reconcile; qa-results/full_sweep_20260614_151656.log). build+vet exit 0.
- 18d6f73 ebook: PDF INPUT was non-functional —
github.com/unidoc/unipdf'sExtractTextis LICENSE-GATED ("unipdf license code required" for every real PDF), so PDF input shipped dead (same §11.4 "ships but cannot be used" class DOCX was, now both fixed). Swapped to MITgithub.com/ledongthuc/pdf; droppedunidoc/unipdfviago mod tidy. WiredFormatPDFintopkg/format/detector.goIsSupported + GetSupportedFormats (§11.4.108 source→artifact gate; §11.4.120 reconcile of detector_test + pdf_parser_test's unipdf-coupled error-string assertion). REAL E2E PROVEN (docs/qa/e2e_pdf_input_20260614_150421/): minimal English PDF → real DeepSeek deepseek-chat (1.9s) → valid Serbian Cyrillic EPUB ("Храбри витез јахао је преко тихог сванућа у зору"), 138 Cyrillic chars, differs from source, no placeholders, no API-key leak (§11.4.10). Permanent regression guard (§11.4.135):pkg/ebook/pdf_extraction_regression_test.go+testdata/sample_text.pdfassert real extraction + reject any license-error string; mutation reverting to unipdf → FAIL.
SESSION GRAND TOTAL: ~82 real bugs + 3 reconciliations + §11.4.98 conversion + real E2E proofs (PDF + 5-format matrix via DeepSeek + Mistral). PDF + DOCX (the two dead input formats) now both work end-to-end with rock-solid real-translation evidence. ALL 6 input formats (FB2/EPUB/TXT/HTML/DOCX/PDF) proven. Post-fix targeted tests green (pkg/ebook + pkg/format); full -p 1 sweep running in background (FD ~95%, host-safe). build exit 0.
REMAINING KNOWN ISSUES (operator/research/design-gated): OpenAI/Anthropic keys absent; GEMINI_API_KEY invalid; zhipu account/model access; markdown not a first-class CLI input; other ~30 providers' model-allowlists not audited; verifier 3-tier merge precedence + run.go registry flags (design); RefreshToken no expiry re-validate (no caller); CLI always emits EPUB (no TXT writer); SQLite encryption DSN needs SQLCipher; G1/G2 carry-overs; W16 Models→submodule. NO release tag yet (needs §11.4.40 full retest + operator confirm).
Session 2026-06-14j — design/known-issue cleanup (HEAD b83038c) — 3 more real fixes + gemini/zhipu clients cleared
Subagent-driven wave (1 completed via subagent, 3 rate-limited → finished inline per §11.4.101/§11.4.147):
- 77a0c15 coordination: TranslateWithConsensus tie-break was non-deterministic (map-iteration order on vote ties) → sort candidates, strict '>', lexicographic tie-break. Mutation-proven (1000 runs identical).
- 9640a00 verification: multipass chapter loop panicked (index out of range) when the translation has FEWER chapters than the original → bound the loop by min(original,current,polished) + log/skip the tail. FACT code-analysis root cause; build+vet+tests green.
- b83038c ebook: FB2 writer dropped section/subsection TITLES (content was already lossless) → prepend each non-empty title as a paragraph. RED→GREEN→mutation-proven (real write→read).
- gemini/zhipu CLIENT investigation (issue #5) RESOLVED as no client bug (§11.4.6): gemini.go correctly uses https://generativelanguage.googleapis.com/v1beta + ?key= + :generateContent; zhipu.go correctly uses https://open.bigmodel.cn/api/paas/v4 + /chat/completions + Bearer. Their live failures are OPERATOR credential/account issues (invalid GEMINI_API_KEY; zhipu account lacks the model), NOT code.
SESSION GRAND TOTAL: ~81 real bugs + 3 reconciliations + §11.4.98 conversion + real E2E proofs (5-format matrix via DeepSeek + Mistral). Post-wave sweep at HEAD b83038c: 53 ok; the single pkg/distributed FAIL was ENFILE host-exhaustion ("too many open files", FD ~95%), NOT a regression — TestSSHConnection_ExecuteCommand passes deterministically in isolation (-count=3 green); nothing in pkg/distributed changed this round. build+vet exit 0.
REMAINING KNOWN ISSUES (operator/research/design-gated — see the operator-facing status report): OpenAI/Anthropic keys absent; GEMINI_API_KEY invalid; zhipu account/model access; PDF input non-functional (license-gated unipdf, same class DOCX was — needs a free PDF lib / go.mod decision); markdown not a first-class CLI input; other ~30 providers' model-allowlists not audited; verifier 3-tier merge precedence + run.go registry flags (design); RefreshToken no expiry re-validate (no caller); CLI always emits EPUB (no TXT writer); SQLite encryption DSN needs SQLCipher; G1/G2 carry-overs; W16 Models→submodule. NO release tag yet (needs §11.4.40 full retest + operator confirm).
Driving REAL translations across formats/providers (rate-limited subagents → done inline) surfaced + fixed:
- 41063cb FB2 + EPUB INPUT broken end-to-end: convertToMarkdown re-parsed already-extracted text as the original format ('failed to parse FB2: EOF' / 'not a valid zip'). Fixed → all 5 input formats translate. PROVEN: real DeepSeek E2E matrix FB2/EPUB/TXT/DOCX/HTML all → valid Serbian-Cyrillic EPUB (docs/qa/e2e_format_matrix_*).
- 9821e0f zhipu missing from cmd/unified-translator resolveProviderAPIKey env map → ZHIPU_API_KEY never satisfied the gate. Fixed (proven: now reaches the live Zhipu API). + Multi-provider proven: Mistral E2E PASS (docs/qa/e2e_multiprovider_*).
- b23bcac stale provider model-allowlists (gemini/groq/zhipu accepted only DEPRECATED models, rejected current → providers unusable). Added current models; live-proven the gate blocker is gone (groq llama-3.3-70b → 429 'recognized'; gemini-1.5-flash → reaches API (auth err); zhipu glm-4-flash → reaches API (account err)). docs/qa/allowlist_fix_*.
SESSION GRAND TOTAL: ~78 real bugs + 3 reconciliations + §11.4.98 conversion + real E2E proofs (5-format matrix via DeepSeek + Mistral 2nd-provider). OPERATOR/research-gated remainders: add OPENAI/ANTHROPIC keys (absent); GEMINI_API_KEY appears invalid/expired (gemini reaches API but 'API Key not found'); zhipu key's account/endpoint rejects documented models (possible gemini/zhipu CLIENT endpoint bug like Qwen's — flagged for investigation, not guessed §11.4.6). Post-wave full sweep GREEN at HEAD b23bcac: 54 ok / 0 FAIL. Build+vet exit 0.
Session 2026-06-14h — operator-selected directions ALL executed (HEAD c6c2930); real E2E translation PROVEN
Operator selected all four next-directions; executed with conductor verification + push FF:
-
Qwen endpoint (556002d + 2f0e359): client posted native DashScope path under a compatible-mode base AND the CODE DEFAULT base was native /api/v1 while the struct+config are compatible-mode → wrong URL + unparseable shape (Qwen was broken for default+production). Fixed: default base → /compatible-mode/v1 + path /chat/completions + choices[] (all consistent, §11.4.150 docs-verified). Live test made §11.4.98-honest (SKIP on auth/endpoint failure).
-
Storage dedup (367adce): cache served STALE translation on tuple collision (no UNIQUE index; dedup only on id PK) → lookup_hash UNIQUE index + idempotent UPSERT + safe dedup migration, both backends. Mutation-proven.
-
DOCX (d433210): input was NON-FUNCTIONAL (license-gated unioffice returned 'license required' for every real .docx). Rewrote as a stdlib parser (archive/zip + encoding/xml over word/document.xml + docProps/core.xml); dropped unioffice (+ transitive msoleps) via go mod tidy. Proven on a real in-test .docx (text+metadata+UTF-8). DOCX input now actually works.
-
Stress/chaos + metrics race (bf81517): added §11.4.85 stress/chaos suites (events/coordination/distributed) which UNCOVERED a real VersionManager.metrics data race + 40-60% lost counter updates → fixed with metricsMu + snapshot-on-read; KNOWN_BUG guard flipped to active GREEN (§11.4.115).
-
CLI env-key gate (c6c2930): unified-translator's API-key gate ignored provider *_API_KEY env vars → fixed (falls back to resolveProviderAPIKey).
-
REAL E2E TRANSLATION PROOF (c6c2930, docs/qa/e2e_deepseek_20260614T130829/): unified-translator translated test/assets/crow_and_pitcher_en.txt EN→Serbian via REAL DeepSeek (deepseek-chat, 2.89s) into a VALID EPUB — 205 Cyrillic chars ('Гавран и крчаг…'), differs from source, no placeholders, no key leak (§11.4.83/§11.4.107/§11.4.10). Full detect→parse→translate→EPUB-write pipeline confirmed working after the session's fixes.
-
DOCX CLI wiring (6304f60): a broader multi-format E2E proof caught that the CLI still rejected .docx with 'format docx is not yet supported' — format.Detector.IsSupported/GetSupportedFormats excluded FormatDOCX (§11.4.108 source→artifact gap: parser fixed+registered but the pipeline gate refused it). Added FormatDOCX to both; reconciled detector_test (§11.4.120). REAL E2E proven (docs/qa/e2e_docx_pipeline_20260614T131850/): real .docx → real DeepSeek → Serbian Cyrillic EPUB. DOCX input now works through the actual CLI.
SESSION GRAND TOTAL: ~75 real bugs + 3 reconciliations + §11.4.98 conversion + 2 real E2E proofs (DeepSeek on TXT + on DOCX, both → valid Serbian-Cyrillic EPUB). OPERATOR ACTIONS to widen coverage: add OPENAI_API_KEY / ANTHROPIC_API_KEY to ~/api_keys.sh (not present; ~34 other providers available). FLAGGED (not fixed, needs current-model research §11.4.150): the gemini provider's valid-model allowlist is STALE — accepts only gemini-pro/gemini-pro-vision (both deprecated by Google), rejects gemini-2.0-flash/1.5. Post-wave full sweep GREEN at HEAD 6304f60: 54 ok / 0 FAIL. Build+vet exit 0.
Session 2026-06-14g — 7th/final §11.4.118 second-pass wave (HEAD 5dfe003) — 4 more real bugs; whole-codebase second pass essentially COMPLETE
- b1b747f progress: formatDuration trailing space in dashboard ETA ('5 hours '); events: generateEventID non-unique within a microsecond (8172 dups/10000 in a burst → broke ID-keyed consumers). Both fixed.
- 5dfe003 cmd: preparation-translator -providers flag silently ignored (hardcoded list); cli explicit -provider silently overridden by config default (precedence inversion). Both fixed.
- CLEAN second-pass (honest §11.4.6, no fabricated bugs): logger, version, hardware, report, format, websocket, script.
SESSION GRAND TOTAL: 68 real bugs (5 parallel waves + 3 inline + 7 second-pass waves) + 2 reconciliations + §11.4.98 conversion. ALL reproduce-first + mutation-proven + conductor-reverified (-race/-p 1) + pushed FF (no force §11.4.113). 3 distinct security issues (CWE-204 enumeration, CWE-22 path traversal, CWE-208 timing oracle); extensive data-loss/correctness across ebook pipeline (EPUB/FB2/HTML/markdown round-trips), providers (Anthropic/OpenRouter/Qwen), distributed, storage/cache, verification, preparation, translator-core, batch, coordination, grpc, api. The codebase has had a comprehensive 2-pass hunt; remaining items are operator/review-gated (see flags below). Post-wave full sweep GREEN at HEAD 5dfe003: 54 ok / 0 FAIL (fullsweep_20260614T120039.log). Build+vet exit 0.
OPERATOR/REVIEW-GATED carry-overs (NOT autonomously fixable — need a decision): Qwen native-vs-compatible endpoint mode; storage cache dup-tuple UNIQUE index (schema/dedup-semantics); DOCX unioffice license (go.mod dependency); detected source-lang not propagated to llm translator (cross-package wiring); FB2 writer section-title flatten; verifier 3-tier merge precedence + run.go registry flags; coordination consensus tie-break determinism; G1 verify→server-DB bridge; G2 batched ~30-provider sweep; G3 add OPENAI/ANTHROPIC keys.
- 53b5056 batch: directory batch to a non-existent output dir collided ALL files onto one path (only last survived) — data loss; fix: extensionless non-existent OutputPath treated as a directory.
- df8a8cb coordination: TranslateWithRetry ignored ctx cancellation (full sweep+sleep on cancelled ctx); TranslateWithConsensus only scanned the first requiredAgreement instances → skipped available-and-agreeing instances behind unavailable ones. Both fixed.
- 837f528 translator: successful-but-empty translation ('', nil) silently OVERWROTE source content across metadata/chapter/section/subsection (7 fields) — 'tests pass but book destroyed' data loss; fix: keepIfTranslationEmpty preserves source when translation empty + source non-empty. Latent flag: detected source-lang not propagated to llm translator.
SESSION GRAND TOTAL: 64 real bugs (5 parallel waves + 3 inline + 6 second-pass waves) + 2 reconciliations + §11.4.98 conversion. Post-wave full sweep GREEN at HEAD 837f528: 54 ok / 0 FAIL (fullsweep_20260614T114733.log).
Session 2026-06-14e — 5th §11.4.118 second-pass wave (HEAD 367d88b) — 5 more real bugs (grpc/security/preparation)
- 45f6152 grpc: GetTranslationStatus returned codes.Unknown for unknown session (→ NotFound); cleanupOldSessions leaked session timeout context (didn't call CancelFunc → 24h timer/goroutine leak).
- 5871848 security: CWE-208 username-enumeration TIMING oracle — no bcrypt compare on user-not-found path → ~1.7M× faster than wrong-password → reveals valid usernames. Fix: dummy-bcrypt compare at init (OWASP constant-time).
- 367d88b preparation: failed-chapter analysis MISATTRIBUTION (positional index after results compaction → chapter got wrong chapter's analysis; fix: lookup by ChapterNum); nested-subsection content DROPPED from analysis input (extractors ignored Section.Subsections; FB2 populates them; fix: recursive writeSectionContent).
SESSION GRAND TOTAL: 60 real bugs (5 parallel waves + 3 inline + 5 second-pass waves) + 2 reconciliations + §11.4.98 conversion. Post-wave full sweep GREEN at HEAD 367d88b: 54 ok / 0 FAIL (fullsweep_20260614T113420.log).
Session 2026-06-14c/d — two more §11.4.118 second-pass waves (HEAD 4a95b06) — 11 more real bugs; 3-stream low-FD method proven repeatable at ~95% FD, NO ENFILE
Wave c (verification/storage/markdown) = 7 bugs; wave d (api/verifier/script) = 4 bugs + script came back genuinely CLEAN (honest §11.4.6, no fabricated bug). All conductor-reverified (build+vet+ -p 1 per pkg + full sweep -p 1) and pushed FF.
- 34e09f8 verification: parseNote dropped a note ending in EXAMPLES (no IMPLICATIONS); NaN Confidence (count==0 divide); multipass section under-count (pointer aliasing).
- 9946d85 storage: Redis makeCacheKey metadata delimiter-injection collision (Ollama 'llama3:8b' has ':') → wrong translation; fixed NUL-joined hash.
- d055b8c markdown: EPUB↔MD code blocks destroyed, GFM tables lost both ways, backslash-escapes corrupted — all fixed bidirectional.
- b8bc3ec api: translateText silently dropped script=cyrillic + accepted invalid script (→ validate+switch); verifier handlers mapped all GetModel errors to wrong status (→ errors.As 404-vs-503).
- 4a95b06 verifier: buildFallbackChain rand.Shuffle destroyed score order + nondeterministic (→ keep FilterVerified order); OpenRouter pricing typed float64 but live API emits quoted strings → whole Tier-2 decode failed → 0 OpenRouter models (→ json.Number).
Honest flags (NOT fixed — ambiguous/spec-gated): verification polishWithNotes equal-chapter-count assumption; verifier run.go registry CanSeeCode/AffirmativeResponse + 3-tier merge precedence; api getStats nil-cache (not prod-reachable) + distributedManager-gated SSRF/null-JSON (integration-gated); storage dup-tuple unique-index (review-gated); script Convert short-circuit leaves stray off-script chars (deliberate pinned optimization). pkg/script second-pass = CLEAN (mature, all 30 letters map, digraph casing correct).
SESSION GRAND TOTAL: 55 real bugs (5 parallel waves + 3 inline + 4 second-pass waves) + 2 reconciliations + §11.4.98 conversion. Post-wave full sweep GREEN at HEAD 4a95b06: go test ./... -p 1 = 54 ok / 0 FAIL (fullsweep_20260614T112302.log). build+vet exit 0.
Session 2026-06-14b — parallel §11.4.118 second-pass discovery wave (HEAD 47ea69d) — 5 more real bugs; ran 3 subagents at ~95% FD with low-FD discipline, NO ENFILE
Operator repeatedly requested parallel subagents; FDs never freed (~95%, 15 claude procs). Honored the informed repeated instruction with mitigations: 3 streams (not 4), investigation-first + targeted -p 1 tests only, no ./... , no -race during hunt. Result: NO ENFILE, 5 real bugs, conductor-reverified (build+vet+ -p 1 each pkg green), 3 commits pushed FF.
- 87a8048 — Anthropic client returned only response.Content[0].Text but the Messages API returns content as an ARRAY: long output split across text blocks was TRUNCATED, and a leading thinking/redacted_thinking block made Content[0].Text=="" → EMPTY translation. Fix: concatenate all text blocks (skip thinking/tool). httptest RED→GREEN→mutation.
- edadd73 — distributed performance.go ResultCache.Set evicted on every update-while-full (didn't check key-exists) → shrank cache below maxSize, dropped valid entry. + coordinator.go round-robin currentIndex never reset on DiscoverRemoteInstances rebuild → index-out-of-range PANIC after worker pool shrinks (translation hot path). Both RED→GREEN→mutation (-p 1).
- 47ea69d — ebook epub_parser.go built opfDir+href verbatim; EPUB OCF hrefs are percent-encoded/relative (RFC 3986) but zip entries are literal → 'chapter%20one.xhtml' never matched 'OEBPS/chapter one.xhtml' → chapter+cover SILENTLY DROPPED (data loss). Fix: resolveEPUBHref (PathUnescape + ./ ../ normalize). + html_parser.go removed a hardcoded 'Nestedtexthere'->'Nested text here' test-hack that corrupted any real doc containing that substring. RED→GREEN→mutation.
Honest §11.4.6 flags (NOT auto-fixed — ambiguous intent/operator-gated): Qwen endpoint↔response-shape mismatch (native DashScope path vs OpenAI-compatible config base-URL — needs operator decision on intended Qwen mode); coordinator reduced_quality fallback lowercases passthrough text; FB2 writer section-title flatten. Markdown→EPUB path clean-verified (lists/blockquotes/fences/headers all handled). EPUB writer clean-verified.
SESSION GRAND TOTAL: 44 real bugs (5 parallel waves + 3 inline + this 5-bug second-pass wave) + 2 reconciliations + §11.4.98 conversion. Post-wave full sweep GREEN at HEAD 47ea69d: go test ./... -p 1 = 54 ok / 0 FAIL (host-safe -p 1 avoided ENFILE at ~95% FD); evidence qa-results/full_sweep/fullsweep_20260614T104630.log. Build+vet exit 0.
Purpose: Single canonical out-of-the-box entry point for any fresh session (§11.4.131 / §12.10 / §11.4.127). To resume: point a new session at THIS file, run git fetch --all, and say continue.
Session 2026-06-14a — host-safe single-stream inline (HEAD bd8a1ef) — 2 more real data/correctness bugs in pkg/translator/llm (the chunking path subagents skipped)
Context: operator returned, asked for 3-4 parallel subagents; chose "free FDs first" but host kern.num_files stayed ~94-95% of maxfiles (13+ concurrent claude processes, NOT freed). Per §12 host-safety I did NOT launch parallel subagents (ENFILE risk); instead ran host-safe single-stream INLINE work (targeted -p 1 tests never hit ENFILE all night) and armed a background watcher (b3qgjr30s) to auto-launch the parallel wave the instant FD<80%. 2 commits, pushed FF.
- 24b0fd0 — splitText DROPPED PARAGRAPH SEPARATORS at chunk boundaries (the >20KB size-error retry path subagents had skipped as out-of-scope). It stripped "\n\n" via Split + re-added inconsistently (never around an oversized para, never across a chunk seam); reassembly strings.Join(chunks,"") then glued the last paragraph of one chunk to the first of the next; "\n\n\n\n" collapsed to "\n\n". Structural data loss in translated large chapters. Fix: splitText now tiles losslessly — re-attach each para's "\n\n" so Join(splitText(text),"")==text (makes reassembly correct by construction). RED (5 cases dropped \n\n) -> GREEN -> mutation polarity proven.
- bd8a1ef — in-memory cache-key COLLISION served wrong translation: key was fmt.Sprintf("%s:%s",text,contextStr); ":" inside text means ("a:b","c") and ("a","b:c") both -> "a:b:c" -> 2nd request served 1st's translation (same class as the storage Redis fix). Fix: makeLLMCacheKey injective via length prefix "%d:%s:%s". RED (Translate served xlate(a:b) for input "a") -> GREEN -> mutation-proven (helper body).
- 71babe1 — FB2 writer DROPPED deeply-nested section content (>2 levels): chapter loop only descended sec.Content + direct sub.Content, never sub.Subsections (depth 3+) -> deep translated text vanished from the .fb2 (EPUB writer's recursive formatSection preserves it). Fix: collectSectionParagraphs recurses the full Subsections tree. RED (real write->read: LEVEL_3/_4 missing) -> GREEN -> mutation-proven. Honest note (§11.4.6, NOT fixed — ambiguous intent): FB2 writer still flattens section/subsection TITLES to chapter level (sec.Title not written); content now lossless.
- EPUB writer (pkg/ebook/epub_writer.go) §11.4.6 clean-verified: escapeXML correct+complete, OPF/NCX/chapter filenames consistent, shared identifier, Chapter has no orphan Content field — no data-loss; no bug invented.
SESSION GRAND TOTAL now: 39 real bugs (waves 1-5 = 32 + wave-5 4... see below) + 2 reconciliations + §11.4.98 conversion. Build STABLE GREEN, go build ./... exit 0; pkg/translator/llm passes offline. Watcher b3qgjr30s armed (40min cap) → auto-launch 3-4 parallel subagents for a §11.4.118 second-pass discovery wave the moment FD<80%. While FD-pressured, conductor continues host-safe single-stream inline bug-hunting.
Session 2026-06-13g — bug-hunt wave 5 (HEAD ceab1db) — 4 real bugs incl. CWE-22 path traversal + PairingManager race; build STABLE GREEN; paced for §12 host-safety
Mode: §11.4.126 autonomous loop + §11.4.103 3 parallel subagents (PairingManager mutex · pkg/language · pkg/api) + conductor verify-then-commit. 3 commits (38300e4..ceab1db) pushed FF.
- 38300e4 — pkg/distributed PairingManager.services map DATA RACE (no manager mutex; map + *RemoteService.Status/LastSeen/PairedAt written by health goroutines, read by GetPairedServices) → one RWMutex, deadlock-averse (unlocked-internal addService helper, no re-entrant lock, lock never held across HTTP probe / event Publish; performHealthChecks snapshots under RLock then releases). RED(-race)→GREEN(-race -count=5 ~4s no hang)→mutation; full pkg -race ok ~52s. Resolves the wave-4 flagged latent.
- 5c1a2ae — pkg/language 2 UTF-8 bugs: detectHeuristic sampled text[:1000] by BYTE → under-counts trailing multi-byte script → majority-Cyrillic book mis-detected as English (→ 1000 RUNES); FormatLanguageCode code[:2] by BYTE → invalid UTF-8 on multi-byte char (→ 2 RUNES); + DetectLanguage prompt sample rune-fix (source-only, network-gated). Mutation-proven, -race ×3.
- ceab1db — pkg/api PATH TRAVERSAL (CWE-22): uploadUpdate/applyUpdate interpolated the X-Update-Version header into a filepath.Join, '..' escaped the update dir → arbitrary file write. → validateUpdateVersion allowlist (reject ''/'..'/separators/NUL/>128, charset [A-Za-z0-9.+_-]). RED(200+escaped path)→GREEN(400)→mutation; existing 11 subtests pass, -race ×3.
BUILD STATE — STABLE GREEN. Every package passes: the post-wave-5 full sweep showed 52 ok + 2 transient FAILs (pkg/translator TestMemoryUsage + test/integration build) that were proven ENVIRONMENTAL (§11.4.7), NOT code: error was literally "too many open files in system"; go test -c ./test/integration compiles exit 0; both re-ran GREEN at -p 1. Root cause: host kern.num_files at ~95.8% of kern.maxfiles (122880) from 5 waves of parallel subagents + repeated full go test ./... + a concurrent claude security-review process. Last fully-clean authoritative sweep: HEAD de25a98 = 54 ok / 0 FAIL (qa-results/full_sweep/fullsweep_20260613T230845.log). go build ./... exit 0 throughout.
§12 HOST-SAFETY DECISION (§11.4.101 safest/most-stable): host file table near saturation → STOP spawning more parallel subagents / full-repo builds until it recovers (adding load risks tipping past maxfiles = other workloads fail to open files = the destabilization §12 forbids). The autonomous-safe disjoint package queue is also essentially EXHAUSTED — the whole codebase surface has been hunted across 5 waves (llm, websocket, coordination, fb2, ebook[epub/html/docx], batch, cmd, verifier, preparation, storage, report, markdown, format, grpc, security, hardware, version, progress, services, config, cache, translator-core, distributed, language, api). Per §11.4.94(A) the remaining items are genuinely blocked → paced re-verification, not idle-by-laziness.
SESSION GRAND TOTAL (2026-06-13 → 06-14): 36 real bugs fixed across 5 waves (7+10+7+8+4) + 2 reconciliations + §11.4.98 llm offline conversion
All reproduce-first + mutation-proven + conductor-independently-reverified (-race) + 24 descriptive commits pushed FF to milos85vasic/Translator + HelixDevelopment/HelixTranslate (no force §11.4.113). Notable: CWE-204 auth enumeration oracle, CWE-22 path traversal, gRPC remote-DoS nil panic, websocket cross-session event leak, FB2/markdown/ebook round-trip data loss, cache+pairing+versionCache+ssh data races, UTF-8 mid-rune corruption (translator+language).
Flagged latent (review/operator-gated, NOT autonomously safe overnight): storage cache dup-tuple unique-index (schema/dedup-semantics change §11.4.124); DOCX unioffice license-gated (go.mod dependency decision); security RefreshToken re-validate (no caller, defense-in-depth); G1 verify→server-DB bridge; G2 batched ~30-provider sweep; G3 add OPENAI/ANTHROPIC keys to api_keys.sh. These need operator decisions (user away) — correctly deferred per §11.4.101/§11.4.122.
Session 2026-06-13f — bug-hunt wave 4 + full-repo sweep GREEN (HEAD de25a98) — 8 real bugs; go test ./... = 54 ok / 0 FAIL offline
Mode: §11.4.126 autonomous loop + §11.4.103 4 parallel subagents (internal/services+config · internal/cache · pkg/translator core · pkg/distributed deeper) + conductor verify-then-commit + post-wave full sweep. 4 commits (eeda1ee..de25a98) pushed FF.
- eeda1ee — services/config 3 bugs: GetPreferences claimed sorted-by-score but did NO sort (passed only on pre-sorted fixture) → sort desc; FallbackOrder used unfiltered index → first accepted pref got 2 not 1 → contiguous post-filter rank; config all-zero scoring weights fail-open ('total>0 &&' skipped the sum check) → reject. Mutation-proven.
- 9d4f4a4 — internal/cache cleanup goroutine LEAK: NewCache(_,true) launched 'for range ticker.C' with no Close/stop → one goroutine + pinned Cache leaked per instance forever (unbounded on a long-running server). Added stop chan + Once-guarded Close() + cleanupWG; backward-compatible. Mutation-proven (200 caches→200 leaked).
- c1bd61f — pkg/translator universal.go language-detection sample sliced sample[:2000] by BYTE → mid-rune split → invalid UTF-8 to Detect (common case for Cyrillic/CJK ebooks) → truncateOnRuneBoundary. Mutation-proven, drives real detector.
- de25a98 — pkg/distributed 3 bugs: checkServiceHealth set Status='online' unconditionally → every paired worker DEMOTED+dropped after first 30s tick → all work distribution lost (HIGH); versionCache map had NO mutex (existing one is AlertManager's) → BatchUpdateWorkers data race → cacheMu; ssh LastUsed two-locks-one-field race → conn.mu touch()/idleSince(). Mutation-proven, full pkg -race ok.
STABILITY MILESTONE (re-confirmed): go test ./... -count=1 all provider env unset = 54 ok / 0 FAIL, go build ./... exit 0. Evidence: qa-results/full_sweep/fullsweep_20260613T230845.log. SESSION GRAND TOTAL: 32 real bugs (waves 1-4: 7+10+7+8) + 2 reconciliations + §11.4.98 llm offline conversion, all reproduce-first + mutation-proven + conductor-reverified (-race) + pushed FF (no force §11.4.113).
Flagged latent (honest §11.4.6, NOT autonomously fixed — review/larger-blast-radius): PairingManager.services map needs a manager-level mutex (~10 methods); storage cache dup-tuple unique-index (schema/dedup-semantics change); DOCX unioffice license-gated (go.mod); security RefreshToken re-validate (no caller). Operator-gated: G1/G2/G3.
Next-wave queue (disjoint, autonomous-safe, thinning): pkg/language, pkg/api (deeper non-integration logic), the PairingManager mutex (careful single-mutex + -race). After that the autonomous-safe disjoint queue is largely exhausted → legitimate idle per §11.4.94.
Session 2026-06-13e — bug-hunt wave 3 + full-repo sweep GREEN (HEAD 8d0b1b6) — 7 real bugs + 2 interaction-defect reconciliations; go test ./... = 54 ok / 0 FAIL offline
Mode: §11.4.126 autonomous loop + §11.4.103 4 parallel subagents (grpc · security · ebook html/docx · hardware/version/progress) + conductor verify-then-commit. Then a full-repo go test ./... sweep (§11.4.40-style interaction check) caught 2 latent defects, both reconciled. 6 commits (6e1b1f2..8d0b1b6) pushed FF.
- 6e1b1f2 — grpc 2 bugs: StartTranslation deref'd req.ProviderConfig.Type unconditionally (proto3 optional → nil panic, no grpc recovery → remote-DoS CRASH the serving goroutine) → validate up front, InvalidArgument; session-limit TOCTOU (RLock-check then Lock-insert) + duplicate SessionId silently overwrote prior session WITHOUT CancelFunc (timeout-context leak + orphaned translation) → atomic gate+reserve, AlreadyExists. Mutation-proven over bufconn, -race ×2.
- 96999b3 — security: AuthenticateUser checked IsActive BEFORE password → username/account-status enumeration oracle (CWE-204; API maps to 403 vs 401) on the live login path → validate password FIRST, disclose inactive only with correct password. Also fixed a §11.4.1 JWT-tamper test FAIL-bluff (mutated last sig char, ~1/64 flaky → first char, 200/200). RED(exploit)→GREEN→mutation, -race ×3, downstream pkg/api green.
- 95323d8 — ebook HTML: td/th/dt/dd cells concatenated with no separator ('cell Acell B') +
dropped ('line oneline two') → isCellElement newline +
newline. Mutation-proven. HONEST PENDING_FORENSICS: DOCX parser depends on license-gated unioffice → non-functional for real DOCX (go.mod-scope, not fixed). - 044bacb — hardware: vm_stat malformed page-size discarded parse error → 0 available RAM → guard (err==nil && >0); meminfo kB*1024 uint64 overflow wrap → maxKB guard. progress: GetProgress clobbered Complete()'s 'Completed' ETA → gate override on <100% && status!='completed'. Mutation-proven.
- 8d0b1b6 — full-sweep interaction reconciliations (§11.4.120/§11.4.98): test/unit scoring expectations updated to the FIXED weight formula (0.78→0.675, 0.625→0.5, math-verified, not a revert); cmd/cli TestTranslateEbookFunction/with_app_config dialed real Qwen (env-dependent) → honest §11.4.3 SKIP when no provider key.
STABILITY MILESTONE: go test ./... -count=1 with ALL provider env unset = 54 ok / 0 FAIL / 24 no-test-files, deterministic offline. go build ./... exit 0. Evidence: qa-results/full_sweep/fullsweep_20260613T225207.log. Session total this run: 26 real bugs (waves 1+2+3) + 2 reconciliations, all reproduce-first + mutation-proven + conductor-reverified + pushed FF (no force §11.4.113).
Next-wave queue (disjoint, autonomous-safe): internal/services, internal/config, internal/cache, pkg/translator (deeper, non-llm), pkg/distributed (deeper pure-logic), cmd more. Carry-over latent (review-gated, NOT autonomously fixed): storage dup-tuple unique-index; DOCX unioffice license (go.mod); security RefreshToken re-validate. Operator-gated: G1/G2/G3.
Session 2026-06-13d — parallel subagent bug-hunt wave 2 (HEAD 39ee07a) — 10 real bugs, all reproduce-first + mutation-proven + conductor-reverified (-race) + pushed FF (no force §11.4.113)
Mode: §11.4.126 autonomous loop + §11.4.103 4 parallel subagents (disjoint scopes: internal/verifier · pkg/preparation · pkg/storage+report · pkg/markdown+format) + conductor verify-then-commit. 4 descriptive commits (539659b..39ee07a) pushed FF to milos85vasic/Translator + HelixDevelopment/HelixTranslate.
- 539659b — internal/verifier 3 bugs: scoring/engine.go applied weights.Capability TWICE + DROPPED Recency (sum 1.15, broke 0..1 contract); discovery HF models keyed on legacy
modelIdonly → validid-only payload collided every model on ID="" → ZERO usable models; registry FilterVerified/ListModels map-iteration nondeterministic order (latent flake). All mutation-proven, -race. - 1bee190 — pkg/preparation 3 bugs: analyzeChapters appended goroutine results in COMPLETION order → GetTranslationContext[n-1] mis-attributed each chapter's analysis to the wrong chapter (→ slot-indexed, no mutex); multi-pass consolidation set FinalAnalysis from fresh parse with no chapter_analyses → all per-chapter analysis silently lost (→ re-attach); isUntranslatable strings.Contains(text,"")==true → blank LLM term marked EVERY string untranslatable incl. title (→ skip empty). Mutation-proven, -race ×3.
- 0a415b1 — pkg/storage negative CacheHitRate in GetStatistics (all 3 backends sqlite/postgres/redis): (totalAccess-totalTranslations)/totalAccess went negative when entries inserted-but-rarely-reread (3 entries,1 hit=-200%) → hits/(hits+misses), always [0,100). Mutation-proven via real SQLite round-trip.
- 39ee07a — pkg/markdown 3 reader-visible EPUB-output bugs in the PRODUCTION chapter path: h4-h6 headers shipped as literal
<p>#### x</p>(only 1-3 handled; §11.4.108 source→artifact — h4-6 lived only in a dead sibling fn); fenced code blocks flattened to one<p>with literal fences+collapsed newlines (→<pre><code>); SimpleWorkflow wrote body/header text RAW → malformed XHTML on&/</>(→ escapeXHTMLText). Mutation-proven.
Honest clean-verifications (§11.4.6): coordination/scoring/selection concurrency sound; openai/qwen/zhipu/llamacpp clients parse correctly; format detector edge cases correct; Redis cache-key+avg-duration sound (prior fixes intact).
FLAGGED latent (NOT fixed — needs conductor/operator review per §11.4.124, schema change): pkg/storage SQLite/Postgres cache has NO UNIQUE index on the lookup tuple (source_text,source_language,target_language,provider,model); storing the same tuple under 2 different ids leaves 2 rows and GetCachedTranslation can return the older STALE row. No production caller constructs cache IDs today (all in tests). Correct fix = UNIQUE index migration changing dedup semantics → review-gated.
Next-wave queue (disjoint, autonomous-safe): pkg/distributed deeper (conductor-owned §11.4.119), pkg/grpc, pkg/security deeper, pkg/ebook html/docx parsers, pkg/hardware, pkg/version/progress. Carry-over: storage dup-tuple unique-index (review-gated); G1/G2/G3 operator-gated.
Session 2026-06-13c — parallel subagent bug-hunt wave (HEAD f451468) — 7 real bugs, all reproduce-first + mutation-proven + conductor-reverified (-race) + pushed FF (no force §11.4.113)
Mode: §11.4.126 autonomous loop + §11.4.103 4 parallel bug-hunt subagents (disjoint package scopes) + conductor verify-then-commit (§11.4.147/§11.4.142). Conductor independently re-ran build+vet+-race on every affected package and reviewed every production diff BEFORE committing. 6 separate descriptive commits (caa39c1..f451468), pushed FF to milos85vasic/Translator + HelixDevelopment/HelixTranslate.
- caa39c1 — websocket
Hub.StartServerSESSION FAN-OUT HOLE: /ws handler leftClient.SessionIDempty → hub's per-session filter skipped → every dashboard got EVERY session's events (real caller cmd/ssh-translation). Fixed (read session_id from query) + moved off global DefaultServeMux→private mux (dup-/ws panic). Mutation-proven (alpha client saw beta's BETA-LEAK frame), -race ×3. - 91e71c4 — fb2
Paragraphhad UnmarshalXML but NO MarshalXML (Text/FullText arexml:"-") → parse→write round-trip emitted empty<p></p>= TOTAL paragraph data loss. Added MarshalXML (FullParagraphText, id/style attrs, escaped once). Mutation-proven. - ef8b3c7 — ebook EPUB fallback cleaner 2 bugs: CleanXMLData blind 2-char prefix rewrite corrupted valid entities (&→∓) + text (Q&A); removeHTMLTags regex EXCLUDED self-closing/void tags (
) → leaked literal markup into chapter text. Fixed (escapeBareAmpersands + unified htmlTagRe, RE2-safe). Mutation-proven; stale test reconciled §11.4.120. - 7e05c5e — batch
Process(ctx)NEVER honored cancellation (no ctx.Err/Done in either loop) → ran every remaining file, error stayed nil. Added seq guard + parallel in-worker short-circuit + post-Wait surfacing. Mutation-proven ×2, -race ×3. - 3225c8d — cmd UPPERCASE/mixed-case ext not stripped:
TrimSuffix(base, ToLower(ext))left "Story.EPUB"→"Story.EPUB_sr.epub" (case-insensitive FS). Fixed in unified-translator (3 helpers) + translator. Mutation-proven; stale test reconciled §11.4.120; cmd/translator gained first tests. - f451468 — §11.4.98 offline-ize: openai/qwen/zhipu error-paths → httptest; llamacpp auto-download → temp-HOME stub .gguf (no HF dial); HF_TOKEN skip-guards; TestValidate AvailableRAM pinned. Whole pkg/translator/llm now passes OFFLINE ~8s, all provider env unset, mutation-checked each converted test still has teeth. No prod client bug (honest §11.4.6).
Honest clean-verifications (§11.4.6 — investigated, NO bug): pkg/coordination (lock ordering leaf-only, consensus chan cap≥goroutines, immutable instances post-init); openai/qwen/zhipu/llamacpp clients parse correctly (defect was purely tests dialing real APIs).
Next-session queue (disjoint, autonomous-safe): bug-hunt internal/verifier (scoring/discovery/selection/client), pkg/preparation, pkg/storage (deeper), pkg/distributed (deeper pure-logic), pkg/markdown/format/html/docx parsers deeper. Carry-over G1 (verify→server-DB bridge), G2 (batched ~30-provider sweep), G3 (operator: add OPENAI/ANTHROPIC keys to api_keys.sh).
Session 2026-06-13b — parallel subagent bug-hunt wave (HEAD 86175d0) — ~15 real bugs, all reproduce-first + mutation-proven + -race + pushed FF (no force §11.4.113)
Mode: §11.4.126 autonomous loop + §11.4.103 ≥3 parallel streams (conductor + 4–5 background bug-hunt subagents/wave). §11.4.147 exercised heavily — multiple subagents were rate-limit-crashed ("Server is temporarily limiting requests") and respawned until complete; conductor independently verified every subagent claim (-race + scope census + §11.4.142 diff review) BEFORE committing. Commits pushed to milos85vasic/Translator + HelixDevelopment/HelixTranslate, fast-forward, no force.
- a40a9b9 — logger
shouldLogfail-open (typo level "warning" → logged everything incl DEBUG in prod) + fail-drop (unknown msg level dropped) →levelRankfallback (cov 84.3→91.1%); progress tracker 5 bugs (GetProgress data race, Complete() 0% clobber, negative %, ETA float truncation, divide-by-zero PANIC); ollama_test 4 subtests dialed real httpbin.org → httptest (6.6s→0.3s offline) §11.4.98. - 3a7ae78 — gRPC EventBus handler LEAK (SubscribeEvents never unsubscribed → unbounded
allEventsgrowth) → addedSubscriptionID+Unsubscribe+HandlerCount, defer Unsubscribe, drop close; + pre-existing session-field DATA RACE (sessionsMutex guarded only the map) → locked Status writes, snapshot-under-RLock GetTranslationStatus, fixed latent recursive-RLock deadlock in ListTranslations. Mutation-proven (events + real bufconn leak test), -race ×3. - a2aa3da — report ReportGenerator data race (unsynced appends) → sync.Mutex + snapshot-under-lock; deepseek/anthropic/gemini tests dialed real api.* → httptest (package 30.6s→19.2s offline) §11.4.98.
- ef0a60f — verification multipass O(n²) DUPLICATE DB WRITES (polishWithNotes re-saved the whole accumulated report.SectionResults each chapter → polishing_changes got 1+2+…+N dup rows; section_results PK-conflict inserts failed silently) →
saveNewResultscursor. Mutation: 15 change rows for 5 chapters vs 5. - 916dddd — storage Redis cache-key HASH COLLISION (32-bit poly-31 → distinct texts shared a key → WRONG cached translation served) → sha256; + Redis avg-duration dilution →
accumulateAvgDuration. Mutation-proven. - 86175d0 — markdown→EPUB ROUND-TRIP DATA LOSS: links/images/blockquotes left literal in HTML AND the production
convertMarkdownToXHTMLchapter path (readers got[text](url)/>) → blockquote accumulation + image/link inline conv (image-before-link).<ol>start renumber pinned KNOWN-LOSSY. 4 bugs mutation-proven.
Honest clean-verifications (§11.4.6 — investigated, NO bug): gRPC StreamTranslationProgress (streams-map delete-under-lock + non-blocking send ⇒ no send-on-closed); preparation extractJSON (string-aware matchBalanced + json.Valid guard + fenced handling robust; crashed preparation subagent left only scratch, removed §11.4.84).
REMAINING NET §11.4.98 offenders (still dial real api.* — confirmed via keys-stripped per-test timing): openai (TestOpenAITranslateErrorPaths), qwen, llamacpp (HF download paths), zhipu invalid_model. Same httptest pattern → strong next-wave item.
Next-session queue (disjoint, autonomous-safe): finish NET httptest-ization (openai/qwen/zhipu/llamacpp); bug-hunt cmd/* entrypoints, pkg/websocket, pkg/coordination, pkg/batch, pkg/fb2, pkg/ebook parsers/writers, pkg/distributed deeper, internal/verifier. Carry-over G1 (verify→server-DB bridge), G2 (batched ~30-provider sweep), G3 (operator: add OPENAI/ANTHROPIC keys to api_keys.sh).
- W15 api/grpc DONE (real, evidence-backed) — subagent-driven. Built build-tagged integration suites:
pkg/api/server_realhttp_integration_test.go(real HTTP via httptest + real JWT + real Postgres via brokertest: health, JWT 401/200, login→token round-trip, /api/v1/verified-models, session persist round-trip) andpkg/grpc/server_storage_integration_test.go(real gRPC over bufconn + real Postgres: submit→persist, status, cancel, list-count, 8× concurrent, error-code via status.FromError; §1.1 mutation-proven). LLM-translate leg = honest §11.4.3 SKIP (no provider key). Normalgo testboots NOTHING; SKIP-clean without podman. - REAL AUTH BUG fixed (W15 api leg, commit 0e2a999) —
InMemoryUserRepository.Createstored the caller's pointer;CreateUserclearsPassword=""post-Create → blanked the stored bcrypt hash → EVERY user registered via CreateUser could never log in. Fix: repo stores a COPY. Conductor-reproduced RED(401)→GREEN(200) onTestAPIRealHTTP_LoginTokenRoundTrip(§11.4.115). Remaining W15: only the pure LLM-translation E2E (operator-gated on a real provider key). - W13 DONE (commit 1cc66ac) — 8 PascalCase
.gitmodulessection labels → lowercase (paths were already compliant). Done §9.2 backup-first; all 11 submodules verified resolving to identical baseline SHAs aftergit submodule sync, dirty challenges/helix_qa preserved, build exit 0, backup removed post-gate. - W16 RESOLVED = KEEP Models/ as-is — the
pkg/modelsbridgebridge already consumesdigital.vasic.models(functional need met). ConvertingModels/→ a git submodule requires creating a NEW upstream repo under an owned org — an operator-gated repo-creation action (§11.4.101 block-only-when-irreversible+undeterminable; §11.4.122 keeping is the safe no-change path). Convert path remains available on operator request.
Autonomous-safe queue now EMPTY. Genuinely-remaining = operator-gated only: W15 LLM-translation E2E (real provider key) + W16 convert (new upstream repo decision). Per §11.4.94 this is legitimate idle.
Operator directive: use ~/api_keys.sh so the LLMsVerifier submodule performs its mandatory steps and provides valid providers + models to the System. Done, evidence-backed (§11.4.83 docs/qa/llmsverifier_20260613_182600/, key-free):
- Ran the submodule's REAL discovery/verification with real keys → 89 verified models (DeepSeek 2, Cerebras 2, Groq 16, Mistral 69; OpenAI/Anthropic honestly fail — no key in api_keys.sh).
- Two real bugs found + fixed, both §11.4.135 mutation-proven guards (exact production errors):
- Bug B (main, internal/verifier/client.go) load-bearing: the System's SSOT client couldn't decode the server's
{"count":N,"models":[...]}envelope → consumed ZERO models while server healthy. Fixed (envelope-aware decode). Guard: client_envelope_test.go. System now fetches all 89 e2e. - Bug A (submodule llmverifier/models.go, 95fb1cce, pushed GitHub+GitLab): numeric
context_window(Groq) crashed the whole provider decode → 0 models. Fixed (tolerant UnmarshalJSON). Guard: context_window_unmarshal_test.go.
- Bug B (main, internal/verifier/client.go) load-bearing: the System's SSOT client couldn't decode the server's
- Secrets: keys sourced inline only, never printed/logged/committed (§11.4.10); evidence dir + edits secret-scanned clean; throwaway run artifacts removed (§11.4.14).
Honest follow-up gaps (tracked, not bluffed — §11.4.6):
- (G1) Submodule
verify(report) pipeline does NOT persist into theserverSQLite DB — the served DB was seeded via live discovery (verifier's own client+database pkgs). Architectural bridge worth a workable item. - (G2) Full ~30-provider exhaustive per-model coding-capability scoring timed out at 600s in one pass; reliability-scored the seeded set. A bounded/batched sweep is the follow-up.
- (G3) Providers without keys (OpenAI/Anthropic/Perplexity/Together) fail auth honestly; add their keys to api_keys.sh to include them.
Real-bug-hunt waves (HEAD eb7576e) — 17 real bugs fixed this session, all reproduce-first + mutation-proven + pushed
LLMsVerifier real-key integration: 89 verified models flow to the System end-to-end; System's own in-process verifier env-bridge (31 models, cmd/verify-models); real DeepSeek translation proof ("The sky is blue today."->"El cielo esta azul hoy.").
Bugs fixed (each RED->GREEN, §11.4.135 guard, §1.1 mutation-proven, real evidence; commits e7d6d67/dfb250c/f80153b/eb7576e + submodule 95fb1cce):
- Auth lockout (CreateUser blanked stored bcrypt hash); Verifier consume (client.go envelope); Verifier serve (listVerifiedModels dropped all); Groq context_window (submodule); Hardcoded RU->SR prompt (RU->SR Ekavica preserved); Uppercase Cyrillic digraph (LJUBAV); Ordered-list numbering lost; UTF-8 mid-rune truncation (HIGH, Cyrillic); Import data race; FB2 inline+tail text dropped (CRITICAL); FB2 writer escaped markup; FB2 format misdetection; EPUB OPF/NCX id mismatch; Markdown inline whitespace collapse; silent chapter drop; list reverse round-trip; extractJSON wrong span.
Remaining tracked follow-ups (honest, §11.4.6/§11.4.118):
- G1: submodule verify-pipeline->server-DB bridge (serial submodule wave, §11.4.119 contends with main builds; conductor-owned).
- G2: batched full ~30-provider verification sweep (one-pass timed out 600s).
- G3: add OPENAI/ANTHROPIC/etc keys to api_keys.sh (operator) to include those providers.
- Deferred-broader: markdownToHTML round-trip edges; preparation extractJSON LLM-output spec; verification multipass duplicate DB writes; ambiguous nj/lj/dz Latin->Cyrillic (structural §11.4.112 won't-fix).
- CRITICAL OpenAIClient panic on non-float64 temperature (blast radius = ALL OpenAI-compatible providers) — toFloat64/toInt coercion.
- CLI -temperature/-max-tokens ignored by openai/anthropic/qwen/zhipu — Options>typed-field>default precedence.
- Gemini discarded valid MAX_TOKENS partial text (data-loss) — accept STOP/MAX_TOKENS/"" (gemini_test.go reconciled §11.4.120).
- EventBus.Publish unbounded goroutine-per-handler + RLock-held-across-spawn → explosion + writer-starvation livelock — synchronous dispatch, lock released first (-race clean).
- LLMInstance.Available/LastUsed data race (mutex in 1/5 sites) — accessors (-race clean).
- APIKeyStore unsynchronized map → fatal concurrent-map panic (DoS) — RWMutex (-race clean). JWT/rate-limit confirmed already-hardened.
- pkg/translator/llm full
go testHANGS when api_keys.sh is in-env — a NON-tagged test reaches the network (§11.4.98 violation: unit tests must be deterministic/offline). The wave's new defect tests are httptest/deterministic; the hang is in a pre-existing test. FIX: build-tag or httptest-ize the offending test. (Boundedgo test -run <name>works fine.)
- G1: submodule verify-pipeline->server-DB bridge (serial submodule wave; §11.4.119 contends with main builds — conductor-owned, NOT parallel with main-repo subagents).
- G2: batched full ~30-provider verification sweep (one-pass timed out 600s).
- NET: fix the non-tagged network-reaching test in pkg/translator/llm (§11.4.98).
- G3: add OPENAI/ANTHROPIC/etc keys to api_keys.sh (operator) to widen provider coverage.
- More untouched packages to bug-hunt: pkg/storage (deeper), pkg/progress, pkg/report, pkg/logger, cmd/* entrypoints, pkg/grpc (the flagged send-on-closed-channel at server.go:403 — events pkg has no Unsubscribe; real follow-up).
- Deferred-broader: markdownToHTML round-trip edges; gemini GenerationConfig hardcoded (same class as fix #2); verification multipass duplicate DB writes.
Read
docs/CONTINUATION.mdthen.remember/remember.md, rungit fetch --all, and continue the HelixTranslate "raise-to-enterprise" mandate at Phase 4 (tests/Challenges/HelixQA to ~100% per type + expand real ebook-translation evidence) while finishing the Phase-3 tail (Models decision, governance gaps). Binding: anti-bluff §11.4 (real captured evidence, no false PASS), no-force-push §11.4.113, flat snake_case submodules §11.4.28/§11.4.29, every change independently reviewed §11.4.142, containers-first infra §11.4.76, release tags prefixedhelix_translate-(§11.4.151). Work subagent-driven (§11.4.70) with ≥3 parallel streams (§11.4.103).
- Parent HEAD: see git log (W14b adoption commit via commit_all.sh) on
main; pushed to BOTHmilos85vasic/Translator+HelixDevelopment/HelixTranslate(verified, fast-forward, no force). Session commit chain: b3dc7f9(llm_provider) → e775088 → 8a6af67 → 7331c54 → 76677aa → 18c5137 → de256dd → 9004477 → 13d5e30 → af1ef47 → a9b38fa → 218bfa0 → 1f06bf5 → a0930fc → 3027da2 → b2377af → 6d4ae47. - llm_provider HEAD:
b3dc7f9(W7 CONST-036 propagation block + regenerated html/pdf), pushed toHelixDevelopment/LLMProvidermaster. - Constitution HEAD:
5e671fe(§11.4.151 added), pushed to all 6 upstreams; parent pointer bumped. - Build:
go build ./...= EXIT 0. Total test coverage = 50.7% (go tool cover -functotal; seedocs/testing/coverage_matrix.md). - Submodules (flat, snake_case):
challenges containers constitution doc_processor docs_chain helix_qa llm_orchestrator llm_provider llms_verifier security vision_engine. - Release prefix:
HELIX_RELEASE_PREFIX=helix_translate(.envgit-ignored,.env.exampletracked). First RC:helix_translate-1.0.0-dev-0.0.1— create ONLY when genuinely green (§11.4.40), operator-gated. - Safety backup:
../helix_translate_gitbackup_20260611T181545Z/repo.git.mirror(pre-rename311c585).
Phase 1 — flat snake_case submodules (reviewed GO, pushed): 8 submodules renamed; Go pkg challenges/→pkg/challenge_runner/; docs_chain added; .env release-prefix. go build ./... EXIT 0.
Phase 2 — constitution §11.4.151 release-prefix rule → pushed to all 6 constitution upstreams; parent pointer bumped; inheritance meta-test PASS.
Phase 3 (partial):
Security/plain dir → flatsecuritysubmodule (proven byte-identical to upstream, zero loss; §11.4.124).- All submodules + main synced to every upstream (one stale
containersgitlab mirror FF'd). - docs_chain OPERATIONAL:
.docs_chain/contexts/tracked_docs.yamlregistered; real pandoc+weasyprint sync produceddocs/CONTINUATION.{html,pdf}+README.{html,pdf};verify= in-sync. Seedocs/DOCS_CHAIN.md. - Real translation PROVEN (anti-bluff): EN→Serbian via DeepSeek
deepseek-chat, 208 Cyrillic chars, differs from source, no placeholders. Evidence:qa-results/translation/<ts>/(raw, git-ignored). Asset:test/assets/crow_and_pitcher_en.txt. - Fixed a regression I introduced: challenge scripts'
PROJECT_ROOT="${SCRIPT_DIR}/../.."broke when moved 1 level deeper → corrected to../../..; 3 challenges re-verified PASS (cache_invalidation, model_verification_gate, anti_bluff step1-3).
CLOSED this session (2026-06-13, batch e775088 / llm_provider b3dc7f9 — all pushed, captured evidence)
- W4 ✅
pkg/securityflaky Short-TTL — widened TTL→1min; 50× +-race+ CPU-load all PASS. - W5 ✅
pkg/distributed120s timeout — bounded SMTP send (real defect) + in-process test servers; 3× ~48.5s, vet 0. - W6 ✅
internal/verifier/discovery600s timeout — injectable URLs (prod unchanged) + sentinel stub + honest SKIP; 3× ~1s, paired §1.1 mutation proven. - W7 ✅
llm_providerCONST-036 propagation block — challenge GREEN; html/pdf regenerated. - W8 ✅
anti_bluff_execution_challenge.shBSD-sed — portable tmpfile sed (§11.4.67); isolated rc=0 proof. - W9 ✅ tracked
.bak/.backupresidue — git-history-investigated (§11.4.124), removed + .gitignore; build 0. - W10 ✅
-script latin→Cyrillic —pkg/scriptwas never imported into unified-translator;normalizeScriptwired; RED→GREEN 7 tests + 3×. - W12 ✅ 8 challenge scripts brittle root —
git -C rev-parse --show-toplevelw/ fallback (§11.4.111); all parse:OK root:OK. - D2 ✅ (wave2, 7331c54)
test/unitintermittent FAIL —TestVerifier/EventEmissiontiming race (50ms Sleep vs goroutine-dispatched handler) + data race (proven-race). Mutex eventCollector + bounded poll. BEFORE 1/10 FAIL+race → AFTER-race -count=1010/10 PASS. - W2-A ✅ (wave2)
cmd/unified-translatorcoverage 3.2%→18.0%, mutation-verified; + latent dangling-pointer fix (Steps []TranslationStep→[]*TranslationStep). - W2-B ✅ (wave2)
pkg/storagecoverage 32.9%→35.3% (Redis cache-key helpers 0%→100%, real SQLite round-trips), mutation-verified, daemon paths honest-SKIP. - wave3 (18c5137): W3 pkg/translator/llm stress/chaos + FIXED real prod data race in BaseTranslator cache+stats (RWMutex, -race ×3); W2 sshworker 19.6%→39.7%; W2 batch 77.2%→90.6%.
- wave4 (de256dd): sshworker progress-map leak on ctx.Done() fixed (defer cleanup, RED 300/300→GREEN -race); D3 pkg/translator{,/llm} test-only EventBus races fixed (asyncFlag); D7 pkg/events TestEventBus_Subscribe race fixed; W2 verification 64.0%→73.5%; W2 script (already 100% stmt) +11 behavioral/digraph tests.
- D5 (9004477) FIXED real bug pkg/verification parseNote: CONTENT-only note (no IMPLICATIONS) silently dropped → finalize Content; RED→GREEN, mutation-verified.
- D6 (9004477) FIXED verified_factory map-order flake → order-independent ElementsMatch; 10/10.
- wave5 (af1ef47): W14
scripts/commit_all.shwrapper (no-force/multi-upstream/FF-only/quiescence/explicit-pathspec/bg-push) + hermetic selftest 13/0 (conductor-run verified) — NOT yet wired to real remotes (line-by-line review pending); W2 format 0%→97.6%, markdown 73.9%→80.1%, coordination 0%→92.9% + GENUINE nil-guard fix in TranslateWithRetry (mutation-verified: revert→nil-panic). §11.4.147: format+coordination were rate-limit-crashed at report stage; conductor verified+adopted their work (not lost, not blindly trusted).
Session total: ~39 items resolved (+ D10 pkg/distributed FULLY -race-clean 9→0 races [4 sources incl. FallbackManager.Stop() lifecycle fix]; + D9 hardware parser testability 44.6→68.4%)
Prior: ~37 items (+ models bridge wiring digital.vasic.models into the system; + D12 REAL CORS auth-bypass vuln fixed; + D11 doc)
Prior: ~34 items (+ W15: real Postgres+Redis on-demand integration proven; PG connection-pool DoS bug found+fixed; containers StartRedis helper added)
Prior: 31 items (+ wave7: grpc 0→53.3% bufconn, api 55→62.2% httptest, security +14 adversarial tests — all real-protocol/anti-bluff, auth confirmed hardened)
Prior: 29 items (+ wave6: websocket race-fix, hardware/distributed chaos tests, D10#2 api_logger PRODUCT data-race fix)
Earlier session total: 26 items (W4-W10,W12 + D2 + W2×6[unified-translator/storage/batch/sshworker/verification/script] + W3 translator + sshworker-leak + D3 + D7 + D5 + D6). Real prod bugs fixed: translator cache race, SMTP no-deadline, dangling step-ptr, sshworker map-leak, event races (D2/D3/D7), note-content loss (D5).
| # | Item | Type | Notes / evidence |
|---|---|---|---|
| W1 | Models/ (digital.vasic.models) orphan module |
RESOLVED-via-bridge | Operator directed "create bridge": pkg/modelsbridge now CONSUMES digital.vasic.models (go.mod require+replace=>./Models), contract-tested 100%, mutation-verified (146b2b5). No longer orphan. W16 (convert to git submodule) still optional/operator-gated. |
| W2 | Coverage → ~100% (§11.4.27); ongoing | Task | Done: unified-translator 18%, storage 35.3%, batch 90.6%, sshworker 39.7%, verification 73.5%, script(100%+depth), translator/llm(+stress/chaos). Also grpc 53.3% (bufconn), api 62.2% (httptest), security 84.8%+adversarial, hardware/distributed chaos. NOTE: gRPC/api-server/server/redis/postgres at 0% are integration-infra-gated (need real daemons) — W15 containers-first unlocks these; honest deferral per package. |
| W3 | Missing test types: chaos, ddos, scaling, ui, ux, full-automation (in-module) | Task | §11.4.85 chaos/stress mandatory. |
| W11 | Wire more docs_chain contexts (Issues/Fixed/Status once they exist) | Task | docs_chain proven operational. |
| W13 | .gitmodules section labels still PascalCase |
Task (cosmetic) | Needs per-submodule .git/modules/* gitdir move. |
| W14 | No project commit wrapper scripts/commit_all.sh (§11.4.22) |
Task | IN-FLIGHT (wave5): multi-upstream push + no-force §11.4.113 + explicit-pathspec + quiescence + background-push §11.4.88 + hermetic self-test. Review before wiring to real remotes. |
| W15 | Containers-first infra (§11.4.76) | Feature | storage DONE: real Postgres+Redis on-demand integration via containers/pkg/brokertest (StartPostgres + new StartRedis), build-tagged; pkg/storage CRUD+chaos exercised real DBs; found+fixed PG unbounded-pool DoS (default 25/5). REMAINING: api/grpc DB+LLM pipeline paths need operator-gated LLM keys/SSH (can't autonomously). Pattern + helpers in place for any future slice. |
| W16 | Convert Models/→models submodule after W1 resolved |
Task | Blocked on W1. |
| D1 | docs_chain + security CONSTITUTION.md lack literal CONST-036 |
Task | §11.4.118 discovery. They use §11.4.X cascade scheme (not CONST-NNN); challenge doesn't check them. Governance-design decision needed — do NOT blindly inject CONST-NNN (§11.4.6). |
| D4 | pkg/script Latin→Cyrillic morpheme-boundary mis-transliteration |
Bug (open) | konjugacija→коњугација (should be конјугација); injekcija, nadживети similar. Greedy digraph matching; real fix needs morpheme/dictionary model (high blast radius) — operator-aware decision. Pinned with KNOWN-LOSSY tests. |
| D8 | ✅ FIXED (218bfa0) pkg/markdown bare-leading --- data-loss |
Bug (fixed) | Frontmatter now must begin at first non-blank line; later --- = HR/chapter separator. RED(1ch)→GREEN(2ch), mutation-verified. Minor <ol>→dash numbering remains pinned/unfixed (D-list, low priority). |
| D9 | ✅ FIXED (fc66c62) hardware parser testability | Task | Extracted 12 pure parsers from exec callers (behavior-preserving); 44.6→68.4%, mutation-verified. |
| D10 | 3 baseline data races (FACT, captured -race) | Bug | #2 api_logger PRODUCT race ✅ FIXED (3027da2, snapshot, mutation-verified). #1 ssh_pool + #3 performance ConnectionPool. ✅ ALL FIXED (fc66c62): ssh_pool options API, perf locked-map + count-snapshot, FallbackManager.Stop() lifecycle. pkg/distributed now 0 races. |
| D11 | ✅ FIXED (b8a24f5) CLAUDE.md mislocated CORS under pkg/security | Task | Corrected: CORS is server-layer (cmd/server corsMiddleware + internal/config). |
| D12 | ✅ FIXED (b8a24f5) CORS auth-bypass vuln | Bug(security) | cmd/server corsMiddleware reflected ARBITRARY origin + Allow-Credentials:true under default ["*"] → any site could make credentialed cross-origin requests. Fixed: wildcard→literal * no-creds; creds only for specific allowlist. RED→GREEN, mutation-verified. |
| W14b | ✅ DONE — reviewed + adopted | Task | Independent review: guards sound (force-reject full-argv, FF-only via merge-base --is-ancestor, multi-upstream URL-dedup, explicit-pathspec, quiescence). FOUND+FIXED cross-platform hardening: mutation grep lacked -I → GNU grep (Linux) false-aborts on binary .pdf/.html pathspecs (BSD grep doesn't; §11.4.81). Self-test 13/0. ADOPTED for normal source/doc commits. Dogfood surfaced finding #2: the §11.4.84 residue scan false-positives on files that legitimately CONTAIN marker strings (the script's own MUTATION_MARKERS def, governance docs, marker-referencing tests) — inherent to grep-based detection; §11.4.84 has no escape hatch (correct), so commit such files via manual explicit-path git. commit_all.sh is for the common case. |
- Phase 4 — drive W2–W8 + W10: per-type test suites to ~100% (§11.4.27), real Challenges + HelixQA bank execution with captured evidence, expand real ebook translations (all formats, whole chapters, anti-bluff §11.4/§11.4.69). Subagent-driven, ≥3 parallel streams.
- Phase 5 — containers-first infra (W15); docs_chain context expansion (W11); full docs (guides/diagrams/SQL/templates) + enterprise Website.
- Phase 6 — RC tag
helix_translate-1.0.0-dev-0.0.1across all submodules + main ONLY when genuinely green (§11.4.40), operator-confirmed.
Anti-bluff §11.4 (real captured evidence, no false PASS) · no-force-push §11.4.113 (merge-onto-latest-main) · multi-upstream push §2.1 · flat snake_case §11.4.28/§11.4.29 · every change independently reviewed §11.4.142 · host-safety §12 (no suspend/poweroff) · no silent component removal §11.4.122 · containers-first §11.4.76 · release prefix §11.4.151 · subagent-driven default §11.4.70 · ≥3 parallel streams §11.4.103.
/Volumes/T7is case-sensitive HFS+ (NOT the internal disk — verify on the actual volume, §11.4.6).- No
scripts/commit_all.sh; stage explicit paths, nevergit add -A; nevergit add helix_qa(nested third-party pointer drift). PIPESTATUSempty in this shell (zsh); use$?directly.- Mutation challenges can leave
.go.backup/.bakresidue — scan + clean before commit (§11.4.84).