Atlas Research Notebook Audit: Writer Queue Unblocked, 209 Symbol Contexts Repaired, Mobile Grids Fixed
A full-system audit logged on 2026-06-11 traced the templated register on most Atlas symbol pages to a writer queue capped at 3 jobs per day with 53 jobs pending, then lifted daily capacity to 72 jobs, repaired 209 of 223 cached narrative contexts, and rebuilt the mobile grid rules in the same session.
The Atlas surface owns macro context, economic calendar research, symbol coverage and data-source methodology, and this note documents a maintenance pass on that surface: how a quiet throughput cap degraded page prose across the Atlas research notebook, what the repair looked like, and which gates are still held. Every figure below comes from the dated build record for 2026-06-09 through 2026-06-11.
Table Of Contents
- A Writer Queue Capped At Three Jobs A Day
- Grammar Scars Left By A Brand-Strip Regex
- Sixfold Queue Capacity And The Verification Trail
- Indexation Expansion To A 180-URL Sitemap
- Mobile Grid Collapse And PDF Export Corrections
- Caveats: Pending Runs, Held Gates And Lagging Crawl Data
A Writer Queue Capped At Three Jobs A Day
The audit began with a reader-facing complaint: the "Market Wit" narrative on symbol pages read as templated rather than authored. The root cause turned out to be throughput, not prose quality. The atlas-writer-queue-worker service was capped at 3 jobs per day while 53 jobs sat pending, the oldest queued since 2026-06-06, plus one dead BAC job stopped on a writer_timeout. Under that cap, most pages were serving the deterministic fallback narrative instead of authored text, because the queue could never catch up to the symbol universe it feeds.
At 3 jobs per day, a 53-job backlog clears in roughly 18 days while fresh daily contexts land on top of the pile, so a pipeline that looked healthy at the service level could not deliver authored prose to most of its 220-symbol surface.
Grammar Scars Left By A Brand-Strip Regex
A second, older defect compounded the register problem. A v50-era brand-strip regex had left grammar scars inside cached narrative contexts: lowercase sentence starts such as "the read follows GOLD through evidence first", ungrammatical ticker insertion such as "The story starts QQQ with the wrapper", doubled company names on AAPL, and duplicated sentences across paragraphs.
The generator gained targeted repairs rather than a rewrite. Scar markers and a repeated-long-sentence detector now flag damaged text for rebuild. A safety net prevents a stale flag from ever leaving a symbol with zero narrative, which matters for single-letter and digit-bearing tickers such as H and A7A5, whose fallback templates fail the quality gate's symbol anchor. A lede helper now takes up to two description sentences, so a bare "Apple Inc." opening no longer breaks grammar downstream. Five template sentences were rewritten into grammatical form, and a sentence-caser was scoped to specific openings after a general version misfired on "Inc.", a misfire repaired by enumeration across 27 contexts.
The authoring prompts were upgraded in parallel: generation temperature moved from 0.2 to 0.45, and anti-skeleton rules that vary paragraph openings and ban formulaic glue phrases were added to both scout_orchestrator.py and atlas_dynamic_news_pipeline.py.
Sixfold Queue Capacity And The Verification Trail
The throughput fix has three parts. The queue limit moved from 3 to 12 jobs per run through the drop-in throughput-20260611.conf. The queue timer now also fires at 02:20, 10:20, 14:20, 18:20 and 22:20, six runs per day, for a daily capacity of 72 jobs. The writer timeout was extended from 120 to 170 seconds, because the primary qwen3.5-122b writer needs roughly 94 to 150 seconds on real reports and the old limit was pushing jobs several rungs down the model cascade. BAC and SQ were requeued, SQ after its as-of date fell outside the 8-day validation window.
The measured outcome: 209 of 223 cached contexts repaired and re-validated, with only SQ awaiting its writer run. Authored narratives of the MSFT, TSLA and GOOGL class were preserved rather than overwritten. The QA artifact sits at /root/Atlas_Backend/cache/qa/atlas_wit_context_refresh_latest.json, refreshed 2026-06-11.
The verification trail is concrete. atlas_wit_audit.py passed with symbols=220 and ok=true, labelling 188 contexts funny_promising, 30 story_wit and 2 deadpan_ok, with no templatey or missing-narrative flags. atlas_surface_audit.py passed with symbols=220 and problem_counts={}. Fresh proof PDFs for five symbols under cache/qa/pdf_proofs_v51/ carry both narrative and chart snapshots, and the backend answered HTTP 200 on its template and symbol routes after restart.
One methodology detail deserves its own line: the page content_hash hashes the source manifest, not the prose, so these narrative repairs do not churn sitemap lastmod dates. Text quality and crawl-signal truthfulness stay decoupled by design.
Indexation Expansion To A 180-URL Sitemap
The repair session lands on top of an indexation expansion completed on 2026-06-09. A manual content-quality audit of PDF exports for AAPL, SPY and ATOM verified that SEC EDGAR financials and CoinGecko ranking data were wired into the text through free_sources.py and fmp_data.py, and atlas_phase1_verification.py reported Phase 1 Verification: ALL OK. The Search Console export delivered on 2026-06-09 actually terminates on 2026-06-01, so its 70 discovered-not-indexed URLs describe the site before the writer upgrades took hold.
With the content gate passed, /root/Atlas_Backend/atlas_symbol_pages_build.py bypassed the expansion noindex hold and the static rebuild flipped 98 pages from noindex to index, follow. The sitemap expanded from 82 to 180 URLs, six asset-class hub pages covering equities, ETFs, crypto, forex, commodities and indices were built and cross-linked, and the build wrote 222 symbol pages with 173 staying indexable. The full set is browsable through Atlas symbol coverage, and the hub structure is what carries the notebook's cross asset market intelligence across instrument types. The 10,365-symbol cached SEC ticker universe stays locked until the discovered-not-indexed backlog drops to 32 or fewer.
The free-data layer beneath these contexts, the OpenBB DefiLlama RSS market spine, is documented upstream in the OpenBB documentation and the DefiLlama API reference. This substrate also feeds the wider FreedomCore surfaces and sits upstream of the autonomous Maverick engine.
Mobile Grid Collapse And PDF Export Corrections
Two reader-visible defects were fixed in the same pass. On mobile, the symbol-page stylesheet previously had no small-screen rules for two grids. The 560px media query now collapses .related-grid and .atlas-static-chart-stats to two columns, the landing and hub .sym-grid moves from one giant single column of 222 cards to a compact two-column layout with ellipsis, and a 380px fallback drops to a single column. These rules ship with the next page rebuild.
On the export side, the customer PDF download filename carried a doubled "-report" suffix, now corrected in _export_filename_stem inside app.py across both export routes. The What-changed section of each report also gained a carried-forward provenance note that states when the narrative was last materially rewritten versus when market data was refreshed on the current cycle, via renderers._what_changed_text. A reader can now distinguish a fresh-data day from a fresh-narrative day.
Caveats: Pending Runs, Held Gates And Lagging Crawl Data
Several things remain unproven or not yet live. The SQ context is still pending its writer run, so the repaired count stands at 209 of 223 rather than complete. The mobile grid rules are written but not served until the next page rebuild completes. The search-indexation expansion gate is on hold at 28 indexed against 70 discovered-not-indexed, and the next batch waits until that backlog reaches 32 or fewer; because the available crawl data terminates on 2026-06-01, judgement on the flipped pages is deferred to the next crawl. Paid subscription activation remains gated and untouched. Transactional email is constrained until 2026-06-27 by an exhausted monthly sending quota, and the SPF record still lacks the include:spf.mtasv.net entry.
These figures are point-in-time build telemetry and will move on the next daily run. None of this material is investment advice. The Atlas notes library documents methodology and build history so the sources behind every page stay legible; it does not make trading recommendations.
Browse the Atlas research notebook
FreedomCore Atlas Research →