Ship & operateEngineering handbook
Release timeline & known issues
Page actions
- View as Markdown (opens in a new tab)
- Ask ChatGPT (opens in a new tab)
- Ask Claude (opens in a new tab)
ChatGPT and Claude are third-party services. The link gives them this page's public address and a short instruction. This site records nothing.
Preview: the published page may be older or missing.
The releases that explain today's invariants, in order, with what each one changed and the rule it left behind; then the items that are still open and who owns them.
https://docs.gurbanisoul.com/engineering/known-issues/
CHANGELOG.md is the authoritative release history. This page keeps the releases that explain an
invariant you will meet in the code, and the items that are still open. The 2026-06 static audit
and live verification passes live under reports.
Timeline
| Release | Date | What changed | The invariant it left |
|---|---|---|---|
| Live verification | 2026-06-19 | Scripture integrity proven end to end: reconcile char-exact, golden all-pass, 1,430 Angs gap-free, 60,658 lines; footer/version bug fixed. | The Ang 1256 “duplicate” is a legitimate refrain — never de-duplicate it. |
| v2.9.3 | 2026-06-19 | MANIFEST.json re-certified; version strings synced; build_db.py no longer hardcodes a version; rebuild_all.sh builds the analytics, vaar and semantic tables (validated by a full green rebuild, vaars=22); concept_lines(line_id) index fixes the Constellation hang. | A rebuild populates every layer; large concepts need that index. |
| v2.9.4 | 2026-06-19 | Lineage redesign, plain-language Insights captions; line_neighbors rebuilt as exact sparse cosine (header-excluded, verbatim-twin de-duplicated, 0.30 floor, source='tfidf-exact-cosine-lite', scipy at build) with relatedness bands; db_sha256 re-certified. | Neighbour scores are shown as bands, never a raw percentage. Scripture byte-identical. |
| v2.9.5 | 2026-06-19 | Insights accuracy from the audit: theme tags curated, akal_kaal split into akal + kaal (concepts 53 → 54), resonance refreshed, full-edge theme network (min-PPMI 0.7 by default), hardened neighbour matmul; PPMI/Jaccard recompute exact. | 54 concepts. Scripture byte-identical. |
| v2.10.0 | 2026-06-20 | Bundled Sant Lipi Gurmukhi webfont (SIL OFL 1.1, unicode-range-scoped) and the traditional saroop display toggle (saroop.ts), which collapses the doubled subjoined ya in rendered glyphs only. | Display only: the corpus, DB, API, search and copy stay verbatim; the saroop markup never enters stored text or /api. Sant Lipi’s inline addha-yayya is a legitimate but different tradition from the printed Bir’s deep subscript; pending a scholar’s review. |
| v2.10.1 | 2026-06-20 | Saroop becomes the default rendering without writing localStorage; an explicit choice (sggs_saroop '0'/'1') is stored and respected. | To change the default, flip let ON in saroop.ts. |
| v2.11.0 | 2026-06-26 | Apple-grade hardening: verify.py FTS tokens sanitised and quoted with a central empty-MATCH guard (a crafted quote/asterisk no longer 500s or leaks the exception type); min_ppmi clamped; nosniff, X-Frame-Options: DENY, Referrer-Policy: no-referrer on every response; lang="pa" on verse containers; pinch-zoom re-enabled; charts honour reduced motion; theme network gains a data-table alternative; styled 404. | 500s return a generic body. Security headers on every response. |
| v2.12.1 / iOS 1.1.1 | 2026-09-05 | Pre-TestFlight hardening. | romannorm.py is the single Roman fold and must equal the pipeline’s (24,719 golden vectors); every integer query parameter goes through _int(); the Study-Trail pin reads verbatim text from data-gm, never rendered text (/api/lines?ids= repairs old pins); iOS sheetHosted gate, SwiftData ladder, SavedLineSchemaV1; an English-bundled iOS build needs LICENSED: true. |
| v1.0.0 | 2026-09-06 | Version strings reset to one unified baseline ahead of the first public release; no code, corpus or DB change. | One version number across web, API and app (ADR-0004). |
| v1.1.0 – v1.1.5 | 2026-09 | comp_id groups a heading run with its composition (post-pass 1b); v1.1.4 demoted 233 verses mis-flagged as headings; CI-gated deploys; Soul Gold brand. | No body line ever changes comp_id; deploys only through CI. |
| v1.3.8 | 2026-09-24 | Three repositories: data, platform, app (ADR-0007); the database arrives by pin (ADR-0008). | dataset.lock.json is the only way a dataset changes here; the editorial ledger is 4 rules, 11 applications. |
| v1.3.9 | 2026-09-25 | Every bounded context runs as its own service on staging behind a gateway generated from the route table (ADR-0010); /api/v1/* with strict errors beside a byte-identical legacy /api/*; request ids; continuous production verification. | Routing is generated, never hand-written; legacy /api/* stays byte-identical (the golden contract pins it). |
| v1.3.10 | 2026-09-25 | The API runs as Python functions inside the Vercel web project in production (ADR-0011), replayed against the golden contract before it goes live; the Render API keeps deploying as the rollback; this wiki launches at docs.gurbanisoul.com. | The website and the API deploy — and roll back — together. |
| v1.4.0 | 2026-10-14 | The Knowledge Base is redressed (thirteen themes, a new shell) and gains the app’s Reader, Nitnem, Search and Raag Clock; the wiki gains its page menu, Markdown and PDF. The API is unchanged and production keeps the single all function. | A web release ships first and the app follows as iOS 1.4.0 (1) from the tag; until that update is approved the site reports 1.4.0 and the App Store binary 1.3.10. |
Still open
| Item | State | Owner |
|---|---|---|
| Analytics-chart accessibility: the D3 charts are mouse-driven; the theme network has a data-table alternative, the others do not yet | open | web |
One line with an empty translit_norm (id 35328, Ang 829) | fixes on the next rebuild; tracked row by row in sggs-data’s data-quality baseline | data |
| 21 source-faithful lines with a vowel sign that has no base consonant (Angs 214, 342, 695, 698, 699, 897, 1203, 1205) | flagged for scholarly review; never silently changed (the Ang 1354/1358/1387 rows were resolved by the editorial corrections approved in the scholar review of 2026-09-24) | scholar review |
Eight web-only colour themes (review in docs/brand/web-themes.json) and the rule that Gurmukhi is ink in every theme: scholar review | shipped in 1.4.0 labelled review; the review was waived for the release by the owner on 2026-10-13 and runs after it | brand |
| Five-person task check of the redressed Knowledge Base | waived for the 1.4.0 release by the owner on 2026-10-13; runs after it | web |
| The site reports 1.4.0 while the App Store binary is 1.3.10 | planned gap; closes when iOS 1.4.0 (1) is approved and released | release |
Japji author = null: author filters for Guru Nanak miss it | known, deferred | data |
comp_type mislabelled in places | suppressed at the display layer; prefer comp_id/section | data |
What each of these means for the text is on the editorial ledger page.
Closed since the last list: the traditional saroop rendering was accepted as the app’s default at the
brand sensitivity gate on 2026-09-26. The deep-subscript ya that acceptance said would need another font
was in Sant Lipi all along, as the yakash sign U+0A75: since 2026-10-16 the saroop draws it, matching the
printed Bir, and goes back to the scholar with icon v2; Validation-Report.md is archived.
Sri Guru Granth Sahib Ji — Knowledge Base wiki. Generated from commit c3d9360. Updated 16 October 2026. Verified against d2f2e41 on 2026-09-27. This copy may be out of date; the page is at https://docs.gurbanisoul.com/engineering/known-issues/