]> git.ipfire.org Git - thirdparty/google/fonts.git/commitdiff
Add upstream_info.md for 50 families (limelight to mashanzheng)
authorFelipe Correa da Silva Sanches <juca@members.fsf.org>
Tue, 3 Mar 2026 14:20:40 +0000 (14:20 +0000)
committerFelipe Corrêa da Silva Sanches <juca@members.fsf.org>
Tue, 3 Mar 2026 17:06:06 +0000 (17:06 +0000)
Documentation-only: adds investigation reports as upstream_info.md
for families that already have source metadata in METADATA.pb.
Batch 4/5.

Families: limelight, liter, literata, livvic, lobstertwo, lohitbengali, lohitdevanagari, lohittamil, londrinaoutline, londrinashadow, londrinasketch, londrinasolid, lovedbytheking, lovelight, loversquarrel, loveyalikeasister, luckiestguy, lumanosimo, lunasima, lusitana, lustria, luxuriousscript, lxgwmarkergothic, lxgwwenkaimonotc, lxgwwenkaitc, macondo, macondoswashcaps, mada, madimione, magra, maidenorange, maitree, mako, mallanna, maname, mandali, manjari, mansalva, manuale, manufacturingconsent, marcellus, marcellussc, marckscript, margarine, marhey, markazitextvfbeta, markoone, martelsans, marvel, mashanzheng

50 files changed:
apache/luckiestguy/upstream_info.md [new file with mode: 0644]
apache/maidenorange/upstream_info.md [new file with mode: 0644]
ofl/limelight/upstream_info.md [new file with mode: 0644]
ofl/liter/upstream_info.md [new file with mode: 0644]
ofl/literata/upstream_info.md [new file with mode: 0644]
ofl/livvic/upstream_info.md [new file with mode: 0644]
ofl/lobstertwo/upstream_info.md [new file with mode: 0644]
ofl/lohitbengali/upstream_info.md [new file with mode: 0644]
ofl/lohitdevanagari/upstream_info.md [new file with mode: 0644]
ofl/lohittamil/upstream_info.md [new file with mode: 0644]
ofl/londrinaoutline/upstream_info.md [new file with mode: 0644]
ofl/londrinashadow/upstream_info.md [new file with mode: 0644]
ofl/londrinasketch/upstream_info.md [new file with mode: 0644]
ofl/londrinasolid/upstream_info.md [new file with mode: 0644]
ofl/lovedbytheking/upstream_info.md [new file with mode: 0644]
ofl/lovelight/upstream_info.md [new file with mode: 0644]
ofl/loversquarrel/upstream_info.md [new file with mode: 0644]
ofl/loveyalikeasister/upstream_info.md [new file with mode: 0644]
ofl/lumanosimo/upstream_info.md [new file with mode: 0644]
ofl/lunasima/upstream_info.md [new file with mode: 0644]
ofl/lusitana/upstream_info.md [new file with mode: 0644]
ofl/lustria/upstream_info.md [new file with mode: 0644]
ofl/luxuriousscript/upstream_info.md [new file with mode: 0644]
ofl/lxgwmarkergothic/upstream_info.md [new file with mode: 0644]
ofl/lxgwwenkaimonotc/upstream_info.md [new file with mode: 0644]
ofl/lxgwwenkaitc/upstream_info.md [new file with mode: 0644]
ofl/macondo/upstream_info.md [new file with mode: 0644]
ofl/macondoswashcaps/upstream_info.md [new file with mode: 0644]
ofl/mada/upstream_info.md [new file with mode: 0644]
ofl/madimione/upstream_info.md [new file with mode: 0644]
ofl/magra/upstream_info.md [new file with mode: 0644]
ofl/maitree/upstream_info.md [new file with mode: 0644]
ofl/mako/upstream_info.md [new file with mode: 0644]
ofl/mallanna/upstream_info.md [new file with mode: 0644]
ofl/maname/upstream_info.md [new file with mode: 0644]
ofl/mandali/upstream_info.md [new file with mode: 0644]
ofl/manjari/upstream_info.md [new file with mode: 0644]
ofl/mansalva/upstream_info.md [new file with mode: 0644]
ofl/manuale/upstream_info.md [new file with mode: 0644]
ofl/manufacturingconsent/upstream_info.md [new file with mode: 0644]
ofl/marcellus/upstream_info.md [new file with mode: 0644]
ofl/marcellussc/upstream_info.md [new file with mode: 0644]
ofl/marckscript/upstream_info.md [new file with mode: 0644]
ofl/margarine/upstream_info.md [new file with mode: 0644]
ofl/marhey/upstream_info.md [new file with mode: 0644]
ofl/markazitextvfbeta/upstream_info.md [new file with mode: 0644]
ofl/markoone/upstream_info.md [new file with mode: 0644]
ofl/martelsans/upstream_info.md [new file with mode: 0644]
ofl/marvel/upstream_info.md [new file with mode: 0644]
ofl/mashanzheng/upstream_info.md [new file with mode: 0644]

diff --git a/apache/luckiestguy/upstream_info.md b/apache/luckiestguy/upstream_info.md
new file mode 100644 (file)
index 0000000..bd2ff66
--- /dev/null
@@ -0,0 +1,140 @@
+# Luckiest Guy -- Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+No source block exists in the current METADATA.pb. The file contains only basic metadata:
+
+```
+name: "Luckiest Guy"
+designer: "Astigmatic"
+license: "APACHE2"
+category: "DISPLAY"
+date_added: "2011-01-06"
+fonts {
+  name: "Luckiest Guy"
+  style: "normal"
+  weight: 400
+  filename: "LuckiestGuy-Regular.ttf"
+  post_script_name: "LuckiestGuy-Regular"
+  full_name: "Luckiest Guy Regular"
+  copyright: "Copyright (c) 2010 by Brian J. Bonislawsky DBA Astigmatic (AOETI). All rights reserved. Available under the Apache 2.0 licence. http://www.apache.org/licenses/LICENSE-2.0.html"
+}
+subsets: "latin"
+subsets: "menu"
+classifications: "DISPLAY"
+classifications: "HANDWRITING"
+```
+
+## Repository Analysis
+
+### Upstream Repository: librefonts/luckiestguy
+
+- **URL**: https://github.com/librefonts/luckiestguy
+- **Organization**: librefonts (a legacy org for libre font sources)
+- **Created**: 2014-07-16
+- **Last pushed**: 2014-10-17
+- **License**: Apache 2.0
+- **Total commits**: 1 (a single commit: `0dcbedf` from 2014-10-17 by hash3g, "update .travis.yml")
+- **Archived**: No
+- **Stars**: 0
+
+### Repository Structure
+
+The repository contained decomposed TTX files (individual OpenType table dumps) and a FontLab VFB source:
+
+```
+src/
+  LuckiestGuy.vfb          (FontLab binary source, 186 KB)
+  METADATA_comments.txt     (empty comments)
+  VERSIONS.txt              ("LuckiestGuy.ttf: Version 1.000")
+LuckiestGuy.ttf.*.ttx      (decomposed TTX table dumps)
+METADATA.json               (old-style metadata)
+.travis.yml                 (Travis CI build config using fontbakery-build.py)
+COPYRIGHT.txt
+LICENSE.txt
+DESCRIPTION.en_us.html
+```
+
+### Source File Analysis
+
+- **Only source**: `src/LuckiestGuy.vfb` -- a FontLab Studio binary format file
+- **No `.glyphs`, `.ufo`, or `.designspace` files** -- the sources are not gftools-builder compatible
+- **No `config.yaml`** in the repository
+- The TTX files represent Version 1.000 of the font (created 2010-12-21, modified 2010-12-23)
+- The `.travis.yml` used the legacy `fontbakery-build.py` pipeline, not modern gftools-builder
+
+### Version Discrepancy
+
+- The upstream repo sources correspond to **Version 1.000** of the font
+- The font binary currently in google/fonts is **Version 1.001**
+- This means the current binary was not produced from the librefonts repo sources
+
+## Onboarding History
+
+### Initial Addition
+
+The font was part of the initial commit to the google/fonts repository:
+- **Commit**: `90abd17b` (2015-03-07) by Dave Crossland -- "Initial commit"
+- **Date added**: 2011-01-06 (per METADATA.pb; the 2015 commit was when the repo was migrated to GitHub)
+- The original font file was named `LuckiestGuy.ttf`
+
+### Hotfix Update (PR #780)
+
+The font was updated in PR #780:
+- **Commit**: `9a93667` (2017-08-07)
+- **Author**: Marc Foley (m4rc1e)
+- **Merged by**: Dave Crossland (davelab6)
+- **Title**: "hotfix-luckiestguy: v1.001 added"
+- **PR body**: Empty (no description provided)
+- **Changes**:
+  1. Renamed `LuckiestGuy.ttf` to `LuckiestGuy-Regular.ttf`
+  2. Updated the binary from Version 1.000 to Version 1.001
+  3. Updated METADATA.pb to reflect the new filename
+  4. Rewrote DESCRIPTION.en_us.html
+
+The v1.001 binary was likely produced by Marc Foley as part of the hotfix process, but the upstream librefonts repo was never updated to reflect this version. The PR body was empty, so there is no record of how the v1.001 binary was produced or what changes it included beyond the version bump and filename rename.
+
+## Build Configuration
+
+- **No `config.yaml`** exists in the upstream repository
+- **No override `config.yaml`** exists in the google/fonts family directory
+- The upstream sources are **VFB-only** (FontLab binary format), which is not compatible with gftools-builder
+- The legacy `.travis.yml` used `fontbakery-build.py`, a now-deprecated build system
+- **Creating an override config.yaml is not feasible** because gftools-builder cannot process VFB files
+
+## Findings
+
+1. **No source block in METADATA.pb**: The font lacks any source metadata linking it to an upstream repository.
+
+2. **Legacy VFB-only sources**: The upstream repo at `librefonts/luckiestguy` contains only a FontLab VFB source file. This format is not supported by gftools-builder or fontc. There are no `.glyphs`, `.ufo`, or `.designspace` source files that could be used with modern build tools.
+
+3. **Version mismatch**: The upstream repo has Version 1.000 sources, but google/fonts serves Version 1.001. The v1.001 binary was produced in PR #780 by Marc Foley, but the upstream repo was never updated. The origin of the v1.001 binary is undocumented.
+
+4. **Stale repository**: The `librefonts/luckiestguy` repo has only one commit from October 2014 and has not been updated since. It appears to be an automated decomposition of the original font, not actively maintained.
+
+5. **No config.yaml possible**: Since the only source format is VFB, no gftools-builder config.yaml can be created. The font would need source conversion (VFB to UFO or Glyphs) before it could be built with modern tools.
+
+6. **Designer**: Brian J. Bonislawsky, operating as Astigmatic (AOETI). Designer website: http://www.astigmatic.com/
+
+## Recommended Source Block
+
+A source block can be added pointing to the librefonts repo, but it will be incomplete due to the VFB-only sources and version mismatch:
+
+```
+source {
+  repository_url: "https://github.com/librefonts/luckiestguy"
+  commit: "0dcbedfc1b04831080433870e6e1e2c665e75800"
+}
+```
+
+**Caveats**:
+- The commit `0dcbedf` is the only commit in the repo and corresponds to Version 1.000 sources, not the Version 1.001 binary currently served
+- No `config_yaml` can be specified because the VFB format is not gftools-builder compatible
+- The source block documents the known upstream repo but does not fully describe how the current binary was produced
+- Status would be `missing_config` since no build configuration is possible with VFB sources
+
+**Open question**: Where did the Version 1.001 binary come from? Marc Foley (m4rc1e) may know, as he authored PR #780 in August 2017. The VFB source may have been compiled locally with FontLab and post-processed.
diff --git a/apache/maidenorange/upstream_info.md b/apache/maidenorange/upstream_info.md
new file mode 100644 (file)
index 0000000..1394a37
--- /dev/null
@@ -0,0 +1,98 @@
+# Maiden Orange — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+No source block exists in METADATA.pb. The current file contains only basic font metadata:
+
+```
+name: "Maiden Orange"
+designer: "Astigmatic"
+license: "APACHE2"
+category: "SERIF"
+date_added: "2010-12-20"
+```
+
+Located at `apache/maidenorange/METADATA.pb` (Apache license, not OFL).
+
+## Repository Analysis
+
+**Repository**: https://github.com/librefonts/maidenorange
+
+This is a "librefonts" mirror-style repository created on 2014-07-16 by Mikhail Kashkin (xen/hash3g). The librefonts organization systematically split out font families from the old google/fonts monorepo into individual repositories. This is not an original designer repository.
+
+**Contributors**: vitalyvolkov, xen (Mikhail Kashkin)
+
+**Repository contents**:
+- TTX dump files (`.ttx`) of the original `MaidenOrange.ttf` (version 1.000)
+- `src/MaidenOrange.vfb` — FontLab binary source file
+- `src/VERSIONS.txt` — records "MaidenOrange.ttf: Version 1.000"
+- `METADATA.json` — legacy metadata
+- `.travis.yml` — old fontbakery CI build pipeline (from 2014)
+- No `.glyphs`, `.ufo`, `.designspace`, or `.sfd` sources
+- No `config.yaml`
+
+**Commit history** (12 commits, all from 2014):
+- `7024a60` (2014-07-16) — "Move maidenorange font files to separate repository" (initial commit by Mikhail Kashkin)
+- `a957774` through `20a4f8d` (2014-08-19 to 2014-10-17) — Travis CI configuration updates by hash3g
+
+The repository has been dormant since October 2014 and is not archived.
+
+## Onboarding History
+
+**Initial addition**: Maiden Orange was part of the initial commit (`90abd17`) to the google/fonts repository on 2015-03-07 by Dave Crossland. The font file was named `MaidenOrange.ttf` (version 1.000) and was added under the `apache/` license directory. The `date_added` field in METADATA.pb is "2010-12-20", indicating the font was part of Google Fonts well before the current repository structure.
+
+**Hotfix update (PR #781)**: On 2017-08-07, Marc Foley submitted PR #781 ("hotfix-maidenorange: v1.001 added") which:
+- Renamed the font file from `MaidenOrange.ttf` to `MaidenOrange-Regular.ttf`
+- Updated the font binary to version 1.001 (from 1.000)
+- Updated DESCRIPTION.en_us.html formatting
+- Updated METADATA.pb (filename, full_name, copyright, subsets order)
+
+The PR body was empty, providing no information about where the v1.001 binary came from. This was a common pattern for Marc Foley's hotfix PRs at the time, where the font engineer would fix issues (like missing `-Regular` suffix) and regenerate the font.
+
+**Key observation**: The v1.001 font currently in google/fonts does NOT exist in the upstream `librefonts/maidenorange` repository, which only contains version 1.000 sources and TTX dumps.
+
+## Build Configuration
+
+**No config.yaml exists** in either the upstream repository or the google/fonts family directory.
+
+The upstream repository contains only:
+- `src/MaidenOrange.vfb` — a FontLab 5 binary source file
+- `.travis.yml` — old fontbakery-build pipeline (not gftools-builder compatible)
+
+The `.vfb` format is a proprietary FontLab binary format that cannot be processed by gftools-builder or fontc. To create a gftools-builder compatible build pipeline, the `.vfb` would need to be converted to `.glyphs`, `.ufo`, or `.designspace` format first.
+
+**Build pipeline assessment**: Not feasible with current sources. The font would need source conversion before a `config.yaml` could be created.
+
+## Findings
+
+1. **No source block in METADATA.pb** — needs to be added.
+
+2. **Repository is a librefonts mirror, not an original source** — The `librefonts/maidenorange` repository was created by the librefonts organization as part of a systematic split of fonts from the google/fonts monorepo. The original designer (Brian J. Bonislawsky / Astigmatic / AOETI) does not appear to have a GitHub repository for this font.
+
+3. **Version mismatch** — The font in google/fonts is version 1.001, while the upstream repository only contains version 1.000 sources and data. The v1.001 update was done by Marc Foley in PR #781 as a hotfix and the updated sources were never pushed to the librefonts repository.
+
+4. **VFB-only sources** — The only source file is `MaidenOrange.vfb` (FontLab 5 binary), which is not compatible with gftools-builder or fontc. No `.glyphs`, `.ufo`, `.designspace`, or `.sfd` files exist.
+
+5. **No config.yaml possible** — Without gftools-builder compatible source files, a `config.yaml` cannot be meaningfully created. The font cannot be rebuilt from sources using the current toolchain.
+
+6. **Legacy font** — Added to Google Fonts in 2010, this is a legacy font with proprietary-format sources and no active upstream development.
+
+## Recommended Source Block
+
+Given the limitations (VFB-only sources, version mismatch, mirror repo), a minimal source block documenting what is known:
+
+```
+source {
+  repository_url: "https://github.com/librefonts/maidenorange"
+}
+```
+
+**Notes on the recommendation**:
+- The `repository_url` points to the only known public repository containing source files for this font.
+- No `commit` hash is included because the font currently in google/fonts (v1.001) does not correspond to any commit in the upstream repository (which only has v1.000 sources).
+- No `config_yaml` is included because the repository has no gftools-builder compatible configuration and the VFB source format is not supported by the current build toolchain.
+- This source block has **LOW confidence** due to the repository being a third-party mirror rather than an original designer repo, and the version mismatch between the repo contents and the font in google/fonts.
diff --git a/ofl/limelight/upstream_info.md b/ofl/limelight/upstream_info.md
new file mode 100644 (file)
index 0000000..aef8e2e
--- /dev/null
@@ -0,0 +1,98 @@
+# Investigation Report: Limelight
+
+**Model**: Claude Opus 4.6
+
+## Summary
+
+Limelight is a display typeface designed by Nicole Fally with spacing and mastering by Eben Sorkin (Sorkin Type). It was added to Google Fonts on 2011-05-25 and has not been updated since the initial google/fonts repository commit on 2015-03-07. The upstream repository is `librefonts/limelight`, which contains only legacy source files (SFD/VFB formats) -- not compatible with gftools-builder. No config.yaml exists or can be created for this font.
+
+## METADATA.pb Analysis
+
+The current METADATA.pb at `ofl/limelight/METADATA.pb` contained no source block. Key fields:
+- **Family name**: Limelight
+- **Designer**: Nicole Fally, Sorkin Type
+- **License**: OFL
+- **Category**: DISPLAY
+- **Date added**: 2011-05-25
+- **Source block**: None
+
+## Upstream Repository
+
+**Repository**: [librefonts/limelight](https://github.com/librefonts/limelight)
+
+The `librefonts` organization was created on 2013-10-20 by Google Fonts team members (davelab6, felipesanches, pathumego) to decompose the monolithic google/fonts repository into individual per-font source repositories. The Limelight repo was created on 2014-07-16 by Mikhail Kashkin (hash3g) with the commit message "Move limelight font files to separate repository."
+
+The repository is not archived and not a fork. It has 12 commits total, all from 2014, primarily updating Travis CI configuration.
+
+### Source Files
+
+The repository contained only legacy format source files:
+- `src/Limelight-Regular-TTF.sfd` (FontForge SFD)
+- `src/Limelight-Regular-OTF.sfd` (FontForge SFD)
+- `src/Limelight-Regular.vfb` (FontLab VFB)
+
+Additionally, the repo contained decomposed TTX table dumps for both TTF and OTF versions.
+
+**No gftools-builder compatible sources** (`.glyphs`, `.ufo`, `.designspace`) were found. No `config.yaml` existed in the repository.
+
+### Commit History
+
+| Commit | Date | Author | Message |
+|--------|------|--------|---------|
+| `f361773` | 2014-10-17 | hash3g | update .travis.yml |
+| `36f4764` | 2014-10-06 | hash3g | Rename fontbakery |
+| `288a162` | 2014-09-19 | hash3g | Update .travis.yml |
+| `886773d` | 2014-09-15 | hash3g | Update .travis.yml |
+| `d3ff1ff` | 2014-09-14 | hash3g | Installing ttfautohint from ppa |
+| `0d56b89` | 2014-09-12 | hash3g | Added raw=True to VDMX and FFTM |
+| `fdcaa8d` | 2014-09-11 | hash3g | update .travis.yml |
+| `338c014` | 2014-08-22 | hash3g | Travis.yml update |
+| `5599c12` | 2014-08-22 | hash3g | Travis.yml update |
+| `50f7dc1` | 2014-08-21 | hash3g | Travis.yml update |
+| `3569785` | 2014-08-19 | hash3g | Added .travis.yml |
+| `3001376` | 2014-07-16 | Mikhail Kashkin | Move limelight font files to separate repository |
+
+The HEAD commit (`f361773`) was used as the reference commit. Source files were unchanged after the initial commit (`3001376`); all subsequent commits only modified `.travis.yml` configuration.
+
+## Font Binary History in google/fonts
+
+The font binary `Limelight-Regular.ttf` (132,292 bytes, MD5: `665b887accf0b7deeeb087259fe67d59`) was included in the initial monolithic commit (`90abd17b4`) on 2015-03-07 and has never been updated since.
+
+The FONTLOG indicated version 1.002, dated April 2012, with mastering by Eben Sorkin. The font's head table showed a creation date of April 7, 2012 and modification date of August 20, 2012.
+
+## Verification
+
+- **FONTLOG.txt**: Identical between google/fonts and librefonts/limelight.
+- **OFL.txt**: Identical between google/fonts and librefonts/limelight.
+- **Version**: Both indicated v1.002 (April 2012).
+- The upstream repo contained no TTF binary -- only TTX decompositions and SFD/VFB sources.
+
+## PR History in google/fonts
+
+- **PR #6032** (merged 2023-03-16): "Limelight: Added designer (sorkin)" by emmamarichal -- added "Sorkin Type" to the designer field in METADATA.pb.
+- **PR #6031** (merged 2023-06-07): Removed a useless line in Sorkin description.
+- No PRs existed for source metadata or font binary updates.
+
+## config.yaml Assessment
+
+An override config.yaml **cannot** be created because:
+- The upstream sources are in SFD (FontForge) and VFB (FontLab) formats only.
+- These formats are not supported by gftools-builder, which requires `.glyphs`, `.ufo`, or `.designspace` sources.
+- No modern source files exist in any known repository.
+
+## Recommendation
+
+A source block can be added to METADATA.pb pointing to `librefonts/limelight` at commit `f361773`, but without a `config_yaml` field since no gftools-builder compatible sources exist. The source block would document the upstream repository for reference purposes.
+
+```
+source {
+  repository_url: "https://github.com/librefonts/limelight"
+  commit: "f361773b306c507e22a46d18d5e661a6dac84894"
+}
+```
+
+## Status
+
+- **Status**: no_config (SFD-only sources)
+- **Confidence**: HIGH
+- **Config**: none (SFD-only sources)
diff --git a/ofl/liter/upstream_info.md b/ofl/liter/upstream_info.md
new file mode 100644 (file)
index 0000000..3365435
--- /dev/null
@@ -0,0 +1,131 @@
+# Liter — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/skugiz/liter"
+  commit: "3808843f982fae783aedd11d2f6ed8956f37fa04"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/Liter-Regular.ttf"
+    dest_file: "Liter-Regular.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+## Repository Analysis
+
+The upstream repository is at `https://github.com/skugiz/liter`, maintained by Anton Skugarov (skugiz@gmail.com). The repository was created using the `googlefonts/googlefonts-project-template`.
+
+**Repository structure at commit `3808843`:**
+
+- `sources/liter.glyphs` — Glyphs source file
+- `sources/config.yaml` — gftools-builder configuration
+- `fonts/ttf/Liter-Regular.ttf` — Pre-built TTF binary
+- `fonts/webfonts/Liter-Regular.woff2` — Pre-built WOFF2
+- `OFL.txt` — SIL Open Font License
+- `documentation/` — Promo images and description HTML
+- `Makefile` — Build automation
+- `.github/workflows/build.yaml` — CI build workflow
+
+**config.yaml contents:**
+
+```yaml
+buildStatic: true
+buildVariable: false
+buildTTF: true
+buildOTF: false
+buildWebfont: true
+# removeOutlineOverlaps: false
+sources:
+  - liter.glyphs
+familyName: Liter
+```
+
+The config references `liter.glyphs` (relative to the `sources/` directory), which was confirmed to exist at the referenced commit.
+
+**Commit history (full):**
+
+| Hash | Date | Description |
+|------|------|-------------|
+| `3808843` | 2025-01-16 | Updates authors name in AUTHORS.txt (initial/root commit) |
+| `c309900` | 2025-11-12 | Kerning fix (colon/slash) and cedillacomb position fix |
+| `cbacd5b` | 2025-11-12 | Small fixed spacing |
+| `bb5f6a9` | 2025-11-12 | Merge PR #11 (small fixes) |
+
+The repository has only 4 commits total, with `3808843` being the root commit. This is notable because the onboarding PR (#8819) referenced a different commit hash `4bcb5b1fcac534445cb40ac31c1c4c5669fcbbc6`, which no longer exists in the repository.
+
+## Onboarding History
+
+**PR #8819** — "Liter: Version 1.004; ttfautohint (v1.8.4.7-5d5b) added"
+- Author: Emma Marichal (@emmamarichal)
+- Merged: 2025-01-14 by Marc Foley (@m4rc1e)
+- Body stated: "Taken from the upstream repo https://github.com/skugiz/liter at commit https://github.com/skugiz/liter/commit/4bcb5b1fcac534445cb40ac31c1c4c5669fcbbc6"
+- The font was added to google/fonts with the commit message: "Liter: Version 1.004; ttfautohint (v1.8.4.7-5d5b) added"
+- Date added: 2025-01-09
+
+**Related PRs:**
+- **PR #8820** — "Liter: Update families.csv" (merged 2025-01-09) — Added article and classification tags
+- **PR #9072** — "Liter: designer updated in metadata.pb" (merged 2025-02-13) — Corrected designer spelling
+- **PR #9190** — "Liter- Author spelling" (merged 2025-03-12) — Another spelling correction (Aleksandr -> Alexandr)
+
+**Commit hash discrepancy:**
+
+The original onboarding commit `4bcb5b1` no longer exists in the upstream repository. The repository appears to have been reset/force-pushed after the font was already merged into google/fonts. The earliest surviving commit `3808843` (dated 2025-01-16, two days after the PR merge) is the root commit of the current repository.
+
+The batch 2/4 commit (`4ad8ac68`, 2025-03-31) updated the METADATA.pb source block, changing the commit hash from `4bcb5b1` to `3808843` and adding the `config_yaml` field. This data came from the fontc_crater targets.json file.
+
+**Binary verification:**
+
+The `Liter-Regular.ttf` in google/fonts and the one at commit `3808843` in the upstream repo have identical MD5 hashes (`a1ebbed47d71a738ac473c8758b1d3b8`), confirming that the font binary was not altered in the repository reset. The current commit hash `3808843` is a valid reference for the same font content that was originally onboarded.
+
+## Build Configuration
+
+A `config.yaml` file exists in the upstream repository at `sources/config.yaml` at the referenced commit. The METADATA.pb correctly points to this path via `config_yaml: "sources/config.yaml"`. The configuration builds static TTF from the `liter.glyphs` source file.
+
+No override config.yaml is needed in google/fonts since the upstream repo already has one.
+
+## Findings
+
+1. **Source block is complete and correct.** The current METADATA.pb source block has all required fields: `repository_url`, `commit`, `files` mappings, `branch`, and `config_yaml`.
+
+2. **Commit hash is valid despite original being lost.** The original onboarding commit `4bcb5b1` was lost when the upstream repository was reset/force-pushed. The current commit `3808843` (the root commit of the rebuilt repo) contains identical font binaries, as confirmed by MD5 hash comparison. This is the best available reference.
+
+3. **Font binary match confirmed.** The `Liter-Regular.ttf` in google/fonts matches exactly with the version at commit `3808843` in the upstream repo.
+
+4. **config.yaml is present and correct.** The upstream repo has a valid gftools-builder config at `sources/config.yaml` that correctly references the `liter.glyphs` source file.
+
+5. **Newer upstream work exists.** Commits from November 2025 (PR #11) added kerning fixes and spacing adjustments. These changes have not been incorporated into google/fonts and would need a separate update/QA process.
+
+6. **Single-weight font.** Liter is a single-weight (Regular 400) sans-serif family supporting Latin and Cyrillic scripts.
+
+## Recommended Source Block
+
+The current source block in METADATA.pb is correct and complete. No changes are needed:
+
+```
+source {
+  repository_url: "https://github.com/skugiz/liter"
+  commit: "3808843f982fae783aedd11d2f6ed8956f37fa04"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/Liter-Regular.ttf"
+    dest_file: "Liter-Regular.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
diff --git a/ofl/literata/upstream_info.md b/ofl/literata/upstream_info.md
new file mode 100644 (file)
index 0000000..33f3249
--- /dev/null
@@ -0,0 +1,144 @@
+# Literata — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+The current source block in `ofl/literata/METADATA.pb` is:
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/literata"
+  commit: "0c2761b727a1b3a7cffd313c37f0f5163dfc7a63"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/variable/Literata[opsz,wght].ttf"
+    dest_file: "Literata[opsz,wght].ttf"
+  }
+  files {
+    source_file: "fonts/variable/Literata-Italic[opsz,wght].ttf"
+    dest_file: "Literata-Italic[opsz,wght].ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+## Repository Analysis
+
+- **Repository URL**: https://github.com/googlefonts/literata (verified accessible, HTTP 200)
+- **Cached at**: `upstream_repos/fontc_crater_cache/googlefonts/literata/`
+- **Repo status**: Clean, up to date with origin, on branch `main`
+- **Remote**: `https://github.com/googlefonts/literata` (fetch/push)
+- **Branches**: `main` (only branch)
+- **Tags**: `3.103`
+- **Total commits**: 1 (single initial commit containing the entire project)
+
+The upstream repo contained a single commit (`0c2761b`, dated 2023-05-19) titled "Built fonts 3.103". This commit was the initial commit populating the repository with the full project — sources, built fonts (variable, static, webfonts), documentation, and historical source versions (v2.0, v2.1, v3.0, v3.021).
+
+### Source Files
+
+The repository contained the following source files at the referenced commit:
+
+- `sources/Literata.glyphs` (~9.4 MB)
+- `sources/Literata-Italic.glyphs` (~9.0 MB)
+- `sources/config.yaml` (gftools-builder configuration)
+
+Additionally, historical source versions were preserved in subdirectories:
+- `sources/v_2.0/` — Glyphs sources for v2.0
+- `sources/v_2.1/` — Glyphs sources for v2.1 with build scripts
+- `sources/v_3.0/` — Glyphs sources for v3.0
+- `sources/v_3.021/` — Designspace/UFO sources for v3.021 with build scripts
+
+### Config.yaml
+
+The `sources/config.yaml` file was a complete gftools-builder configuration:
+
+- **Sources**: `Literata.glyphs`, `Literata-Italic.glyphs`
+- **buildOTF**: false
+- **buildStatic**: true
+- **axisOrder**: opsz, wght, ital
+- **familyName**: "Literata"
+- **stat**: Full STAT table configuration for both upright and italic variable fonts, defining optical size values (7pt, 12pt, 36pt, 72pt) and weight values (ExtraLight through Black)
+
+## Onboarding History
+
+Literata had multiple updates in google/fonts:
+
+1. **2018-12-06** — `62dc5cc`: Initial addition as "literata: v2.100 added (VF with wght axis)" (PR #1781). Taken from the upstream repo at release tag `v2.100`. Added static Roman and Italic TTFs with `wght` axis only.
+
+2. **2019-04-15** — `145ce9d`: METADATA.pb updated (PR #2029).
+
+3. **2019-08-12** — `9253a514`: Renamed files related to VFs (PR #2216).
+
+4. **2019-12-20** — `2f7e976a`: "literata: v3.002 added" (PR #2580). Major update taken from upstream repo at tagged release `3.002`. Added variable fonts with `opsz` and `wght` axes, plus extensive static font instances for multiple optical sizes (7pt, 12pt, 36pt, 72pt). This introduced the optical size axis.
+
+5. **2020-01-07** — `5d627545`: Source keys removed from METADATA.pb (PR #2585). This was a bulk operation across many families.
+
+6. **Various** — Language metadata updates and rollbacks (PRs #4160, #4677, #4706).
+
+7. **2022-07-06** — `70b0fc8a`: Static fonts removed for unhinted variable font families (PR #3695).
+
+8. **2023-05-19** — `c8018e98`: **Current version** — "[gftools-packager] Literata: Version 3.103;gftools[0.9.29] added". This was the last update to the font binaries, by Rosalie Wagner. The commit message explicitly referenced upstream commit `0c2761b727a1b3a7cffd313c37f0f5163dfc7a63`. This added the initial source block with `repository_url` and `commit` fields. Merged via PR #6283 on 2023-05-24.
+
+9. **2024-04-03** — `66f91f1`: Simon Cozens merged upstream.yaml data into METADATA.pb, adding the `files { }` mappings and `branch: "main"`.
+
+10. **2025-03-31** — `4ad8ac68`: Batch operation by Felipe Sanches ported `config_yaml: "sources/config.yaml"` from fontc_crater targets list.
+
+## Build Configuration
+
+- **config.yaml location**: `sources/config.yaml` in the upstream repo
+- **Config exists at referenced commit**: Verified (blob `a2129c8` at commit `0c2761b`)
+- **Config type**: gftools-builder YAML format
+- **Source format**: Glyphs (.glyphs) files
+- **Override config.yaml in google/fonts**: Not present (not needed — upstream config exists)
+- **METADATA.pb config_yaml field**: Set to `sources/config.yaml` (correct)
+
+## Findings
+
+**Commit hash verification**: The commit hash `0c2761b727a1b3a7cffd313c37f0f5163dfc7a63` in METADATA.pb was verified as correct through multiple lines of evidence:
+
+1. The gftools-packager commit message (`c8018e98`) explicitly referenced this commit
+2. PR #6283 body confirmed the same commit hash
+3. The upstream repo has only one commit (`0c2761b`), tagged `3.103`
+4. SHA-256 hashes of both `Literata[opsz,wght].ttf` and `Literata-Italic[opsz,wght].ttf` matched exactly between google/fonts and the upstream repo at this commit
+5. File sizes matched exactly (955,132 bytes for upright, 902,728 bytes for italic)
+6. The commit date in upstream (2023-05-19 14:57:27) closely preceded the gftools-packager commit date (2023-05-19 15:06:57), consistent with automated packaging
+
+**Repository structure note**: The upstream repo was created with a single initial commit containing the entire project history as archived subdirectories. This is unusual — most upstream repos have an incremental commit history. However, the single commit contains all necessary source files and build configuration.
+
+**Designer**: Literata was designed by TypeTogether, originally created for Google Play Books.
+
+**Source block completeness**: The source block is fully complete with repository_url, commit hash, file mappings, branch, and config_yaml. No corrections needed.
+
+**Confidence**: HIGH — All data points are consistent and verified through binary file comparison.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes recommended:
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/literata"
+  commit: "0c2761b727a1b3a7cffd313c37f0f5163dfc7a63"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/variable/Literata[opsz,wght].ttf"
+    dest_file: "Literata[opsz,wght].ttf"
+  }
+  files {
+    source_file: "fonts/variable/Literata-Italic[opsz,wght].ttf"
+    dest_file: "Literata-Italic[opsz,wght].ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
diff --git a/ofl/livvic/upstream_info.md b/ofl/livvic/upstream_info.md
new file mode 100644 (file)
index 0000000..c8fc38f
--- /dev/null
@@ -0,0 +1,132 @@
+# Livvic — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/Fonthausen/Livvic"
+  commit: "30f612bf37946b0462c91ba2b4323e955a519463"
+}
+```
+
+The source block contains a `repository_url` and `commit` hash. There is no `config_yaml` field, which is correct because an override `config.yaml` exists in the google/fonts family directory (auto-detected by google-fonts-sources).
+
+## Repository Analysis
+
+**Repository**: https://github.com/Fonthausen/Livvic
+**Owner**: Fonthausen (Jacques Le Bailly)
+**Default branch**: master
+**Status**: Clean, up to date with origin
+
+### Repository Structure
+
+```
+.gitignore
+OFL.txt
+README.md
+requirements.txt
+fonts/
+  Livvic_v1.000.zip
+  otf/    (16 OTF files)
+  ttf/    (16 TTF files)
+sources/
+  build.sh
+  LV_Livvic.glyphs
+  LV_Livvic_Italic.glyphs
+```
+
+### Contributors
+
+- **Marc Foley** (m4rc1e) — 6 commits, handled mastering and onboarding
+- **Jacques Le Bailly** (Fonthausen) — 3 commits, original designer
+
+### Tags
+
+- `v1.000` — tagged release
+
+### Source Files
+
+The repository contained two Glyphs source files:
+- `sources/LV_Livvic.glyphs` — upright masters
+- `sources/LV_Livvic_Italic.glyphs` — italic masters
+
+A `build.sh` script existed in `sources/` using fontmake to generate static TTF and OTF instances. No `config.yaml` was present in the upstream repository.
+
+## Onboarding History
+
+### v1.000 — Initial onboarding (2019-06-27)
+
+- **google/fonts commit**: `cabd9770b` by Marc Foley
+- **PR**: #2049, merged 2019-07-08
+- **Upstream commit**: `885959cd198c1f825d110c125f73c70ca3a14244` ("Merge pull request #1 from m4rc1e/gf-mastering")
+- **PR body**: "Taken from the upstream repo https://github.com/Fonthausen/Livvic at commit https://github.com/Fonthausen/Livvic/commit/885959cd198c1f825d110c125f73c70ca3a14244"
+- **Files**: 16 TTF files, DESCRIPTION, METADATA.pb, OFL.txt
+
+### v1.001 — Ligature fix update (2019-09-02)
+
+- **google/fonts commit**: `f290a5845` by Marc Foley
+- **PR**: #2150, merged 2019-09-02
+- **Upstream commit**: `30f612bf37946b0462c91ba2b4323e955a519463` ("Merge pull request #5 from Fonthausen/lig-fix — fix ffi and ffj ligs")
+- **PR body**: "Taken from the upstream repo https://github.com/Fonthausen/Livvic at commit https://github.com/Fonthausen/Livvic/commit/30f612bf37946b0462c91ba2b4323e955a519463"
+- **Files**: 16 TTF files updated (ligature fixes)
+- **Timeline**: Upstream commit at 15:46 UTC+1, google/fonts commit at 16:24 UTC+1, PR merged at 17:13 UTC+1 — all on the same day
+
+### Source block additions
+
+1. **2023-12-14**: Simon Cozens added the `source { repository_url }` block in commit `e75f8240` ("Update upstreams")
+2. **2025-11-12**: Felipe Sanches added the `commit` hash and override `config.yaml` in commit `89367de39` ("sources info for Livvic: v1.001 (PR #2150)")
+
+## Build Configuration
+
+**Upstream config.yaml**: Not present in the upstream repository.
+
+**Override config.yaml in google/fonts**: Present, created in commit `89367de39` (2025-11-12).
+
+```yaml
+buildVariable: false
+sources:
+  - sources/LV_Livvic.glyphs
+  - sources/LV_Livvic_Italic.glyphs
+```
+
+The override config references the two Glyphs source files relative to the upstream repo root. The `buildVariable: false` flag indicates static instance generation only, which matched the original `build.sh` behavior.
+
+## Findings
+
+1. **Commit hash is verified and correct**: The commit `30f612bf37946b0462c91ba2b4323e955a519463` in METADATA.pb matched the one explicitly referenced in PR #2150's commit message and body. It was the latest commit in the upstream repo at the time of onboarding, and remained the latest commit (no subsequent upstream activity).
+
+2. **Binary file sizes match exactly**: All 16 TTF files in `google/fonts ofl/livvic/` had identical sizes to the files in the upstream repo's `fonts/ttf/` directory at commit `30f612b`, confirming the fonts were taken directly from the pre-built binaries in the upstream repo.
+
+3. **Override config.yaml is appropriate**: Since the upstream repo had no `config.yaml` (only a `build.sh` script using fontmake), the override config in google/fonts was the correct approach. The source file paths in the config matched the actual files in the upstream repo.
+
+4. **No `config_yaml` field needed in METADATA.pb**: The override `config.yaml` in the google/fonts family directory was auto-detected by google-fonts-sources, so omitting the `config_yaml` field from the source block was correct.
+
+5. **Source block is complete**: The current source block had both `repository_url` and `commit` hash, and the override `config.yaml` existed locally. No corrections were needed.
+
+6. **Upstream repo is dormant**: The last upstream commit was from 2019-09-02. No subsequent changes were made after the v1.001 onboarding.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes are needed:
+
+```
+source {
+  repository_url: "https://github.com/Fonthausen/Livvic"
+  commit: "30f612bf37946b0462c91ba2b4323e955a519463"
+}
+```
+
+With the override `config.yaml` in the google/fonts family directory:
+
+```yaml
+buildVariable: false
+sources:
+  - sources/LV_Livvic.glyphs
+  - sources/LV_Livvic_Italic.glyphs
+```
+
+**Confidence**: HIGH — Both the commit hash and repository URL were explicitly documented in the original PR commit messages by the onboarder (Marc Foley). Binary file sizes matched exactly. The upstream repo had no subsequent activity.
diff --git a/ofl/lobstertwo/upstream_info.md b/ofl/lobstertwo/upstream_info.md
new file mode 100644 (file)
index 0000000..0e466c7
--- /dev/null
@@ -0,0 +1,91 @@
+# Lobster Two — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+No source block exists in the current METADATA.pb. The file contains only font metadata (name, designer, license, category, fonts, subsets, stroke, classifications) with no `source { }` block.
+
+## Repository Analysis
+
+The upstream repository is **librefonts/lobstertwo** at https://github.com/librefonts/lobstertwo.
+
+- **Not archived**, not a fork
+- **Created**: 2014-07-16
+- **Last pushed**: 2014-10-17
+- **Single commit**: `0f38cf2` (2014-10-17) — "update .travis.yml"
+- **Single branch**: `master`
+
+### Repository Structure
+
+The repo contains:
+- Root level: `DESCRIPTION.en_us.html`, `FONTLOG.txt`, `METADATA.json`, `OFL.txt`, `.travis.yml`
+- Root level: TTX table dumps of the TTF files (e.g., `LobsterTwo-Regular.ttf._g_l_y_f.ttx`, etc.)
+- `src/` directory: VFB source files and OTF TTX dumps
+
+### Source Files
+
+The `src/` directory contains only **VFB (FontLab)** source files:
+- `LobsterTwo-Regular.vfb` and `LobsterTwo-Regular-TTF.vfb`
+- `LobsterTwo-Italic.vfb` and `LobsterTwo-Italic-TTF.vfb`
+- `LobsterTwo-Bold.vfb` and `LobsterTwo-Bold-TTF.vfb`
+- `LobsterTwo-BoldItalic.vfb` and `LobsterTwo-BoldItalic-TTF.vfb`
+
+There are **no** `.glyphs`, `.ufo`, or `.designspace` source files anywhere in the repository. There is **no** `config.yaml` file.
+
+The `.travis.yml` references an old build pipeline using `fontbakery-build.py` (circa 2014), not gftools-builder.
+
+### Font Versions
+
+All four TTF files are version 1.006.
+
+### Related Repository
+
+A related but distinct repository exists: **impallari/The-Lobster-Font** (https://github.com/impallari/The-Lobster-Font). This repo contains a `Lobster.glyphs` source file but is for the original single-weight "Lobster" font (Regular only), not "Lobster Two" (Regular, Italic, Bold, BoldItalic). The two are related families but separate projects.
+
+## Onboarding History
+
+Lobster Two was added to google/fonts in the **initial commit** (`90abd17b`) on 2015-03-07 by Dave Crossland. This was a bulk import that added many font families at once. There were no PRs associated with the onboarding of this specific font.
+
+Subsequent commits in google/fonts that touched the lobstertwo directory were all metadata-only changes:
+- METADATA.pb textproto conversion
+- Copyright field updates
+- METADATA.json removal
+- Designer key updates
+- Language metadata additions/rollbacks
+- Stroke and classification metadata updates
+
+The TTF binary files have **never been updated** since the initial commit.
+
+## Build Configuration
+
+**No config.yaml exists** in the upstream repository, and none can be created because the source files are VFB-only. VFB is a proprietary FontLab format that is **not compatible with gftools-builder**, which requires `.glyphs`, `.ufo`, or `.designspace` source files.
+
+An override config.yaml in the google/fonts directory is also not feasible because there are no gftools-builder compatible sources to point to.
+
+## Findings
+
+1. **No source block** in METADATA.pb — needs to be added.
+2. **VFB-only sources**: The upstream repo at `librefonts/lobstertwo` contains only FontLab VFB files, which are not compatible with modern gftools-builder tooling. No `.glyphs`, `.ufo`, or `.designspace` files exist.
+3. **Single commit repo**: The repo has only one commit from 2014, predating the google/fonts initial commit (2015).
+4. **Font never updated**: The TTF binaries have remained unchanged since the 2015 initial commit to google/fonts.
+5. **Designer**: Pablo Impallari (impallari@gmail.com), with kerning by Igino Marini.
+6. **No config.yaml possible**: Since the sources are VFB-only, no gftools-builder config can be provided. The fonts were likely compiled directly from FontLab, not through an automated build pipeline.
+7. **Related "Lobster" repo**: The `impallari/The-Lobster-Font` repo has a `.glyphs` source but only for the original single-weight "Lobster" font, not "Lobster Two".
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/librefonts/lobstertwo"
+  commit: "0f38cf2a6f0ffd8e8334fa15ad761cedf78136cc"
+}
+```
+
+Notes on the recommended block:
+- The `repository_url` points to the only known upstream repo for Lobster Two.
+- The `commit` is `0f38cf2` — the single and only commit in the repo, which predates the google/fonts initial import.
+- The `config_yaml` field is **omitted** because no gftools-builder compatible config exists (VFB-only sources).
+- **Status**: This source block is incomplete from a build reproducibility standpoint. The fonts cannot be rebuilt from source using modern tooling without first converting the VFB sources to a supported format.
diff --git a/ofl/lohitbengali/upstream_info.md b/ofl/lohitbengali/upstream_info.md
new file mode 100644 (file)
index 0000000..992feb0
--- /dev/null
@@ -0,0 +1,104 @@
+# Lohit Bengali — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete (SFD-only sources, no gftools-builder compatibility)
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/pravins/lohit"
+}
+```
+
+The source block was added in commit `658d6674` ("Update upstreams") on 2024-03-04, as part of PR #7343 ("Update more upstreams (1/2)") by Simon Cozens, merged on 2024-03-06. The block contains only the `repository_url` field; it is missing a `commit` hash and has no `config_yaml` field.
+
+## Repository Analysis
+
+**Repository**: https://github.com/pravins/lohit
+**Default branch**: master
+**Archived**: No
+**Description**: "Lohit fonts family project to supporting Indian scripts."
+**Cached at**: `upstream_repos/fontc_crater_cache/pravins/lohit/` (clean, up-to-date with remote)
+**Latest commit**: `7a8b554` ("updated auto_test for CI/CD")
+
+This is a **monorepo** containing source files for 13 Indic script font families:
+- Assamese, Bengali, Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Marathi, Nepali, Odia, Tamil, Tamil Classical, Telugu
+
+The Bengali sources reside in the `bengali/` subdirectory and consist of:
+- `Lohit-Bengali.sfd` — FontForge SFD source file
+- `Lohit-Bengali.fea` — OpenType feature file
+- `Makefile` — FontForge-based build system
+- Various test files, metadata, and configuration files
+
+**Source type**: SFD (FontForge Spline Font Database)
+**No gftools-builder compatible sources exist** (.glyphs, .ufo, .designspace) — neither in the current state nor anywhere in the repo's history.
+
+The build system uses:
+- `generate.pe` — FontForge script for TTF generation
+- `apply_featurefile.py` — Script to apply .fea features to SFD
+- Per-directory `Makefile` for building, testing, and packaging
+
+## Onboarding History
+
+The font was added to Google Fonts on **2012-05-09** (per `date_added` in METADATA.pb).
+
+The font binary in google/fonts (`Lohit-Bengali.ttf`, 139,460 bytes) has been present since the initial repository commit (`90abd17b`, 2015-03-07, by Dave Crossland), which was the bulk import of all existing Google Fonts into the git repository. The font file has **never been updated** since that initial commit.
+
+**Font binary metadata** (extracted via `strings`):
+- Version: **2.5.1**
+- FontForge generation date: **26-9-2012** (September 26, 2012)
+- Copyright: "Copyright 2011-12 Lohit Fonts Project contributors."
+- Copyright URL: `http://fedorahosted.org/lohit` (Fedora Project, now defunct)
+- Unique ID: "FontForge 2.0 : Lohit Bengali : 26-9-2012"
+
+**Identifying the upstream commit**:
+- The SFD version was set to 2.5.1 in commit `0df83ad` ("prepared for next release", 2012-02-29) by Pravin Satpute.
+- The next commit touching `Lohit-Bengali.sfd` was `04c8c91` ("fixed in lohit bengali and assamese for harfbuzz", 2012-10-18).
+- Since the font binary was generated on September 26, 2012, which falls between these two commits, the font was compiled from the source state at commit **`0df83ad`**.
+- The SFD copyright string "Copyright 2011-12" matches the copyright in the binary, further confirming this identification.
+- Note: The current SFD version is 2.91.5 — significantly newer than the 2.5.1 version in Google Fonts.
+
+The original Lohit project was hosted at fedorahosted.org (Fedora Project infrastructure) and was later migrated to GitHub at `pravins/lohit`. The repo history goes back to 2006 (converted from CVS/SVN via `cvs2svn` and `git-svn`). There is also a separate `pravins/lohit2` repository described as "Rewriting lohit open type tables," which was the source of the Bengali SFD migration into the main lohit repo (commit `9609e21`, 2014-12-02, "updated lohit bengali from lohit2").
+
+## Build Configuration
+
+**No `config.yaml` exists** in the upstream repo. The project uses FontForge-based tooling (SFD files compiled with `generate.pe` script and per-directory Makefiles), which is **not compatible with gftools-builder**.
+
+There are no gftools-compatible source formats (.glyphs, .ufo, .designspace) anywhere in the repo, so creating an override `config.yaml` is not feasible.
+
+**Build process** (as documented in `bengali/Makefile`):
+1. Apply feature file to SFD: `fontforge -lang=py -script apply_featurefile.py Lohit-Bengali.sfd Lohit-Bengali.fea`
+2. Generate TTF: `./generate.pe *.sfd`
+3. Optional: generate WOFF/EOT via sfntly
+
+## Findings
+
+1. **Repository URL is correct**: The `repository_url` field (`https://github.com/pravins/lohit`) correctly points to the upstream repository. The repo is active and accessible.
+
+2. **Commit hash is missing**: The source block lacks a `commit` field. Based on version analysis, the correct onboarding commit is **`0df83ad734a061144754601fc4984f72e3636108`** (short: `0df83ad`), dated 2012-02-29.
+
+3. **Font is significantly outdated**: The font in Google Fonts is version 2.5.1 (from 2012), while the upstream repo is at version 2.91.5 (from 2017). There have been substantial updates including Unicode 8.0 character additions, bug fixes for Bengali rendering, and Latin character support with ttfautohint.
+
+4. **SFD-only sources**: The project uses FontForge SFD files exclusively. No gftools-builder compatible sources exist, making it impossible to create a config.yaml for automated builds.
+
+5. **Monorepo**: The `pravins/lohit` repository is a monorepo containing 13 Indic font families. Other Lohit families in Google Fonts (e.g., Lohit Tamil) reference the same repository URL.
+
+6. **Legacy project infrastructure**: The original project was hosted at `fedorahosted.org/lohit` (Fedora Project), which is now defunct. The GitHub repository appears to be the authoritative successor.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/pravins/lohit"
+  commit: "0df83ad734a061144754601fc4984f72e3636108"
+}
+```
+
+No `config_yaml` field should be added because:
+- The project uses SFD sources compiled with FontForge, not gftools-builder
+- No gftools-compatible source formats exist in the repository
+- An override config.yaml cannot be created without compatible source files
+
+**Confidence**: MEDIUM — The commit hash identification is based on version string matching (2.5.1) and date range analysis (the font was generated on 2012-09-26, between commit `0df83ad` on 2012-02-29 and the next Bengali-touching commit `04c8c91` on 2012-10-18). The font could theoretically have been generated from a different checkout or release tarball, though this is unlikely given the matching version and copyright strings.
diff --git a/ofl/lohitdevanagari/upstream_info.md b/ofl/lohitdevanagari/upstream_info.md
new file mode 100644 (file)
index 0000000..6dc603b
--- /dev/null
@@ -0,0 +1,113 @@
+# Lohit Devanagari — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+No METADATA.pb file exists for this family. The directory `ofl/lohitdevanagari/` contains only:
+- `Lohit-Devanagari.ttf`
+- `DESCRIPTION.en_us.html`
+- `EARLY_ACCESS.category` (content: "Sans Serif")
+- `OFL.txt`
+
+This font remains an Early Access font that was never fully onboarded into the Google Fonts catalog. It does not appear on the main Google Fonts website (returns 404). Other Lohit fonts in the same situation (Lohit Bengali, Lohit Tamil) do have METADATA.pb files with source blocks, but Lohit Devanagari was never given one.
+
+## Repository Analysis
+
+**Upstream repository**: https://github.com/pravins/lohit
+
+The Lohit project is a multi-script font family project originally hosted at https://fedorahosted.org/lohit/ (which now redirects to https://pagure.io/lohit). The GitHub repository at `pravins/lohit` is the primary development repository, maintained by Pravin Satpute (Red Hat / Fedora Project).
+
+The repository contains font sources for multiple Indian scripts organized in subdirectories:
+- `devanagari/` — Lohit Devanagari sources
+- `bengali/` — Lohit Bengali sources
+- `tamil/` — Lohit Tamil sources
+- (and others: assamese, gujarati, gurmukhi, kannada, malayalam, marathi, nepali, odia, telugu, tamil-classical)
+
+A separate repository exists at https://github.com/pravins/lohit2 (HTTP 200), which was used as a development branch before being merged back into the main repo.
+
+**Source files in `devanagari/`**:
+- `Lohit-Devanagari.sfd` — FontForge SFD source (684,365 bytes)
+- `Lohit-Devanagari.fea` — OpenType feature file (57,619 bytes)
+- `Makefile` — Build script using FontForge + ttfautohint (in later versions)
+- Various test files, config files, and changelog
+
+**Build process**: The font was built using FontForge (via `generate.pe` script) with OpenType features applied from the `.fea` file via `apply_featurefile.py`. Later versions (post-2.95.0) also used ttfautohint for hinting.
+
+**Key contributors** (from AUTHORS file): Pravin Satpute, Sneha Kore, Rahul Bhalerao, Eduardo Rodriguez Tunni, Bernard Massot, Shriramana Sharma, and others.
+
+**Cached repo status**: Clean, on branch `master`, up to date with `origin/master`.
+
+## Onboarding History
+
+The font was added to google/fonts in the initial commit (`90abd17b4`) by Dave Crossland on March 7, 2015. This massive initial commit included the entire Google Fonts library. The TTF file has never been updated since.
+
+No PRs or subsequent commits have ever modified the font binary. The only later commits touching this directory were:
+- `4f889caf0` (Apr 22, 2015) — Adding Early Access category files
+- `28fff5fa7` (Apr 23, 2015) — Renaming EARLYACCESS.category to EARLY_ACCESS.category
+
+**Font binary analysis**:
+- Version: **2.94.0**
+- Copyright: "Copyright 2011-12 Lohit Fonts Project contributors"
+- FontForge unique ID: "FontForge 2.0 : Lohit Devanagari : 17-9-2013"
+- No ttfautohint markers (ttfautohint was added to the Makefile in November 2014, after 2.94.0)
+- File size: 72,328 bytes
+- MD5: `2163a90b9f68b2e9e5559d8ae8aa9658`
+
+**Version 2.94.0 in upstream repo**: The changelog records version 2.94.0 as released on Feb 19, 2014 by Pravin Satpute. The last commit touching `devanagari/` for this release was `4e6568ba` ("updated changelog", Feb 19, 2014). The SFD file at that commit shows:
+- Version: 2.94.0
+- Copyright: "Copyright 2011-12 Lohit Fonts Project contributors"
+- CreationTime: 2006-09-28 (original font creation)
+- ModificationTime: 2014-02-19
+
+The FontForge date "17-9-2013" in the TTF's unique ID is puzzling. This date falls between the lohit2 merge (Oct 1, 2013, commit `8ed137d`) and the 2.94.0 release (Feb 19, 2014). The most likely explanation is that the TTF binary was generated on September 17, 2013 from an intermediate state of the source files, and the version string was later updated in the SFD without regenerating the binary. Alternatively, the binary may have been downloaded from a pre-built release tarball that was generated at that date.
+
+**Recommended commit**: `4e6568ba026afde20c89333a888e1cf41d3c165a` — the last commit touching `devanagari/` for the version 2.94.0 release (Feb 19, 2014). While the exact build state that produced the TTF may have been slightly different, this is the best documented reference point for version 2.94.0.
+
+## Build Configuration
+
+**No config.yaml exists** in the upstream repository. The font is built using:
+1. FontForge SFD source files (`.sfd`)
+2. OpenType feature files (`.fea`)
+3. A Makefile that calls FontForge scripts (`generate.pe`, `apply_featurefile.py`)
+
+This is a **SFD-only source** project. It does not use gftools-builder and cannot be built with the standard Google Fonts toolchain without significant rework. The build process relies on:
+- FontForge for TTF generation
+- sfntly for WOFF/EOT generation
+- ttfautohint for hinting (added in version 2.95.0, not present in 2.94.0)
+
+An override config.yaml would not be straightforward to create because gftools-builder does not natively support SFD sources. The font would need to be converted to a UFO or Glyphs source format first.
+
+## Findings
+
+1. **No METADATA.pb**: This is an Early Access font that was never fully onboarded. It lacks METADATA.pb entirely, unlike sibling fonts Lohit Bengali and Lohit Tamil which have METADATA.pb with source blocks pointing to `https://github.com/pravins/lohit`.
+
+2. **SFD-only sources**: The upstream repo uses FontForge SFD format, not gftools-builder compatible formats (.glyphs, .ufo, .designspace). This means no config.yaml can be meaningfully created for gftools-builder.
+
+3. **Outdated binary**: The font in google/fonts is version 2.94.0 (Feb 2014). The upstream repo has progressed to version 2.95.4 (Apr 2017), with several bug fixes and improvements including Unicode 8.0 character support and ttfautohint integration.
+
+4. **Shared repository**: The upstream repo `pravins/lohit` is a monorepo containing sources for all Lohit script variants. The Devanagari sources are in the `devanagari/` subdirectory.
+
+5. **FontForge date discrepancy**: The TTF reports a FontForge generation date of September 17, 2013, but the version is 2.94.0 which was released February 19, 2014. This suggests the binary may have been compiled from an intermediate state or the date reflects a different build artifact.
+
+6. **Not on Google Fonts catalog**: The font returns 404 on fonts.google.com/specimen/Lohit+Devanagari, confirming it remains in Early Access status only.
+
+## Recommended Source Block
+
+If a METADATA.pb were to be created for this font, the source block should be:
+
+```
+source {
+  repository_url: "https://github.com/pravins/lohit"
+  commit: "4e6568ba026afde20c89333a888e1cf41d3c165a"
+}
+```
+
+Notes:
+- No `config_yaml` field is included because the project uses SFD sources with no gftools-builder configuration.
+- The commit references the last devanagari change for version 2.94.0 (Feb 19, 2014).
+- An override config.yaml is not feasible since gftools-builder does not support SFD sources.
+- For consistency with Lohit Bengali and Lohit Tamil (which already have source blocks pointing to this repo), the same repository_url should be used.
+- Before creating a METADATA.pb, the font would need to be fully onboarded (graduated from Early Access), which would likely also involve updating to a newer version and possibly converting sources to a gftools-builder compatible format.
diff --git a/ofl/lohittamil/upstream_info.md b/ofl/lohittamil/upstream_info.md
new file mode 100644 (file)
index 0000000..fa0f999
--- /dev/null
@@ -0,0 +1,101 @@
+# Lohit Tamil — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/pravins/lohit"
+}
+```
+
+The source block was added by Simon Cozens in commit `658d6674` ("Update upstreams", 2024-03-04), merged via PR #7343 ("Update more upstreams (1/2)"). The block contains only a `repository_url` — no `commit` hash and no `config_yaml` field.
+
+## Repository Analysis
+
+**Repository**: https://github.com/pravins/lohit
+- **Status**: Active, not archived
+- **Default branch**: master
+- **Last updated**: 2026-01-07
+- **Description**: "Lohit fonts family project to supporting Indian scripts."
+- **Cached locally**: Yes, at `upstream_repos/fontc_crater_cache/pravins/lohit/`
+
+This is a **monorepo** containing multiple Lohit font families for various Indian scripts: Assamese, Bengali, Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Marathi, Nepali, Odia, Tamil, Tamil Classical, and Telugu. Each script has its own subdirectory.
+
+The Tamil sources are located at `tamil/Lohit-Tamil.sfd` (FontForge SFD format) with an associated feature file `tamil/Lohit-Tamil.fea`. The build system uses FontForge's scripting language (`generate.pe`) and Make, not gftools-builder. There are **no** `.glyphs`, `.ufo`, or `.designspace` files anywhere in the repository.
+
+**Alternative repos**:
+- `lohit-fonts/lohit-tamil-fonts` — A split-out repo created in 2020, containing individual Tamil font sources based on Fedora RPM packaging. This is not the original development repo and was created well after the font was onboarded to Google Fonts.
+- The original project homepage was `https://fedorahosted.org/lohit/` (now defunct).
+
+## Onboarding History
+
+The font was added to google/fonts in the **initial commit** by Dave Crossland on 2015-03-07 (commit `90abd17b`, "Initial commit"). This was a massive initial import that added many font families at once. The commit included:
+- `DESCRIPTION.en_us.html`
+- `Lohit-Tamil.ttf` (66,184 bytes)
+- `Lohit-Tamil.tamil` (same file, subset)
+- `METADATA.json`
+- `OFL.txt`
+
+The TTF binary has **never been updated** since the initial commit. All subsequent commits touching `ofl/lohittamil/` modified only metadata files (METADATA.pb, subset files, etc.), never the font binary itself.
+
+### Version Analysis
+
+The binary in google/fonts reports **Version 2.5.0** in its name table. However, the upstream repo's Tamil SFD currently has **Version 2.91.1** (as of the latest commits from 2017). This significant version gap confirms the binary was built from a much older state of the source.
+
+Tracing version 2.5.0 in the upstream commit history of `tamil/Lohit-Tamil.sfd`:
+
+| Commit | Date | Version | Description |
+|--------|------|---------|-------------|
+| `361b23b` | 2011-09-21 | 2.5.0 | Relicensing to OFL |
+| `ffb56a5` | 2012-02-27 | 2.5.0 | Improved asterisk shape in all lohit fonts |
+| `9d61e32` (next) | 2012-03-02 | 2.5.1 | Updated panose value |
+
+The last commit modifying `tamil/Lohit-Tamil.sfd` while still at version 2.5.0 was `ffb56a5` (2012-02-27). This commit modified the asterisk glyph shape and updated the SFD ModificationTime from 1316598937 (2011-09-21) to 1330332300 (2012-02-27).
+
+The tracking data in `gfonts_library_sources.json` listed commit `cb3f884` as the reference, but this is **incorrect** for the Tamil font. That commit (2015-03-04, "Change hex id of i-mtras to 65537 onwards") did not touch the Tamil directory, and at that commit the Tamil SFD was already at version 2.91.0 — a much newer version than what is in the google/fonts binary. The `cb3f884` commit was simply the latest upstream commit before the google/fonts onboarding date.
+
+**Best candidate commit**: `ffb56a5d3cb709861e19aa50b436a0dc8ef70a21` (2012-02-27) — the last commit modifying Tamil sources at version 2.5.0. However, since the binary may have been compiled at any point while version 2.5.0 was current (Sep 2011 to Feb 2012), and the actual compilation date is unknown, this is a **MEDIUM confidence** determination.
+
+## Build Configuration
+
+The upstream repository uses **FontForge + Make** for building:
+- Source format: `.sfd` (FontForge SplineFont Database)
+- Feature file: `.fea` (OpenType feature definitions)
+- Build tool: FontForge scripting (`generate.pe`) + Makefile
+- **No** `config.yaml` exists in the upstream repo
+- **No** gftools-builder compatible sources exist (no `.glyphs`, `.ufo`, `.designspace`)
+
+Since the sources are SFD-only, a gftools-builder `config.yaml` **cannot** be created. gftools-builder does not support SFD files as input.
+
+## Findings
+
+1. **Repository URL is correct**: `https://github.com/pravins/lohit` is accessible and contains the Tamil font sources in the `tamil/` subdirectory.
+
+2. **Missing commit hash**: The METADATA.pb source block has no `commit` field. The best candidate is `ffb56a5` (the last Tamil SFD modification at v2.5.0), but confidence is MEDIUM because the binary could have been compiled from the earlier `361b23b` commit or from a now-lost separate build artifact.
+
+3. **No config.yaml possible**: The font sources are in FontForge SFD format, which is not supported by gftools-builder. No override `config.yaml` can be created.
+
+4. **Outdated binary**: The font in google/fonts (v2.5.0, from ~2012) is significantly behind the upstream version (v2.91.1, from 2017). There have been substantial changes to the Tamil font sources since the onboarded version, including width fixes, version bumps to 2.91.x, and metadata updates.
+
+5. **Tracking data correction needed**: The `gfonts_library_sources.json` entry lists commit `cb3f884` which is incorrect for the Tamil font specifically. The status should also note this is an SFD-only project that cannot have a config.yaml.
+
+6. **Monorepo consideration**: Since this is a monorepo, the commit hash in METADATA.pb should ideally be the one that last modified the Tamil-specific sources at the version matching the binary, not just the latest repo commit.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/pravins/lohit"
+  commit: "ffb56a5d3cb709861e19aa50b436a0dc8ef70a21"
+}
+```
+
+**Notes**:
+- `config_yaml` is omitted because the sources are SFD-only and cannot be built with gftools-builder
+- The commit `ffb56a5` represents the last modification to Tamil sources at version 2.5.0 (matching the binary in google/fonts)
+- Confidence: **MEDIUM** — version match is confirmed (2.5.0), but the exact build point within the v2.5.0 range (Sep 2011 to Feb 2012) is uncertain
+- Status: **incomplete** — no config.yaml is possible for SFD-only sources
diff --git a/ofl/londrinaoutline/upstream_info.md b/ofl/londrinaoutline/upstream_info.md
new file mode 100644 (file)
index 0000000..bed3c7e
--- /dev/null
@@ -0,0 +1,124 @@
+# Londrina Outline — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/marcelommp/Londrina-Typeface"
+  commit: "7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060"
+}
+```
+
+The source block was added in two stages:
+1. Simon Cozens added the `repository_url` in the "Update upstreams" commit (e75f824, 2023-12-14).
+2. Felipe Sanches added the `commit` hash and an override `config.yaml` in commit 7d0f8f9 (2025-12-12), titled "sources info for Londrina Outline: v1.002 (PR #1087)".
+
+No `config_yaml` field is set in METADATA.pb, which is correct because an override `config.yaml` exists in the google/fonts family directory.
+
+## Repository Analysis
+
+**Upstream repo**: https://github.com/marcelommp/Londrina-Typeface
+**Repo type**: Multi-family repository (contains sources for Londrina Outline, Shadow, Sketch, and Solid)
+**Cached at**: `upstream_repos/fontc_crater_cache/marcelommp/Londrina-Typeface/`
+**Repo status**: Clean, up to date with origin/master.
+
+### Structure at referenced commit (7f4129e)
+
+At commit `7f4129e`, the repo contained:
+- `FONTLAB_UFO_FILES/` — UFO source files for all Londrina families, including `LondrinaOutline-Regular.ufo`
+- `FONTLAB_UFO_FILES/vfb/` — FontLab VFB source files
+- `TTF/` — Pre-compiled TrueType fonts
+- `OTF/` — Pre-compiled OpenType fonts
+- `LICENSE` (OFL)
+- `README.md`
+- `.gitignore`
+
+No `config.yaml` existed in the upstream repo at this commit or any subsequent commit.
+
+### Later commits (post-onboarding)
+
+The upstream repo received additional commits after the onboarding:
+- `f7aed96` (2019-04-02): Added `.glyphs` source files in a "Source Glyphs " directory (note trailing space)
+- `239d89c` (2022-10-21): Added a new `Londrina_Masters.glyphs` file in "Source Glyphs/" directory
+- `cc7b65f` (2023-06-15): "Update of Londrina Family" — various cleanup
+
+These later commits represent new work by the designer that has not been incorporated into Google Fonts.
+
+## Onboarding History
+
+### Initial addition (2015)
+
+Londrina Outline was part of the initial commit (`90abd17`, 2015-03-07) when the google/fonts repository was created.
+
+### v1.002 update (2017)
+
+The font was updated to v1.002 through the work of Marc Foley (m4rc1e):
+
+1. **Upstream PR #2** (m4rc1e/gf-mastering branch): Marc Foley mastered the entire Londrina family for Google Fonts compliance. The branch contained 12 commits covering:
+   - Renaming source filenames
+   - Mastering Outline and Solid families
+   - Fixing vertical metrics
+   - Running GF spec fixes
+   - Readjusting metrics
+   - Fixing copyright strings
+   - Disabling subroutines and removing hints
+   - Fixing RFN in copyright strings (final commit: `7f4129e`)
+
+2. The upstream PR was merged on 2017-07-17 (commit `a2b7062`).
+
+3. **google/fonts PR #904** (2017-05-08): Initial hotfix — updated the TTF binary and METADATA.pb.
+
+4. **google/fonts PR #1087** (2017-07-31): Final v1.002 update by Marc Foley. This commit (`c04d61c0e`) updated the TTF binary to 167,112 bytes, along with FONTLOG.txt, METADATA.pb, and OFL.txt.
+
+### Binary verification
+
+The TTF binary in google/fonts (`LondrinaOutline-Regular.ttf`, 167,112 bytes) was verified to be byte-identical to the file at `TTF/LondrinaOutline-Regular.ttf` in the upstream repo at commit `7f4129e`:
+- SHA-256: `773c655bc6a2e9b699cfa8c4a5f615c6348686d018281bb8e6cdc470b2f05f4d`
+
+This confirms `7f4129e` is the correct onboarding commit.
+
+## Build Configuration
+
+**Upstream config.yaml**: None. The upstream repo has never had a `config.yaml` file.
+
+**Override config.yaml**: Present in the google/fonts family directory (`ofl/londrinaoutline/config.yaml`), added in commit 7d0f8f9 (2025-12-12):
+
+```yaml
+buildVariable: false
+sources:
+  - FONTLAB_UFO_FILES/LondrinaOutline-Regular.ufo
+```
+
+This is correct. The source path points to the UFO file that existed at commit `7f4129e` in the upstream repo. Since this is a single-weight static font (Regular 400 only), `buildVariable: false` is appropriate.
+
+## Findings
+
+1. **Source block is complete and correct.** The repository URL, commit hash, and override config.yaml are all properly set.
+2. **Commit hash verified.** Binary comparison confirmed the TTF in google/fonts is byte-identical to the one at the referenced commit.
+3. **Override config.yaml is appropriate.** The upstream repo has no config.yaml; the override correctly references the UFO source path.
+4. **No `config_yaml` in METADATA.pb is correct.** google-fonts-sources auto-detects the local override.
+5. **Multi-family repo.** The Londrina-Typeface repo contains sources for four families (Outline, Shadow, Sketch, Solid). Each family in google/fonts needs its own source block pointing to this same repo.
+6. **Designer activity post-onboarding.** The designer (Marcelo Magalhaes) added `.glyphs` source files in 2019 and 2022-2023, suggesting potential future updates that would need separate QA review.
+
+## Recommended Source Block
+
+The current source block is correct. No changes needed:
+
+```
+source {
+  repository_url: "https://github.com/marcelommp/Londrina-Typeface"
+  commit: "7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060"
+}
+```
+
+The override `config.yaml` in the google/fonts family directory should remain as-is:
+
+```yaml
+buildVariable: false
+sources:
+  - FONTLAB_UFO_FILES/LondrinaOutline-Regular.ufo
+```
diff --git a/ofl/londrinashadow/upstream_info.md b/ofl/londrinashadow/upstream_info.md
new file mode 100644 (file)
index 0000000..7dbd648
--- /dev/null
@@ -0,0 +1,103 @@
+# Londrina Shadow — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/marcelommp/Londrina-Typeface"
+  commit: "7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060"
+}
+```
+
+The source block contains a repository URL and commit hash. No `config_yaml` field is set, which is correct because an override `config.yaml` exists in the google/fonts family directory.
+
+## Repository Analysis
+
+**Repository**: https://github.com/marcelommp/Londrina-Typeface
+**Cached at**: `upstream_repos/fontc_crater_cache/marcelommp/Londrina-Typeface`
+**Default branch**: master
+**Repository status**: Clean, up to date with origin
+
+The repository hosts the entire Londrina typeface family (Outline, Shadow, Sketch, and Solid variants). It was created by designer Marcelo Magalhaes (marcelommp).
+
+### Structure at referenced commit (7f4129e)
+
+The repo contained UFO sources in `FONTLAB_UFO_FILES/` and pre-compiled binaries in `TTF/` and `OTF/` directories:
+
+- `FONTLAB_UFO_FILES/LondrinaShadow-Regular.ufo` — UFO source for the Shadow variant
+- `FONTLAB_UFO_FILES/LondrinaOutline-Regular.ufo` — Outline variant source
+- `FONTLAB_UFO_FILES/LondrinaSketch-Regular.ufo` — Sketch variant source
+- `FONTLAB_UFO_FILES/LondrinaSolid-*.ufo` — Solid variant sources (Black, Light, Regular, Thin)
+- `TTF/LondrinaShadow-Regular.ttf` — Pre-compiled binary
+- No `config.yaml` existed at this commit or at any point in the repo's history
+
+### Later activity
+
+After the referenced commit, the designer continued making updates to the repository:
+- 2018-07: Font adjustments (commit 6d492b4)
+- 2019-04: Added Glyphs source files (commit f7aed96)
+- 2022-10: New Glyphs App file and uploads (commits 239d89c, 80630a7, 6988bc4)
+- 2023-06: Major update of Londrina Family (commit cc7b65f)
+
+These later changes have NOT been incorporated into Google Fonts.
+
+## Onboarding History
+
+### Initial addition
+
+The font was initially added to Google Fonts on 2015-03-07 (commit 90abd17b — "Initial commit"), with `date_added: "2012-03-14"` in METADATA.pb suggesting an earlier catalog presence.
+
+### v1.002 update (PR #1086)
+
+The most recent binary update was through **PR #1086** ("londrinashadow: v1.002 added"), authored by Marc Foley (m4rc1e) and merged on 2017-07-31. The PR body stated:
+
+> Adds extra fonts request in #69
+> Upstream has been merged, marcelommp/Londrina-Typeface#2 (comment)
+
+This referred to upstream PR #2 (m4rc1e/gf-mastering branch), which was a batch of mastering work performed by Marc Foley on 2017-07-13 and merged by the designer on 2017-07-17.
+
+### Source block history
+
+1. **2023-12-14** (commit e75f824): Simon Cozens added the `repository_url` field in a batch "Update upstreams" commit
+2. **2025-12-12** (commit 9456570): Felipe Sanches added the `commit` hash and override `config.yaml`
+
+## Build Configuration
+
+**No `config.yaml` exists in the upstream repository** at any commit.
+
+An **override `config.yaml`** was added to the google/fonts family directory on 2025-12-12 (commit 9456570) with the following content:
+
+```yaml
+buildVariable: false
+sources:
+  - FONTLAB_UFO_FILES/LondrinaShadow-Regular.ufo
+```
+
+This correctly references the UFO source path at the documented commit hash. The `config_yaml` field is intentionally omitted from METADATA.pb because google-fonts-sources auto-detects local overrides.
+
+## Findings
+
+1. **Binary verification**: The TTF file at commit `7f4129e` in the upstream repo (`TTF/LondrinaShadow-Regular.ttf`) has an identical MD5 hash (`cc3afb5fa33f63f15866136819031465`) to the file in google/fonts. This confirms the commit hash is correct.
+
+2. **Commit hash is accurate**: The referenced commit `7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060` ("fixed rfn in copyright strings", 2017-07-13) was the last commit in Marc Foley's mastering branch before it was merged upstream via PR #2 on 2017-07-17. The google/fonts PR #1086 was merged on 2017-07-31, and the binary matches exactly.
+
+3. **Source block is complete**: The repository URL, commit hash, and override config.yaml are all correctly set. No corrections are needed.
+
+4. **Upstream has diverged significantly**: The designer made substantial updates in 2022-2023 (new Glyphs source files, family update), but these have not been onboarded to Google Fonts yet.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes needed:
+
+```
+source {
+  repository_url: "https://github.com/marcelommp/Londrina-Typeface"
+  commit: "7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060"
+}
+```
+
+The override `config.yaml` in the google/fonts family directory is correctly configured and does not require a `config_yaml` field in METADATA.pb.
diff --git a/ofl/londrinasketch/upstream_info.md b/ofl/londrinasketch/upstream_info.md
new file mode 100644 (file)
index 0000000..9f1d17b
--- /dev/null
@@ -0,0 +1,151 @@
+# Londrina Sketch — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/marcelommp/Londrina-Typeface"
+  commit: "7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060"
+}
+```
+
+An override `config.yaml` exists in the google/fonts family directory (`ofl/londrinasketch/config.yaml`), so the `config_yaml` field is correctly omitted from the METADATA.pb source block.
+
+## Repository Analysis
+
+**Upstream repo**: https://github.com/marcelommp/Londrina-Typeface
+**Owner**: marcelommp (Marcelo Magalhaes)
+**Default branch**: master
+**Repo status**: Clean, up to date with origin
+
+This is a shared repository containing sources for multiple Londrina family variants:
+- Londrina Outline
+- Londrina Shadow
+- Londrina Sketch
+- Londrina Solid
+
+All four families are present in google/fonts under `ofl/londrinaoutline`, `ofl/londrinashadow`, `ofl/londrinasketch`, and `ofl/londrinasolid`.
+
+### Repository Structure (at referenced commit 7f4129e)
+
+```
+FONTLAB_UFO_FILES/
+  LondrinaOutline-Regular.ufo/
+  LondrinaShadow-Regular.ufo/
+  LondrinaSketch-Regular.ufo/
+  LondrinaSolid-Black.ufo/
+  LondrinaSolid-Light.ufo/
+  LondrinaSolid-Regular.ufo/
+  LondrinaSolid-Thin.ufo/
+  vfb/
+  dehint.sh
+OTF/
+  (compiled OTF files)
+TTF/
+  LondrinaSketch-Regular.ttf (and others)
+```
+
+The LondrinaSketch-Regular.ufo source contains a standard UFO structure: features.fea, fontinfo.plist, glyphs, groups.plist, kerning.plist, lib.plist, metainfo.plist.
+
+### Post-Onboarding Changes in Upstream
+
+Significant upstream activity occurred after the onboarding commit:
+- **2018-07-12**: Font adjustments (commit 6d492b4)
+- **2019-04-02**: Added Glyphs source files (commit f7aed96)
+- **2022-10-21**: New Glyphs App file and uploads (commits 239d89c, 80630a7, 6988bc4)
+- **2023-06-15**: Major update of the entire Londrina family (commit cc7b65f) — expanded character set, added layer fonts, SVG color fonts, new font styles
+
+The latest update (2023) represents a substantial redesign and expansion that has not been onboarded to Google Fonts.
+
+## Onboarding History
+
+### Initial Addition
+
+The font was initially added to google/fonts in the initial commit (90abd17b, date unknown as part of the original bulk import).
+
+### v1.002 Update (PR #1085)
+
+- **PR**: google/fonts#1085
+- **Title**: "londrinasketch: v1.002 added"
+- **Author**: Marc Foley (m4rc1e)
+- **Merged by**: Dave Crossland (davelab6)
+- **Merged at**: 2017-07-31
+- **Commit in google/fonts**: c238df8bf
+- **PR body**: "Adds extra fonts request in #69. Upstream has been merged, marcelommp/Londrina-Typeface#2"
+
+The PR referenced upstream PR marcelommp/Londrina-Typeface#2, which was a "gf-mastering" PR by Marc Foley. This upstream PR was merged as commit a2b7062 on 2017-07-17.
+
+The upstream mastering work spanned several commits by Marc Foley (all dated 2017-07-13):
+1. `a63f884` — renamed source filenames, moved vfbs into separate sub folder
+2. `d2d4469` — Solid family mastered
+3. `78eb13a` — Outline family mastered (note: Sketch was not separately mastered, likely handled together)
+4. `2aa19f8` — fixed vertical metrics
+5. `4e0ee2c` — ran Fix fonts for GF spec
+6. `deed74a` — readjusted metrics to visually appear like previous GF release
+7. `f80de6a` — fixed copyright strings
+8. `0034a81` — Generated v1.002 fonts
+9. `c51f8ae` — disabled subroutines
+10. `3754d39` — remove hints
+11. `7f4129e` — fixed RFN in copyright strings (the final commit before merge)
+
+### Binary File Verification
+
+The TTF file at upstream commit `7f4129e` (`TTF/LondrinaSketch-Regular.ttf`) matched the file in google/fonts exactly (MD5: `375773908d75efb116ad9ac24fdbdfe6`). This confirms that `7f4129e` is the correct onboarding commit.
+
+### Source Block History
+
+1. **2023-12-14** (commit e75f82401, by Simon Cozens): Added the initial `source { repository_url }` block as part of a batch "Update upstreams" commit.
+2. **2025-12-12** (commit 068372ef7, by Felipe Sanches): Added the `commit` hash to the source block, and created the override `config.yaml`.
+
+## Build Configuration
+
+**No config.yaml in upstream repo**. The upstream repository has never contained a gftools-builder config.yaml file.
+
+**Override config.yaml in google/fonts** (`ofl/londrinasketch/config.yaml`):
+
+```yaml
+buildVariable: false
+sources:
+  - FONTLAB_UFO_FILES/LondrinaSketch-Regular.ufo
+```
+
+This override was added by Felipe Sanches in commit 068372ef7 (2025-12-12). It correctly points to the UFO source for the Sketch variant within the shared Londrina-Typeface repository. The `buildVariable: false` flag is appropriate since this is a single-weight static font.
+
+Since the override config.yaml exists in the google/fonts family directory, google-fonts-sources auto-detects it, and no `config_yaml` field is needed in METADATA.pb.
+
+## Findings
+
+1. **Source block is complete and correct.** The repository URL (`https://github.com/marcelommp/Londrina-Typeface`) and commit hash (`7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060`) are verified. The binary file at that commit matches the file in google/fonts exactly.
+
+2. **Override config.yaml is correctly configured.** It references the appropriate UFO source (`FONTLAB_UFO_FILES/LondrinaSketch-Regular.ufo`) at the referenced commit.
+
+3. **Shared repository.** The upstream repo is shared among four Londrina families (Outline, Shadow, Sketch, Solid). Each family in google/fonts requires its own source block and config.yaml pointing to the correct UFO within the same repository.
+
+4. **Significant upstream updates not yet onboarded.** The designer (Marcelo Magalhaes) made substantial updates in 2022-2023, including expanded character sets, new font styles (Layers, SVG Color fonts), and a reorganized repository structure. These changes have not been reviewed or onboarded to Google Fonts.
+
+5. **No corrections needed.** The current METADATA.pb source block and override config.yaml are accurate and complete.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes needed:
+
+```
+source {
+  repository_url: "https://github.com/marcelommp/Londrina-Typeface"
+  commit: "7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060"
+}
+```
+
+With the override `config.yaml` in the google/fonts family directory:
+
+```yaml
+buildVariable: false
+sources:
+  - FONTLAB_UFO_FILES/LondrinaSketch-Regular.ufo
+```
+
+**Confidence**: HIGH
diff --git a/ofl/londrinasolid/upstream_info.md b/ofl/londrinasolid/upstream_info.md
new file mode 100644 (file)
index 0000000..3919931
--- /dev/null
@@ -0,0 +1,110 @@
+# Londrina Solid — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/marcelommp/Londrina-Typeface"
+  commit: "7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060"
+}
+```
+
+An override `config.yaml` exists in the google/fonts family directory (added in commit `cf231062f`, 2025-12-12), so the `config_yaml` field is correctly omitted from METADATA.pb.
+
+## Repository Analysis
+
+**Repository**: https://github.com/marcelommp/Londrina-Typeface
+**Owner**: marcelommp (Marcelo Magalhaes)
+**Cached at**: `upstream_repos/fontc_crater_cache/marcelommp/Londrina-Typeface`
+**Repo status**: Clean, up to date with origin/master
+
+The repository contains the full Londrina typeface family (Solid, Outline, Shadow, Sketch). It is organized as follows:
+
+- `FONTLAB_UFO_FILES/` — UFO source files for all Londrina sub-families, including:
+  - `LondrinaSolid-Black.ufo`
+  - `LondrinaSolid-Light.ufo`
+  - `LondrinaSolid-Regular.ufo`
+  - `LondrinaSolid-Thin.ufo`
+- `Source Glyphs/` — Glyphs App master file (`Londrina_Masters.glyphs`)
+- `Source Glyphs /` (with trailing space) — Individual `.glyphs` files per style (added later by the designer)
+- `TTF/` — Pre-compiled TrueType fonts
+- `OTF/` — Pre-compiled OpenType fonts
+- No `config.yaml` exists in the upstream repository
+
+The UFO files in `FONTLAB_UFO_FILES/` were created by Marc Foley (m4rc1e) during the mastering process for Google Fonts onboarding in July 2017 (upstream PR #2).
+
+## Onboarding History
+
+**Initial addition**: The font was originally added to Google Fonts on 2012-03-14 (per `date_added` in METADATA.pb), appearing in the initial commit (`90abd17b4`). At that time, only LondrinaSolid-Regular.ttf was included.
+
+**v1.002 update (PR #1084)**: On 2017-07-31, PR #1084 ("londrinasolid: v1.002 added") was merged (commit `c581a3f90`). This PR added three new weights (Thin, Light, Black) and updated the Regular weight. The PR body referenced:
+- Issue #69: "Add new Lodrina family styles (Thin, Book, Black)" — a request from the designer @marcelommp
+- Upstream PR #2 (m4rc1e/gf-mastering branch merged into marcelommp/Londrina-Typeface)
+
+The mastering work was done by Marc Foley (`m4rc1e`) in the upstream repo, with the following key commits:
+1. `d2d4469` (2017-07-13) — "Solid family mastered"
+2. `2aa19f8` — "fixed vertical metrics"
+3. `4e0ee2c` — "ran Fix fonts for GF spec"
+4. `deed74a` — "readjusted metrics to visually appear like previous GF release"
+5. `f80de6a` — "fixed copyright strings"
+6. `0034a81` — "Generated v1.002 fonts"
+7. `c51f8ae` — "disable subroutines"
+8. `3754d39` — "remove hints"
+9. `7f4129ee` — "fixed rfn in copyright strings" (final commit in the mastering branch)
+
+The upstream PR #2 was merged by Marcelo Magalhaes on 2017-07-17 (merge commit `a2b7062`). The next upstream commit after the merge was `6d492b4` on 2018-07-12, well after the google/fonts PR was merged.
+
+**Source block additions**:
+- `e75f8240` (2023-12-14, "Update upstreams") — Added the `source { repository_url }` block
+- `cf231062f` (2025-12-12, "sources info for Londrina Solid: v1.002 (PR #1084)") — Added `commit` hash and override `config.yaml`
+
+## Build Configuration
+
+**Upstream config.yaml**: None exists in the upstream repository.
+
+**Override config.yaml** (in google/fonts family directory):
+```yaml
+buildVariable: false
+sources:
+  - FONTLAB_UFO_FILES/LondrinaSolid-Black.ufo
+  - FONTLAB_UFO_FILES/LondrinaSolid-Light.ufo
+  - FONTLAB_UFO_FILES/LondrinaSolid-Regular.ufo
+  - FONTLAB_UFO_FILES/LondrinaSolid-Thin.ufo
+```
+
+This override was added in commit `cf231062f` (2025-12-12). It references the four UFO source files in the `FONTLAB_UFO_FILES/` directory, building four static (non-variable) fonts. The source paths are relative to the upstream repo root at the referenced commit.
+
+## Findings
+
+1. **Commit hash verified**: The commit `7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060` ("fixed rfn in copyright strings", 2017-07-13 by Marc Foley) is the last commit in the mastering branch before the upstream merge. TTF file sizes match exactly between this commit and the google/fonts files:
+   - LondrinaSolid-Black.ttf: 93,408 bytes
+   - LondrinaSolid-Light.ttf: 85,988 bytes
+   - LondrinaSolid-Regular.ttf: 92,132 bytes
+   - LondrinaSolid-Thin.ttf: 80,672 bytes
+
+2. **Repository URL verified**: https://github.com/marcelommp/Londrina-Typeface is the correct upstream repository, matching the copyright strings in METADATA.pb and the references in PR #1084.
+
+3. **Override config.yaml is appropriate**: The upstream repo has no `config.yaml`, but does have gftools-builder compatible UFO sources. The override correctly references these sources with `buildVariable: false`.
+
+4. **Multi-family repo**: The upstream repository contains sources for all four Londrina sub-families (Solid, Outline, Shadow, Sketch). Each sub-family in google/fonts should have its own override config.yaml referencing the relevant source files.
+
+5. **Source block is complete**: The current METADATA.pb source block has the correct `repository_url` and `commit` hash. The `config_yaml` field is correctly omitted because an override `config.yaml` exists in the google/fonts family directory.
+
+6. **No further action needed**: All metadata is correct and complete for this family.
+
+## Recommended Source Block
+
+The current source block is correct and complete:
+
+```
+source {
+  repository_url: "https://github.com/marcelommp/Londrina-Typeface"
+  commit: "7f4129ee609e13f4dc9bcdce6f8a08f5d9bc8060"
+}
+```
+
+With the override `config.yaml` in the google/fonts family directory providing the build configuration. No changes are needed.
diff --git a/ofl/lovedbytheking/upstream_info.md b/ofl/lovedbytheking/upstream_info.md
new file mode 100644 (file)
index 0000000..12b8ee7
--- /dev/null
@@ -0,0 +1,91 @@
+# Loved by the King — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+No source block exists. The current METADATA.pb contains only basic font metadata (name, designer, license, category, fonts, subsets, classifications) with no `source { }` block.
+
+## Repository Analysis
+
+The only upstream repository found is **librefonts/lovedbytheking** on GitHub (`https://github.com/librefonts/lovedbytheking`).
+
+- **Organization**: `librefonts` is an automated mirror organization that decomposed early Google Fonts binaries into TTX (XML) format for version control. It is not a design-source repository.
+- **Created**: 2014-07-16
+- **Last pushed**: 2014-10-17
+- **Commits**: Single commit (`d22be35`) by `hash3g` dated 2014-10-17, titled "update .travis.yml"
+- **Branches**: Only `master`
+- **Status**: Clean, synced with origin
+
+### Repository Contents
+
+The repo contains:
+- **Root**: Decomposed TTX files of `LovedbytheKing.ttf` (each table in a separate `.ttx` file), `METADATA.json`, `OFL.txt`, `DESCRIPTION.en_us.html`, `.travis.yml`
+- **`src/`**: `LovedbytheKing-TTF.sfd` (FontForge Spline Font Database v3.0), `LovedbytheKing.vfb` (FontLab binary), decomposed OTF TTX files, `METADATA_comments.txt`, `VERSIONS.txt`
+
+### Source File Analysis
+
+- **SFD file**: FontForge Spline Font Database format (legacy). Not compatible with gftools-builder.
+- **VFB file**: FontLab Studio binary format (legacy, proprietary). Not compatible with gftools-builder.
+- **No `.glyphs`, `.glyphx`, `.ufo`, or `.designspace` files** exist in the repo.
+- **No `config.yaml`** exists in the repo.
+- The TTX files are decomposed binary font tables, not editable design sources.
+
+### Build Configuration (Travis CI)
+
+The `.travis.yml` used the legacy `fontbakery-build.py` tool (circa 2014), which predated the modern gftools-builder pipeline. This build system is no longer supported.
+
+## Onboarding History
+
+- **Added to Google Fonts**: 2011-07-06 (per `date_added` in METADATA.pb)
+- **Git history**: The font binary was added in the initial commit of the google/fonts repository (`90abd17b4`, 2015-03-07, by Dave Crossland). This was the bulk import of all existing Google Fonts into the new Git-based repository.
+- **No subsequent modifications**: The TTF file has never been updated since the initial commit.
+- **No associated PRs**: The font was part of the initial bulk import, so there are no individual onboarding PRs to trace.
+
+## Font Metadata (from TTX)
+
+- **Version**: 1.002 (2006)
+- **Copyright**: Copyright (c) 2006 by Kimberly Geswein. All rights reserved.
+- **Designer**: Kimberly Geswein
+- **Designer URL**: http://kimberlygeswein.com (site is live, returns HTTP 200)
+- **Head table created/modified**: 2011-07-01
+
+## Designer Context
+
+Kimberly Geswein is a prolific handwriting font designer with 22 font families in Google Fonts. She does not appear to have a GitHub account. Her fonts were typically created in FontLab or FontForge (VFB/SFD formats), predating the modern .glyphs/.ufo workflow. No designer-maintained upstream repository was found for this font.
+
+## Build Configuration
+
+- **config.yaml**: Does not exist in the upstream repo
+- **gftools-builder compatible sources**: None. The repo contains only SFD (FontForge) and VFB (FontLab) files, which are legacy formats not supported by gftools-builder.
+- **Override config.yaml feasibility**: Not feasible. There are no `.glyphs`, `.ufo`, or `.designspace` sources from which gftools-builder could compile fonts.
+
+## Findings
+
+1. **No proper design sources exist**: The librefonts/lovedbytheking repo is an automated mirror containing decomposed TTX files and legacy SFD/VFB sources. These cannot be used with the modern gftools-builder pipeline.
+
+2. **The librefonts repo is the only known upstream**: No other repository (e.g., a designer-maintained repo) was found. The designer (Kimberly Geswein) does not have a GitHub presence.
+
+3. **Font has never been updated**: The binary in google/fonts dates from the initial bulk import (2015) and the font version is from 2006. It has never gone through the modern onboarding pipeline.
+
+4. **SFD-only sources**: The only usable source format is the FontForge SFD file. This is a legacy format that cannot be compiled via gftools-builder. A `config.yaml` override is not applicable here.
+
+5. **Pattern match**: Other Kimberly Geswein fonts (e.g., `architectsdaughter`) already reference `librefonts` repos in their source blocks with SFD-only sources, establishing a precedent for documenting these legacy repos.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/librefonts/lovedbytheking"
+  commit: "d22be35555328ba7c5a7255b875f08dd420e6cdd"
+}
+```
+
+**Notes on the recommended block**:
+- The `repository_url` points to the librefonts mirror, which is the only known upstream repository.
+- The `commit` is `d22be35` — the single commit in the repository, which contains all the source files.
+- No `config_yaml` field is included because there is no config.yaml in the repo and no gftools-builder compatible sources exist to create an override for.
+- This follows the same pattern as `architectsdaughter` (another Kimberly Geswein font with a `librefonts` source block).
+- **Status**: incomplete — the font lacks modern design sources (.glyphs/.ufo/.designspace) needed for gftools-builder compilation. The source block documents what exists (SFD-only legacy sources) but the font cannot be rebuilt from these sources using the current toolchain.
diff --git a/ofl/lovelight/upstream_info.md b/ofl/lovelight/upstream_info.md
new file mode 100644 (file)
index 0000000..1ce1b10
--- /dev/null
@@ -0,0 +1,116 @@
+# Love Light — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/love-light"
+  commit: "e4fc541136be7d2814ac542a930be1ebaa17b5e1"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/LoveLight-Regular.ttf"
+    dest_file: "LoveLight-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yml"
+}
+```
+
+## Repository Analysis
+
+- **Repository**: https://github.com/googlefonts/love-light
+- **Cached at**: `upstream_repos/fontc_crater_cache/googlefonts/love-light`
+- **Remote verified**: Yes, matches `https://github.com/googlefonts/love-light`
+- **Repo status**: Clean, up-to-date with origin/master
+- **Branches**: `master` only
+- **Total commits**: 1 (initial commit only)
+
+The repository contains a single commit (`e4fc541`) dated 2021-11-30, authored by Viviana Monsalve. This is both the initial and the only commit in the repository.
+
+### Source Files
+
+- `sources/LoveLight.glyphs` — Glyphs source file
+- `sources/config.yml` — gftools-builder configuration
+
+### Build Configuration (sources/config.yml)
+
+```yaml
+sources:
+  - LoveLight.glyphs
+familyName: "Love Light"
+buildVariable: false
+# autohintTTF: false
+```
+
+The config references a single Glyphs source and builds a static (non-variable) font family.
+
+### Font Outputs in Upstream Repo
+
+- `fonts/ttf/LoveLight-Regular.ttf`
+- `fonts/otf/LoveLight-Regular.otf`
+- `fonts/webfonts/LoveLight-Regular.woff2`
+
+## Onboarding History
+
+Love Light was added to Google Fonts on 2021-12-08 via PR #4135, titled "Love Light: Version 1.010; ttfautohint (v1.8.3) added". The PR was authored by Viviana Monsalve (vv-monsalve) and merged as commit `6612051d7`.
+
+The PR body confirmed the font was taken from the upstream repo at commit `e4fc541136be7d2814ac542a930be1ebaa17b5e1`, using gftools-packager.
+
+### Binary Verification
+
+The SHA-256 hash of `LoveLight-Regular.ttf` in google/fonts matches the binary in the upstream repo at the referenced commit exactly:
+`2036790ee211f84616197d5bdb90cd519d51a20013df2ffb8c9f3df996f1e016`
+
+This confirms the commit hash is correct — the font binary in google/fonts was taken directly from this commit.
+
+### Source Block History
+
+The source block was originally added during onboarding (PR #4135) with `repository_url`, `files`, and `branch` fields. A subsequent gftools-packager invocation removed the source block (referenced in the same PR body as issue google/fonts#2587). The source block was later restored via the "Merge upstream.yaml into METADATA.pb" batch process (`66f91f10f`). The `commit` and `config_yaml` fields were added by the "[Batch 2/4] port info from fontc_crater targets list" commit (`4ad8ac680`), which ported data from fontc_crater's target.json.
+
+## Build Configuration
+
+The upstream repo has a valid `sources/config.yml` at the referenced commit. The METADATA.pb correctly references it as `config_yaml: "sources/config.yml"`. Note the `.yml` extension (not `.yaml`), which matches the actual file in the upstream repo.
+
+## Findings
+
+1. **Repository URL**: Correct. Points to `https://github.com/googlefonts/love-light`.
+2. **Commit hash**: Correct. `e4fc541` is the only commit in the repo and matches the binary in google/fonts (SHA-256 verified).
+3. **Config path**: Correct. `sources/config.yml` exists in the upstream repo at the referenced commit with valid gftools-builder configuration.
+4. **Branch**: Correct. The repo has only the `master` branch.
+5. **No corrections needed**: All source block fields are accurate and complete.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes are recommended.
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/love-light"
+  commit: "e4fc541136be7d2814ac542a930be1ebaa17b5e1"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/LoveLight-Regular.ttf"
+    dest_file: "LoveLight-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yml"
+}
+```
diff --git a/ofl/loversquarrel/upstream_info.md b/ofl/loversquarrel/upstream_info.md
new file mode 100644 (file)
index 0000000..dd45fbd
--- /dev/null
@@ -0,0 +1,150 @@
+# Lovers Quarrel — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/lovers-quarrel"
+  commit: "bf3a5fd5bf11cd96b5545ee9191a16460296eb71"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/LoversQuarrel-Regular.ttf"
+    dest_file: "LoversQuarrel-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yml"
+}
+```
+
+The source block was assembled in two stages:
+1. Commit `66f91f10f` (2024-04-03, Simon Cozens) merged the `upstream.yaml` into METADATA.pb, adding the repository_url, branch, and file mappings.
+2. Commit `4ad8ac680` (2025-03-31, batch 2/4 from fontc_crater targets) added the `commit` hash and `config_yaml` field.
+
+## Repository Analysis
+
+**Repository**: [googlefonts/lovers-quarrel](https://github.com/googlefonts/lovers-quarrel)
+**Default branch**: master
+**Single branch**: Yes (only master)
+
+The upstream repository was created by Viviana Monsalve (vv-monsalve) to prepare the font for a Google Fonts upgrade. It contains:
+
+- `sources/LoversQuarrel.glyphs` — Glyphs source file (36,232 lines)
+- `sources/config.yml` — gftools-builder configuration
+- `fonts/ttf/LoversQuarrel-Regular.ttf` — Pre-built binary
+- `fonts/otf/LoversQuarrel-Regular.otf` — Pre-built OTF binary
+- `fonts/webfonts/LoversQuarrel-Regular.woff2` — Pre-built WOFF2 binary
+- `.github/workflows/CI-static-ttf.yml` — CI workflow
+- Standard metadata files (OFL.txt, AUTHORS.txt, CONTRIBUTORS.txt, README.md, DESCRIPTION.en_us.html)
+
+The `config.yml` at `sources/config.yml` contains:
+
+```yaml
+sources:
+  - LoversQuarrel.glyphs
+familyName: "Lovers Quarrel"
+buildVariable: false
+# autohintTTF: false
+```
+
+This is a valid gftools-builder configuration pointing to the `.glyphs` source.
+
+## Onboarding History
+
+**Original designer**: Robert Leuschke
+**Added to Google Fonts**: 2012-03-29 (initial commit `90abd17b4`)
+**Last font upgrade**: PR #3443, merged 2021-05-25, by Viviana Monsalve (vv-monsalve)
+
+### Font Upgrade Timeline (PR #3443)
+
+The font was upgraded from Version 1.000 to Version 1.010 via PR #3443 ("Lovers Quarrel: Version 1.010; ttfautohint (v1.8.3) added"). The PR was authored and merged by vv-monsalve.
+
+The upstream repository had active development from 2021-03-25 through 2021-05-25. Key commits:
+
+| Hash | Date | Description |
+|------|------|-------------|
+| `697ff7c` | 2021-03-25 | initial files added |
+| `fc51230` | 2021-05-13 | Merge PR #4 from crystaltype (path direction, L1 improvements) |
+| `e6c03f1` | 2021-05-13 | config file added |
+| `d25a15d` | 2021-05-14 | new source and font files |
+| `a20c251` | 2021-05-20 | Merge PR #6 from crystaltype (missing glyphs recovery) |
+| `c7c687a` | 2021-05-21 | version bumped to 1.010 |
+| `de6ca22` | 2021-05-21 | quotes small fix |
+| `bf2edcda` | 2021-05-25 10:10 | Description changes saved and pushed |
+| `bf3a5fd` | 2021-05-25 15:29 | github repo fixed |
+| PR merged | 2021-05-25 21:14 | google/fonts PR #3443 merged |
+
+### Commit Hash Discrepancies
+
+Three different commit hashes appeared across references:
+
+1. **`de6ca22`** — Referenced in the PR #3443 body ("taken from the upstream repo ... at commit de6ca22b...")
+2. **`bf2edcda`** — Referenced in the google/fonts merge commit body
+3. **`bf3a5fd`** — Referenced in the current METADATA.pb (added by fontc_crater batch 2/4)
+
+Investigation revealed:
+- The gftools-packager initially referenced `de6ca22`, then `bf2edcda` was added as a follow-up commit to the PR body.
+- Between `de6ca22` and `bf3a5fd`, only `DESCRIPTION.en_us.html` was modified (no font binary changes).
+- The SHA-256 hash of `fonts/ttf/LoversQuarrel-Regular.ttf` at commit `bf3a5fd` matches the binary in `ofl/loversquarrel/LoversQuarrel-Regular.ttf` exactly (`a856cd5a36d050a6e7fb4b976143e6ddad8271bd...`).
+- All three commits predated the PR merge (2021-05-25 21:14 UTC).
+- `bf3a5fd` is the HEAD of the master branch and represents the final state used for onboarding.
+
+The current METADATA.pb correctly references `bf3a5fd`, which is the latest commit and the actual state from which the font binary was taken.
+
+## Build Configuration
+
+**Config file**: `sources/config.yml` (in upstream repo)
+**Config path in METADATA.pb**: `sources/config.yml`
+**Override config in google/fonts**: Not needed (upstream has config)
+**Build type**: Static only (`buildVariable: false`)
+**Source format**: `.glyphs` (Glyphs)
+**Source file**: `sources/LoversQuarrel.glyphs`
+
+The config.yml is valid and correctly references the source file. The METADATA.pb `config_yaml` field correctly points to `sources/config.yml`.
+
+## Findings
+
+1. **Source block is complete and correct.** The repository_url, commit hash, branch, config_yaml, and file mappings are all accurate.
+
+2. **Commit hash is verified.** The binary font file SHA-256 hash matches between the upstream repo at the referenced commit and the google/fonts copy. The commit `bf3a5fd` is the correct reference — it is the latest commit in the upstream repo and was made before the PR merge.
+
+3. **Config.yaml is present in upstream.** The `sources/config.yml` file exists in the upstream repo with valid gftools-builder configuration. No override config is needed.
+
+4. **Historical note on commit hash discrepancies.** The gftools-packager message in the google/fonts merge commit referenced `bf2edcda`, and the PR body originally referenced `de6ca22`. Both are earlier commits from the same day (or a few days prior). The fontc_crater batch import correctly identified `bf3a5fd` as the HEAD commit, which is the most accurate reference since the font binary was identical across all three commits and `bf3a5fd` represents the final state.
+
+5. **No further action needed.** The source block metadata is complete and accurate.
+
+## Recommended Source Block
+
+The current source block is correct. No changes are needed.
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/lovers-quarrel"
+  commit: "bf3a5fd5bf11cd96b5545ee9191a16460296eb71"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/LoversQuarrel-Regular.ttf"
+    dest_file: "LoversQuarrel-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yml"
+}
+```
diff --git a/ofl/loveyalikeasister/upstream_info.md b/ofl/loveyalikeasister/upstream_info.md
new file mode 100644 (file)
index 0000000..ed14996
--- /dev/null
@@ -0,0 +1,143 @@
+# Love Ya Like A Sister — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+No source block exists in METADATA.pb. The current file contains only basic metadata:
+
+```
+name: "Love Ya Like A Sister"
+designer: "Kimberly Geswein"
+license: "OFL"
+category: "DISPLAY"
+date_added: "2011-07-06"
+fonts {
+  name: "Love Ya Like A Sister"
+  style: "normal"
+  weight: 400
+  filename: "LoveYaLikeASister.ttf"
+  post_script_name: "LoveYaLikeASister-Regular"
+  full_name: "Love Ya Like A Sister Regular"
+  copyright: "Copyright (c) 2011 by Kimberly Geswein (kimberlygeswein@gmail.com). All rights reserved."
+}
+subsets: "latin"
+subsets: "latin-ext"
+subsets: "menu"
+classifications: "DISPLAY"
+classifications: "HANDWRITING"
+```
+
+## Repository Analysis
+
+**Repository URL**: https://github.com/librefonts/loveyalikeasister
+**Repository type**: Archive/mirror (librefonts organization)
+**Is NOT the designer's original repository** — the librefonts organization was an archival project that extracted font files from the old `googlefontdirectory` into individual GitHub repositories.
+
+### Repository structure
+
+The repository contains TTX decompositions of the font binary (not editable source files for building) and two legacy source files:
+
+- `src/LoveYaLikeASister-TTF.sfd` — FontForge SFD file (version 1.003)
+- `src/LoveYaLikeASister.vfb` — FontLab VFB file (proprietary binary format)
+- Multiple `.ttx` files — XML decomposition of the compiled TTF tables
+- `DESCRIPTION.en_us.html`, `METADATA.json`, `OFL.txt` — metadata files
+- `.travis.yml` — CI configuration for fontbakery testing
+
+No `.glyphs`, `.ufo`, `.designspace`, or `config.yaml` files exist.
+
+### Git history
+
+The repository was created on 2014-07-16 by Mikhail Kashkin (xen/m@xen.ru) with commit message "Move loveyalikeasister font files to separate repository". All subsequent commits (11 total, last on 2014-10-17) were by Vitaly Volkov (hash3g) updating the Travis CI configuration.
+
+| Commit | Date | Author | Message |
+|--------|------|--------|---------|
+| `41b8b1e` | 2014-10-17 | hash3g | update .travis.yml |
+| `0ebd3a1` | 2014-10-06 | hash3g | Rename fontbakery |
+| `ae687bd` | 2014-09-19 | hash3g | Update .travis.yml |
+| ... (8 more Travis CI updates) | | | |
+| `b02575c` | 2014-07-16 | Mikhail Kashkin | Move loveyalikeasister font files to separate repository |
+
+### Version mismatch
+
+The SFD source file in the repo declares version 1.003, while the compiled TTF binary in google/fonts reports version 1.002. This indicates the SFD was modified after the binary was originally compiled, making the SFD a newer (and different) version than what was used to produce the google/fonts binary.
+
+### Contributors
+
+- **vitalyvolkov** (hash3g): 11 contributions (all Travis CI updates)
+- **xen** (Mikhail Kashkin): 1 contribution (initial archival commit)
+
+Neither contributor is the original designer (Kimberly Geswein).
+
+## Onboarding History
+
+### Google Fonts timeline
+
+- **date_added**: 2011-07-06 — the font was added to Google Fonts
+- The google/fonts repository initial commit was on 2015-03-07, which was a bulk import of all existing fonts
+- The font binary (`LoveYaLikeASister.ttf`) has only been touched in two commits:
+  1. `90abd17` (2015-03-07) — Initial commit (bulk import)
+  2. `76adaf1` (2021-11-01) — Deploy commit by m4rc1e (repository restructuring, binary hash unchanged)
+- SHA-256 of the binary: `4fbe2c1fa647de5a415acac7b2b6491542fe9767b6199719a3bd77a7cf35eb0d` (identical across both commits)
+
+### Pre-git history
+
+The font was onboarded to Google Fonts in 2011, before the current google/fonts repository existed. The original submission predated the `googlefontdirectory` to `google/fonts` migration. No PR history is available for the original onboarding.
+
+### Font binary metadata (from TTF name table)
+
+- Version: 1.002 2007
+- Copyright: "Copyright (c) 2011 by Kimberly Geswein. All rights reserved."
+- Unique ID: "FontForge 2.0 : Love Ya Like A Sister Regular : 18-10-2011"
+- Designer: Kimberly Geswein
+- Vendor URL: http://www.kimberlygeswein.com
+- Designer URL: http://www.kimberlygeswein.com
+- License: SIL Open Font License 1.1
+
+The font was compiled using FontForge on 2011-10-18.
+
+## Build Configuration
+
+**No config.yaml exists** in the upstream repository.
+
+The source files are SFD (FontForge) and VFB (FontLab) formats only. These are not compatible with gftools-builder, which requires `.glyphs`, `.ufo`, or `.designspace` source formats. Creating an override `config.yaml` is not feasible because:
+
+1. SFD files are not supported as source inputs by gftools-builder/fontmake
+2. VFB files are proprietary FontLab format and not supported either
+3. The SFD version (1.003) does not match the binary version (1.002), so even if conversion were possible, it would produce a different font
+
+## Findings
+
+1. **No source block in METADATA.pb** — needs to be added.
+
+2. **librefonts is an archive, not a true upstream** — The `librefonts/loveyalikeasister` repository is an archival mirror created in 2014 by extracting files from the old `googlefontdirectory` project. It is not maintained by the original designer (Kimberly Geswein) and has not received any updates since October 2014.
+
+3. **No gftools-builder compatible sources** — The only source files are SFD (FontForge) and VFB (FontLab) formats. Neither format is supported by the modern gftools-builder pipeline. An override `config.yaml` cannot be meaningfully created.
+
+4. **Version mismatch between source and binary** — The SFD in the repo is version 1.003 while the binary in google/fonts is version 1.002, suggesting the SFD was updated independently from the binary compilation.
+
+5. **Pre-git onboarding** — The font was added to Google Fonts in 2011, well before the current google/fonts repository was created (2015). No PR or detailed onboarding history is available.
+
+6. **Designer has no GitHub presence** — Kimberly Geswein does not appear to have a GitHub account or any font source repositories on GitHub. Her website (kimberlygeswein.com) is still active.
+
+7. **No googlefonts org repo** — There is no `googlefonts/loveyalikeasister` repository. The only known repository is the librefonts archive.
+
+8. **Commit hash** — Since the librefonts repo is an archive (not the original source), the commit hash (`41b8b1e`) represents the last Travis CI update to the archive, not an actual source code change. The initial archival commit `b02575c` is equally not meaningful as an "onboarding commit."
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/librefonts/loveyalikeasister"
+  commit: "41b8b1e41883c6ef530bece6c906ab917a90387e"
+}
+```
+
+**Notes on the recommendation**:
+- The repository URL points to the librefonts archive, which is the only known public repository for this font
+- The commit hash `41b8b1e` is the HEAD of master, which is the latest (and final) state of the archive
+- No `config_yaml` field is included because the sources are SFD-only and not gftools-builder compatible
+- Status is "incomplete" because: (a) this is an archive repo, not the designer's original source, and (b) there are no gftools-builder compatible sources
+- Confidence: LOW — the librefonts repo is an archival mirror, not a true upstream source repository
diff --git a/ofl/lumanosimo/upstream_info.md b/ofl/lumanosimo/upstream_info.md
new file mode 100644 (file)
index 0000000..5555100
--- /dev/null
@@ -0,0 +1,138 @@
+# Lumanosimo — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/docrepair-fonts/lumanosimo-fonts"
+  commit: "a7395fda4d79523ae6f0a798e2ea2d8ed524fc80"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/Lumanosimo-Regular.ttf"
+    dest_file: "Lumanosimo-Regular.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+The source block is fully populated with repository_url, commit hash, file mappings, branch, and config_yaml.
+
+## Repository Analysis
+
+**Repository**: https://github.com/docrepair-fonts/lumanosimo-fonts
+**Owner**: docrepair-fonts
+**Cached at**: `upstream_repos/fontc_crater_cache/docrepair-fonts/lumanosimo-fonts/`
+
+The upstream repository contained only a single commit (`a7395fd`) on the `main` branch, with the message "Decomposed nested components" dated 2023-06-15. This indicated the repository was force-pushed or rebased at some point, as earlier commit hashes referenced in google/fonts PRs (e.g., `9c7040fd`, `5f7b8f5e`, `8f8b4fa1`) no longer existed in the repo history.
+
+### Repository Structure
+
+```
+.github/workflows/build.yaml
+sources/config.yaml
+sources/Lumanosimo-Regular.designspace
+sources/masters/Lumanosimo-Regular.ufo/
+fonts/ttf/Lumanosimo-Regular.ttf
+packager.yaml
+OFL.txt
+DESCRIPTION.en_us.html
+Makefile
+README.md
+```
+
+The repo used the standard google-fonts-template structure with a `packager.yaml` for gftools-packager integration.
+
+### Source Files
+
+- **Designspace**: `sources/Lumanosimo-Regular.designspace` — defined weight and width axes but only contained a single master (Regular), so the font was built as a static TTF (not variable).
+- **UFO source**: `sources/masters/Lumanosimo-Regular.ufo/`
+- **Config**: `sources/config.yaml` — configured to build static TTF only (`buildOTF: false`, `buildVariable: false`).
+
+## Onboarding History
+
+### Initial Onboarding — PR #6179 (merged 2023-04-13)
+
+- Created by **Yanone** (post@yanone.de)
+- Commit message: `[gftools-packager] Lumanosimo: Version 1.010; ttfautohint (v1.8.4.7-5d5b);gftools[0.9.28.dev5+ged2979d] added`
+- PR body referenced upstream commit `5f7b8f5ef520ddb71a50751887c4c85f512e1878`
+- The actual google/fonts commit (`682819999`) referenced a different hash: `9c7040fdb64635624ba28c03458e29778414c4a0`
+- The binary was 65,896 bytes (hinted with ttfautohint)
+
+### Update — PR #6250 (merged 2023-06-16)
+
+- Also created by **Yanone**
+- Commit message: `[gftools-packager] Lumanosimo: Version 1.010 added`
+- PR body referenced upstream commit `8f8b4fa1901a36e8a56fd15ab93ec1bea40580eb`
+- The actual google/fonts commit (`85974606d`) referenced commit `a7395fda4d79523ae6f0a798e2ea2d8ed524fc80`
+- The binary was replaced — shrunk from 65,896 to 38,736 bytes (unhinted version)
+- The METADATA.pb commit hash was updated from `9c7040fd` to `a7395fd`
+
+### Source Block Enrichment — Batch 2/4 (2025-03-31)
+
+- Commit `4ad8ac68` added the `config_yaml: "sources/config.yaml"` field
+- This was part of a batch import from fontc_crater's targets list
+
+## Build Configuration
+
+**Config file**: `sources/config.yaml` (in upstream repo)
+
+```yaml
+---
+buildOTF: false
+buildVariable: false
+familyName: Lumanosimo
+outputDir: ../fonts
+sources:
+  - Lumanosimo-Regular.designspace
+```
+
+The config was valid and present in the upstream repo at the referenced commit. It built a single static TTF from the designspace, outputting to the `fonts/` directory.
+
+## Findings
+
+1. **Source block is complete and correct.** The METADATA.pb had all required fields: repository_url, commit hash, file mappings, branch, and config_yaml.
+
+2. **Commit hash was verified.** The commit `a7395fda4d79523ae6f0a798e2ea2d8ed524fc80` was the only commit in the upstream repository. The binary file at `fonts/ttf/Lumanosimo-Regular.ttf` in the upstream repo matched the file in google/fonts exactly (SHA-256: `768d2bbe3b9dcfe5cdd89a01cf4f90b9729b58ae565233a2fab0f7f48b42f662`).
+
+3. **Repository was force-pushed.** The upstream repo contained only a single commit, yet the google/fonts history referenced three different upstream commit hashes across two PRs (`5f7b8f5e` in PR #6179 body, `9c7040fd` in the initial commit message, and `8f8b4fa1` in PR #6250 body vs `a7395fd` in the final commit). The current sole commit `a7395fd` ("Decomposed nested components") dated 2023-06-15 was the correct and current one.
+
+4. **All mapped files matched.** OFL.txt, DESCRIPTION.en_us.html, and the binary TTF were identical between the upstream repo and google/fonts.
+
+5. **No action needed.** The source block was fully populated and accurate.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes needed:
+
+```
+source {
+  repository_url: "https://github.com/docrepair-fonts/lumanosimo-fonts"
+  commit: "a7395fda4d79523ae6f0a798e2ea2d8ed524fc80"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/Lumanosimo-Regular.ttf"
+    dest_file: "Lumanosimo-Regular.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
diff --git a/ofl/lunasima/upstream_info.md b/ofl/lunasima/upstream_info.md
new file mode 100644 (file)
index 0000000..b66c16a
--- /dev/null
@@ -0,0 +1,136 @@
+# Lunasima — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/docrepair-fonts/lunasima-fonts"
+  commit: "88f44d7a6c3693aa455dc7194c6e5a01cb2a39ae"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/Lunasima-Regular.ttf"
+    dest_file: "Lunasima-Regular.ttf"
+  }
+  files {
+    source_file: "fonts/ttf/Lunasima-Bold.ttf"
+    dest_file: "Lunasima-Bold.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+## Repository Analysis
+
+**Repository**: https://github.com/docrepair-fonts/lunasima-fonts
+**Description**: Lunasima OFL fonts
+**Created**: 2023-03-17
+**Last pushed**: 2023-06-15
+**Default branch**: main
+
+The upstream repository contains a standard Google Fonts project structure based on the googlefonts-project-template. It includes:
+
+- `sources/config.yaml` — gftools-builder configuration
+- `sources/Lunasima-Regular.designspace` — designspace file defining weight (400-700) and width (1-200) axes
+- `sources/masters/Lunasima-Regular.ufo` — Regular master UFO source
+- `sources/masters/Lunasima-Bold.ufo` — Bold master UFO source
+- `fonts/ttf/Lunasima-Regular.ttf` — compiled Regular TTF (195,140 bytes)
+- `fonts/ttf/Lunasima-Bold.ttf` — compiled Bold TTF (196,420 bytes)
+- `packager.yaml` — gftools-packager configuration
+- `Makefile` — build automation (uses fontmake directly, not gftools-builder)
+
+The `config.yaml` at `sources/config.yaml` contains:
+
+```yaml
+buildOTF: false
+buildVariable: false
+buildWebfont: false
+familyName: Lunasima
+outputDir: ../fonts
+sources:
+  - Lunasima-Regular.designspace
+```
+
+This config builds static TTF instances only (Regular and Bold), no variable font, no OTF, no webfont. The designspace defines two axes (weight and width) but the instances are fixed at specific locations.
+
+Lunasima is a DocRepair project font, intended to improve compliance with the ISO/IEC 29500 standard by providing fallback for Lucida Grande. It is based on Noto Sans.
+
+## Onboarding History
+
+Lunasima was added to Google Fonts through PR #6253, created by Yanone on 2023-05-05 and merged on 2023-06-16.
+
+### Commit timeline in google/fonts:
+
+1. **`4c30359`** (2023-06-15) — `[gftools-packager] Lunasima: Version 2.009 added` — Original onboarding by Yanone. The commit message explicitly referenced upstream commit `88f44d7a6c3693aa455dc7194c6e5a01cb2a39ae`.
+2. **`66f91f1`** (2024-04-03) — `Merge upstream.yaml into METADATA.pb [skip ci]` — Simon Cozens merged the upstream.yaml file mappings into the METADATA.pb source block.
+3. **`4ad8ac6`** (2025-03-31) — `[Batch 2/4] port info from fontc_crater targets list` — Added `config_yaml: "sources/config.yaml"` to the source block.
+
+### PR body discrepancy:
+
+The PR #6253 body originally referenced commit `3e135f62521c769a7a6ad724e21113cb2c92163d` ("Removed polytonic Greek" by twardoch, 2023-04-18). However, the final commit in google/fonts referenced `88f44d7a6c3693aa455dc7194c6e5a01cb2a39ae` ("Use production names" by Yanone, 2023-06-15). This is consistent with the gftools-packager workflow: the PR was created on 2023-05-05 with the then-latest commit, but additional upstream work continued (including glyphs remapping and new font builds by Yanone on 2023-06-14 and 2023-06-15). The packager was re-run before the final merge, updating the referenced commit to the latest one.
+
+### Contributors:
+
+- **Yanone** (post@yanone.de) — Font engineer who created the PR and made the final upstream commits
+- **twardoch** (Adam Twardoch) — Contributor to the upstream repo, made earlier commits
+
+## Build Configuration
+
+**Config path**: `sources/config.yaml`
+**Config status**: Present in upstream repo, correctly referenced in METADATA.pb
+
+The config.yaml is a standard gftools-builder configuration that produces static TTF files only. The Makefile in the repo uses `fontmake` directly for building, but the `config.yaml` is compatible with gftools-builder as well.
+
+Note: The local clone is a shallow clone (depth 1), which means only the latest commit (`88f44d7`) is available locally. The GitHub API confirmed that the full history has 30 commits, including the `3e135f6` commit referenced in the PR body.
+
+## Findings
+
+1. **Source block is complete and correct**: The METADATA.pb source block contains all required fields — repository_url, commit hash, file mappings, branch, and config_yaml.
+
+2. **Commit hash verified**: The commit `88f44d7a6c3693aa455dc7194c6e5a01cb2a39ae` is the latest (and only visible in the shallow clone) commit on the main branch. It was authored by Yanone on 2023-06-15, one day before the PR was merged on 2023-06-16.
+
+3. **Binary files match**: The SHA-256 hashes of both `Lunasima-Regular.ttf` and `Lunasima-Bold.ttf` in google/fonts exactly match the files in the upstream repo at commit `88f44d7`, confirming these are the pre-compiled binaries from the upstream repo (not re-built by gftools-builder).
+
+4. **No additional upstream changes**: The upstream repo has not been updated since `88f44d7` (last pushed 2023-06-15), so there is no risk of drift between google/fonts and the upstream.
+
+5. **No action needed**: All metadata is correct and complete.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes needed:
+
+```
+source {
+  repository_url: "https://github.com/docrepair-fonts/lunasima-fonts"
+  commit: "88f44d7a6c3693aa455dc7194c6e5a01cb2a39ae"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/Lunasima-Regular.ttf"
+    dest_file: "Lunasima-Regular.ttf"
+  }
+  files {
+    source_file: "fonts/ttf/Lunasima-Bold.ttf"
+    dest_file: "Lunasima-Bold.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
diff --git a/ofl/lusitana/upstream_info.md b/ofl/lusitana/upstream_info.md
new file mode 100644 (file)
index 0000000..071402a
--- /dev/null
@@ -0,0 +1,83 @@
+# Lusitana — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+No source block exists in the current METADATA.pb. The file contains only basic font metadata (name, designer, license, category, date_added, fonts, subsets) with no `source { }` block.
+
+## Repository Analysis
+
+### googlefonts/lusitana (https://github.com/googlefonts/lusitana)
+
+This repository is **archived and empty** (size 0). It was created on 2015-04-17 but never received any content — no commits, no branches. It cannot serve as an upstream source.
+
+### librefonts/lusitana (https://github.com/librefonts/lusitana)
+
+This is the only repository containing source files for Lusitana. It belongs to the `librefonts` organization, which appears to be an automated archival/mirror project that hosts many Google Fonts families (aclonica, arimo, calligraffitti, etc.). The repository was created on 2014-07-16 and has a single commit (`8fa070c`) dated 2014-10-17, authored by "hash3g" (hash.3g@gmail.com).
+
+**Source files found** in the `src/` directory:
+- `Lusitana-Regular-TTF.sfd` — FontForge Spline Font Database v3.0
+- `Lusitana-Bold-TTF.sfd` — FontForge Spline Font Database v3.0
+- `Lusitana-Regular-OTF.vfb` — FontLab binary source
+- `Lusitana-Bold-OTF.vfb` — FontLab binary source
+- Various `.ttx` decomposed font table dumps (TTX XML format)
+
+The repository also contains TTX dumps of the compiled TTF files at the top level, a `.travis.yml` for fontbakery CI, `FONTLOG.txt`, `DESCRIPTION.en_us.html`, `METADATA.json`, and `OFL.txt`.
+
+**No config.yaml** exists in this repository. The sources are SFD (FontForge) and VFB (FontLab) format files, which are not compatible with gftools-builder. An override config.yaml cannot be created for these source types.
+
+### Designer Information
+
+The original type designer is **Ana Paula Megda** (anapbm@gmail.com, www.anamegda.com). The font copyright dates to 2011. No personal GitHub repository for this font was found.
+
+## Onboarding History
+
+Lusitana was added to Google Fonts as part of the **initial commit** (`90abd17b4`) on 2015-03-07 by Dave Crossland. This massive initial commit imported the entire existing Google Fonts library into the current repository structure. The font binary files (Lusitana-Regular.ttf, Lusitana-Bold.ttf) have **never been updated** since that initial commit.
+
+Subsequent commits only modified metadata files:
+- 2015-12-08: METADATA.pb textproto conversion (Rod Sheeter)
+- 2016-01-11: Copyright field update and METADATA.json removal (Rod Sheeter)
+- 2021-12-12: Language support metadata added (Nathan Williams, PR #4160)
+- 2022-04-15 to 2022-05-23: Language metadata rollback and redo (PRs #4677, #4706)
+
+### Related Issues
+
+- **Issue #2647** (opened 2020-08-26 by Marc Foley): Reports a problem with caret (^) sidebearings in Lusitana. This is a font quality issue, not related to onboarding.
+
+## Build Configuration
+
+No `config.yaml` exists in the upstream repository. The source files are in SFD (FontForge) and VFB (FontLab) formats, which are **not compatible with gftools-builder**. The font predates the modern gftools-builder workflow — it was compiled using older tooling (FontForge/FontLab) circa 2011.
+
+An override config.yaml **cannot** be meaningfully created because:
+1. gftools-builder does not support SFD or VFB source formats
+2. The sources would need to be converted to .glyphs, .ufo, or .designspace format first
+3. Such a conversion would constitute a new build, not a reproduction of the original
+
+## Findings
+
+1. **No source block** exists in METADATA.pb — one needs to be added.
+2. The `googlefonts/lusitana` repository is **archived and empty** — it should not be used as repository_url.
+3. The `librefonts/lusitana` repository contains the only known sources (SFD + VFB files) but is not the original designer's repository — it is a third-party archive maintained by the `librefonts` organization.
+4. The source files are in **legacy formats** (SFD, VFB) that are not compatible with gftools-builder.
+5. The font has **never been updated** since the initial Google Fonts import in March 2015.
+6. The font was originally released in December 2011 (version 1.001) by Ana Paula Megda.
+7. Since the librefonts repo has only one commit, the commit hash `8fa070c` is the only option for referencing the source state.
+8. There is no config.yaml and none can be created for SFD-only sources.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/librefonts/lusitana"
+  commit: "8fa070c2ac2963f13feee142e2001777ac48e774"
+}
+```
+
+**Notes on this recommendation**:
+- The `librefonts/lusitana` repository is used as it is the only repository with source files. It is a third-party archive, not the original designer's repository.
+- The `config_yaml` field is omitted because the sources are SFD/VFB format files that are incompatible with gftools-builder. No override config.yaml can be created.
+- The commit hash `8fa070c` is the only commit in the repository.
+- Confidence: **MEDIUM** — The librefonts repo is a legitimate archive of the sources, but it is not maintained by the original designer. The SFD/VFB sources cannot be used with modern build tooling.
diff --git a/ofl/lustria/upstream_info.md b/ofl/lustria/upstream_info.md
new file mode 100644 (file)
index 0000000..bb0fbcf
--- /dev/null
@@ -0,0 +1,96 @@
+# Lustria — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete (SFD-only sources)
+
+## METADATA.pb Source Block (current)
+
+The current METADATA.pb on upstream main has **no source block**. A source block was added on the local branch `sources_info_2026-02-25` (commit `9a14639f3`) but has not been merged to upstream google/fonts main yet.
+
+Current METADATA.pb contents (upstream main):
+```
+name: "Lustria"
+designer: "MADType"
+license: "OFL"
+category: "SERIF"
+date_added: "2012-01-18"
+fonts {
+  name: "Lustria"
+  style: "normal"
+  weight: 400
+  filename: "Lustria-Regular.ttf"
+  post_script_name: "Lustria-Regular"
+  full_name: "Lustria"
+  copyright: "Copyright (c) 2011, Matthew Desmond (http://www.madtype.com | mattdesmond@gmail.com), with Reserved Font Name Lustria"
+}
+subsets: "menu"
+subsets: "latin"
+subsets: "latin-ext"
+```
+
+## Repository Analysis
+
+**Upstream repository**: https://github.com/librefonts/lustria
+
+The repository was created on 2014-07-16 under the `librefonts` GitHub organization. It contains a single commit (`a796e0e874e34d163ac3aceb3f6014af1ef66d3c`) dated 2014-10-17, authored by `hash3g <hash.3g@gmail.com>` with the message "update .travis.yml". The repo is not archived and not a fork.
+
+**Contributors**: vitalyvolkov, xen
+
+### Repository Structure
+
+The repository contains:
+- `Lustria-Regular.ttf.*.ttx` — TTX decomposed tables of the TTF binary (root level)
+- `src/Lustria-Regular-TTF.sfd` — FontForge SFD source (327 KB)
+- `src/Lustria-Regular-OTF.vfb` — FontLab VFB source (80 KB)
+- `src/Lustria-Regular.otf.*.ttx` — TTX decomposed tables of the OTF binary
+- `src/METADATA_comments.txt` — Build comments referencing `~/googlefontdirectory/` workflow
+- `src/VERSIONS.txt` — Records "Version 001.001"
+- `.travis.yml` — CI configuration using fontbakery-build.py (legacy tooling)
+- `METADATA.json`, `FONTLOG.txt`, `DESCRIPTION.en_us.html`, `OFL.txt`
+
+**No modern source files found**: No `.glyphs`, `.glyphx`, `.ufo`, or `.designspace` files exist. The only editable sources are SFD (FontForge) and VFB (FontLab) formats, which are not compatible with gftools-builder.
+
+**No `config.yaml` found** in the repository.
+
+## Onboarding History
+
+Lustria was added to Google Fonts in the "Initial commit" (`90abd17b4`) dated 2015-03-07, authored by Dave Crossland. The `date_added` field in METADATA.pb is "2012-01-18", indicating the font was part of the Google Fonts catalog before the current git repository was created.
+
+The font binary (`Lustria-Regular.ttf`, 37,400 bytes) has never been updated since the initial commit. Its SHA-256 hash is `8b50753779d151674dcc74bdf9cdde1e788d8fb2b9ace8fb183a0def0f7361ce` and remained unchanged throughout the repository history.
+
+The `librefonts/lustria` repository predates the initial google/fonts commit (created July 2014 vs. March 2015), and appears to be part of the `librefonts` organization's effort to provide source repositories for Google Fonts families. The repository was set up with Travis CI for automated font building using the legacy `fontbakery-build.py` toolchain.
+
+The METADATA_comments.txt file references `~/googlefontdirectory/` paths, indicating this font was processed using the original Google Fonts directory tooling (font-optimizer, subset.py) before the current repository structure was established.
+
+## Build Configuration
+
+**No `config.yaml` exists** in the upstream repository.
+
+The only available sources are:
+- `src/Lustria-Regular-TTF.sfd` — FontForge format
+- `src/Lustria-Regular-OTF.vfb` — FontLab format
+
+These legacy formats are **not compatible with gftools-builder**, which requires `.glyphs`, `.ufo`, or `.designspace` sources. An override `config.yaml` cannot be created because there are no buildable source files for gftools-builder.
+
+The `.travis.yml` used the legacy `fontbakery-build.py` pipeline with FontForge and fontcrunch, which is no longer the standard build system.
+
+## Findings
+
+1. **Repository identified**: The upstream repository is `https://github.com/librefonts/lustria` with a single commit `a796e0e`.
+2. **SFD-only sources**: The repository contains only FontForge (SFD) and FontLab (VFB) source files. These are legacy formats not supported by the modern gftools-builder toolchain.
+3. **No config.yaml possible**: Since there are no `.glyphs`, `.ufo`, or `.designspace` sources, no `config.yaml` can be created (neither in the upstream repo nor as an override).
+4. **Font unchanged**: The binary TTF in google/fonts has never been modified since the initial commit in 2015.
+5. **Commit hash verified**: The single commit `a796e0e874e34d163ac3aceb3f6014af1ef66d3c` is the only commit in the repository, making it the correct reference.
+6. **Pending source block**: A source block was prepared on the `sources_info_2026-02-25` branch but has not been merged to upstream google/fonts main.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/librefonts/lustria"
+  commit: "a796e0e874e34d163ac3aceb3f6014af1ef66d3c"
+}
+```
+
+No `config_yaml` field is needed because the sources are SFD-only (FontForge format) and cannot be built with gftools-builder. No override `config.yaml` is applicable.
diff --git a/ofl/luxuriousscript/upstream_info.md b/ofl/luxuriousscript/upstream_info.md
new file mode 100644 (file)
index 0000000..7866863
--- /dev/null
@@ -0,0 +1,129 @@
+# Luxurious Script — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+The METADATA.pb at `ofl/luxuriousscript/METADATA.pb` already contains a complete source block:
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/luxurious"
+  commit: "234fe6f071f7e4450893f159a4ca3512310c66ee"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/LuxuriousScript-Regular.ttf"
+    dest_file: "LuxuriousScript-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yml"
+}
+```
+
+## Repository Analysis
+
+- **Repository**: https://github.com/googlefonts/luxurious
+- **Created**: 2021-02-24
+- **Default branch**: master
+- **Last push**: 2021-11-04
+- **Status**: Valid and accessible
+
+The repository contains a single commit (`234fe6f`, "CI fixed", 2021-11-03) after a force-push that squashed the original history. The repo structure is:
+
+- `sources/Luxurious-Script.glyphs` — Glyphs source file
+- `sources/config.yml` — gftools-builder configuration
+- `fonts/ttf/LuxuriousScript-Regular.ttf` — compiled TTF binary
+- `fonts/otf/LuxuriousScript-Regular.otf` — compiled OTF binary
+- `fonts/webfonts/LuxuriousScript-Regular.woff2` — compiled WOFF2 binary
+- `OFL.txt`, `DESCRIPTION.en_us.html`, `README.md`, `AUTHORS.txt`, `CONTRIBUTORS.txt`
+
+The `config.yml` at `sources/config.yml` contains:
+
+```yaml
+sources:
+  - Luxurious-Script.glyphs
+familyName: "Luxurious Script"
+buildVariable: false
+#autohintTTF: false
+```
+
+The repository was clean and up-to-date with its remote at the time of investigation.
+
+## Onboarding History
+
+The font was added to Google Fonts on 2021-11-02 (per `date_added`) and merged on 2021-11-03 via PR #4003.
+
+**PR #4003**: "Luxurious Script: Version 1.010; ttfautohint (v1.8.3) added"
+- **Author**: Viviana Monsalve (@vv-monsalve)
+- **Merged**: 2021-11-03
+- **gftools-packager message**: Referenced upstream commit `884bf55ce7b09e8914b959481af6084cb09b1e75` at `https://github.com/googlefonts/luxurious`
+- The PR also contained a second commit removing the METADATA "source" block per issue google/fonts#2587
+
+**Commit history reconstruction**: The upstream repo's history was force-pushed on the same day as the onboarding merge. The original commit chain was:
+
+1. `935cbbb` — "v1.010 fonts added" (2021-11-03T01:34:32Z) — initial commit with fonts in `fonts/Script/` subdirectory
+2. `884bf55` — "repo structure rearranged" (2021-11-03T03:18:07Z) — moved files from `fonts/Script/{otf,ttf}` to `fonts/{otf,ttf}`, commented out `outputDir` in config.yml. **This was the commit gftools-packager used.**
+3. `234fe6f` — "CI fixed" (2021-11-03T20:31:55Z) — force-pushed as a single squashed commit, adding CI workflow and all files in their final structure. **This is the only commit visible in the current repo.**
+
+These orphaned commits (884bf55 and 935cbbb) are still accessible via the GitHub API but not via `git log` in the local clone.
+
+**Binary verification**: The TTF file in google/fonts (`ofl/luxuriousscript/LuxuriousScript-Regular.ttf`, 387,952 bytes) was confirmed identical to the TTF in the upstream repo at commit 234fe6f (matching MD5: `ec13b6616638bf5e248ba7668eca8199`). Since 884bf55 only reorganized directory structure without modifying the TTF binary, both commits contain the same font binary.
+
+## Build Configuration
+
+- **Config file**: `sources/config.yml` (present in the upstream repo)
+- **Source**: `Luxurious-Script.glyphs` (Glyphs format)
+- **Build type**: Static only (`buildVariable: false`)
+- **Override config in google/fonts**: None
+
+The `config_yaml` field in METADATA.pb correctly points to `sources/config.yml`.
+
+## Source Block Construction
+
+The source block was added in two stages:
+1. **Commit `66f91f10f`** (2024-04-03) by Simon Cozens: "Merge upstream.yaml into METADATA.pb" — added the repository_url, files, and branch fields
+2. **Commit `4ad8ac680`** (2025-03-31) by Felipe Sanches: "[Batch 2/4] port info from fontc_crater targets list" — added commit hash and config_yaml fields
+
+## Findings
+
+1. **Source block is complete and correct.** The METADATA.pb has repository_url, commit hash, file mappings, branch, and config_yaml all properly set.
+
+2. **Commit hash discrepancy is benign.** The METADATA.pb references commit `234fe6f` (the only surviving commit after force-push), while the original gftools-packager in PR #4003 referenced commit `884bf55` (now orphaned). Both commits contain identical TTF binaries. The current commit hash (`234fe6f`) is the correct one to use because it is the only commit accessible via normal git operations on the repository.
+
+3. **The `config_yaml` field correctly uses `.yml` extension** (not `.yaml`), matching the actual file in the upstream repo.
+
+4. **No action needed.** The source block is complete with all required fields and the data is accurate.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes are recommended:
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/luxurious"
+  commit: "234fe6f071f7e4450893f159a4ca3512310c66ee"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/LuxuriousScript-Regular.ttf"
+    dest_file: "LuxuriousScript-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yml"
+}
+```
diff --git a/ofl/lxgwmarkergothic/upstream_info.md b/ofl/lxgwmarkergothic/upstream_info.md
new file mode 100644 (file)
index 0000000..3db14b0
--- /dev/null
@@ -0,0 +1,112 @@
+# LXGW Marker Gothic — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/aaronbell/LxgwMarkerGothic"
+  commit: "fe8357007423a983e696d2d3ff545ac9bb1bb89e"
+  config_yaml: "sources/config.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/gf/LXGWMarkerGothic-Regular.ttf"
+    dest_file: "LXGWMarkerGothic-Regular.ttf"
+  }
+  branch: "main"
+}
+```
+
+## Repository Analysis
+
+The METADATA.pb points to `https://github.com/aaronbell/LxgwMarkerGothic`, which is a **fork** of the original repository `https://github.com/lxgw/LxgwMarkerGothic`. The original repository by LXGW contains the primary open-source Chinese font derived from Tanugo.
+
+Aaron Bell (aaronbell) forked the repository and adapted it for Google Fonts onboarding. The fork's sole commit (`fe83570`) is titled "Updating to apply GF-specific requirements separately from the source" (dated 2025-04-02), which set up the entire repository structure including:
+
+- Source files: `sources/LXGWMarkerGothic-Regular.ufoz` (compressed UFO3 format)
+- Build config: `sources/config.yaml` (gftools-builder compatible)
+- Post-processing: `sources/post.py` (applies GF-specific metric overrides and GASP table)
+- Extraction: `sources/scripts/extract.py` (decompresses .ufoz to .ufo in `sources/temp/`)
+- Output: `fonts/gf/LXGWMarkerGothic-Regular.ttf` (post-processed binary for Google Fonts)
+
+The `sources/config.yaml` contains:
+```yaml
+sources:
+  - temp/LXGWMarkerGothic-Regular.ufo
+familyName: LXGW Marker Gothic
+autohintTTF: False
+buildOTF: False
+buildWebfont: False
+removeOutlineOverlaps: False
+```
+
+Note: The source path `temp/LXGWMarkerGothic-Regular.ufo` is relative to the `sources/` directory. The `.ufo` directory is generated at build time by extracting the `.ufoz` archive.
+
+The repository is based on the Google Fonts project template (uses the standard Makefile, customize.py, and GitHub Actions workflow).
+
+## Onboarding History
+
+The font was onboarded through a series of commits in google/fonts:
+
+1. **e04d4ae** (2025-05-08) — "LXGW Marker Gothic : 1.001 added" by Aaron Bell (aaronbell). This was the initial onboarding commit, adding the font binary, METADATA.pb, OFL.txt, and article HTML. The commit message states: "Taken from upstream repro https://github.com/aaronbell/LxgwMarkerGothic at fe8357007423a983e696d2d3ff545ac9bb1bb89e".
+
+2. **d847d6cf** — "Adding image into the article." — Added article imagery.
+
+3. **7a41139f** — "lxgwmarkergothic: fix metadata" — Fixed a missing closing brace `}` in the METADATA.pb `files` block (the `branch` field was inside the second `files` block instead of outside it).
+
+4. **77074ea8** — "sources info for LXGW Marker Gothic: 1.001 (PR #9429)" — Corrected `config_yaml` from `"sources/project.yaml"` to `"sources/config.yaml"`.
+
+The onboarding PR was **#9429**, authored by Aaron Bell (aaronbell), merged on 2025-05-22 by Emma Marichal (emmamarichal). The PR body described the GF-specific adaptations made (softhyphen unicode cleared, GPOS data removed from legacy marks, metadata updated, vertical metrics adjusted per GF issue #8911, GASP table set to full blur, vhea table adjusted).
+
+## Build Configuration
+
+The upstream repository at the referenced commit (`fe83570`) contains a valid `sources/config.yaml` for gftools-builder. The build process is:
+
+1. Extract `.ufoz` to `.ufo` (via `sources/scripts/extract.py` into `sources/temp/`)
+2. Run gftools-builder with `sources/config.yaml` (references `temp/LXGWMarkerGothic-Regular.ufo`)
+3. Apply post-processing via `sources/post.py` (sets vertical metrics, GASP table, removes prep table, sets fsSelection)
+
+The `config_yaml: "sources/config.yaml"` field in METADATA.pb is correct. No override config.yaml exists in the google/fonts family directory.
+
+## Findings
+
+**Binary verification**: The SHA-256 hash of `fonts/gf/LXGWMarkerGothic-Regular.ttf` in the upstream repo at the referenced commit matches exactly with the binary in google/fonts (`e6a55cfd5f18dc393f92670a164397a69242cb4eabe1d3feb5dc22fc4947a8ba`). This confirms the commit hash is correct.
+
+**Repository URL**: The METADATA.pb correctly points to the aaronbell fork, not the original lxgw repo. This is intentional — Aaron Bell's fork contains the GF-specific build pipeline, source configuration, and post-processing scripts necessary for Google Fonts onboarding. The original lxgw/LxgwMarkerGothic repository does not have these adaptations.
+
+**Commit hash**: `fe8357007423a983e696d2d3ff545ac9bb1bb89e` is the only commit in the aaronbell fork (the initial commit creating the entire repository). This is confirmed as the correct onboarding commit.
+
+**Config path**: After correction in commit `77074ea8`, the `config_yaml` field correctly points to `sources/config.yaml`.
+
+**Source format note**: The source is a `.ufoz` (compressed UFO3) file that requires extraction before building. The config.yaml references the extracted path (`temp/LXGWMarkerGothic-Regular.ufo`), which is generated at build time. This means automated rebuilds using google-fonts-sources would need to handle the extraction step, which is outside the standard gftools-builder workflow.
+
+**No issues found**: The source block is complete and accurate. All fields (repository_url, commit, config_yaml, files, branch) are correctly set.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes are needed:
+
+```
+source {
+  repository_url: "https://github.com/aaronbell/LxgwMarkerGothic"
+  commit: "fe8357007423a983e696d2d3ff545ac9bb1bb89e"
+  config_yaml: "sources/config.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/gf/LXGWMarkerGothic-Regular.ttf"
+    dest_file: "LXGWMarkerGothic-Regular.ttf"
+  }
+  branch: "main"
+}
+```
+
+**Confidence**: HIGH — Binary hash match confirmed, commit hash verified (only commit in the fork), config path corrected in google/fonts history and now accurate.
diff --git a/ofl/lxgwwenkaimonotc/upstream_info.md b/ofl/lxgwwenkaimonotc/upstream_info.md
new file mode 100644 (file)
index 0000000..662123d
--- /dev/null
@@ -0,0 +1,170 @@
+# LXGW WenKai Mono TC — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/aaronbell/LxgwWenkaiTC"
+  commit: "a5cf76f5bd1f26cdf74ca1b22b9f6fe17b8d5bc5"
+  config_yaml: "sources/project.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiMonoTC-Regular.ttf"
+    dest_file: "LXGWWenKaiMonoTC-Regular.ttf"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiMonoTC-Light.ttf"
+    dest_file: "LXGWWenKaiMonoTC-Light.ttf"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiMonoTC-Bold.ttf"
+    dest_file: "LXGWWenKaiMonoTC-Bold.ttf"
+  }
+  branch: "main"
+}
+```
+
+## Repository Analysis
+
+The METADATA.pb `repository_url` points to `https://github.com/aaronbell/LxgwWenkaiTC`, which is a **fork** of the original upstream repository `https://github.com/lxgw/LxgwWenkaiTC` ("The Traditional Chinese Edition of LXGW WenKai"). The fork was created on 2024-05-07 by Aaron Bell (aaronbell), who is the font engineer that onboarded this family to Google Fonts.
+
+The original `lxgw/LxgwWenkaiTC` repository is actively maintained (714 stars, 12 forks as of investigation date) and has continued to receive updates (latest commits from March 2026, version 1.522+). However, the aaronbell fork has not been updated since its creation period — its last push was 2024-12-12.
+
+The copyright notice in the font files and OFL.txt references `https://github.com/lxgw/LxgwWenkaiTC`, not the aaronbell fork. This is notable because the METADATA.pb `repository_url` points to the fork rather than the original upstream. The aaronbell fork was used specifically for the onboarding process where Aaron Bell restructured the sources for gftools-builder compatibility.
+
+### Upstream Repo Structure (aaronbell/LxgwWenkaiTC at referenced commit)
+
+```
+├── documentation/
+├── fonts/
+│   └── TTF/
+│       ├── LXGWWenKaiMonoTC-Bold.ttf
+│       ├── LXGWWenKaiMonoTC-Light.ttf
+│       ├── LXGWWenKaiMonoTC-Regular.ttf
+│       ├── LXGWWenKaiTC-Bold.ttf
+│       ├── LXGWWenKaiTC-Light.ttf
+│       └── LXGWWenKaiTC-Regular.ttf
+├── sources/
+│   ├── build/
+│   │   ├── instance_ufos/
+│   │   ├── LXGWWenKaiMonoTC-Bold.designspace
+│   │   ├── LXGWWenKaiMonoTC-Light.designspace
+│   │   ├── LXGWWenKaiMonoTC-Regular.designspace
+│   │   ├── LXGWWenKaiTC-Bold.designspace
+│   │   ├── LXGWWenKaiTC-Light.designspace
+│   │   └── LXGWWenKaiTC-Regular.designspace
+│   ├── LXGWWenKaiMonoTC-Bold.ufo
+│   ├── LXGWWenKaiMonoTC-Light.ufo
+│   ├── LXGWWenKaiMonoTC-Regular.ufo
+│   ├── LXGWWenKaiTC-Bold.ufo
+│   ├── LXGWWenKaiTC-Light.ufo
+│   ├── LXGWWenKaiTC-Regular.ufo
+│   ├── LXGWWenKaiTC_common-Bold.ufoz
+│   ├── LXGWWenKaiTC_common-Light.ufoz
+│   ├── LXGWWenKaiTC_common-Regular.ufoz
+│   ├── features.fea
+│   ├── project.yaml
+│   └── scripts/
+├── Makefile
+├── OFL.txt
+├── README.md
+└── requirements.txt
+```
+
+The repository contains both Mono TC and non-Mono TC variants of LXGW WenKai. The font sources are UFO files with designspace files in the `sources/build/` directory. Each designspace references a single UFO source (single-master fonts, not variable).
+
+## Onboarding History
+
+The font was onboarded to Google Fonts on **2024-05-16** via **PR #7691** ("LXGW WenKai Mono TC: Version 1.330 added"), authored by Aaron Bell (aaronbell). The PR was merged on **2024-05-17**.
+
+The onboarding commit `9413469b3` explicitly stated:
+> "Taken from the upstream repo https://github.com/aaronbell/LxgwWenkaiTC at commit https://github.com/aaronbell/LxgwWenkaiTC/commit/a5cf76f5bd1f26cdf74ca1b22b9f6fe17b8d5bc5."
+
+The referenced commit `a5cf76f5` ("Fixing path directions for common set") was the HEAD of the aaronbell fork at the time. It was authored on 2024-05-16, the same day as the onboarding commit.
+
+### Binary File Verification
+
+All three TTF files in google/fonts are **byte-identical** to the files at the referenced commit in the upstream repo:
+- LXGWWenKaiMonoTC-Bold.ttf: 12,885,112 bytes (match)
+- LXGWWenKaiMonoTC-Light.ttf: 13,769,976 bytes (match)
+- LXGWWenKaiMonoTC-Regular.ttf: 13,122,932 bytes (match)
+
+### Subsequent METADATA.pb Changes
+
+1. **2024-05-16/17**: Initial METADATA.pb created with source block (repository_url, commit, files, branch)
+2. **2024-05-17 to 2024-06-07**: Various metadata updates (CJK subset policies, primary_language additions/reversions)
+3. **2025-03-25** (commit `53995c52`): `config_yaml: "sources/project.yaml"` was added and `branch: "main"` was removed
+4. **2025-03-26** (commit `f19b6da7d`): `branch: "main"` was re-added (revert of branch removal)
+5. **2025-04-02**: Classification updated to Chinese Traditional
+6. **2025-04-09**: Article images added
+
+## Build Configuration
+
+The upstream repository has a valid gftools-builder configuration file at `sources/project.yaml`:
+
+```yaml
+sources:
+  - build/LXGWWenKaiMonoTC-Bold.designspace
+  - build/LXGWWenKaiMonoTC-Light.designspace
+  - build/LXGWWenKaiMonoTC-Regular.designspace
+  - build/LXGWWenKaiTC-Bold.designspace
+  - build/LXGWWenKaiTC-Light.designspace
+  - build/LXGWWenKaiTC-Regular.designspace
+removeOutlineOverlaps: False
+buildOTF: False
+buildTTF: True
+buildWebfont: False
+autohintTTF: False
+```
+
+The Makefile confirms this is the intended build config: `gftools builder sources/project.yaml`.
+
+Note: The config builds both Mono TC and non-Mono TC variants from the same repository. The designspace files each reference a single UFO master, making these single-master static fonts (not variable).
+
+## Findings
+
+1. **Source block is complete and correct.** The repository_url, commit hash, config_yaml, and file mappings are all accurate and verified.
+
+2. **Commit hash is verified.** The commit `a5cf76f5bd1f26cdf74ca1b22b9f6fe17b8d5bc5` was the HEAD of the aaronbell fork at onboarding time (2024-05-16). Binary files at this commit are byte-identical to those in google/fonts. The onboarding commit message explicitly references this commit.
+
+3. **Repository URL points to a fork, not the original.** The METADATA.pb `repository_url` points to `aaronbell/LxgwWenkaiTC` (a fork), while the copyright notice references `lxgw/LxgwWenkaiTC` (the original). This is intentional: Aaron Bell forked the original repo, restructured the sources for gftools-builder compatibility (adding UFO files, designspace files, project.yaml, and a Makefile), and onboarded from his fork. The original `lxgw/LxgwWenkaiTC` repo does not have this build infrastructure. The fork is the correct repository URL for the purpose of source metadata since it contains the actual buildable sources.
+
+4. **Config path is correct.** `sources/project.yaml` exists in the upstream repo and is a valid gftools-builder config file.
+
+5. **No corrections needed.** All fields in the current source block are accurate.
+
+## Recommended Source Block
+
+The current source block is correct. No changes are recommended:
+
+```
+source {
+  repository_url: "https://github.com/aaronbell/LxgwWenkaiTC"
+  commit: "a5cf76f5bd1f26cdf74ca1b22b9f6fe17b8d5bc5"
+  config_yaml: "sources/project.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiMonoTC-Regular.ttf"
+    dest_file: "LXGWWenKaiMonoTC-Regular.ttf"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiMonoTC-Light.ttf"
+    dest_file: "LXGWWenKaiMonoTC-Light.ttf"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiMonoTC-Bold.ttf"
+    dest_file: "LXGWWenKaiMonoTC-Bold.ttf"
+  }
+  branch: "main"
+}
+```
diff --git a/ofl/lxgwwenkaitc/upstream_info.md b/ofl/lxgwwenkaitc/upstream_info.md
new file mode 100644 (file)
index 0000000..6b0cdbd
--- /dev/null
@@ -0,0 +1,188 @@
+# LXGW WenKai TC — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: needs_correction
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/aaronbell/LxgwWenkaiTC"
+  commit: "a5cf76f5bd1f26cdf74ca1b22b9f6fe17b8d5bc5"
+  config_yaml: "sources/project.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiTC-Regular.ttf"
+    dest_file: "LXGWWenKaiTC-Regular.ttf"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiTC-Light.ttf"
+    dest_file: "LXGWWenKaiTC-Light.ttf"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiTC-Bold.ttf"
+    dest_file: "LXGWWenKaiTC-Bold.ttf"
+  }
+}
+```
+
+## Repository Analysis
+
+The `repository_url` in METADATA.pb points to `https://github.com/aaronbell/LxgwWenkaiTC`, which is Aaron Bell's **fork** of the original upstream repository `https://github.com/lxgw/LxgwWenkaiTC`.
+
+- **Original upstream**: `lxgw/LxgwWenkaiTC` — created 2021-07-14, still actively maintained (last push 2026-03-03)
+- **Fork used for onboarding**: `aaronbell/LxgwWenkaiTC` — created 2024-05-07, forked from `lxgw/LxgwWenkaiTC`, last pushed 2024-12-12
+
+The fork was created by Aaron Bell specifically for the Google Fonts onboarding process. Aaron restructured the repo with a `sources/project.yaml` gftools-builder config, UFO sources, designspace files, and a Makefile-based build pipeline.
+
+The cached repo at `upstream_repos/fontc_crater_cache/aaronbell/LxgwWenkaiTC` has HEAD detached at commit `a5cf76f5`, matching the referenced commit.
+
+### Repository Structure (at commit a5cf76f5)
+
+```
+sources/
+  project.yaml          — gftools-builder config
+  features.fea          — OpenType feature code
+  LXGWWenKaiTC-Bold.ufo/
+  LXGWWenKaiTC-Light.ufo/
+  LXGWWenKaiTC-Regular.ufo/
+  LXGWWenKaiMonoTC-Bold.ufo/
+  LXGWWenKaiMonoTC-Light.ufo/
+  LXGWWenKaiMonoTC-Regular.ufo/
+  LXGWWenKaiTC_common-Bold.ufoz
+  LXGWWenKaiTC_common-Light.ufoz
+  LXGWWenKaiTC_common-Regular.ufoz
+  build/
+    LXGWWenKaiTC-Bold.designspace
+    LXGWWenKaiTC-Light.designspace
+    LXGWWenKaiTC-Regular.designspace
+    LXGWWenKaiMonoTC-Bold.designspace
+    LXGWWenKaiMonoTC-Light.designspace
+    LXGWWenKaiMonoTC-Regular.designspace
+  scripts/
+fonts/TTF/
+  LXGWWenKaiTC-Bold.ttf
+  LXGWWenKaiTC-Light.ttf
+  LXGWWenKaiTC-Regular.ttf
+  LXGWWenKaiMonoTC-Bold.ttf
+  LXGWWenKaiMonoTC-Light.ttf
+  LXGWWenKaiMonoTC-Regular.ttf
+Makefile
+```
+
+### Build Process
+
+The Makefile reveals a multi-step build process:
+1. `extract` — runs `sources/scripts/extract.py` (likely extracts compressed UFO sources)
+2. `merge` — runs `sources/scripts/merge.py` (merges common glyph sets)
+3. `export` — runs `gftools builder sources/project.yaml`
+4. `post` — runs `sources/scripts/post.py` (post-processing)
+
+The `sources/project.yaml` references designspace files in `sources/build/`:
+```yaml
+sources:
+  - build/LXGWWenKaiMonoTC-Bold.designspace
+  - build/LXGWWenKaiMonoTC-Light.designspace
+  - build/LXGWWenKaiMonoTC-Regular.designspace
+  - build/LXGWWenKaiTC-Bold.designspace
+  - build/LXGWWenKaiTC-Light.designspace
+  - build/LXGWWenKaiTC-Regular.designspace
+removeOutlineOverlaps: False
+buildOTF: False
+buildTTF: True
+buildWebfont: False
+autohintTTF: False
+```
+
+Note: The `project.yaml` builds both the TC and Mono TC families together.
+
+## Onboarding History
+
+The font was onboarded on 2024-05-16 via PR #7690 by Aaron Bell (`aaronbell`).
+
+**PR #7690**: "LXGW WenKai TC: Version 1.330;April 28, 2024 added"
+- Merged: 2024-05-17
+- Branch: `gftools_packager_ofl_lxgwwenkaitc`
+- Author: Aaron Bell
+- PR body: "Taken from the upstream repo https://github.com/aaronbell/LxgwWenkaiTC at commit https://github.com/aaronbell/LxgwWenkaiTC/commit/a5cf76f5bd1f26cdf74ca1b22b9f6fe17b8d5bc5."
+
+**Initial commit** (590eaaa6a): Added 6 files — DESCRIPTION, 3 TTF fonts, METADATA.pb, OFL.txt
+
+The font files were taken as **pre-built binaries** from `fonts/TTF/` in the upstream repo. All three font files match exactly in size between the upstream commit and google/fonts:
+- LXGWWenKaiTC-Bold.ttf: 12,881,104 bytes
+- LXGWWenKaiTC-Light.ttf: 13,771,744 bytes
+- LXGWWenKaiTC-Regular.ttf: 13,110,528 bytes
+
+**Subsequent changes to METADATA.pb**:
+- `53995c52a` (2025-03-25): Added `config_yaml: "sources/project.yaml"` field, removed `branch: "main"` field
+
+## Build Configuration
+
+The upstream repo at `aaronbell/LxgwWenkaiTC` has a `sources/project.yaml` that serves as the gftools-builder config. The current METADATA.pb correctly references `config_yaml: "sources/project.yaml"`.
+
+However, the build process is non-trivial: the Makefile shows that `gftools builder` is only one step in a multi-step pipeline involving custom Python scripts for extraction, merging, and post-processing. A simple `gftools builder sources/project.yaml` run may not fully reproduce the fonts without the preceding steps.
+
+No override `config.yaml` exists in the google/fonts family directory.
+
+## Findings
+
+### Issue 1: Repository URL Points to Fork, Not Original Upstream
+
+The `repository_url` points to `aaronbell/LxgwWenkaiTC`, which is a fork of the original `lxgw/LxgwWenkaiTC`. The copyright string in the fonts themselves references the original: `https://github.com/lxgw/LxgwWenkaiTC`.
+
+Aaron Bell created the fork specifically for onboarding — he added the gftools-builder infrastructure (project.yaml, designspace files, Makefile, build scripts) that did not exist in the original repo. The referenced commit `a5cf76f5` exists in both repos (it was pushed to the fork and the original accepted it).
+
+**Assessment**: The `repository_url` pointing to the fork is **intentional and correct for build purposes**, since the fork contains the build infrastructure. The original `lxgw/LxgwWenkaiTC` repo does not have a `sources/project.yaml` or the gftools-builder setup. However, ideally the `repository_url` should point to the canonical upstream repo, with the build infrastructure contributed there.
+
+### Issue 2: Complex Build Pipeline
+
+The `config_yaml` field references `sources/project.yaml`, but the actual build requires running custom scripts (extract, merge) before `gftools builder`. A standalone `gftools builder sources/project.yaml` invocation may not produce correct results without the prerequisite steps. This could be an issue for automated rebuild systems like fontc_crater.
+
+### Issue 3: Newer Commits in Fork
+
+The fork at `aaronbell/LxgwWenkaiTC` has commits after `a5cf76f5` (up to 2024-12-12), including:
+- Updated feature code and bumped version string
+- Added Chinese characters
+- Glyph order rearrangements
+
+These newer commits have not been incorporated into google/fonts.
+
+### Summary
+
+The commit hash `a5cf76f5` is **verified correct** — it matches the onboarding PR, the commit message, the binary file sizes, and the PR author's explicit reference. The source block data is largely accurate but the repository_url pointing to a fork rather than the canonical upstream is a potential concern.
+
+## Recommended Source Block
+
+The current source block is acceptable as-is, since the fork contains the necessary build infrastructure. However, if a correction is desired:
+
+```
+source {
+  repository_url: "https://github.com/aaronbell/LxgwWenkaiTC"
+  commit: "a5cf76f5bd1f26cdf74ca1b22b9f6fe17b8d5bc5"
+  config_yaml: "sources/project.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiTC-Regular.ttf"
+    dest_file: "LXGWWenKaiTC-Regular.ttf"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiTC-Light.ttf"
+    dest_file: "LXGWWenKaiTC-Light.ttf"
+  }
+  files {
+    source_file: "fonts/TTF/LXGWWenKaiTC-Bold.ttf"
+    dest_file: "LXGWWenKaiTC-Bold.ttf"
+  }
+}
+```
+
+No changes to the source block are strictly required. The current data is accurate — the repository URL, commit hash, config_yaml path, and file mappings all check out. The `branch` field was correctly removed in a prior update.
+
+The key consideration for the future is whether the build infrastructure should be contributed back to the canonical `lxgw/LxgwWenkaiTC` repo so the `repository_url` can point there instead.
diff --git a/ofl/macondo/upstream_info.md b/ofl/macondo/upstream_info.md
new file mode 100644 (file)
index 0000000..bcb1254
--- /dev/null
@@ -0,0 +1,119 @@
+# Macondo — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete (SFD-only sources, no gftools-builder config possible)
+
+## METADATA.pb Source Block (current)
+
+No source block exists in the current METADATA.pb. The file contains only basic family metadata (name, designer, license, category, fonts, subsets, classifications).
+
+## Repository Analysis
+
+**Repository**: https://github.com/librefonts/macondo
+**Default branch**: master
+**Archived**: No
+**Created**: 2014-07-16
+**Last pushed**: 2014-10-17
+
+The repository contains a single commit:
+
+| Field | Value |
+|-------|-------|
+| Hash | `00c3eaaae24d702bce976a1766c31b8fc015f08a` |
+| Date | 2014-10-17 13:42:39 +0300 |
+| Author | hash3g |
+| Message | "update .travis.yml" |
+
+The repository was set up as a `librefonts` organization mirror of the font sources. It does not belong to the original designer (John Vargas Beltran). The `librefonts` GitHub organization was created 2013-10-20 and appears to host automated mirrors/backups of Google Fonts source files.
+
+### Repository Structure
+
+```
+.travis.yml                          - CI config (fontbakery-build.py)
+DESCRIPTION.en_us.html               - Font description
+FONTLOG.txt                          - Font changelog
+METADATA.json                        - Legacy metadata
+OFL.txt                              - License
+Macondo-Regular.ttf.*.ttx            - TTX decomposition of the TTF binary (multiple table files)
+src/
+  Macondo-Regular-OTF.vfb            - FontLab source (138 KB)
+  Macondo-Regular-TTF.sfd            - FontForge source (443 KB)
+  Macondo-Regular.otf.*.ttx          - TTX decomposition of the OTF binary
+  METADATA_comments.txt              - Subsetting/build comments
+  VERSIONS.txt                       - "Macondo-Regular.ttf: Version 2.001"
+```
+
+### Source Files
+
+The repository contains only legacy source formats:
+- **Macondo-Regular-OTF.vfb**: FontLab binary source
+- **Macondo-Regular-TTF.sfd**: FontForge SFD source
+
+No modern gftools-builder compatible sources exist (.glyphs, .glyphx, .ufo, .designspace). The font was created in 1997 (early versions) and substantially improved in 2009, with the v1.00 release dated December 14, 2011.
+
+## Onboarding History
+
+The font was included in the google/fonts repository from its very first commit:
+
+| Field | Value |
+|-------|-------|
+| Commit | `90abd17b4f97671435798b6147b698aa9087612f` |
+| Date | 2015-03-07 |
+| Author | Dave Crossland |
+| Message | "Initial commit" |
+
+This was a bulk import of the entire Google Fonts library into the current git repository. The font itself was added to Google Fonts on **2012-01-18** according to the `date_added` field in METADATA.pb, which aligns with the font's head table creation date of January 11, 2012.
+
+The font binary has never been updated since the initial commit. Only metadata files (METADATA.pb/METADATA.json) were modified in subsequent commits for format changes, language support, and classification updates.
+
+### Subsequent commits (metadata only):
+- `480630de3` - Tentative update to METADATA.pb textprotos
+- `27f377ab0` - Update copyright field in METADATA.pb
+- `883939708` - Remove METADATA.json files
+- `633ebadbf` - Add language support metadata
+- `c6307ba83` / `701bd391b` - Language rollback and redo
+- `47a6c224b` - Batch of 200 METADATA.pb changes for stroke and classifications
+
+## Build Configuration
+
+**No config.yaml exists** in the upstream repository, and none can be created because the only source files are in legacy formats (VFB and SFD) that are not supported by gftools-builder.
+
+The `.travis.yml` file in the upstream repo referenced `fontbakery-build.py`, an obsolete build tool from 2014.
+
+## Findings
+
+1. **Legacy sources only**: The Macondo font has only FontLab (.vfb) and FontForge (.sfd) source files. These formats are not compatible with gftools-builder, which requires .glyphs, .ufo, or .designspace sources.
+
+2. **No config.yaml possible**: Since the sources are not gftools-builder compatible, no config.yaml can be created (neither in the upstream repo nor as an override in google/fonts).
+
+3. **Repository is a mirror**: The `librefonts/macondo` repository is not the original designer's repo. It was set up by the `librefonts` organization as a backup/mirror. The original designer (John Vargas Beltran) does not appear to have a GitHub presence for this project.
+
+4. **Single commit repository**: The repo has only one commit (2014-10-17), which predates the google/fonts "Initial commit" (2015-03-07) but postdates the actual onboarding date (2012-01-18). The TTX files in the repo were generated from the same binary that appears in google/fonts (Version 2.001).
+
+5. **Sister family**: Macondo Swash Caps is a related family by the same designer, hosted at `librefonts/macondoswashcaps` with the same SFD-only source situation.
+
+6. **Font version alignment**: Both the upstream TTX decomposition and the binary in google/fonts report Version 2.001, with head table dates of January 11, 2012, confirming they represent the same font.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/librefonts/macondo"
+  commit: "00c3eaaae24d702bce976a1766c31b8fc015f08a"
+  branch: "master"
+}
+```
+
+Note: The `config_yaml` field is intentionally omitted because the upstream repository contains only SFD/VFB sources that are not compatible with gftools-builder. No override config.yaml can be created for the same reason.
+
+## Confidence
+
+**HIGH** for repository URL and commit hash: The `librefonts/macondo` repository is the only known upstream source. The single commit `00c3eaa` contains TTX-decomposed font data matching the binary in google/fonts (same Version 2.001, same head table dates). While the repo is a mirror rather than the designer's original workspace, it is the best available source reference.
+
+**N/A** for config: No gftools-builder configuration is possible due to legacy-only source formats.
+
+## Open Questions
+
+1. Does John Vargas Beltran have original editable sources (.glyphs, .ufo) for Macondo, or only the legacy .vfb/.sfd files? If modern sources exist, they would enable a proper config.yaml.
+2. Is there any plan to convert the SFD sources to a modern format to enable gftools-builder compatibility?
diff --git a/ofl/macondoswashcaps/upstream_info.md b/ofl/macondoswashcaps/upstream_info.md
new file mode 100644 (file)
index 0000000..480bb60
--- /dev/null
@@ -0,0 +1,126 @@
+# Macondo Swash Caps — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete (SFD-only sources, no gftools-builder config possible)
+
+## METADATA.pb Source Block (current)
+
+No source block exists in the current METADATA.pb. The file contains only basic family metadata (name, designer, license, category, fonts, subsets, classifications).
+
+## Repository Analysis
+
+**Repository**: https://github.com/librefonts/macondoswashcaps
+**Default branch**: master
+**Archived**: No
+**Created**: 2014-07-16
+**Last pushed**: 2014-10-17
+
+The repository contains a single commit:
+
+| Field | Value |
+|-------|-------|
+| Hash | `2768d9b33c7d703085314fcd8c823ad1a8b02edb` |
+| Date | 2014-10-17 13:42:41 +0300 |
+| Author | hash3g |
+| Message | "update .travis.yml" |
+
+The repository was set up as a `librefonts` organization mirror of the font sources. It does not belong to the original designer (John Vargas Beltran, GitHub: vargas1974). The `librefonts` GitHub organization was created 2013-10-20 and appears to host automated mirrors/backups of Google Fonts source files. The designer's GitHub profile (vargas1974) does not contain a Macondo or Macondo Swash Caps repository; it holds other font projects (Salsa-Devanagari, Shingaling, Kyron, Ramabhadra).
+
+### Repository Structure
+
+```
+.travis.yml                          - CI config (fontbakery-build.py, obsolete)
+DESCRIPTION.en_us.html               - Font description
+FONTLOG.txt                          - Font changelog
+METADATA.json                        - Legacy metadata
+OFL.txt                              - License
+MacondoSwashCaps-Regular.ttf.*.ttx   - TTX decomposition of the TTF binary (multiple table files)
+src/
+  MacondoSwashCaps-Regular-OTF.vfb   - FontLab source (85 KB)
+  MacondoSwashCaps-Regular-TTF.sfd   - FontForge source (290 KB)
+  MacondoSwashCaps-Regular.otf.*.ttx - TTX decomposition of the OTF binary
+  METADATA_comments.txt              - Subsetting/build comments
+  VERSIONS.txt                       - "MacondoSwashCaps-Regular.ttf: Version 2.001"
+```
+
+### Source Files
+
+The repository contains only legacy source formats:
+- **MacondoSwashCaps-Regular-OTF.vfb**: FontLab binary source (85 KB)
+- **MacondoSwashCaps-Regular-TTF.sfd**: FontForge SFD source (290 KB)
+
+No modern gftools-builder compatible sources exist (.glyphs, .glyphx, .ufo, .designspace). The font was originally created in 1997 (early versions) and substantially improved in 2009, with the v1.00 release dated December 14, 2011.
+
+## Onboarding History
+
+The font was included in the google/fonts repository from its very first commit:
+
+| Field | Value |
+|-------|-------|
+| Commit | `90abd17b4f97671435798b6147b698aa9087612f` |
+| Date | 2015-03-07 |
+| Author | Dave Crossland |
+| Message | "Initial commit" |
+
+This was a bulk import of the entire Google Fonts library into the current git repository. The font itself was added to Google Fonts on **2012-01-18** according to the `date_added` field in METADATA.pb.
+
+The font binary has never been updated since the initial commit. Only metadata files (METADATA.pb/METADATA.json) were modified in subsequent commits for format changes, language support, and classification updates.
+
+### Subsequent commits (metadata only):
+- `480630de3` - Tentative update to METADATA.pb textprotos
+- `27f377ab0` - Update copyright field in METADATA.pb
+- `883939708` - Remove METADATA.json files
+- `633ebadbf` - Add language support metadata (#4160)
+- `c6307ba83` / `701bd391b` (#4677, #4706) - Language rollback and redo
+- `28b492c0f` - Clear languages from METADATA.pb for non-Noto
+- `47a6c224b` - Batch of 200 METADATA.pb changes for stroke and classifications
+
+### Font Version Alignment
+
+Both the upstream TTX decomposition and the binary in google/fonts report **Version 2.001**. The head table in the upstream TTX shows creation and modification dates of **Wed Jan 11 21:58:18 2012**, confirming the TTX was generated from the same font binary that was onboarded. The font binary in google/fonts is 33,016 bytes. The upstream repo does not contain a compiled TTF file; only TTX table dumps are present.
+
+## Build Configuration
+
+**No config.yaml exists** in the upstream repository, and none can be created because the only source files are in legacy formats (VFB and SFD) that are not supported by gftools-builder.
+
+The `.travis.yml` file in the upstream repo referenced `fontbakery-build.py`, an obsolete build tool from 2014 that is no longer maintained.
+
+The `METADATA_comments.txt` file in `src/` contains the original subsetting commands used to prepare the font for Google Fonts, using the legacy `subset.py` tool.
+
+## Findings
+
+1. **Legacy sources only**: Macondo Swash Caps has only FontLab (.vfb) and FontForge (.sfd) source files. These formats are not compatible with gftools-builder, which requires .glyphs, .ufo, or .designspace sources.
+
+2. **No config.yaml possible**: Since the sources are not gftools-builder compatible, no config.yaml can be created (neither in the upstream repo nor as an override in google/fonts).
+
+3. **Repository is a mirror**: The `librefonts/macondoswashcaps` repository is not the original designer's repo. It was set up by the `librefonts` organization as a backup/mirror. The original designer (John Vargas Beltran, GitHub: vargas1974) has several other font projects on GitHub but not Macondo or Macondo Swash Caps.
+
+4. **Single commit repository**: The repo has only one commit (2014-10-17), which predates the google/fonts "Initial commit" (2015-03-07) but postdates the actual onboarding date (2012-01-18).
+
+5. **Sister family**: Macondo Swash Caps is a sister family to Macondo (https://github.com/librefonts/macondo), designed by the same author with the same characteristics: SFD-only legacy sources, single-commit librefonts mirror, onboarded in the initial google/fonts commit.
+
+6. **No TTF binary in upstream**: Unlike some librefonts mirrors, this repository does not contain a compiled .ttf file -- only TTX table dumps of the binary. However, the TTX data (Version 2.001, head table dates of Jan 11, 2012) matches the binary in google/fonts, confirming provenance.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/librefonts/macondoswashcaps"
+  commit: "2768d9b33c7d703085314fcd8c823ad1a8b02edb"
+  branch: "master"
+}
+```
+
+Note: The `config_yaml` field is intentionally omitted because the upstream repository contains only SFD/VFB sources that are not compatible with gftools-builder. No override config.yaml can be created for the same reason.
+
+## Confidence
+
+**HIGH** for repository URL and commit hash: The `librefonts/macondoswashcaps` repository is the only known upstream source. The single commit `2768d9b` contains TTX-decomposed font data matching the binary in google/fonts (same Version 2.001, same head table dates of Jan 11, 2012). While the repo is a mirror rather than the designer's original workspace, it is the best available source reference.
+
+**N/A** for config: No gftools-builder configuration is possible due to legacy-only source formats.
+
+## Open Questions
+
+1. Does John Vargas Beltran have original editable sources (.glyphs, .ufo) for Macondo Swash Caps, or only the legacy .vfb/.sfd files? If modern sources exist, they would enable a proper config.yaml.
+2. Is there any plan to convert the SFD sources to a modern format to enable gftools-builder compatibility?
diff --git a/ofl/mada/upstream_info.md b/ofl/mada/upstream_info.md
new file mode 100644 (file)
index 0000000..caac90c
--- /dev/null
@@ -0,0 +1,143 @@
+# Mada — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/aliftype/mada"
+  commit: "2f7dea3a2bad718583bfcc1dc2030cf15401c789"
+  archive_url: "https://github.com/aliftype/mada/releases/download/v1.5/Mada-1.5.zip"
+  files {
+    source_file: "Mada-1.5/OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "Mada-1.5/Mada.ttf"
+    dest_file: "Mada[wght].ttf"
+  }
+  branch: "main"
+}
+```
+
+An override `config.yaml` also exists in the google/fonts family directory with contents:
+
+```yaml
+buildVariable: true
+sources:
+  - sources/Mada.glyphs
+```
+
+No `config_yaml` field is set in the source block, which is correct since google-fonts-sources auto-detects the local override.
+
+## Repository Analysis
+
+- **Repository**: https://github.com/aliftype/mada
+- **Owner/Org**: aliftype (Khaled Hosny's organization)
+- **Cached locally**: Yes, at `upstream_repos/fontc_crater_cache/aliftype/mada/`
+- **Repo status**: Clean, up to date with origin
+- **Branches**: main only
+- **Total commits**: 819
+- **Tags**: v0.1, v0.2, v0.3, v1.0, v1.1, v1.2, v1.3, v1.4, v1.5
+
+The repository is authored primarily by Khaled Hosny, with Paul Hunt (Adobe) credited as a contributor. The font is an Arabic sans-serif family with a weight axis (200-900).
+
+### Source Files
+
+At the referenced commit `2f7dea3a` (v1.5 tag), the source was a single Glyphs file:
+- `sources/Mada.glyphs` (85,624 lines, Glyphs format v3, appVersion 3187)
+
+The source was later converted to `.glyphspackage` format in commit `b3cd0c16` (2024-09-07), well after the v1.5 release. The current HEAD uses `sources/Mada.glyphspackage/`.
+
+### Build System
+
+The upstream repo used a custom `Makefile` for building (using `fontmake` directly), not gftools-builder. There was no `config.yaml` in the upstream repo at any point. The CI workflow (`.github/workflows/build.yml`) ran `make -j -B dist` using fontmake.
+
+## Onboarding History
+
+### Initial Onboarding (2017)
+
+- **First addition**: Commit `e1421015` (2017-05-08) — "hotfix-mada: v1.005 added (#938)". This was PR #938, indicating Mada was originally onboarded as static instances.
+- **Update**: Commit `82724194` (2017-07-26) — "mada: v1.004 added (#1078)". Despite the version number appearing lower, this was a subsequent update.
+
+### Variable Font Update — v1.5 (2023)
+
+- **Key commit**: `1426542a` (2023-04-26) — "[gftools-packager] Mada: Version 1.5 added"
+  - This was a major update that replaced the 7 static TTF instances with a single variable font `Mada[wght].ttf`
+  - The commit body referenced the upstream repo but had an incomplete commit URL: "at commit https://github.com/aliftype/mada/commit/." (missing the hash)
+  - The upstream.yaml included with this commit specified `branch: main` and the archive URL for the v1.5 release
+  - Filed by Khaled Hosny himself, merged in PR #5594 (titled "Mada: Version 1.5 added (#5594)") by Rosalie Wagner on 2023-04-26
+  - PR #5594 was merged on 2022-11-23 for v1.4, then the same PR was reused or a separate one for v1.5 — the gftools-packager commit was dated 2023-04-26
+
+### Source Block Addition (2025)
+
+- **Commit**: `e9bcb1b9` (2025-12-02) — "sources info for Mada: Version 1.5 (PR #5603)"
+  - Added the source block to METADATA.pb and the override `config.yaml`
+  - This was part of the broader source metadata enrichment effort
+
+### Other Changes
+
+- `314edc18` (2023-04-26): Updated description
+- `66f91f10` (2024-04-03): Merged upstream.yaml into METADATA.pb
+- `3012bb6a` (2022-11-23): Added `primary_script: "Arab"`
+- Various METADATA.pb updates for languages, designer info, etc.
+
+## Build Configuration
+
+- **Upstream config.yaml**: None. The upstream repo never had a `config.yaml`. It used a custom Makefile with direct fontmake invocations.
+- **Override config.yaml**: Present in google/fonts family directory, correctly referencing `sources/Mada.glyphs`
+- **config_yaml in METADATA.pb**: Not set (correct, since the override is auto-detected)
+- **Build approach**: The override config enables gftools-builder to build the variable TTF from the `.glyphs` source
+
+The override config.yaml is appropriate because:
+1. The upstream repo uses fontmake via Makefile, not gftools-builder
+2. The source file `sources/Mada.glyphs` exists at the referenced commit
+3. The config correctly specifies `buildVariable: true` matching the variable font output
+
+## Findings
+
+1. **Commit hash is correct and verified**: The commit `2f7dea3a` in METADATA.pb matches the v1.5 tag exactly. The tag was created by Khaled Hosny on 2023-04-19, and the font was added to google/fonts on 2023-04-26 via gftools-packager.
+
+2. **Archive URL is valid**: The release archive `v1.5/Mada-1.5.zip` was used by gftools-packager to import the pre-built binary, not built from source.
+
+3. **Source block is complete**: The source block has all necessary fields — `repository_url`, `commit`, `archive_url`, `files` mappings, and `branch`.
+
+4. **Override config.yaml is correct**: The override properly references `sources/Mada.glyphs` which is the source file at the v1.5 commit. No `config_yaml` field is needed in METADATA.pb.
+
+5. **Post-v1.5 upstream activity**: There are approximately 20+ commits after v1.5 on the main branch, including conversion to `.glyphspackage` format, Kashmiri anchor additions, and various fixes. These would need separate review before being incorporated into Google Fonts.
+
+6. **Incomplete commit URL in original PR**: The gftools-packager commit body had an incomplete URL ("at commit .../commit/."), but this was a known issue with gftools-packager at the time. The correct commit was recoverable from the v1.5 tag.
+
+## Recommended Source Block
+
+The current source block is already correct and complete. No changes are needed:
+
+```
+source {
+  repository_url: "https://github.com/aliftype/mada"
+  commit: "2f7dea3a2bad718583bfcc1dc2030cf15401c789"
+  archive_url: "https://github.com/aliftype/mada/releases/download/v1.5/Mada-1.5.zip"
+  files {
+    source_file: "Mada-1.5/OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "Mada-1.5/Mada.ttf"
+    dest_file: "Mada[wght].ttf"
+  }
+  branch: "main"
+}
+```
+
+The override `config.yaml` in the google/fonts family directory is also correct:
+
+```yaml
+buildVariable: true
+sources:
+  - sources/Mada.glyphs
+```
+
+**Confidence**: HIGH — The commit hash matches the v1.5 tag exactly, the source block was already populated with verified data, and the override config.yaml correctly references the source file at the tagged commit.
diff --git a/ofl/madimione/upstream_info.md b/ofl/madimione/upstream_info.md
new file mode 100644 (file)
index 0000000..1f7b0d6
--- /dev/null
@@ -0,0 +1,108 @@
+# Madimi One — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/TaVaTake/madimi"
+  commit: "b0fedf3bfa1ac17a00bdbcbf06e8fe2aecfa009e"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/MadimiOne-Regular.ttf"
+    dest_file: "MadimiOne-Regular.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+## Repository Analysis
+
+- **Repository**: https://github.com/TaVaTake/madimi
+- **Cached at**: `upstream_repos/fontc_crater_cache/TaVaTake/madimi/` (shallow clone)
+- **Branch**: `main`
+- **Total commits**: 1 (only the merge commit `b0fedf3` exists; the repository appears to have had its history rewritten/force-pushed at some point)
+- **Remote status**: Up-to-date; no additional commits beyond `b0fedf3`
+
+The repository follows the googlefonts project template structure with standard directories:
+- `sources/` — contains `madimi.glyphs` (Glyphs format), `config.yaml`, and `CustomFilter_GF_Latin_All.plist`
+- `fonts/ttf/` — contains compiled `MadimiOne-Regular.ttf`
+- `fonts/otf/` — contains compiled `MadimiOne-Regular.otf`
+- `fonts/webfonts/` — contains `MadimiOne-Regular.woff2`
+- `.github/workflows/build.yaml` — CI build configuration using gftools
+
+## Onboarding History
+
+The font had two onboarding attempts:
+
+1. **First attempt** (2024-02-02): Commit `0ab3871` by Emma Marichal added the font as "Madimi" (directory `ofl/madimi/`) from upstream commit `037e703ab41450ae5531f4b6d468036a9795182a`. This commit referenced a "Madimi-Bold.ttf" file, suggesting the font had different naming at that stage. The upstream commit `037e703` no longer exists in the repository (likely removed by a force-push when the font was renamed).
+
+2. **Final onboarding** (2024-02-14): Commit `a9eb13b` by Emma Marichal re-onboarded the font as "Madimi One" (directory `ofl/madimione/`) from upstream commit `b0fedf3`. This was followed by commit `440c885` which updated the description and metadata. Both commits were merged via PR #7282, merged on 2024-02-14.
+
+3. **Source metadata enrichment** (2024-04-03): Commit `66f91f1` by Simon Cozens merged `upstream.yaml` into `METADATA.pb`, adding the `source { }` block with `repository_url`, `commit`, `files`, and `branch` fields.
+
+4. **config_yaml addition** (2025-03-31): Commit `4ad8ac6` by Felipe Sanches (Batch 2/4) added the `config_yaml: "sources/config.yaml"` field to the source block, ported from fontc_crater's targets list.
+
+The old `ofl/madimi/` directory no longer exists in google/fonts.
+
+## Build Configuration
+
+- **config.yaml location**: `sources/config.yaml` (in upstream repo)
+- **config.yaml content**:
+  ```yaml
+  sources:
+    - madimi.glyphs
+  familyName: Madimi One
+  ```
+- **Source file**: `sources/madimi.glyphs` (Glyphs 3 format, appVersion 3236, formatVersion 3)
+- **Present at referenced commit**: Yes, confirmed at `b0fedf3`
+
+The config.yaml is minimal and valid — it references a single `.glyphs` source file and specifies the family name.
+
+## Findings
+
+1. **Commit hash verified**: The binary font file `MadimiOne-Regular.ttf` in google/fonts matches exactly (MD5: `f3176b75b22ef9065ab6206cf52e830c`) with the file at `fonts/ttf/MadimiOne-Regular.ttf` in the upstream repo at commit `b0fedf3`. This confirms the commit hash is correct.
+
+2. **Source block is complete**: The METADATA.pb already contains all required fields: `repository_url`, `commit`, `files` mappings, `branch`, and `config_yaml`.
+
+3. **History note**: The upstream repository's history was rewritten (force-pushed) at some point, leaving only a single merge commit. The earlier commit `037e703` referenced in the first onboarding attempt no longer exists. This is consistent with the font being renamed from "Madimi" to "Madimi One" between the two onboarding attempts.
+
+4. **Single weight family**: The font is a single-weight (Regular 400) sans-serif/display family.
+
+5. **No corrections needed**: All metadata is accurate and complete.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes are needed:
+
+```
+source {
+  repository_url: "https://github.com/TaVaTake/madimi"
+  commit: "b0fedf3bfa1ac17a00bdbcbf06e8fe2aecfa009e"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "DESCRIPTION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  files {
+    source_file: "fonts/ttf/MadimiOne-Regular.ttf"
+    dest_file: "MadimiOne-Regular.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
diff --git a/ofl/magra/upstream_info.md b/ofl/magra/upstream_info.md
new file mode 100644 (file)
index 0000000..61cbf17
--- /dev/null
@@ -0,0 +1,99 @@
+# Magra -- Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete (SFD-only sources)
+
+## METADATA.pb Source Block (current)
+
+No source block exists in the current METADATA.pb. The file contains only basic metadata (name, designer, license, category, date_added, fonts, subsets) with no `source { }` block.
+
+## Repository Analysis
+
+**Repository**: https://github.com/librefonts/magra
+**Organization**: librefonts (created 2013-10-20)
+**Repo created**: 2014-07-16
+**Last push**: 2014-10-17
+
+The repository was created under the `librefonts` GitHub organization, which served as a historical home for Google Fonts source files before the `googlefonts` organization became the standard location. No `googlefonts/magra` or `fontfuror/magra` repository exists. The designer's GitHub account (`fontfuror`) only has one repository: `fontfuror/Enriqueta`.
+
+### Commit History (12 commits total)
+
+| Commit | Date | Message |
+|--------|------|---------|
+| dc47090 | 2014-10-17 | update .travis.yml |
+| f27f5a3 | 2014-10-06 | Rename fontbakery |
+| 345872b | 2014-09-19 | Update .travis.yml |
+| c7ce334 | 2014-09-15 | Update .travis.yml |
+| fe0ae28 | 2014-09-14 | Installing ttfautohint from ppa |
+| cfb6c52 | 2014-09-12 | Added raw=True to VDMX and FFTM |
+| a84d38e | 2014-09-11 | update .travis.yml |
+| c1fa02b | 2014-08-22 | Travis.yml update |
+| fc59995 | 2014-08-22 | Travis.yml update |
+| 6a5ad24 | 2014-08-21 | Travis.yml update |
+| f3d052a | 2014-08-19 | Added .travis.yml |
+| 905fba1 | 2014-07-16 | Move magra font files to separate repository |
+
+The initial commit (905fba1) moved the font files from a prior location into this separate repository. All subsequent commits (11 of 12) only modified Travis CI configuration files -- no source file changes were ever made in this repository.
+
+### Source Files
+
+The repository contains source files in legacy formats only:
+
+- `src/Magra-Regular.vfb` -- Original FontLab source with contour overlaps
+- `src/Magra-Regular-OTF.vfb` -- Merged contours for OTF output
+- `src/Magra-Bold-OTF.vfb` -- Merged contours for Bold OTF output
+- `src/Magra-Regular-TTF.sfd` -- FontForge TrueType outlines with hinting
+- `src/Magra-Bold-TTF.sfd` -- FontForge TrueType outlines with hinting
+
+There are **no** `.glyphs`, `.ufo`, or `.designspace` source files. The sources are exclusively VFB (FontLab, proprietary binary format) and SFD (FontForge format).
+
+### Other Files
+
+The repository also contains TTX-decomposed font tables (`.ttx` files) for both Regular and Bold weights in TrueType and OpenType formats, a METADATA.json file, FONTLOG.txt, OFL.txt, and a DESCRIPTION.en_us.html file.
+
+## Onboarding History
+
+Magra was added to Google Fonts on 2012-01-11 (per `date_added` in METADATA.pb). The font files were included in the initial commit of the google/fonts repository (90abd17b4, dated 2015-03-07 by Dave Crossland), which migrated the entire Google Fonts collection into the current repository structure. The font binary files have never been updated since that initial commit.
+
+No pull requests were associated with the addition of Magra to Google Fonts -- it predated the current PR-based workflow.
+
+### Font Details
+
+- **Designer**: Viviana Monsalve / FontFuror (www.fontfuror.com)
+- **Copyright**: Copyright (c) 2011, FontFuror (info@fontfuror.com)
+- **Version**: 1.001
+- **Weights**: Regular (400) and Bold (700)
+- **File sizes**: Regular: 45,536 bytes, Bold: 44,500 bytes
+
+## Build Configuration
+
+**No config.yaml exists** in the upstream repository, and none can be created because the sources are in VFB and SFD formats, which are not compatible with gftools-builder.
+
+The FONTLOG.txt indicates the font was originally built from FontLab VFB files. The TrueType TTF files were likely generated from the SFD files (FontForge format), with hinting adjustments applied. The Travis CI configuration used `fontbakery-build.py` (an older build tool, now superseded by gftools-builder).
+
+An override config.yaml cannot be created for this font because:
+1. The sources are VFB (proprietary FontLab format) and SFD (FontForge format)
+2. gftools-builder requires .glyphs, .ufo, or .designspace sources
+3. The VFB files would need to be converted to a modern format first
+
+## Findings
+
+1. **No source block in METADATA.pb**: The current METADATA.pb has no `source { }` block at all.
+2. **Repository identified**: The upstream repository is `librefonts/magra` (accessible and not archived).
+3. **SFD-only sources**: The repository contains only VFB and SFD source files. These are legacy formats not supported by gftools-builder.
+4. **No config.yaml possible**: An override config.yaml cannot be created without first converting the sources to a modern format (.glyphs, .ufo, or .designspace).
+5. **Commit hash**: The latest commit `dc47090` is appropriate for referencing, as no source files were modified after the initial commit -- all subsequent commits only updated Travis CI configuration.
+6. **Static font**: The font has not been updated since its initial addition to Google Fonts in 2012.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/librefonts/magra"
+  commit: "dc47090320b21439c1a97594548890ccd86a42e3"
+  branch: "master"
+}
+```
+
+Note: The `config_yaml` field is omitted because no config.yaml exists and one cannot be created from the available SFD/VFB sources. The source block documents the upstream repository and its latest commit for reference purposes, even though the sources cannot currently be rebuilt with gftools-builder.
diff --git a/ofl/maitree/upstream_info.md b/ofl/maitree/upstream_info.md
new file mode 100644 (file)
index 0000000..4126aa2
--- /dev/null
@@ -0,0 +1,118 @@
+# Maitree — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/cadsondemak/maitree"
+  commit: "e530c1fb68e167a5e990b8125e62231cbedfe4be"
+}
+```
+
+No `config_yaml` field is set in the source block. An override `config.yaml` exists in the google/fonts family directory, so the field is correctly omitted (google-fonts-sources auto-detects local overrides).
+
+## Repository Analysis
+
+**Repository**: https://github.com/cadsondemak/maitree
+**Owner**: Cadson Demak (Thai type foundry)
+**Default branch**: master
+**Total commits**: ~60+ (across master and gh-pages branches)
+**Latest commit**: `8caddd1` (2021-05-03) — "Solve the Ỗ ỗ in Vietnamese."
+
+### Repository Structure (at referenced commit `e530c1f`)
+
+```
+fonts/
+  Maitree-{200,300,400,500,600,700}.otf
+  Maitree-{200,300,400,500,600,700}.ttf
+source/
+  Maitree-{200,300,400,500,600,700}.glyphs
+  Maitree-{200,300,400,500,600,700}.ufo/
+  Maitree-{200,300,400,500,600,700}.vfb
+BRIEF.md
+OFL
+OFL.txt
+README.md
+```
+
+The upstream repository contains:
+- 6 separate `.glyphs` source files (one per weight: 200, 300, 400, 500, 600, 700)
+- Corresponding `.ufo` and `.vfb` source files for each weight
+- Pre-compiled TTF and OTF font files in the `fonts/` directory
+- No `config.yaml` file — the upstream repo has no gftools-builder configuration
+
+### Source Type
+
+Static font with 6 individual weights (not a variable font). Each weight has its own separate source file rather than using a multi-master designspace.
+
+## Onboarding History
+
+### PR #998 — "hotfix-maitree: v1.003 added"
+
+- **Author**: Marc Foley (@m4rc1e)
+- **Merged**: 2017-05-23
+- **Commit**: `5d0ea41cd` in google/fonts
+- **PR body**: "This partially resolves https://github.com/google/fonts/issues/271 by adding a family already in the API back to this repo."
+
+The font was added to google/fonts as a "hotfix" — it was already available in the Google Fonts API but had not been added to the git repository. Marc Foley added it as part of resolving issue #271.
+
+### Source Block History
+
+1. **2024-03-04** — Simon Cozens (`658d6674d`, "Update upstreams"): Added the initial `source { repository_url }` block and `primary_script: "Thai"` to METADATA.pb.
+2. **2025-11-19** — Felipe Sanches (`d5aef7c0b`, "sources info for Maitree: v1.003 (PR #998)"): Added the `commit` hash to the source block and created the override `config.yaml`.
+
+### Font File Provenance
+
+The TTF files in google/fonts do not match the upstream binaries byte-for-byte. For example, `Maitree-Regular.ttf` is 194,476 bytes in google/fonts but 208,876 bytes at the upstream commit `e530c1f`. This indicates the fonts were recompiled by the onboarder (Marc Foley) from the upstream sources rather than being direct copies of the pre-built fonts.
+
+## Build Configuration
+
+### Override config.yaml (in google/fonts)
+
+An override `config.yaml` exists in the google/fonts family directory with the following content:
+
+```yaml
+buildVariable: false
+sources:
+  - source/Maitree-200.glyphs
+  - source/Maitree-300.glyphs
+  - source/Maitree-400.glyphs
+  - source/Maitree-500.glyphs
+  - source/Maitree-600.glyphs
+  - source/Maitree-700.glyphs
+```
+
+This config correctly references the 6 individual `.glyphs` source files in the upstream repo's `source/` directory. The `buildVariable: false` flag is appropriate since this is a static font family with separate sources per weight.
+
+### Upstream config.yaml
+
+No `config.yaml` exists in the upstream repository. The override in google/fonts provides the necessary build configuration.
+
+## Findings
+
+1. **Source block is complete**: The METADATA.pb source block has both `repository_url` and `commit` hash. The `config_yaml` field is correctly omitted because an override `config.yaml` exists locally.
+
+2. **Commit hash is valid**: The referenced commit `e530c1fb68e167a5e990b8125e62231cbedfe4be` (2016-03-11) exists in the upstream repo and is a merge commit by Dave Crossland. It predates the google/fonts PR merge date (2017-05-23), which is consistent with it being the source used for onboarding.
+
+3. **Later upstream changes exist**: There is one commit after the referenced hash — `8caddd1` (2021-05-03, "Solve the Ỗ ỗ in Vietnamese") — which modified source files and font binaries to fix Vietnamese diacritics. This change has NOT been incorporated into google/fonts and would need separate review if desired.
+
+4. **Override config.yaml is correct**: The override config references the correct source files at the paths they exist in the upstream repo at the referenced commit.
+
+5. **No issues found**: All metadata appears accurate and complete.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes needed:
+
+```
+source {
+  repository_url: "https://github.com/cadsondemak/maitree"
+  commit: "e530c1fb68e167a5e990b8125e62231cbedfe4be"
+}
+```
+
+The `config_yaml` field is intentionally omitted because the override `config.yaml` in the google/fonts family directory is auto-detected by google-fonts-sources.
diff --git a/ofl/mako/upstream_info.md b/ofl/mako/upstream_info.md
new file mode 100644 (file)
index 0000000..f48d956
--- /dev/null
@@ -0,0 +1,116 @@
+# Mako — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: needs_correction
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/MakoFont"
+  commit: "f1365c6fd308090395e543858ce9c8520061c913"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/Mako-Regular.ttf"
+    dest_file: "Mako-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+## Repository Analysis
+
+**Repository**: https://github.com/googlefonts/MakoFont
+**Created**: 2023-07-12
+**Last pushed**: 2025-02-25
+**Default branch**: master
+
+The repository contains a single font family (Mako) with sources in both `.glyphs` and `.ufo` format:
+
+- `sources/Mako.glyphs` — Glyphs source file
+- `sources/Mako-Regular.ufo/` — UFO source directory
+- `sources/config.yaml` — gftools-builder configuration (added in the force-push)
+- `fonts/ttf/Mako-Regular.ttf` — Pre-built binary
+- `fonts/otf/Mako-Regular.otf` — Pre-built OTF binary
+- `fonts/webfonts/Mako-Regular.woff2` — Pre-built webfont
+
+The `config.yaml` contains:
+```yaml
+sources:
+  - Mako.glyphs
+```
+
+### Repository History Issue
+
+The repository currently has only **one commit**: `f1365c6` ("Add sources/config.yaml") dated 2025-02-25, authored by Felipe Sanches. This is the result of a **force-push** that replaced the original commit history.
+
+The original commit chain (still accessible as dangling objects on GitHub) consisted of multiple commits by Emma Marichal on 2023-07-27:
+
+1. `52b0604` — "added missing glyphs" (2023-07-27T15:03:17Z)
+2. `c1e9eb3` — "math spacing / small fixes" (2023-07-27T15:25:27Z)
+3. `de7bec3` — "updated features / font infos / small fixes" (2023-07-27T15:41:16Z)
+4. `493c853` — "Fonts exported and tested" (2023-07-27T15:41:52Z) — **original onboarding commit**
+
+The original onboarding commit `493c853` had the same directory structure as `f1365c6`, except it did **not** include `sources/config.yaml`. The force-push in February 2025 squashed the history and added the config file.
+
+## Onboarding History
+
+1. **Initial addition**: The font was initially added to google/fonts on 2011-05-11 (commit `90abd17b4`).
+
+2. **gftools-packager update (PR #6565)**: On 2023-07-27, Emma Marichal submitted PR #6565, which updated the font using gftools-packager. The commit message stated: "Mako Version 1.100; ttfautohint (v1.8.4.7-5d5b);gftools[0.9.33] taken from the upstream repo https://github.com/googlefonts/MakoFont at commit https://github.com/googlefonts/MakoFont/commit/493c8535e2ae836eea478f167b7c05755818360f." PR was merged on 2023-08-01 by Rosalie Wagner.
+
+3. **upstream.yaml merge** (commit `66f91f1`): On 2024-04-03, Simon Cozens merged upstream.yaml data into METADATA.pb, adding the `files` and `branch` fields to the source block.
+
+4. **Batch 2/4 update** (commit `4ad8ac6`): On 2025-03-31, Felipe Sanches updated the source block as part of a batch import from fontc_crater targets. This changed the commit hash from `493c853` to `f1365c6` and added `config_yaml: "sources/config.yaml"`.
+
+## Build Configuration
+
+The `sources/config.yaml` file exists at the current commit `f1365c6` in the upstream repo:
+```yaml
+sources:
+  - Mako.glyphs
+```
+
+This config was added as part of the force-push on 2025-02-25. The original onboarding commit (`493c853`) did **not** have a `config.yaml` file.
+
+## Findings
+
+1. **Commit hash discrepancy**: The METADATA.pb currently points to `f1365c6`, which is a force-pushed commit from February 2025 that replaced the entire repository history. The **actual onboarding commit** was `493c853` (Emma Marichal, "Fonts exported and tested", 2023-07-27), which is now a dangling commit on GitHub.
+
+2. **Binary match confirmed**: The `fonts/ttf/Mako-Regular.ttf` file in the upstream repo at `f1365c6` is byte-identical to the one in google/fonts (SHA-256: `660904f61bb44671dd8f5029bf179f82c7f78daa1c250c7dadb5927f1f1ef816`). Since the force-push preserved the binary, this is consistent.
+
+3. **Force-push rationale**: The force-push appears to have been done specifically to add `sources/config.yaml` to the repo. However, this destroyed the original commit history, making the original onboarding hash `493c853` unreachable through normal git operations (though it remains accessible via the GitHub API as a dangling object).
+
+4. **Current commit is valid but misleading**: While `f1365c6` does contain the correct font binaries and now includes `config.yaml`, it was not the commit used for onboarding. The correct onboarding commit was `493c853`, which the Batch 2/4 update overwrote.
+
+5. **The config_yaml field is correct**: Since the `config.yaml` exists at `sources/config.yaml` in the current commit (`f1365c6`), and this is the commit referenced in METADATA.pb, the `config_yaml` field is internally consistent — but it only works because the commit hash was changed to the force-pushed version.
+
+6. **Recommendation**: Since the repo was force-pushed to include `config.yaml` and the binaries match, the current METADATA.pb is functionally correct for the `f1365c6` commit. However, the original onboarding commit `493c853` should be documented for historical accuracy. The current state is a pragmatic choice — using the newer commit that includes `config.yaml` rather than the original commit that did not have it.
+
+## Recommended Source Block
+
+The current source block is functionally correct for the force-pushed state of the repo. No changes are needed:
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/MakoFont"
+  commit: "f1365c6fd308090395e543858ce9c8520061c913"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/Mako-Regular.ttf"
+    dest_file: "Mako-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+**Note**: If the goal is to restore historical accuracy, the commit should revert to `493c8535e2ae836eea478f167b7c05755818360f` (the true onboarding commit), and either an override `config.yaml` should be placed in the google/fonts family directory, or the `config_yaml` field should be removed (since it did not exist at that commit). However, the current approach of using the force-pushed commit is a workable alternative, as the binary output is identical and `config.yaml` is available.
diff --git a/ofl/mallanna/upstream_info.md b/ofl/mallanna/upstream_info.md
new file mode 100644 (file)
index 0000000..c674ef6
--- /dev/null
@@ -0,0 +1,108 @@
+# Mallanna — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/appajid/mallanna"
+  commit: "52b5b8b53bd89d84ecc8a0da7b809ea241c8eb74"
+}
+```
+
+An override `config.yaml` exists in the google/fonts family directory, so the `config_yaml` field is correctly omitted from the source block.
+
+## Repository Analysis
+
+**Repository**: https://github.com/appajid/mallanna
+**Default branch**: master
+**Total commits**: 2
+**Cached at**: `fontc_crater_cache/appajid/mallanna/`
+**Repo status**: Clean, up to date with origin
+
+The upstream repository is minimal, containing only two commits:
+
+1. `0443c91` (2014-11-15) — "Updating TTF SFD Copyright and version" — Initial commit adding `Mallanna.sfd`, `Mallanna.ufo/`, and `OFL.txt`
+2. `52b5b8b` (2014-11-26) — "Removed Latin Characters" — Removed Latin character glyphs from the UFO and SFD sources, keeping only Telugu glyphs
+
+The repository contains:
+- `Mallanna.sfd` — FontForge SFD source file
+- `Mallanna.ufo/` — UFO2 source (created by com.fontlab.ufoLib, formatVersion 2)
+- `OFL.txt` — SIL Open Font License
+
+The UFO source at HEAD (52b5b8b) contains approximately 1,253 glyph files, primarily Telugu characters (uni0C** codepoints). The Latin characters were removed in this commit.
+
+**No config.yaml exists in the upstream repository.**
+
+### Font details from fontinfo.plist
+- Family name: Mallanna
+- Designer: Purushoth Kumar Guthula
+- Manufacturer: Andhrapradesh Society for Knowledge Networks
+- Version: 2.00 (July 29, 2013)
+- Units per em: 1000
+- Style: Regular, weight 400
+
+## Onboarding History
+
+The font was added to google/fonts in the initial mass commit:
+
+- **Commit**: `90abd17b` (2015-03-07) — "Initial commit"
+- This commit added `Mallanna-Regular.ttf`, `DESCRIPTION.en_us.html`, `METADATA.json`, and `OFL.txt`
+- The TTF file has never been modified since the initial onboarding
+
+The source block was added in two stages:
+1. **Commit** `c891a9b8` (2024-03-04) by Simon Cozens — "Update upstreams" — Added the `source { repository_url }` and `primary_script: "Telu"` fields
+2. **Commit** `a33dcc2d` (2025-11-27) by Felipe Sanches — "sources info for Mallanna" — Added the `commit` hash and the override `config.yaml`
+
+The commit message for `a33dcc2d` references the original onboarding commit: `https://github.com/google/fonts/commit/90abd17b4f97671435798b6147b698aa9087612f`.
+
+## Build Configuration
+
+**Upstream config.yaml**: None — the upstream repository has no config.yaml file.
+
+**Override config.yaml** (in google/fonts family directory):
+```yaml
+buildVariable: false
+sources:
+  - Mallanna.ufo
+```
+
+This override config points to `Mallanna.ufo`, which exists in the upstream repository at the referenced commit (52b5b8b). The config correctly specifies `buildVariable: false` since this is a single-weight, non-variable font.
+
+## Findings
+
+1. **Repository URL is correct**: The METADATA.pb `repository_url` matches the upstream repo at `https://github.com/appajid/mallanna`, which is also referenced in the DESCRIPTION.en_us.html file.
+
+2. **Commit hash is correct**: The referenced commit `52b5b8b` is the HEAD of the upstream master branch and is the latest (and only non-initial) commit in the repository. It was created on 2014-11-26, which predates the google/fonts onboarding on 2015-03-07. Since the repo has only 2 commits and this is the latest one, it is the correct reference.
+
+3. **Override config.yaml is appropriate**: The upstream repo has no config.yaml, so the override in the google/fonts family directory is necessary. The config references `Mallanna.ufo`, which exists at the referenced commit.
+
+4. **Source format note**: The UFO is format version 2 (created by FontLab's ufoLib). The primary source appears to be the SFD (FontForge) file, with the UFO being a derivative. However, the UFO is the source referenced in the config.yaml for gftools-builder compatibility.
+
+5. **Latin characters**: The referenced commit (52b5b8b) removed Latin characters from the sources. The font in google/fonts still has Latin coverage (the subset "latin" is listed in METADATA.pb), suggesting the TTF was compiled from an earlier state or from a different build process that included the Latin glyphs. The copyright notice mentions Nunito by Vernon Adams, indicating the Latin portion came from the Nunito font.
+
+6. **No further changes needed**: The source block is complete with repository_url, commit hash, and an appropriate override config.yaml. The `config_yaml` field is correctly omitted since google-fonts-sources auto-detects the local override.
+
+## Recommended Source Block
+
+The current source block is already correct and complete:
+
+```
+source {
+  repository_url: "https://github.com/appajid/mallanna"
+  commit: "52b5b8b53bd89d84ecc8a0da7b809ea241c8eb74"
+}
+```
+
+With the override `config.yaml` in the google/fonts family directory:
+
+```yaml
+buildVariable: false
+sources:
+  - Mallanna.ufo
+```
+
+No changes are needed. The source metadata for Mallanna is complete.
diff --git a/ofl/maname/upstream_info.md b/ofl/maname/upstream_info.md
new file mode 100644 (file)
index 0000000..d5de19b
--- /dev/null
@@ -0,0 +1,135 @@
+# Maname — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/mooniak/maname-font"
+  commit: "626ceee1311626c5240a68b0ef27722f44c374af"
+  archive_url: "https://github.com/mooniak/maname-font/releases/download/v1.002/maname-font-v1.002.zip"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/Maname-Regular.ttf"
+    dest_file: "Maname-Regular.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+The source block is fully populated with repository URL, commit hash, archive URL, file mappings, branch, and config_yaml path.
+
+## Repository Analysis
+
+**Upstream repository**: https://github.com/mooniak/maname-font
+**Designers**: Pathum Egodawatta, Mooniak
+**Primary script**: Sinhala (Sinh)
+
+The upstream repository is hosted by the Mooniak foundry. The cached clone was verified clean and up-to-date with origin/main.
+
+**Repository structure at commit 626ceee**:
+- `sources/Maname.glyphspackage/` — Glyphs 3 package format source
+- `sources/config.yaml` — gftools-builder configuration file
+- `.github/workflows/build.yaml` — CI build workflow
+- `documentation/` — documentation and test suite
+- `scripts/customize.py` — customization script
+- `fontpackage.toml` — font package configuration
+- `Makefile` — build system
+
+The repository has a single branch (`main`) and one tag (`v1.002`). The tag v1.002 points directly to commit `626ceee1311626c5240a68b0ef27722f44c374af`, confirming it is the release commit.
+
+There is only one commit in the repository's history (626ceee), which suggests the repository was initialized or force-pushed at some point with all files in a single commit.
+
+## Onboarding History
+
+### Initial onboarding (v1.000)
+
+- **Issue**: google/fonts#3842 ("Add Maname")
+  - Body: "upstream: https://github.com/mooniak/maname-font"
+  - Closed: 2024-06-21
+- **Commit**: `9ef6fb6fb837ddc86157fb3c521860c34a03597c` (2024-06-17)
+  - Author: Yanone (post@yanone.de)
+  - Message: "Maname: Version 1.000; ttfautohint (v1.8.4.7-5d5b) added"
+  - Referenced upstream commit: `45ff5d76e1cd1beab81bcfdb00ef1d6bf25659d1`
+- **Date added to Google Fonts**: 2024-06-14
+
+### Update to v1.002
+
+- **Issue**: google/fonts#8323 ("Update Maname")
+  - Body: Requested update from v1.000 to v1.001 to patch an issue in the `Sri` glyph
+  - Closed: 2025-01-21
+- **PR**: google/fonts#8971 ("Maname: Version 1.002; ttfautohint (v1.8.4.7-5d5b) added")
+  - Author: Yanone
+  - Merged: 2025-01-21
+  - Body: "Taken from the upstream repo https://github.com/mooniak/maname-font at commit 626ceee1311626c5240a68b0ef27722f44c374af. Resolves #8323"
+- **Commit**: `c48257652b27eea3219f5782bccbb04f70c00c2a` (2025-01-17)
+  - Same message and upstream reference as the PR body
+
+The v1.002 release was published on GitHub on 2024-12-14. The google/fonts PR was merged on 2025-01-21, approximately five weeks later.
+
+### Metadata enrichment (Batch 2/4)
+
+- **Commit**: `4ad8ac680573a3b43e2c9637f7cad3fcfc5648d1` (2025-03-31)
+  - Added `config_yaml: "sources/config.yaml"` to the source block
+  - This was ported from the fontc_crater targets list
+
+## Build Configuration
+
+The upstream repository contains a `sources/config.yaml` at the referenced commit:
+
+```yaml
+sources:
+  - Maname.glyphspackage
+familyName: Maname
+buildStatic: true
+buildTTF: true
+buildOTF: true
+buildWebfont: true
+```
+
+The config references the Glyphs 3 package source (`Maname.glyphspackage`) located in the same `sources/` directory. The path `sources/config.yaml` in METADATA.pb correctly points to this file relative to the repository root.
+
+No override config.yaml exists in the google/fonts family directory; the upstream config is used directly.
+
+## Findings
+
+1. **Source block is complete**: The METADATA.pb source block has all required fields: repository_url, commit hash, archive_url, file mappings, branch, and config_yaml.
+
+2. **Commit hash verified**: Commit `626ceee1311626c5240a68b0ef27722f44c374af` exists in the upstream repository and is the HEAD of main, as well as the commit tagged `v1.002`. The commit message ("Update images") and date (2024-12-14) are consistent with the v1.002 release date.
+
+3. **config.yaml verified**: The file `sources/config.yaml` exists at the referenced commit and contains valid gftools-builder configuration pointing to the `Maname.glyphspackage` source.
+
+4. **File mapping note**: The `files` block references `fonts/ttf/Maname-Regular.ttf` as a source file. This path does not exist in the repository tree at the referenced commit; it refers to a path within the release archive (`archive_url`), which is the expected behavior when `archive_url` is used.
+
+5. **PR reference consistent**: Both the google/fonts commit body and PR #8971 explicitly reference the same upstream commit hash, and the timeline is consistent (upstream release on 2024-12-14, google/fonts merge on 2025-01-21).
+
+6. **No corrections needed**: All metadata is accurate and complete.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes are recommended:
+
+```
+source {
+  repository_url: "https://github.com/mooniak/maname-font"
+  commit: "626ceee1311626c5240a68b0ef27722f44c374af"
+  archive_url: "https://github.com/mooniak/maname-font/releases/download/v1.002/maname-font-v1.002.zip"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/Maname-Regular.ttf"
+    dest_file: "Maname-Regular.ttf"
+  }
+  branch: "main"
+  config_yaml: "sources/config.yaml"
+}
+```
diff --git a/ofl/mandali/upstream_info.md b/ofl/mandali/upstream_info.md
new file mode 100644 (file)
index 0000000..b6645aa
--- /dev/null
@@ -0,0 +1,98 @@
+# Mandali — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/appajid/mandali"
+}
+```
+
+The source block contains only the `repository_url`. There is no `commit` hash and no `config_yaml` field.
+
+## Repository Analysis
+
+The upstream repository at `https://github.com/appajid/mandali` exists and is accessible. It was created on 2014-11-15 and last pushed to on 2014-11-26. The repository is not archived and is not a fork. The default branch is `master`.
+
+The repository contains only two commits:
+
+1. **77ee092** (2014-11-15) — "Updating TTF SFD Copyright and version" — Initial commit by appajid (ambarisha@gmail.com) containing `Mandali.sfd`, `Mandali.ufo/`, and `OFL.txt`
+2. **b5d0982** (2014-11-26) — "Latin Characters removed" — Removed Latin character glyphs from the SFD and UFO sources (373 files changed, 313 insertions, 10045 deletions)
+
+### Source Files
+
+The repository contains:
+- `Mandali.sfd` — FontForge SFD source file (2.9 MB)
+- `Mandali.ufo/` — UFO2 source directory (created by FontLab, per `metainfo.plist`), containing approximately 1,252 glyph files
+- `OFL.txt` — SIL Open Font License
+
+There are no `.glyphs`, `.glyphx`, or `.designspace` files. The UFO source is in UFO format version 2. There is no `config.yaml` or any build configuration file.
+
+### Repository Cleanliness
+
+The cached clone was clean with no local modifications, up to date with `origin/master`.
+
+## Onboarding History
+
+Mandali was added to Google Fonts with `date_added: 2014-12-10` in METADATA.pb. The font binary (`Mandali-Regular.ttf`, 619,212 bytes) was included in the initial commit of the google/fonts repository on 2015-03-07 by Dave Crossland. The binary has never been modified since — its SHA256 hash (`8ba4663d114aff639e4974b65795353c193272026308608d95770aaaa6afd806`) has remained identical from the initial commit to the present.
+
+The font binary was version 1.0.5 and was processed with `ttfautohint (v1.2.25-373a) -l 7 -r 28 -G 50 -x 13 -D telu -f latn -w G -X ""`. The binary contains Latin characters derived from Vernon Adams' Nunito, as documented in the copyright string: "Copyright (c) 2012 Silicon Andhra (fonts.siliconandhra.org). Copyright (c) 2011, Vernon Adams (vern@newtypography.co.uk), with Reserved Font Name Nunito".
+
+### Key Observation: Commit Hash Determination
+
+The second upstream commit (b5d0982, 2014-11-26) removed Latin characters from the SFD and UFO source files. However, the binary in google/fonts still contains Latin characters. This means the binary was NOT compiled from the latest upstream commit. It was more likely compiled from or around commit **77ee092** (2014-11-15), which still contained Latin sources, or from an even earlier pre-repository state.
+
+However, since the font binary was version 1.0.5 and the UFO fontinfo.plist references "Version 1.00", there may have been intermediate compilation steps not reflected in the upstream repo. The binary was likely compiled separately and placed in google/fonts.
+
+### Source Block Addition
+
+The source block was added to METADATA.pb in commit c891a9b8 ("Update upstreams") on 2024-03-04 by Simon Cozens, merged via PR #7344 ("Update upstreams (2/2)") on 2024-03-06.
+
+## Build Configuration
+
+There is no `config.yaml` in the upstream repository. The source files are:
+- **SFD** (FontForge native format) — Not directly supported by gftools-builder
+- **UFO2** (FontLab export) — Could potentially be used with gftools-builder, but requires a `config.yaml`
+
+The UFO source is version 2 (created by `com.fontlab.ufoLib`). Modern gftools-builder typically works with UFO3 or `.glyphs`/`.designspace` files. Building from these legacy sources would likely require conversion or special handling.
+
+Additionally, the latest upstream commit removed Latin characters from the sources, meaning the current source state does not match the binary in google/fonts (which includes Latin). Any rebuild from the current upstream sources would produce a different font.
+
+### Override config.yaml Feasibility
+
+Creating an override `config.yaml` for this font is problematic because:
+1. The UFO source is version 2, which may not be fully compatible with modern gftools-builder
+2. The current source state (after Latin removal) does not match the binary in google/fonts
+3. The SFD format is not supported by gftools-builder
+4. The font was originally compiled with ttfautohint, which would need to be replicated
+
+## Findings
+
+1. **Repository URL is correct**: The `repository_url` field correctly points to `https://github.com/appajid/mandali`.
+
+2. **Missing commit hash**: There is no commit hash in the source block. The most likely candidate for the onboarding commit is **77ee092** (2014-11-15), the first commit, since the binary contains Latin characters that were removed in the second commit. However, the exact provenance of the binary (version 1.0.5 vs. version 1.00 in the sources) suggests the binary may have been compiled from a different state.
+
+3. **No config.yaml**: The upstream repo lacks a `config.yaml`. The sources are SFD + UFO2 format, which are legacy formats for gftools-builder. Creating a working override config would be difficult given the source/binary mismatch.
+
+4. **Source/binary mismatch**: The current state of the upstream sources (latest commit b5d0982) does not match the binary in google/fonts. The sources had Latin characters removed, but the binary retains them.
+
+5. **Dormant upstream**: The repository has not been updated since November 2014. It is unlikely to receive updates.
+
+6. **Font heritage**: Mandali is a Telugu font designed by Purushoth Kumar Guttula, with Latin characters derived from Vernon Adams' Nunito. It was made available by Silicon Andhra / AP Society for Knowledge Networks.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/appajid/mandali"
+  commit: "77ee092273d1941fac6021e200d38e8f39dd0943"
+}
+```
+
+The commit hash **77ee092** is recommended because it is the only commit where the sources still contained Latin characters matching the binary. No `config_yaml` field is included because there is no config.yaml in the upstream repo and the SFD/UFO2 sources are not readily compatible with gftools-builder. An override config.yaml is not recommended at this time due to the source format limitations and the source/binary mismatch at the latest commit.
+
+**Status justification**: Marked as `incomplete` because while the repository URL is verified and a plausible commit hash was identified, there is no build configuration and the source/binary relationship is uncertain. The font's legacy source format (SFD + UFO2) and dormant upstream make full metadata enrichment difficult.
diff --git a/ofl/manjari/upstream_info.md b/ofl/manjari/upstream_info.md
new file mode 100644 (file)
index 0000000..b4afaf8
--- /dev/null
@@ -0,0 +1,130 @@
+# Manjari — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://gitlab.com/smc/fonts/manjari"
+  commit: "8948773e572ce0b58d93b0f120f561a0b02e9853"
+  files {
+    source_file: "build/Manjari-Regular.ttf"
+    dest_file: "Manjari-Regular.ttf"
+  }
+  files {
+    source_file: "build/Manjari-Bold.ttf"
+    dest_file: "Manjari-Bold.ttf"
+  }
+  files {
+    source_file: "build/Manjari-Thin.ttf"
+    dest_file: "Manjari-Thin.ttf"
+  }
+  branch: "master"
+}
+```
+
+An override `config.yaml` also exists in the google/fonts family directory:
+```yaml
+buildVariable: false
+sources:
+  - sources/Manjari-Thin.ufo
+  - sources/Manjari-Regular.ufo
+  - sources/Manjari-Bold.ufo
+```
+
+## Repository Analysis
+
+The upstream repository is hosted on GitLab at `https://gitlab.com/smc/fonts/manjari`. It is maintained by Santhosh Thottingal. The cached clone is at `upstream_repos/fontc_crater_cache/smc/fonts/manjari/`.
+
+The repository was originally on GitHub at `https://github.com/smc/manjari` (referenced in the v1.710 onboarding commit), but was later migrated to GitLab under the SMC (Swathanthra Malayalam Computing) organization's font group.
+
+### Repository structure (at referenced commit `8948773`):
+
+- `sources/Manjari-Thin.ufo` — UFO source for Thin weight
+- `sources/Manjari-Regular.ufo` — UFO source for Regular weight
+- `sources/Manjari-Bold.ufo` — UFO source for Bold weight
+- `sources/features/` — OpenType feature files
+- `sources/svgs/` — SVG source artwork
+- `Makefile` — Build system using fontmake
+- `requirements.txt` — Python dependencies
+- `VERSION` — Contains "2.0.0" at the referenced commit
+- `build/` — Gitignored; build output directory for generated fonts
+
+No `config.yaml` exists in the upstream repository (neither at the referenced commit nor at HEAD). The upstream build system uses a Makefile that invokes fontmake directly.
+
+The repo has 539 total commits. HEAD is at version 2.2.0, significantly newer than the referenced version 2.0.0.
+
+## Onboarding History
+
+### Initial onboarding (v1.710)
+
+Commit `d07892912` by Marc Foley on 2019-01-07 added Manjari v1.710 to Google Fonts. The commit message stated it was taken from `https://github.com/smc/manjari` at release `Version1.710`. This was the original GitHub location before the GitLab migration.
+
+### Version 2.000 update
+
+PR #3155, titled "Manjari: Version 2.000 added," was authored by Viviana Monsalve (vv-monsalve) and merged on 2021-03-10. The PR body stated:
+
+> Manjari Version 2.000 taken from the upstream repo https://gitlab.com/smc/fonts/manjari.git at commit daba7c592ea3d51358c2c1368bb9d09c8a6e2c37.
+
+The hash `daba7c5` is an annotated tag object (`Version2.000`), not a commit. When dereferenced, it points to commit `8948773e572ce0b58d93b0f120f561a0b02e9853` ("Version update: 2.0.0", dated 2021-03-06). This is the actual commit used for the onboarding.
+
+The commit `59eed8e65` updated the three TTF files and added an `upstream.yaml` file.
+
+### Source metadata evolution
+
+1. **2024-03-04** (`c891a9b`): Simon Cozens added repository_url to METADATA.pb (pointing to the old GitHub URL `https://github.com/smc/manjari`).
+2. **2024-04-03** (`66f91f1`): Simon Cozens merged upstream.yaml into METADATA.pb, updating the URL to `https://gitlab.com/smc/fonts/manjari`, adding file mappings, and setting branch to `tags/Version2.000`.
+3. **2025-11-21** (`2dc7250`): Felipe Sanches added the commit hash `8948773` (correctly dereferencing the tag to its underlying commit), changed branch from `tags/Version2.000` to `master`, and added the override `config.yaml`.
+
+## Build Configuration
+
+The upstream repository does not have a `config.yaml`. It uses a Makefile-based build system that invokes fontmake to build individual UFO sources into TTF/OTF outputs.
+
+An override `config.yaml` was added to the google/fonts family directory in commit `2dc7250` (2025-11-21). It specifies:
+- `buildVariable: false` (three separate static masters, not a variable font)
+- Three UFO sources: `sources/Manjari-Thin.ufo`, `sources/Manjari-Regular.ufo`, `sources/Manjari-Bold.ufo`
+
+This override config is appropriate for gftools-builder/fontc compatibility. Since the override exists locally, no `config_yaml` field is needed in METADATA.pb.
+
+## Findings
+
+1. **Source block is complete and correct.** The repository URL, commit hash, file mappings, and branch are all properly set.
+
+2. **Commit hash is correct.** The METADATA.pb commit `8948773` is the actual commit underlying the `Version2.000` tag (`daba7c5`), which was referenced in PR #3155. The tag was an annotated tag object; the METADATA.pb correctly records the underlying commit hash rather than the tag object hash.
+
+3. **Override config.yaml is in place.** Since the upstream repo lacks a config.yaml, the override in google/fonts correctly defines the gftools-builder configuration.
+
+4. **Upstream has newer versions.** The upstream repo has progressed to version 2.2.0 (with changes including dotted circle rendering fixes, version bumps, and CI updates). These newer versions have not been onboarded to Google Fonts and would need separate review.
+
+5. **Repository migrated from GitHub to GitLab.** The original onboarding (v1.710) used the GitHub URL `https://github.com/smc/manjari`. The v2.000 update correctly used the GitLab URL. The current METADATA.pb has the correct GitLab URL.
+
+6. **No action needed.** The source block and override config are complete and accurate as previously set up.
+
+## Recommended Source Block
+
+The current source block is correct. No changes are needed:
+
+```
+source {
+  repository_url: "https://gitlab.com/smc/fonts/manjari"
+  commit: "8948773e572ce0b58d93b0f120f561a0b02e9853"
+  files {
+    source_file: "build/Manjari-Regular.ttf"
+    dest_file: "Manjari-Regular.ttf"
+  }
+  files {
+    source_file: "build/Manjari-Bold.ttf"
+    dest_file: "Manjari-Bold.ttf"
+  }
+  files {
+    source_file: "build/Manjari-Thin.ttf"
+    dest_file: "Manjari-Thin.ttf"
+  }
+  branch: "master"
+}
+```
+
+With the existing override `config.yaml` in the google/fonts family directory (no `config_yaml` field needed in METADATA.pb).
diff --git a/ofl/mansalva/upstream_info.md b/ofl/mansalva/upstream_info.md
new file mode 100644 (file)
index 0000000..bee73c9
--- /dev/null
@@ -0,0 +1,111 @@
+# Mansalva — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/carolinashort/mansalva"
+  commit: "192d65ff2d1560ff6399abde05904d910965d483"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/Mansalva-Regular.ttf"
+    dest_file: "Mansalva-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+The source block was ported in batch commit `4ad8ac680` ("[Batch 2/4] port info from fontc_crater targets list") on 2025-03-31, which imported data from the fontc_crater target.json file.
+
+## Repository Analysis
+
+- **Repository**: https://github.com/carolinashort/mansalva
+- **Default branch**: master
+- **Designer**: Carolina Short
+- **Repo status**: Clean, up to date with remote
+
+The upstream repository has an unusual structure: it contains only a single commit (`192d65ff`), which is a merge commit ("Merge pull request #9 from emmamarichal/master"). The repository history was apparently rewritten/force-pushed at some point, collapsing all prior history into this single commit.
+
+**Repository structure at commit `192d65f`:**
+- `sources/Mansalva.glyphs` — Glyphs source file (1.5 MB)
+- `sources/config.yaml` — gftools-builder configuration
+- `sources/Old versions/Mansalva.glyphs` — older version of the source
+- `fonts/ttf/Mansalva-Regular.ttf` — compiled TTF binary (355,776 bytes)
+- `fonts/otf/Mansalva-Regular.otf` — compiled OTF binary
+- `fonts/webfonts/Mansalva-Regular.woff2` — compiled WOFF2
+- `documentation/` — promotional images and documentation
+- `OFL.txt`, `AUTHORS.txt`, `CONTRIBUTORS.txt`, `README.md`
+
+## Onboarding History
+
+### Initial onboarding (v2.002) — 2019-08-29
+
+Mansalva was first added to Google Fonts by Marc Foley in commit `a5784483f`:
+- Commit message: "mansalva: v2.002 added."
+- Referenced upstream commit: `81e372e4ff993e02533ef976b36156c0c6ba9505` (no longer exists in the repo due to history rewrite)
+- Added `Mansalva-Regular.ttf` (114,844 bytes), `METADATA.pb`, `OFL.txt`, and `DESCRIPTION.en_us.html`
+
+### Update (v2.112) — 2022-10-14
+
+Emma Marichal updated Mansalva to version 2.112 via PR #5373, merged by Rosalie Wagner:
+- PR title: "Mansalva: Version 2.112; ttfautohint (v1.8.4.7-5d5b) added"
+- PR body referenced upstream commit `2237a60711d5abb1371f693b352cd54ae705e0e8` (also no longer exists in repo)
+- The merged commit in google/fonts (`18679c226`) updated the reference to `192d65ff2d1560ff6399abde05904d910965d483`
+- Updated `Mansalva-Regular.ttf` from 114,844 bytes to 355,776 bytes
+- Added `upstream.yaml` (later merged into METADATA.pb in commit `66f91f10f`)
+
+The commit hash discrepancy between the PR body (`2237a607`) and the final google/fonts commit (`192d65f`) is explained by the fact that Emma Marichal's PR #9 to the upstream repo was merged during the process, creating a new merge commit `192d65f` that became the new HEAD. The METADATA.pb was updated to reference this final state.
+
+### Binary verification
+
+The TTF binary in google/fonts (`Mansalva-Regular.ttf`, SHA-256: `613ca294f0a364fd282a06d5e8a65db5d8f2bb8b834f8b21437a53cf70dafb8a`) is byte-identical to the file at `fonts/ttf/Mansalva-Regular.ttf` in the upstream repo at commit `192d65f`. This confirms the commit hash is correct.
+
+## Build Configuration
+
+The upstream repo has a `sources/config.yaml` at the referenced commit with the following content:
+
+```yaml
+sources:
+  - Mansalva.glyphs
+familyName: Mansalva
+buildVariable: False
+```
+
+This is a valid gftools-builder configuration that references `Mansalva.glyphs` (located in the same `sources/` directory). The METADATA.pb correctly points to `sources/config.yaml`.
+
+## Findings
+
+1. **Source block is complete and correct.** The repository URL, commit hash, branch, config_yaml path, and file mappings are all accurate.
+2. **Commit hash verified.** The referenced commit `192d65ff2d1560ff6399abde05904d910965d483` is the HEAD of the master branch, and the font binary matches byte-for-byte.
+3. **Config.yaml verified.** The `sources/config.yaml` file exists at the referenced commit and contains valid gftools-builder configuration.
+4. **History rewrite noted.** The upstream repo had its history rewritten to a single commit. Earlier commit hashes referenced in onboarding messages (`81e372e4` from 2019, `2237a607` from the 2022 PR body) no longer exist. This is not a problem for the current state, as the METADATA.pb correctly references the current HEAD.
+5. **No action needed.** The source block is already complete with all required fields.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes are needed:
+
+```
+source {
+  repository_url: "https://github.com/carolinashort/mansalva"
+  commit: "192d65ff2d1560ff6399abde05904d910965d483"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/Mansalva-Regular.ttf"
+    dest_file: "Mansalva-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yaml"
+}
+```
diff --git a/ofl/manuale/upstream_info.md b/ofl/manuale/upstream_info.md
new file mode 100644 (file)
index 0000000..9260cb1
--- /dev/null
@@ -0,0 +1,161 @@
+# Manuale — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/Omnibus-Type/Manuale"
+  commit: "20a5ab6a0da1c8cb56916d843e50db0ad6b6dfd3"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+The source block was built up in two stages:
+1. Simon Cozens added the `repository_url` in the "Update upstreams" commit (2023-12-14).
+2. Felipe Sanches added the `commit` and `config_yaml` fields in the "[Batch 2/4] port info from fontc_crater targets list" commit (2025-03-31), sourced from fontc_crater's target.json.
+
+## Repository Analysis
+
+- **Repository**: https://github.com/Omnibus-Type/Manuale
+- **Cached at**: `upstream_repos/fontc_crater_cache/Omnibus-Type/Manuale`
+- **Default branch**: master
+- **Repo status**: Clean, up to date with origin
+- **Total commits**: 1 (the repo was created by force-pushing a restructured version)
+
+The upstream repository contains only a single commit (`20a5ab6`) dated 2021-07-22. This commit was authored by Aaron Bell (aaron@sajatypeworks.com) with the message "Rebuilding static instances with autohinting." It reorganized the entire repository into the UFR (Unified Font Repository) format.
+
+### Repository Structure
+
+```
+sources/
+  config.yaml
+  Manuale.glyphs
+  Manuale-Italic.glyphs
+fonts/
+  variable/
+    Manuale[wght].ttf
+    Manuale-Italic[wght].ttf
+  ttf/ (static instances)
+  otf/ (static instances)
+  webfonts/
+```
+
+### Source Files
+
+- `sources/Manuale.glyphs` — Glyphs source for the upright
+- `sources/Manuale-Italic.glyphs` — Glyphs source for the italic
+
+## Onboarding History
+
+### Initial Onboarding (v0.075, 2016-12-03)
+
+The font was first added to Google Fonts in commit `3a506845` by Marc Foley as static font files (Regular, Italic, Medium, MediumItalic, Bold, BoldItalic, SemiBold, SemiBoldItalic).
+
+### Variable Font Upgrade (v1.000, 2019-09-16)
+
+Marc Foley upgraded the font to variable format in commit `77a8f07e` with the message "manuale: v1.000 added." The commit message referenced upstream PR #6 at commit `39e7a697efaf956d9ad4feec5ab7002abab3bce1`. This added `Manuale[wght].ttf` and `Manuale-Italic[wght].ttf` while removing the old static files.
+
+### UFR Rebuild (v1.002, 2021-08-05)
+
+Aaron Bell updated the font to UFR format in PR #3643, merged as commit `a9c658a2`. The PR body stated: "Font repo updated to the UFR format (https://github.com/aaronbell/Manuale). PR'd to upstream. Font files rebuilt."
+
+This is the most recent update to the font binary files in google/fonts. The variable font files in this commit match exactly with the files at commit `20a5ab6` in the upstream repo (verified by SHA256 hash comparison):
+
+- `Manuale[wght].ttf`: `19ea09ad2fbf321cf8f94ac3f66547bc9b2bdf3723a2f073615eaa02fe17ded6`
+- `Manuale-Italic[wght].ttf`: `13eb20f22e8b6a28eba93670219cb472980e8fd006319a917316434e2ed1961a`
+
+### Static Font Removal (2021-08-16)
+
+Static fonts were removed in PR #3695 ("Remove static fonts for unhinted variable font families").
+
+## Build Configuration
+
+The upstream repo has a `config.yaml` at `sources/config.yaml` containing a valid gftools-builder configuration:
+
+```yaml
+sources:
+  - Manuale.glyphs
+  - Manuale-Italic.glyphs
+axisOrder:
+  - wght
+familyName: Manuale
+stat:
+  Manuale[wght].ttf:
+  - name: Weight
+    tag: wght
+    values:
+    - name: Light
+      value: 300
+    - name: Regular
+      value: 400
+      linkedValue: 700
+      flags: 2
+    - name: Medium
+      value: 500
+    - name: SemiBold
+      value: 600
+    - name: Bold
+      value: 700
+    - name: ExtraBold
+      value: 800
+  - name: Italic
+    tag: ital
+    values:
+    - name: Roman
+      value: 0
+      linkedValue: 1
+      flags: 2
+  Manuale-Italic[wght].ttf:
+  - name: Weight
+    tag: wght
+    values:
+    - name: Light
+      value: 300
+    - name: Regular
+      value: 400
+      linkedValue: 700
+      flags: 2
+    - name: Medium
+      value: 500
+    - name: SemiBold
+      value: 600
+    - name: Bold
+      value: 700
+    - name: ExtraBold
+      value: 800
+  - name: Italic
+    tag: ital
+    values:
+    - name: Italic
+      value: 1
+```
+
+The config references two `.glyphs` source files and defines STAT tables for both the upright and italic variable fonts.
+
+## Findings
+
+1. **Source block is complete and correct.** The repository URL, commit hash, and config_yaml path are all accurate and verified.
+
+2. **Commit hash verified.** The upstream repo has only a single commit (`20a5ab6`), which is exactly the one referenced in METADATA.pb. The binary font files at this commit match the files in google/fonts byte-for-byte (SHA256 verified).
+
+3. **Timeline is consistent.** The upstream commit (2021-07-22) predates the google/fonts PR #3643 merge (2021-08-05), confirming this was the commit used for the rebuild.
+
+4. **Config.yaml is valid.** The config at `sources/config.yaml` contains proper gftools-builder configuration with source references and STAT table definitions.
+
+5. **No corrections needed.** All metadata fields are accurate.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes needed:
+
+```
+source {
+  repository_url: "https://github.com/Omnibus-Type/Manuale"
+  commit: "20a5ab6a0da1c8cb56916d843e50db0ad6b6dfd3"
+  config_yaml: "sources/config.yaml"
+}
+```
diff --git a/ofl/manufacturingconsent/upstream_info.md b/ofl/manufacturingconsent/upstream_info.md
new file mode 100644 (file)
index 0000000..69cece5
--- /dev/null
@@ -0,0 +1,130 @@
+# Manufacturing Consent — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+The METADATA.pb at `ofl/manufacturingconsent/METADATA.pb` already contains a complete source block:
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/manufacturing-consent-font"
+  commit: "80c3d822c2459ac0d76f8cb9d7ca1ca89a068f3b"
+  config_yaml: "sources/config.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/ManufacturingConsent-Regular.ttf"
+    dest_file: "ManufacturingConsent-Regular.ttf"
+  }
+  files {
+    source_file: "article/ARTICLE.en_us.html"
+    dest_file: "article/ARTICLE.en_us.html"
+  }
+  files {
+    source_file: "article/showing.jpg"
+    dest_file: "article/showing.jpg"
+  }
+  branch: "master"
+}
+```
+
+## Repository Analysis
+
+- **Repository**: https://github.com/googlefonts/manufacturing-consent-font
+- **Default branch**: master
+- **Cached at**: `upstream_repos/fontc_crater_cache/googlefonts/manufacturing-consent-font`
+- **Remote verified**: URL matches the `repository_url` in METADATA.pb
+
+The repository was originally `ctrlcctrlv/chomsky`, a font named "Chomsky" created by Fredrick Brennan. It was forked/recreated under the `googlefonts` organization as `manufacturing-consent-font` when it was renamed for the Google Fonts onboarding. The font is a newspaper masthead display font in the style of the New York Times masthead.
+
+### Source files at referenced commit (80c3d82)
+
+- `sources/ManufacturingConsent.glyphspackage` — Glyphs package source
+- `sources/config.yaml` — gftools-builder config
+- `fonts/ttf/ManufacturingConsent-Regular.ttf` — pre-built TTF binary
+- `article/ARTICLE.en_us.html` and `article/showing.jpg` — article assets
+- `OFL.txt` — license file
+
+### Contributors
+
+- Fredrick Brennan (original designer, `copypaste@kittens.ph`)
+- Yanone (onboarding engineer, `post@yanone.de`)
+- Dave Crossland (README update after onboarding)
+- Mark E. Shoulson and gosh-darn (earlier contributions)
+
+### Commits after referenced hash
+
+Only one commit exists after `80c3d82`:
+- `09d87b3` (2025-05-28): "Update README.md" by Dave Crossland — a non-functional change (README only), no impact on font sources or binaries.
+
+## Onboarding History
+
+The font was added to Google Fonts through PR #9496, created by Yanone (the onboarding engineer) and merged on 2025-05-30.
+
+### Key commits in google/fonts
+
+1. `d893d58f3` (2025-05-23): "Manufacturing Consent: Version 3.000; ttfautohint (v1.8.4.7-5d5b) added" — the initial onboarding commit. The commit message explicitly states: "Taken from the upstream repo https://github.com/googlefonts/manufacturing-consent-font at commit 80c3d822c2459ac0d76f8cb9d7ca1ca89a068f3b."
+2. `fef553597`: "sources info for Manufacturing Consent" — the source block metadata was added in a subsequent commit.
+
+### Issue #2071
+
+The original issue (#2071) was titled "Add Chomsky" and referenced the original repo at `ctrlcctrlv/chomsky`. The font was renamed to "Manufacturing Consent" before onboarding, and the source repository was recreated under `googlefonts/manufacturing-consent-font`.
+
+### Binary verification
+
+The TTF file in `ofl/manufacturingconsent/ManufacturingConsent-Regular.ttf` has MD5 hash `beb61955b202a28597c44597add32572`, which exactly matches the file at `fonts/ttf/ManufacturingConsent-Regular.ttf` in the upstream repo at commit `80c3d82`. This confirms the commit hash is correct.
+
+## Build Configuration
+
+The upstream repository contains a `sources/config.yaml` at the referenced commit with the following content:
+
+```yaml
+sources:
+  - ManufacturingConsent.glyphspackage
+buildOTF: false
+buildWebfont: false
+```
+
+The config references the Glyphs package source file located at `sources/ManufacturingConsent.glyphspackage`. No override config.yaml exists in the google/fonts family directory. The `config_yaml` field in METADATA.pb correctly points to `sources/config.yaml`.
+
+## Findings
+
+1. **Source block is complete and correct**: The METADATA.pb contains all required fields — `repository_url`, `commit`, `config_yaml`, `branch`, and `files` mappings.
+2. **Commit hash verified**: The referenced commit `80c3d822c2459ac0d76f8cb9d7ca1ca89a068f3b` was confirmed through binary file comparison (MD5 match) and consistent with the onboarding PR (#9496) message.
+3. **Config path verified**: `sources/config.yaml` exists at the referenced commit and contains valid gftools-builder configuration.
+4. **No issues found**: The source block is accurate and no corrections are needed.
+5. **Historical note**: The font was originally named "Chomsky" (repo `ctrlcctrlv/chomsky`) and was renamed to "Manufacturing Consent" for the Google Fonts catalog. The upstream repo was recreated under the `googlefonts` organization.
+
+## Recommended Source Block
+
+No changes needed. The current source block is complete and correct:
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/manufacturing-consent-font"
+  commit: "80c3d822c2459ac0d76f8cb9d7ca1ca89a068f3b"
+  config_yaml: "sources/config.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/ManufacturingConsent-Regular.ttf"
+    dest_file: "ManufacturingConsent-Regular.ttf"
+  }
+  files {
+    source_file: "article/ARTICLE.en_us.html"
+    dest_file: "article/ARTICLE.en_us.html"
+  }
+  files {
+    source_file: "article/showing.jpg"
+    dest_file: "article/showing.jpg"
+  }
+  branch: "master"
+}
+```
diff --git a/ofl/marcellus/upstream_info.md b/ofl/marcellus/upstream_info.md
new file mode 100644 (file)
index 0000000..93693f5
--- /dev/null
@@ -0,0 +1,105 @@
+# Marcellus — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete (VFB-only sources, no gftools-builder compatible sources)
+
+## METADATA.pb Source Block (current)
+
+No source block exists. The current METADATA.pb contains only basic metadata:
+
+```
+name: "Marcellus"
+designer: "Astigmatic"
+license: "OFL"
+category: "SERIF"
+date_added: "2012-05-09"
+fonts {
+  name: "Marcellus"
+  style: "normal"
+  weight: 400
+  filename: "Marcellus-Regular.ttf"
+  post_script_name: "Marcellus-Regular"
+  full_name: "Marcellus"
+  copyright: "Copyright (c) 2012 by Brian J. Bonislawsky DBA Astigmatic (AOETI) (astigma@astigmatic.com), with Reserved Font Name \"Marcellus\""
+}
+subsets: "menu"
+subsets: "latin"
+subsets: "latin-ext"
+```
+
+## Repository Analysis
+
+### librefonts/marcellus (https://github.com/librefonts/marcellus)
+
+This repository was created on 2014-07-16 by Mikhail Kashkin (hash3g / m@xen.ru) as part of the fontbakery-dashboard project, which split fonts from the legacy Google Font Directory into individual repositories under the `librefonts` GitHub organization. It is **not** the original designer's source repository.
+
+The repo contains:
+- **TTX decompositions** of the compiled TTF and OTF binaries (split into per-table `.ttx` files)
+- **VFB source files** (FontLab Studio proprietary format):
+  - `src/Marcellus-Regular.vfb` — original source with contour overlaps
+  - `src/Marcellus-Regular-OTF.vfb` — merged contours, optimized for OTF
+  - `src/Marcellus-Regular-TTF.vfb` — TrueType outlines with hinting adjustments
+- `src/VERSIONS.txt` — records "Marcellus-Regular.ttf: Version 1.000"
+- `src/METADATA_comments.txt` — legacy subsetting commands from the Google Font Directory era
+- `.travis.yml` — fontbakery CI configuration (obsolete)
+
+**No gftools-builder compatible source files exist** (.glyphs, .glyphx, .ufo, .designspace, .sfd). The only sources are VFB files, which are proprietary FontLab Studio format and cannot be used with gftools-builder or fontc.
+
+**Commit history** (11 commits total, all by hash3g):
+- `ae5b2de` (2014-07-16) — "Move marcellus font files to separate repository" (initial commit)
+- `cc26bb6` through `93dc35b` (2014-08-19 to 2014-10-17) — Various `.travis.yml` updates for fontbakery CI
+
+The repo was last updated on 2014-10-17 and has seen no activity since.
+
+### Original Designer
+
+The font was designed by **Brian J. Bonislawsky** of Astigmatic (AOETI). The designer's website was `www.astigmatic.com` and contact email was `astigma@astigmatic.com`. A GitHub account `astigmatic` exists but was created in 2017 and contains only two unrelated Java repositories — it does not appear to be the font designer's account.
+
+**No original source repository** from the designer was found. The font was likely delivered directly to Google as compiled binaries, which was common practice for fonts onboarded in 2012.
+
+## Onboarding History
+
+Marcellus was added to the Google Fonts catalog on **2012-05-09** (per the `date_added` field). The font binary in google/fonts was included in the initial repository commit (`90abd17b4`, 2015-03-07, by Dave Crossland), which migrated all existing Google Fonts to the current repository structure. The TTF file has **never been modified** since that initial commit.
+
+The font version embedded in the binary is **Version 1.000**, and the FONTLOG records the initial release as "7 April 2012 (Brian J. Bonislawsky) Marcellus v1.001".
+
+Subsequent commits to the `ofl/marcellus/` directory were all metadata-only changes:
+- `480630de3` — METADATA.pb textproto conversion
+- `883939708` — Remove METADATA.json files
+- `633ebadbf` / `c6307ba83` / `701bd391b` — Language support metadata updates
+
+## Build Configuration
+
+**No config.yaml exists**, either in the upstream repo or in the google/fonts family directory.
+
+**Creating an override config.yaml is not feasible** because:
+1. The upstream repo contains only VFB (FontLab Studio) files, which are proprietary binary format
+2. gftools-builder cannot process VFB files
+3. There are no .glyphs, .ufo, .designspace, or .sfd source files that could be referenced in a config
+4. The TTX decompositions in the repo are for analysis/archival purposes, not for building
+
+## Findings
+
+1. **No source block** currently exists in METADATA.pb.
+2. The **librefonts/marcellus** repo is a TTX decomposition archive, not a genuine source repository. It was created by Mikhail Kashkin as part of the fontbakery-dashboard infrastructure, not by the font designer.
+3. The font's only sources are **VFB files** (FontLab Studio proprietary format), which cannot be used with modern font build tooling (gftools-builder, fontc, fontmake).
+4. The original designer (Brian J. Bonislawsky / Astigmatic) does not appear to have a public source repository for this font.
+5. The font binary has been **unchanged since its original onboarding** in 2012 and remains at Version 1.000.
+6. This is a companion to **Marcellus SC** (small caps variant), which is in a similar situation with VFB-only sources at `librefonts/marcellussc`.
+
+## Recommended Source Block
+
+A source block can be added pointing to the librefonts repository, but it must be acknowledged that the sources are VFB-only and not buildable with gftools-builder:
+
+```
+source {
+  repository_url: "https://github.com/librefonts/marcellus"
+  commit: "93dc35b5b10ccae45266e0661ae357d84dc0ec5d"
+  branch: "master"
+}
+```
+
+**Note**: The `config_yaml` field is intentionally omitted because no gftools-builder compatible configuration exists or can be created for VFB-only sources. The commit `93dc35b` is the latest (and most complete) commit in the repository, representing the state that includes all source files and TTX decompositions.
+
+**Status**: incomplete — The source block can reference the repo, but the font cannot be rebuilt from source using modern tooling without converting the VFB files to an open format (e.g., UFO or .glyphs).
diff --git a/ofl/marcellussc/upstream_info.md b/ofl/marcellussc/upstream_info.md
new file mode 100644 (file)
index 0000000..8692dec
--- /dev/null
@@ -0,0 +1,105 @@
+# Marcellus SC — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete (VFB-only sources, no gftools-builder compatible files)
+
+## METADATA.pb Source Block (current)
+
+No source block exists in the current METADATA.pb. The file contains only basic family metadata:
+
+```
+name: "Marcellus SC"
+designer: "Astigmatic"
+license: "OFL"
+category: "SERIF"
+date_added: "2012-05-09"
+```
+
+## Repository Analysis
+
+**Repository**: https://github.com/librefonts/marcellussc
+**Created**: 2014-07-16 (two years after the font was added to Google Fonts)
+**Last pushed**: 2014-10-17
+**Archived**: No
+**Organization**: librefonts (members: davelab6, felipesanches, pathumego)
+
+The repository contains a single commit:
+- `75b6e93` (2014-10-17, author: hash3g) — "update .travis.yml"
+
+This is a librefonts archive repository, not the original designer's repository. The librefonts organization was a community effort to archive Google Fonts source files on GitHub. The repo was created in 2014, well after the font was added to the catalog in May 2012.
+
+### Repository Contents
+
+**Root directory**: TTX decompositions of the TTF binary, plus metadata files (DESCRIPTION.en_us.html, FONTLOG.txt, METADATA.json, OFL.txt), and a `.travis.yml` for fontbakery CI.
+
+**src/ directory**: Contains the original source files:
+- `MarcellusSC-Regular.vfb` — Original source with contour overlaps (FontLab VFB format)
+- `MarcellusSC-Regular-OTF.vfb` — Merged contours, optimized for OTF output
+- `MarcellusSC-Regular-TTF.vfb` — TrueType outlines with hinting adjustments
+- OTF TTX decompositions
+- `METADATA_comments.txt` — Legacy subsetting commands
+- `VERSIONS.txt` — "MarcellusSC-Regular.ttf: Version 1.001"
+
+**No gftools-builder compatible sources** (.glyphs, .glyphx, .ufo, .designspace) were found. The only editable source files are in VFB (FontLab Studio 5) format, which is a proprietary binary format not supported by gftools-builder or fontc.
+
+### No config.yaml
+
+No `config.yaml` exists in the repository. An override config.yaml cannot be created because there are no gftools-builder compatible source files to reference.
+
+## Onboarding History
+
+The font was part of the initial bulk import to the google/fonts repository:
+
+- **Commit**: `90abd17b4` (2015-03-07) — "Initial commit" by Dave Crossland
+  - This was the massive initial commit that populated the google/fonts repo with all existing Google Fonts families.
+- **date_added**: 2012-05-09 — The font was originally added to the Google Fonts catalog in May 2012, predating both the librefonts repo (2014) and the google/fonts repository initial commit (2015).
+
+The TTF binary has not been modified since the initial commit. MD5 checksum verification confirmed the file is identical: `6c4b86cb0aeea480e0112d55752335c6`.
+
+Subsequent commits to the `ofl/marcellussc/` directory were only metadata housekeeping:
+- `701bd391b` — Undo rollback, remove languages from METADATA
+- `c6307ba83` — Roll back language changes
+- `28b492c0f` — Clear languages from METADATA.pb
+- `633ebadbf` — Add language support metadata
+- `883939708` — Remove METADATA.json files
+- `27f377ab0` — Update copyright field in METADATA.pb
+- `480630de3` — Update to METADATA.pb textprotos
+
+No PRs specific to Marcellus SC source metadata were found.
+
+## Build Configuration
+
+**Status**: No buildable sources available.
+
+The upstream repository only contains VFB (FontLab Studio 5) source files. VFB is a proprietary binary format that cannot be processed by gftools-builder or fontc. The font would need to be converted to a modern format (.glyphs, .ufo, or .designspace) before a config.yaml could be meaningful.
+
+The `.travis.yml` in the repo references the legacy `fontbakery-build.py` pipeline, which is long defunct.
+
+## Findings
+
+1. **No source block in METADATA.pb**: The file has no `source { }` block at all.
+2. **VFB-only sources**: The upstream repo at librefonts/marcellussc contains only VFB source files, which are not compatible with gftools-builder or fontc.
+3. **Archive repository, not original**: The librefonts repo was created in 2014 as an archive. The font was originally designed by Brian J. Bonislawsky (Astigmatic) and added to Google Fonts in 2012. There is no known GitHub repository from the original designer.
+4. **Single-weight, static font**: Marcellus SC is a single-weight Regular font (400 weight). No variable font version exists.
+5. **Font unchanged since onboarding**: The binary TTF has not been updated since its inclusion in the initial commit. It remains at Version 1.001 as released in April 2012.
+6. **No config.yaml possible**: Without modern source files (.glyphs, .ufo, .designspace), no config.yaml can be created. The source block can reference the repository but cannot include a build configuration.
+7. **Related family**: Marcellus (non-SC) is a sibling font in the same situation, with the same designer and an equivalent librefonts archive repo at librefonts/marcellus.
+
+## Recommended Source Block
+
+A source block can be added to document the repository URL and commit hash, even though no config.yaml is available:
+
+```
+source {
+  repository_url: "https://github.com/librefonts/marcellussc"
+  commit: "75b6e93759696a4d0bfd0cce86da0f9e4f38e10a"
+  branch: "master"
+}
+```
+
+**Notes on the recommendation**:
+- The commit `75b6e93` is the only commit in the repository, so it is definitively the correct reference point.
+- No `config_yaml` field is included because the repo has no gftools-builder compatible sources (VFB-only).
+- The status should be recorded as "missing_config" — the repository is known and the commit is identified, but no buildable configuration exists.
+- To achieve full buildability, the VFB sources would need to be converted to a modern format (e.g., .glyphs or .ufo) by someone with access to FontLab Studio or a VFB conversion tool.
diff --git a/ofl/marckscript/upstream_info.md b/ofl/marckscript/upstream_info.md
new file mode 100644 (file)
index 0000000..97d2d06
--- /dev/null
@@ -0,0 +1,109 @@
+# Marck Script — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+No source block exists in `ofl/marckscript/METADATA.pb`. The file contains only basic metadata (name, designer, license, category, fonts, subsets, classifications) with no `source { }` block.
+
+## Repository Analysis
+
+### Repository: librefonts/marckscript
+
+- **URL**: https://github.com/librefonts/marckscript
+- **Default branch**: master
+- **Created**: 2014-07-16
+- **Last updated**: 2014-10-17
+
+This repository belongs to the `librefonts` organization, which was created as part of an effort to split individual font families out of the old `googlefontdirectory` monorepo into separate repositories. The initial commit message ("Move marckscript font files to separate repository") confirms this origin.
+
+The repository contains:
+- **Root level**: TTX decompositions of the compiled TTF binary, plus `METADATA.json`, `DESCRIPTION.en_us.html`, `OFL.txt`, and a FontForge menu subsetting script
+- **`src/` directory**:
+  - `MarckScript-Regular.vfb` (5.4 MB) — FontLab Studio binary source
+  - `MarckScript-Regular-TTF.sfd` (851 KB) — FontForge SFD source
+  - TTX decompositions of an OTF version
+  - `VERSIONS.txt` — records "MarckScript-Regular.ttf: Version 1.002"
+  - `METADATA_comments.txt` — subsetting commands referencing the old googlefontdirectory structure
+
+**No config.yaml** exists in the repository. There are **no gftools-builder compatible source files** (no `.glyphs`, `.ufo`, or `.designspace` files).
+
+### Commit History (12 commits total)
+
+| Commit | Date | Description |
+|--------|------|-------------|
+| 699f314 | 2014-10-17 | update .travis.yml |
+| 21bcf62 | 2014-10-06 | Rename fontbakery |
+| b88137c | 2014-09-19 | Update .travis.yml |
+| 32cd1ad | 2014-09-15 | Update .travis.yml |
+| 6381a2c | 2014-09-14 | Installing ttfautohint from ppa |
+| 0db17e7 | 2014-09-12 | Added raw=True to VDMX and FFTM |
+| 139a2c3 | 2014-09-11 | update .travis.yml |
+| a275516 | 2014-08-22 | Travis.yml update |
+| 77aa975 | 2014-08-22 | Travis.yml update |
+| 622fe3f | 2014-08-21 | Travis.yml update |
+| 835d406 | 2014-08-19 | Added .travis.yml |
+| 211ebe3 | 2014-07-16 | Move marckscript font files to separate repository |
+
+After the initial commit that moved the files, all subsequent commits were CI/Travis configuration changes — no source file modifications occurred.
+
+### Other Repositories Checked
+
+- **googlefonts/marckscript** — Does not exist
+- **googlefonts/marck-script** — Does not exist
+- **acidwave/typeface-marck-script** — An npm/CSS package wrapping the font for web use (created 2020), not original sources
+- **google-fonts-bower/marckscript-bower** — A Bower package, not original sources
+- No GitHub account found for designer Denis Masharov
+
+## Onboarding History
+
+The font was added to Google Fonts on **2011-10-12** (per `date_added` in METADATA.pb). The binary file `MarckScript-Regular.ttf` has only ever been present in one commit in the `google/fonts` repository: the initial repository restructuring commit `90abd17b` (2015-03-07), which was the "Initial commit" that established the current repository structure by importing content from the older `googlefontdirectory` repo.
+
+No pull requests related to Marck Script were found in `google/fonts`. The font has never been updated since its original onboarding.
+
+### Font Binary Details
+
+- **File**: `MarckScript-Regular.ttf` (83,664 bytes)
+- **Version**: 1.002
+- **Copyright**: "Copyright (c) 2011, Denis Masharov & Marck Fogel, with Reserved Font Names 'Marck Script'"
+- **Designer**: Denis Masharov (denis.masharov@gmail.com), Marck Fogel
+
+## Build Configuration
+
+**No config.yaml exists** — neither in the upstream repository nor as an override in the google/fonts family directory.
+
+The upstream sources are in legacy formats only:
+- `.vfb` (FontLab Studio binary) — proprietary format, not directly usable by gftools-builder
+- `.sfd` (FontForge) — while open source, not a format supported by gftools-builder
+
+Creating an override `config.yaml` is **not feasible** because there are no gftools-builder compatible source files (`.glyphs`, `.ufo`, `.designspace`) in the repository. The font would need to be converted from VFB/SFD to a modern format before a build configuration could be created.
+
+## Findings
+
+1. **No source block** exists in METADATA.pb.
+2. The only known repository is `librefonts/marckscript`, which is a `librefonts` organization mirror containing TTX decompositions and legacy source files (VFB + SFD), not a designer-maintained upstream repository.
+3. The original designer (Denis Masharov) does not appear to have a GitHub account or any publicly accessible source repository for this font.
+4. The font sources are exclusively in legacy formats (FontLab Studio `.vfb` and FontForge `.sfd`), making it **impossible to create a gftools-builder config.yaml** without first converting the sources to a modern format.
+5. The font has never been updated since its initial onboarding in 2011 and the binary in google/fonts has remained unchanged since the repository restructuring in 2015.
+6. The latest commit in the librefonts repo (`699f314`, 2014-10-17) is only a Travis CI configuration update; the actual source files were introduced in commit `211ebe3` (2014-07-16).
+
+## Recommended Source Block
+
+A source block can be added, but it will be limited due to the lack of gftools-builder compatible sources:
+
+```
+source {
+  repository_url: "https://github.com/librefonts/marckscript"
+  commit: "211ebe3a510e950f242bb7be29f1ed245ef71540"
+  branch: "master"
+}
+```
+
+**Notes on the recommended block**:
+- The `repository_url` points to the librefonts mirror, which is the only known public repository containing source files for this font. It is not a designer-maintained upstream repo.
+- The `commit` references `211ebe3`, the initial commit that introduced the font files, since all subsequent commits were Travis CI changes only.
+- No `config_yaml` field is included because there are no gftools-builder compatible sources — the font was built from VFB/SFD sources using legacy tooling.
+- **Status**: incomplete — SFD-only sources, no gftools-builder compatible configuration possible without source format conversion.
+- **Confidence**: MEDIUM — The librefonts repo is verified to contain the original sources (VFB/SFD), but it is a mirror organization, not the original designer's repository.
diff --git a/ofl/margarine/upstream_info.md b/ofl/margarine/upstream_info.md
new file mode 100644 (file)
index 0000000..d27925e
--- /dev/null
@@ -0,0 +1,93 @@
+# Margarine — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete
+
+## METADATA.pb Source Block (current)
+
+No source block exists in the current METADATA.pb. The file contains only basic metadata (name, designer, license, category, fonts, subsets, stroke, classifications).
+
+## Repository Analysis
+
+**Repository**: https://github.com/librefonts/margarine
+**Owner**: librefonts (a third-party organization, not the original designer)
+**Created**: 2014-07-16
+**Default branch**: master
+**Total commits**: 12 (all from 2014, by Mikhail Kashkin aka hash3g)
+
+The `librefonts` organization (861 public repos) was a third-party effort by Mikhail Kashkin that extracted font files from the old Google Font Directory into individual GitHub repositories. This is not an original upstream source maintained by the designer.
+
+### Commit History
+
+| Commit | Date | Author | Message |
+|--------|------|--------|---------|
+| `56637ab` | 2014-07-16 | Mikhail Kashkin | Move margarine font files to separate repository |
+| `645187d` | 2014-07-18 | Mikhail Kashkin | cleanup |
+| `70e841c` - `c612652` | 2014-08-19 to 2014-10-17 | hash3g | Various .travis.yml updates |
+
+### Repository Contents
+
+The repo contains only:
+- **TTX files**: Decomposed TrueType tables (`Margarine-Regular.ttf.*.ttx`) at root level
+- **VFB files**: FontLab Studio binaries in `src/` directory:
+  - `Margarine-Regular.vfb` (original source)
+  - `Margarine-Regular-TTF.vfb` (TrueType outlines with hinting)
+  - `Margarine-Regular-OTF.vfb` (merged contours, optimized)
+- **OTF TTX**: Decomposed OTF tables in `src/`
+- **No config.yaml**
+- **No modern source files** (.glyphs, .ufo, .designspace, .sfd)
+
+The VFB (FontLab Studio) format is a proprietary binary format that is not compatible with gftools-builder. The TTX files are decompositions of the compiled fonts, not editable design sources.
+
+## Onboarding History
+
+The font was added to google/fonts in the initial commit (`90abd17b4`, 2015-03-07, by Dave Crossland). This was the massive initial import of the entire Google Fonts library into the current GitHub repository structure. No PR or specific onboarding process was associated with this font -- it was part of the bulk migration.
+
+The font was originally designed by Brian J. Bonislawsky (Astigmatic/AOETI) and released in November 2012 (Version 1.000). The font has never been updated in google/fonts since the initial commit (aside from metadata changes to METADATA.pb).
+
+### Original Designer
+
+- **Designer**: Brian J. Bonislawsky
+- **Foundry**: Astigmatic (AOETI)
+- **Email**: astigma@astigmatic.com
+- **Website**: www.astigmatic.com
+- **GitHub**: https://github.com/astigmatic (exists but has no font repos)
+
+The designer has a GitHub account but does not host font sources there. No alternative upstream repository with modern source files was found.
+
+## Build Configuration
+
+**No config.yaml exists** in the upstream repo, and **no override config.yaml** can be created because there are no gftools-builder compatible source files. The only source files are VFB (FontLab) binaries, which cannot be processed by gftools-builder.
+
+An override config.yaml is not feasible because:
+1. VFB files require FontLab Studio (proprietary) to open
+2. There are no .glyphs, .ufo, or .designspace files that gftools-builder could use
+3. The TTX files are decompositions of already-compiled binaries, not true design sources
+
+## Findings
+
+1. **No source block** exists in METADATA.pb.
+2. **The librefonts/margarine repo** is a third-party extraction of files from the old Google Font Directory, not an original upstream maintained by the designer. All commits were from Mikhail Kashkin in 2014, and the repo has been dormant since.
+3. **No modern source files** exist anywhere -- the only sources are VFB (FontLab) binaries, which are not compatible with gftools-builder.
+4. **The original designer** (Brian J. Bonislawsky / Astigmatic) has a GitHub account but no font source repositories.
+5. **No config.yaml** can be created (neither upstream nor override) due to lack of compatible source files.
+6. **The font has never been updated** since the initial bulk import in 2015.
+
+## Recommended Source Block
+
+A source block can be added pointing to the librefonts repo as the best available reference, but it should be noted that this is a third-party mirror with VFB-only sources:
+
+```
+source {
+  repository_url: "https://github.com/librefonts/margarine"
+  commit: "c6126521f50b0be64bbc44cd287f71eb706127a1"
+  branch: "master"
+}
+```
+
+**Notes**:
+- The `config_yaml` field is omitted because no config.yaml exists and none can be created (VFB-only sources).
+- The commit `c612652` is the latest (and only meaningful) commit in the repo. Since the librefonts repo was created after the font was already in Google Fonts, this commit does not represent an original onboarding commit -- it represents the state of a third-party extraction.
+- This source block is of limited value since the font cannot be rebuilt from these sources using modern tooling.
+- Status should be recorded as `missing_config` with a note about VFB-only sources.
diff --git a/ofl/marhey/upstream_info.md b/ofl/marhey/upstream_info.md
new file mode 100644 (file)
index 0000000..b7f6170
--- /dev/null
@@ -0,0 +1,166 @@
+# Marhey — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/namelatype/Marhey"
+  commit: "535eeb5a3f4dee825fdaf13d84075b212d969f8d"
+  config_yaml: "source/config.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/variable/Marhey[wght].ttf"
+    dest_file: "Marhey[wght].ttf"
+  }
+  files {
+    source_file: "DESCRITION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  branch: "main"
+}
+```
+
+The source block was largely populated during the upstream.yaml-to-METADATA.pb merge (commit `66f91f10f`, 2024-04-03). The `config_yaml` field was added later by the gfonts_agents project (commit `d9ad7cfd4`, 2025-09-18).
+
+## Repository Analysis
+
+- **Repository**: https://github.com/namelatype/Marhey
+- **Owner**: namelatype (Nur Syamsi / Bustanul Arifin)
+- **Cached at**: `upstream_repos/fontc_crater_cache/namelatype/Marhey`
+- **Repository status**: Clean, up to date with origin/main
+- **Default branch**: main
+- **Total commits**: 54
+- **Latest commit**: `535eeb5` (2022-10-07) — "Merge pull request #5 from yanone/main"
+
+The repository contains:
+- `source/Marhey.glyphs` — Glyphs source file
+- `source/config.yaml` — gftools-builder configuration
+- `fonts/variable/Marhey[wght].ttf` — Pre-built variable font binary
+- `fonts/ttf/` — Pre-built static TTF instances
+- `fonts/otf/` — Pre-built static OTF instances
+- `fonts/webfonts/` — Pre-built WOFF2 files
+- `DESCRITION.en_us.html` — Description file (note: typo in filename, missing "P" in "DESCRIPTION")
+- `OFL.txt` — License file
+- `documentation/` — Specimen images
+
+The repository has not had any new commits since 2022-10-07. Commit `535eeb5` is both HEAD and `origin/main`.
+
+## Onboarding History
+
+The font was onboarded to Google Fonts on **2022-10-07** via **PR #5374** ("Marhey: Version 1.000 added"), authored by **Yanone** (font engineer).
+
+### PR #5374 Timeline
+
+The PR body stated the font was taken from commit `e5686e3` in the upstream repo. However, this was the gftools-packager initial hash, and additional work occurred upstream before the PR was merged:
+
+1. **e5686e3** (2022-10-05): Merge PR #4 from yanone/main — "New fonts with kerning" — The commit referenced in the PR body
+2. **d81f209** (2022-10-07): "rearrange font's weight"
+3. **6cc6143** (2022-10-07): "Rearrange font's weight"
+4. **7e75cfa** (2022-10-07): "Updated STAT table"
+5. **f1574bf** (2022-10-07): "Updated binaries"
+6. **535eeb5** (2022-10-07): Merge PR #5 from yanone/main — "Generated new font binaries after weight setup change"
+
+The PR was merged at 2022-10-07T15:04:50Z. The final upstream commit `535eeb5` was made on the same day (2022-10-07 20:07:11 +0700 = 13:07 UTC), slightly before the google/fonts PR merge.
+
+### Binary Verification
+
+The variable font binary in google/fonts (`Marhey[wght].ttf`, 198,704 bytes) was verified against the upstream repo:
+
+| Commit | File Size | SHA256 |
+|--------|-----------|--------|
+| `e5686e3` (PR body ref) | 198,764 bytes | (different) |
+| `535eeb5` (METADATA.pb) | 198,704 bytes | `19c30686157ec965797fae8c8feb7bb142b082217227562d1a809c067df447e9` |
+| google/fonts | 198,704 bytes | `19c30686157ec965797fae8c8feb7bb142b082217227562d1a809c067df447e9` |
+
+The SHA256 hash matches exactly at commit `535eeb5`, confirming this is the correct onboarding commit. The gftools-packager hash `e5686e3` was a starting point; Yanone made additional upstream fixes (rearranging weight instances, updating the STAT table, and regenerating binaries) before the google/fonts PR was merged.
+
+### google/fonts Commit History
+
+| Commit | Date | Description |
+|--------|------|-------------|
+| `97004a80c` | 2022-10-07 | "Marhey: Version 1.000 added (#5374)" — Original onboarding |
+| `1db714082` | 2023-08-16 | "The last batch of ~250 updated METADATA.pb files for stroke and classification" |
+| `66f91f10f` | 2024-04-03 | "Merge upstream.yaml into METADATA.pb [skip ci]" — Added source block |
+| `d9ad7cfd4` | 2025-09-18 | "sources info for Marhey" — Added config_yaml field |
+
+## Build Configuration
+
+The upstream repo has `source/config.yaml` at the referenced commit:
+
+```yaml
+sources:
+  - Marhey.glyphs
+axisOrder:
+  - wght
+familyName: Marhey
+stat:
+  Marhey[wght].ttf:
+  - name: Weight
+    tag: wght
+    values:
+    - name: Light
+      value: 300
+    - name: Regular
+      value: 400
+      linkedValue: 700
+      flags: 2
+    - name: Medium
+      value: 500
+    - name: SemiBold
+      value: 600
+    - name: Bold
+      value: 700
+```
+
+The config references `Marhey.glyphs` (relative to the `source/` directory), which is present as `source/Marhey.glyphs`. The configuration includes weight axis ordering and STAT table definitions for the five named instances (Light 300, Regular 400, Medium 500, SemiBold 600, Bold 700).
+
+No override config.yaml exists in the google/fonts family directory. The `config_yaml` field in METADATA.pb correctly points to `source/config.yaml` in the upstream repo.
+
+## Findings
+
+1. **Source block is complete and correct**. All fields are properly populated:
+   - `repository_url` points to a valid, accessible repository
+   - `commit` hash `535eeb5` is verified as the correct onboarding commit (binary SHA256 match)
+   - `config_yaml` correctly points to `source/config.yaml` in the upstream repo
+   - `files` mappings are accurate (including the DESCRITION->DESCRIPTION filename correction)
+   - `branch` is correctly set to "main"
+
+2. **The gftools-packager commit hash was a hint, not the final truth**. The PR #5374 body referenced `e5686e3`, but the actual fonts shipped were from `535eeb5` — three commits later. This is a textbook case of the pattern described in the project memory: Yanone started work at one commit, then made additional upstream fixes before the google/fonts PR was merged.
+
+3. **Typo in upstream filename**: The upstream repo has `DESCRITION.en_us.html` (missing the "P"). The METADATA.pb `files` block correctly maps this to `DESCRIPTION.en_us.html` in google/fonts.
+
+4. **No activity since onboarding**: The upstream repo has had no new commits since `535eeb5` (2022-10-07). The commit referenced in METADATA.pb is the latest and final commit in the repository.
+
+5. **No corrections needed**. The existing source block is accurate and complete.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes needed:
+
+```
+source {
+  repository_url: "https://github.com/namelatype/Marhey"
+  commit: "535eeb5a3f4dee825fdaf13d84075b212d969f8d"
+  config_yaml: "source/config.yaml"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/variable/Marhey[wght].ttf"
+    dest_file: "Marhey[wght].ttf"
+  }
+  files {
+    source_file: "DESCRITION.en_us.html"
+    dest_file: "DESCRIPTION.en_us.html"
+  }
+  branch: "main"
+}
+```
diff --git a/ofl/markazitextvfbeta/upstream_info.md b/ofl/markazitextvfbeta/upstream_info.md
new file mode 100644 (file)
index 0000000..4d095e6
--- /dev/null
@@ -0,0 +1,120 @@
+# Markazi Text VF Beta — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: incomplete (legacy VF beta directory — no METADATA.pb, superseded by non-beta "Markazi Text")
+
+## METADATA.pb Source Block (current)
+
+There is **no METADATA.pb** file in `ofl/markazitextvfbeta/`. The directory contains only two files:
+- `MarkaziText-VF.ttf` (218,808 bytes)
+- `OFL.txt`
+
+This is one of five "VF Beta" directories in google/fonts that lack METADATA.pb files entirely. The others are `lemonadavfbeta`, `mavenprovfbeta`, `podkovavfbeta`, and `rokkittvfbeta`. All five have corresponding non-beta versions with full METADATA.pb files.
+
+## Repository Analysis
+
+**Upstream repository**: https://github.com/BornaIz/markazitext
+
+The repository is shared with the non-beta "Markazi Text" family. It contains:
+- **Source file**: `sources/Markazi-Text.glyphs` (Glyphs format)
+- **Config**: `sources/config.yaml` (added in commit `38c03b2`, 2021-07-06, "Updating to UFR")
+- **Compiled fonts**: `fonts/` directory with static instances and variable font
+- **License**: OFL
+- **Designers**: Borna Izadpanah (primary), with contributions from Marc Foley (m4rc1e) and Aaron Bell (aaronbell)
+
+The config.yaml at HEAD (`a876c4f`) specifies:
+```yaml
+sources:
+  - MarkaziText.glyphs
+axisOrder:
+  - wght
+familyName: Markazi Text
+stat:
+  MarkaziText[wght].ttf:
+  - name: Weight
+    tag: wght
+    values:
+    - name: Regular
+      value: 400
+      linkedValue: 700
+      flags: 2
+    - name: Medium
+      value: 500
+    - name: SemiBold
+      value: 600
+    - name: Bold
+      value: 700
+```
+
+**Note**: At the time of the VF beta onboarding (commit `89f9a2f`, 2018-05-09), no `config.yaml` existed in the repository. The config was added in 2021 during the UFR (Upstream Font Repository) update.
+
+## Onboarding History
+
+The VF beta was an early variable font experiment that predated the formal Markazi Text release. The timeline:
+
+1. **2018-05-09**: Upstream commit `89f9a2f` — "Merge pull request #2 from m4rc1e/gf-mastering2" (readded variable font). This commit contained `sources/Markazi-Text.glyphs` and `fonts/MarkaziText-VF.ttf`.
+
+2. **2018-05-17**: Marc Foley (m4rc1e) created google/fonts commit `a2dce78` adding `ofl/markazitextvfbeta/MarkaziText-VFBeta.ttf`, as part of PR #1565. The commit message explicitly stated: "Taken from the upstream repo https://github.com/BornaIz/markazitext, commit 89f9a2fd100e912e572c873c187a854bac4f0635".
+
+3. **2018-05-30**: Two additional upstream commits were made by Marc Foley:
+   - `20dbd56` — "Regenerated variable font using fontmake"
+   - `795ef72` — "added dsig to variable font"
+   - These were merged upstream as PRs #3 (`9f2ecdd`) and #4 (`b1badc2`)
+
+4. **2018-05-30**: Corresponding google/fonts commits updated the VF beta:
+   - `dce2b3f` — "markazitext v1.000: Regenerated variable font using fontmake"
+   - `8889879` — "markazitextvfbeta: v1.000 added dsig table" (also renamed file from `MarkaziText-VFBeta.ttf` to `MarkaziText-VF.ttf`)
+
+5. **2018-06-06**: The non-beta `ofl/markazitext/` was added via PR #1594 by Marc Foley. His PR comment stated: "I've kept the previous markazitextvfbeta dir and added this family to a new dir markazitext. The family is no longer a beta imo."
+
+6. **2018-08-21**: PR #1565 (the VF beta PR) was merged — after the non-beta was already in place.
+
+7. **2024-12-17**: OFL.txt was added to `markazitextvfbeta` by Svante Richter via PR #8745 ("Add missing licenses").
+
+The final font file in the VF beta directory (`MarkaziText-VF.ttf`) corresponds to upstream commit `b1badc2` (2018-05-30, the dsig merge), not the originally cited `89f9a2f`.
+
+## Build Configuration
+
+**No config.yaml existed** at the time the VF beta was onboarded (May 2018). The `sources/config.yaml` was added to the upstream repo in July 2021 as part of the UFR update (commit `38c03b2`).
+
+Since this is a legacy VF beta directory without METADATA.pb, and the non-beta "Markazi Text" family already has a complete source block pointing to the same upstream repository with `config_yaml: "sources/config.yaml"`, no separate build configuration is needed for the VF beta.
+
+## Findings
+
+1. **Legacy VF beta directory**: `ofl/markazitextvfbeta/` is a legacy artifact from the early days of variable font support in Google Fonts (2018). It was created as a "beta" release before the formal non-beta version was added.
+
+2. **No METADATA.pb**: The directory has never had a METADATA.pb file. This is consistent with all five VF beta directories in google/fonts, which appear to be early experiments that were later superseded.
+
+3. **Superseded by non-beta**: The `ofl/markazitext/` directory contains the current, production version of Markazi Text, with a complete METADATA.pb including a source block:
+   ```
+   source {
+     repository_url: "https://github.com/BornaIz/markazitext"
+     commit: "a876c4f0111b96f407741a877e79f207e9117338"
+     config_yaml: "sources/config.yaml"
+   }
+   ```
+
+4. **Same upstream repo**: Both the VF beta and non-beta versions come from the same upstream repository (https://github.com/BornaIz/markazitext).
+
+5. **Commit hash discrepancy**: The VF beta was originally onboarded from upstream commit `89f9a2f` but was subsequently updated with font files from later upstream commits (`20dbd56` for fontmake regeneration and `795ef72`/`b1badc2` for dsig). The final font file corresponds to upstream commit `b1badc2`.
+
+6. **Not actively served**: The VF beta directory appears to be a historical artifact. Without a METADATA.pb, it is not served through the Google Fonts API in the standard way. The non-beta version is the production family.
+
+## Recommended Source Block
+
+**No source block is recommended** for the VF beta directory. This is a legacy artifact that has been fully superseded by the non-beta "Markazi Text" family (`ofl/markazitext/`), which already has a complete and correct source block.
+
+The appropriate action for this directory would be for the Google Fonts team to decide whether to:
+- **Remove the VF beta directory entirely** (since the non-beta version supersedes it)
+- **Leave it as-is** as a historical artifact
+
+If a source block were ever needed for documentation purposes, it would be:
+```
+source {
+  repository_url: "https://github.com/BornaIz/markazitext"
+  commit: "b1badc2229cdc16cefb2b2886f01a8a29063e2c8"
+}
+```
+
+This references commit `b1badc2` (2018-05-30, "Merge pull request #4 from m4rc1e/dsig"), which is the upstream state that matches the final font file in the VF beta directory. No `config_yaml` would apply because no config existed at that commit.
diff --git a/ofl/markoone/upstream_info.md b/ofl/markoone/upstream_info.md
new file mode 100644 (file)
index 0000000..bcfb3ff
--- /dev/null
@@ -0,0 +1,130 @@
+# Marko One — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: needs_correction
+
+## METADATA.pb Source Block (current)
+
+```
+source {
+  repository_url: "https://github.com/cyrealtype/Marko-One"
+  commit: "d5cfae97a173fc09d182a391fb78dd3d8a727cd8"
+}
+```
+
+A `config.yaml` override file also exists in the google/fonts family directory:
+```yaml
+buildVariable: false
+sources:
+  - sources/MarkoOne.glyphs
+```
+
+## Repository Analysis
+
+**Repository**: https://github.com/cyrealtype/Marko-One
+**Default branch**: master
+**Cached at**: `upstream_repos/fontc_crater_cache/cyrealtype/Marko-One`
+**Repository status**: Clean, up to date with origin
+
+The upstream repository was created on January 10, 2016 by Alexei Vanyashin (alexeiva, Cyreal). The initial commit contained VFB source files (`src/MarkoOne-Regular-OTF.vfb`, `src/MarkoOne-Regular-TTF.vfb`, `src/MarkoOne-Regular.vfb`) along with compiled TTF/OTF binaries.
+
+The repository has 16 commits total, all on the master branch. The most significant activity occurred on November 25-26, 2017, when alexeiva reorganized the repo structure and converted sources to a Glyphs format file (`sources/MarkoOne.glyphs`).
+
+**Source files at HEAD (354c730)**:
+- `sources/MarkoOne.glyphs` — Glyphs format source (14,067 lines)
+
+**No config.yaml exists in the upstream repository.**
+
+### Commit Timeline
+
+| Commit | Date | Description |
+|--------|------|-------------|
+| 0cd1147 | 2016-01-10 | Initial commit (VFB sources, compiled fonts) |
+| ... | 2016-01-10 to 2016-04-06 | README and image updates |
+| d5cfae9 | 2017-11-25 | Reorganized repo structure, added .glyphs source |
+| 4d035a1 | 2017-11-25 | Version bump to 1.100 |
+| 3e974eb | 2017-11-25 | Fix Google Fonts specs |
+| c8f325a | 2017-11-25 | Updated features, made combining marks |
+| 7b7af16 | 2017-11-25 | Added missing Latin Core glyphs |
+| 5b2dd4e | 2017-11-25 | Updated FONTLOG |
+| 2415283 | 2017-11-26 | Regenerated fonts (52,172 byte TTF) |
+| d669125 | 2017-11-26 | Updated authors and README |
+| 354c730 | 2017-11-26 | Removed old VFB files |
+
+## Onboarding History
+
+The font was added to google/fonts in the initial commit (90abd17, March 7, 2015) by Dave Crossland. This predates the upstream GitHub repository, which was not created until January 2016. The font binary (`MarkoOne-Regular.ttf`, 34,484 bytes) has never been updated since that initial commit.
+
+**Key timeline conflict**: The google/fonts binary (34,484 bytes) does not match any TTF ever committed to the upstream repository:
+- Initial upstream TTF (0cd1147, 2016): 76,560 bytes (SHA256: b827d39f...)
+- Regenerated upstream TTF (2415283, 2017): 52,172 bytes
+
+This means the font binary in google/fonts was built from sources that predate the upstream GitHub repository. The original source was likely a VFB (FontLab) project that was later added to the GitHub repo.
+
+### google/fonts Commit History for ofl/markoone/
+
+| Commit | Description |
+|--------|-------------|
+| 90abd17 | Initial commit (2015-03-07) — original onboarding |
+| 480630d | Tentative update to METADATA.pb textprotos |
+| 27f377a | Update copyright field in METADATA.pb |
+| 8839397 | Remove METADATA.json files |
+| 633ebad | Add language support metadata (PR #4160) |
+| da09c78 | Temporarily fix build, remove latin-ext |
+| e25c8f0 | Update METADATA.pb |
+| 28b492c | Clear languages from METADATA.pb for non-Noto |
+| c6307ba | Roll back 28b492c0 (PR #4677) |
+| 701bd39 | Undo rollback, remove languages (PR #4706) |
+| c891a9b | Update upstreams — added repository_url (PR #7344, merged 2024-03-06) |
+| b10633f | Sources info — added commit hash and config.yaml (PR #9979, merged 2025-11-07) |
+
+## Build Configuration
+
+The upstream repository does not contain a `config.yaml` file. An override `config.yaml` was created in the google/fonts family directory (commit b10633f, PR #9979) with the following content:
+
+```yaml
+buildVariable: false
+sources:
+  - sources/MarkoOne.glyphs
+```
+
+This references the Glyphs source file at `sources/MarkoOne.glyphs`, which exists at commit `d5cfae9` (where it was first introduced) and at all subsequent commits through HEAD (354c730).
+
+## Findings
+
+1. **Commit hash is problematic**: The currently recorded commit `d5cfae9` is the commit that reorganized the repo and first introduced the `.glyphs` source file. However, this commit was followed by 8 more commits that made substantial improvements: version bump, Google Fonts spec fixes, added combining marks, added missing Latin Core glyphs, and regenerated fonts. The commit `d5cfae9` represents an intermediate state rather than a final, tested version.
+
+2. **Font binary was never rebuilt from upstream**: The font in google/fonts (34,484 bytes, from 2015) does not match any binary in the upstream repo. It was onboarded before the GitHub repository existed, likely from FontLab VFB sources provided directly by the designer.
+
+3. **The upstream repo has newer, improved sources**: The latest commit (354c730) includes additional glyphs (Latin Core), improved features, combining marks, and GF spec compliance fixes. These improvements were never incorporated into google/fonts.
+
+4. **The commit hash should reference HEAD**: Since the font has never been updated from the upstream repo, and the `.glyphs` source file was introduced at `d5cfae9` and then improved through `354c730`, the most appropriate commit to reference for future rebuilding would be HEAD (354c730), as it represents the most complete and corrected state of the sources. However, if the goal is to reference the commit that corresponds to the current binary in google/fonts, no upstream commit matches — the binary predates the repo.
+
+5. **Override config.yaml is correct**: The config.yaml correctly references `sources/MarkoOne.glyphs` which exists at both the referenced commit and HEAD. Since the override is in google/fonts, the `config_yaml` field is properly omitted from METADATA.pb.
+
+6. **Previous investigation noted uncertainty**: The commit message from b10633f explicitly stated "Exact upstream commit that was used for onboarding is unclear, though." This is accurate — no upstream commit corresponds to the current binary.
+
+## Recommended Source Block
+
+Given that the font binary in google/fonts was never built from the upstream GitHub repository, and the upstream repo represents a later rework of the sources, the best approach depends on the project's goals:
+
+**Option A — Reference HEAD for future builds (recommended)**:
+```
+source {
+  repository_url: "https://github.com/cyrealtype/Marko-One"
+  commit: "354c73092231c4f47a9bc5bf1e7279b30f60b042"
+}
+```
+This references the latest commit which includes all improvements (Latin Core glyphs, GF spec fixes, combining marks). The override `config.yaml` in google/fonts would remain as-is.
+
+**Option B — Keep current reference (status quo)**:
+```
+source {
+  repository_url: "https://github.com/cyrealtype/Marko-One"
+  commit: "d5cfae97a173fc09d182a391fb78dd3d8a727cd8"
+}
+```
+This is the first commit with the `.glyphs` source file but is missing subsequent improvements.
+
+**Recommendation**: Update the commit hash to `354c730` (HEAD), which represents the complete, improved state of the Glyphs sources. The current commit `d5cfae9` is an intermediate state that was immediately followed by substantial fixes and additions. Since no upstream commit matches the current binary anyway, the commit reference should point to the best available sources for a future rebuild. The override `config.yaml` would continue to work correctly at either commit.
diff --git a/ofl/martelsans/upstream_info.md b/ofl/martelsans/upstream_info.md
new file mode 100644 (file)
index 0000000..cc0cf5b
--- /dev/null
@@ -0,0 +1,148 @@
+# Martel Sans — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+The current METADATA.pb at `ofl/martelsans/METADATA.pb` contains the following source block:
+
+```
+source {
+  repository_url: "https://github.com/typeoff/martel_sans"
+  commit: "7a536b7ce5f6059665d45bfff7c24bee414c1fd1"
+}
+primary_script: "Deva"
+```
+
+Note: The `config_yaml` field is not set in the source block. An override `config.yaml` exists in the google/fonts family directory (auto-detected by google-fonts-sources).
+
+## Repository Analysis
+
+**Repository**: https://github.com/typeoff/martel_sans
+**Owner**: typeoff (Dan Reynolds)
+**Default branch**: master
+**Last pushed**: 2015-06-09 (repository has been inactive since 2015)
+**Status**: Valid and accessible
+
+### Repository Structure
+
+```
+LICENSE.md
+README.md
+Martel Sans Font Files/
+  OTFs/
+    MartelSans-{Bold,DemiBold,ExtraBold,Heavy,Light,Regular,UltraLight}.otf
+  TTFs with ttautohints/
+    MartelSans-{Bold,DemiBold,ExtraBold,Heavy,Light,Regular,UltraLight}.ttf
+  TTFs without ttfautohints/
+    MartelSans-{Bold,DemiBold,ExtraBold,Heavy,Light,Regular,UltraLight}.ttf
+Martel Sans Source Files/
+  Martel_Sans_20150305.glyphs
+  Martel Sans-Bold.ufo/
+  Martel Sans-Light.ufo/
+```
+
+### Source Files
+
+The primary source file is `Martel Sans Source Files/Martel_Sans_20150305.glyphs`, a Glyphs format file. Two UFO masters (Bold and Light) were also present. The .glyphs file contained version information `versionMajor = 1`, `versionMinor = 1` (v1.001). The copyright was set to 2015 for both Dan Reynolds and Mathieu Reguer.
+
+### No config.yaml in Upstream
+
+The upstream repository contained no `config.yaml` file. The sources were gftools-builder compatible (.glyphs format), so an override config.yaml was created in the google/fonts family directory.
+
+### Commit History
+
+The upstream repository had 13 total commits, all from 2014-2015:
+
+| Hash | Date | Description |
+|------|------|-------------|
+| `7a536b7` | 2015-04-14 | Update README.md (HEAD) |
+| `e963010` | 2015-04-14 | Improved ReadMe text |
+| `1f7e5eb` | 2015-04-14 | Update README.md |
+| `9577cf5` | 2015-04-14 | Merge pull request #4 from davelab6/master |
+| `db73bf6` | 2015-04-10 | Update README.md |
+| `bebd443` | 2015-04-10 | Update LICENSE |
+| `45b74e4` | 2015-03-05 | License and ReadMe update |
+| `3e1885f` | 2015-03-05 | Martel Sans Version 1.001 |
+| `69ba000` | 2015-03-02 | ReadMe update |
+| `bad1ea0` | 2015-02-28 | ReadMe update |
+| `5de9388` | 2015-02-24 | Initial release |
+| `eb05719` | 2015-02-19 | Beta upload of OTF files |
+| `239e3f8` | 2014-10-05 | Initial set-up |
+
+The last commit that modified source files was `3e1885f` (2015-03-05, "Martel Sans Version 1.001"). All subsequent commits (up to HEAD at `7a536b7`) were README and license text updates only.
+
+## Onboarding History
+
+### Initial Onboarding (2015-03-07)
+
+Martel Sans was initially added to Google Fonts in commit `90abd17` on 2015-03-07 by Dave Crossland as part of an "Initial commit" batch. This was just two days after the v1.001 sources were committed upstream. The initial onboarding included 7 TTF weights plus METADATA.json, DESCRIPTION, and OFL.txt.
+
+### v1.002 Update — PR #905 (2017-05-08)
+
+PR #905 titled "hotfix-martelsans: v1.002 added" was authored by Marc Foley and merged by Dave Crossland on 2017-05-08. The PR body was empty (no description).
+
+The commit `e35667db` updated all 7 TTF files and made copyright string corrections in METADATA.pb (changing "Reguer" to "Rguer" — both likely OCR/encoding artifacts of "Reguer"). The version went from 1.001 to 1.002.
+
+Key observation: The upstream repository only contained v1.001 sources and binaries. The v1.002 binaries in google/fonts had different file sizes from the upstream v1.001 TTFs and used different weight naming conventions:
+- Google Fonts: ExtraLight, SemiBold, Black
+- Upstream: UltraLight, DemiBold, Heavy
+
+This indicates the v1.002 binaries were recompiled from the same `.glyphs` source but with modifications (version bump, weight renaming, possibly hinting adjustments) done as part of Marc Foley's hotfix process, without pushing changes back upstream.
+
+### Source Block Addition (2024-03-04)
+
+Simon Cozens added the `repository_url` field in commit `c891a9b` ("Update upstreams") on 2024-03-04, along with the `primary_script: "Deva"` field.
+
+### Commit Hash and Config Addition (2025-10-30)
+
+Felipe Sanches added the `commit` hash (`7a536b7`) and created the override `config.yaml` in commit `53a16a0` on 2025-10-30. The commit message noted: "PR #905 mentions 'hotfixing', but it is unclear what (if anything) was manually changed in the binaries after they were built from sources."
+
+## Build Configuration
+
+### Override config.yaml (in google/fonts)
+
+An override `config.yaml` exists in `ofl/martelsans/config.yaml` with the following content:
+
+```yaml
+buildVariable: false
+sources:
+  - Martel Sans Source Files/Martel_Sans_20150305.glyphs
+```
+
+This configuration correctly references the .glyphs source file path relative to the upstream repository root at the referenced commit. The `buildVariable: false` flag is appropriate as this is a static (non-variable) font family.
+
+The `config_yaml` field is omitted from METADATA.pb, which is correct behavior — google-fonts-sources auto-detects the local override config.
+
+## Findings
+
+1. **Repository URL**: Correct. `https://github.com/typeoff/martel_sans` is valid and accessible, owned by typeoff (Dan Reynolds).
+
+2. **Commit hash**: The referenced commit `7a536b7` is HEAD of the master branch. It is a README-only update from 2015-04-14. The last source-modifying commit was `3e1885f` (2015-03-05, "Martel Sans Version 1.001"). Since both commits contain the same source files and the repo has been completely inactive since 2015, using HEAD is acceptable — it ensures all upstream content is captured. However, `3e1885f` would be a more precise reference for source provenance.
+
+3. **Version mismatch**: The upstream sources are v1.001 while google/fonts has v1.002 binaries. The v1.002 update was a "hotfix" by Marc Foley (PR #905, 2017-05-08) that appears to have involved recompiling from the same .glyphs source with version bumps, weight renaming, and possibly other modifications, without pushing changes back upstream.
+
+4. **Override config.yaml**: Correctly set up. The .glyphs source path matches the actual file in the upstream repo at the referenced commit.
+
+5. **Weight naming discrepancy**: The upstream repo used UltraLight/DemiBold/Heavy while google/fonts uses ExtraLight/SemiBold/Black. This renaming was part of the v1.002 hotfix.
+
+6. **Source block status**: Complete. All required fields are populated (repository_url, commit) and the override config.yaml is in place.
+
+## Recommended Source Block
+
+The current source block is acceptable:
+
+```
+source {
+  repository_url: "https://github.com/typeoff/martel_sans"
+  commit: "7a536b7ce5f6059665d45bfff7c24bee414c1fd1"
+}
+```
+
+No `config_yaml` field is needed since the override `config.yaml` in the google/fonts family directory is auto-detected.
+
+An alternative, more precise commit reference would be `3e1885f25cc1352264c442929b97148e96a6110a` (the last source-modifying commit), but since the repository has been inactive since 2015 and no source changes occurred after `3e1885f`, the current HEAD reference (`7a536b7`) is functionally equivalent and captures the complete state of the repository.
+
+**Overall status**: Complete. No changes needed.
diff --git a/ofl/marvel/upstream_info.md b/ofl/marvel/upstream_info.md
new file mode 100644 (file)
index 0000000..d0fa24b
--- /dev/null
@@ -0,0 +1,112 @@
+# Marvel — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete (SFD-only sources)
+
+## METADATA.pb Source Block (current)
+
+The main branch of google/fonts currently has **no source block** for Marvel. However, a source block was added on the branch `sources_info_2026-02-25` in commit `9a14639f3`:
+
+```
+source {
+  repository_url: "https://github.com/librefonts/marvel"
+  commit: "80ed3d8114b8c8436dae8673d6cf8fd309376d57"
+}
+```
+
+This has not yet been merged to main.
+
+## Repository Analysis
+
+**Repository**: https://github.com/librefonts/marvel
+**Accessible**: Yes
+**Archived**: No
+**Fork**: No
+**Created**: 2014-07-16
+**Last pushed**: 2014-10-17
+
+The repository was created under the `librefonts` GitHub organization. The initial commit message was "Move marvel font files to separate repository", indicating the sources were migrated from a larger collection (the old google/fonts monorepo structure) into individual per-family repositories.
+
+### Commit History (12 commits total)
+
+| Commit | Date | Message |
+|--------|------|---------|
+| `a81adb15` | 2014-07-16 | Move marvel font files to separate repository |
+| `a28b30ee` | 2014-08-19 | Added .travis.yml |
+| `3d5622c1` | 2014-08-21 | Travis.yml update |
+| `5aa57893` | 2014-08-22 | Travis.yml update |
+| `0c501da4` | 2014-08-22 | Travis.yml update |
+| `1d7f1a19` | 2014-09-11 | update .travis.yml |
+| `0611e7e4` | 2014-09-12 | Added raw=True to VDMX and FFTM |
+| `051efe9a` | 2014-09-14 | Installing ttfautohint from ppa:fontforge/fontforge repository |
+| `04417b0c` | 2014-09-15 | Update .travis.yml |
+| `934271a0` | 2014-09-19 | Update .travis.yml |
+| `9ce429a1` | 2014-10-06 | Rename fontbakery |
+| `80ed3d81` | 2014-10-17 | update .travis.yml (HEAD of master) |
+
+All commits after the initial one were CI/Travis configuration updates. No font source changes were ever made in this repository.
+
+### Repository Contents
+
+The repository contains:
+- **TTX files** (decomposed TTF tables) at the root level for all 4 styles
+- **SFD files** (FontForge format) in `src/` directory: `Marvel-Regular-TTF.sfd`, `Marvel-Bold-TTF.sfd`, `Marvel-Italic-TTF.sfd`, `Marvel-BoldItalic-TTF.sfd`
+- **VFB files** (FontLab format) in `src/`: `Marvel-Regular.vfb`, `Marvel-Bold.vfb`, `Marvel-Italic.vfb`, `Marvel-BoldItalic.vfb`
+- **OTF TTX decompositions** in `src/` (CFF outlines)
+- `METADATA.json`, `DESCRIPTION.en_us.html`, `OFL.txt`
+- `.travis.yml` for CI (using old fontbakery-build.py)
+
+**No gftools-builder compatible sources** (.glyphs, .ufo, .designspace) exist in this repository. The original sources are in legacy formats (SFD and VFB).
+
+## Onboarding History
+
+Marvel was added to Google Fonts on **2011-08-03** (per `date_added` in METADATA.pb). The designer is **Carolina Trebol** (`ca@fromzero.org`).
+
+In the google/fonts repository, the font files were present from the initial commit (`90abd17b4`, 2015-03-07). The font binaries have never been updated since their original addition — the only commits touching the Marvel directory were:
+- `480630de3` (2015-12-08): METADATA.pb textproto update
+- `27f377ab0` (2016-01-11): Copyright field update in METADATA.pb
+- `883939708` (2016-01-11): Remove METADATA.json files
+- Various metadata-only commits (language support, stroke/classification)
+- `76adaf1d2` (2021-11-01): Deploy commit that temporarily deleted and restored files (part of repo restructuring)
+- `6bda16478` (2024-02-16): HTML description reformatting
+
+The TTF binaries themselves have never been modified since the initial commit.
+
+## Build Configuration
+
+**No config.yaml exists** in the upstream repository, and none can meaningfully be created because:
+
+1. The source files are in **SFD** (FontForge Spline Font Database) and **VFB** (FontLab binary) formats
+2. Neither format is supported by gftools-builder or fontc
+3. The TTX files in the repository are decomposed table dumps, not editable sources
+4. The `.travis.yml` used the old `fontbakery-build.py` pipeline (Python 2.7, FontForge-based)
+
+This font predates the modern gftools-builder workflow entirely. The original compilation was done using FontForge, as evidenced by the SFD source files and the Travis CI configuration.
+
+## Findings
+
+1. **Repository URL is correct**: `https://github.com/librefonts/marvel` is the canonical upstream repository for Marvel.
+
+2. **Commit hash**: The source block on the `sources_info_2026-02-25` branch references `80ed3d8114b8c8436dae8673d6cf8fd309376d57`, which is the latest (HEAD) commit on master. This is appropriate since:
+   - The repository only had 12 commits, all from July-October 2014
+   - All commits after the initial one were Travis CI configuration updates
+   - No font source changes were ever made after the initial commit
+   - The font was added to Google Fonts in 2011, predating the librefonts repo (2014), so the binaries in google/fonts were compiled from sources outside this repo originally
+
+3. **No config.yaml possible**: The sources are SFD-only (plus VFB), which are not compatible with gftools-builder. No override config.yaml can be created.
+
+4. **Source block status**: A source block already exists on the `sources_info_2026-02-25` branch. It correctly identifies the repository and uses the HEAD commit hash. No `config_yaml` field is included, which is correct given the SFD-only sources.
+
+5. **Local clone note**: The local clone at `fontc_crater_cache/librefonts/marvel` appears to be a shallow clone showing only 1 commit, while the GitHub API shows 12 commits in the full history. The HEAD commit (`80ed3d8`) is consistent.
+
+## Recommended Source Block
+
+```
+source {
+  repository_url: "https://github.com/librefonts/marvel"
+  commit: "80ed3d8114b8c8436dae8673d6cf8fd309376d57"
+}
+```
+
+No `config_yaml` field is needed — the upstream sources are SFD/VFB only and are not compatible with gftools-builder. The source block correctly identifies the repository and the latest commit, which encompasses all font source content (subsequent commits were CI-only changes).
diff --git a/ofl/mashanzheng/upstream_info.md b/ofl/mashanzheng/upstream_info.md
new file mode 100644 (file)
index 0000000..d1832c3
--- /dev/null
@@ -0,0 +1,159 @@
+# Ma Shan Zheng — Source Investigation
+
+**Model**: Claude Opus 4.6
+**Date**: 2026-03-03
+**Status**: complete
+
+## METADATA.pb Source Block (current)
+
+The METADATA.pb at `ofl/mashanzheng/METADATA.pb` already contains a fully populated source block:
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/mashanzheng"
+  commit: "6bfdbe288f5935c6e9072cdd6ab1aa102a006aab"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/MaShanZheng-Regular.ttf"
+    dest_file: "MaShanZheng-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+## Repository Analysis
+
+**Repository**: https://github.com/googlefonts/mashanzheng
+**Default branch**: master
+**Created**: 2019-02-15 (originally as `m4rc1e/mashanzheng`, later transferred to `googlefonts`)
+**Last pushed**: 2026-01-23
+**Status**: Active, not archived
+
+The repository was originally created by Marc Foley (`m4rc1e`) as `m4rc1e/mashanzheng` and later transferred to the `googlefonts` organization. The old URL `https://github.com/m4rc1e/mashanzheng` now redirects (HTTP 301) to `https://github.com/googlefonts/mashanzheng`.
+
+### Commit History (full, 7 commits)
+
+| Hash | Date | Author | Message |
+|------|------|--------|---------|
+| `6bfdbe2` | 2026-01-23 | Aaron | Update build.yaml |
+| `4a468e1` | 2026-01-23 | Aaron | Merge pull request #2 from googlefonts/update |
+| `69b989c` | 2026-01-23 | Aaron | installing cairo |
+| `3a76bca` | 2026-01-23 | Aaron | Update requirements.txt |
+| `4c2ec3b` | 2026-01-23 | Aaron | Rebuild & update |
+| `fb124f9` | 2019-05-08 | Marc Foley | uncamelcase name |
+| `27e58ea` | 2019-02-15 | Marc Foley | First commit |
+
+### Repository Structure (at HEAD)
+
+```
+.github/workflows/build.yaml
+.gitignore
+Makefile
+OFL.txt
+README.md
+documentation/ARTICLE.en_us.html
+fonts/ttf/MaShanZheng-Regular.ttf
+requirements.txt
+scripts/read-config.py
+sources/config.yaml
+sources/MaShanZheng.glyphspackage/
+```
+
+### Source Files
+
+The source is a `.glyphspackage` directory at `sources/MaShanZheng.glyphspackage/`. This was converted from the original `.glyphs` file during Aaron Bell's January 2026 update (commit `4c2ec3b`).
+
+## Onboarding History
+
+### Initial onboarding (v2.000) — PR #1853
+
+- **Author**: Marc Foley (`m4rc1e`)
+- **Merged**: 2019-03-15
+- **Commit in google/fonts**: `b5de0899`
+- **Upstream commit referenced**: `27e58eac77c306a10978ab9385236f3ab1631caa` (First commit)
+- **Upstream repo at the time**: `m4rc1e/mashanzheng`
+- **Description**: Initial onboarding of Ma Shan Zheng v2.000, a Chinese simplified handwriting font reminiscent of traditional "yinglian" calligraphy.
+
+### Update to v2.001 — PR #1971
+
+- **Author**: Marc Foley (`m4rc1e`)
+- **Merged**: 2019-07-08
+- **Commit in google/fonts**: `c09952432`
+- **Upstream commit referenced**: `fb124f9b3246a54a934d6ce6deba36c0bd2e2812` ("uncamelcase name")
+- **Description**: Updated font to version 2.001.
+
+### Repository URL history in METADATA.pb
+
+1. **Added** (commit `f7455d788`, 2023-08-15): `repository_url: "https://github.com/googlefonts/mashanzheng"` was added as part of a bulk "Populate source.repository_url" operation.
+2. **Removed** (commit `959a8eec4`, 2023-08-15): The source block was removed with the message "Not a real GitHub repo." — this was likely because the repo had no source files suitable for building at that time (only pre-built binaries and a `.glyphs` source without a config.yaml).
+3. **Re-added** (commit `c08e58a56`, 2026-01-23): Full source block added by Aaron Bell as part of the v2.002 update.
+
+### Update to v2.002 — PR #10153
+
+- **Author**: Aaron Bell (`aaronbell`)
+- **Merged**: 2026-01-29
+- **Commit in google/fonts**: `8737a6c78` (font binary) + `c08e58a56` (METADATA.pb update)
+- **Upstream commit referenced in METADATA.pb**: `6bfdbe288f5935c6e9072cdd6ab1aa102a006aab` (HEAD)
+- **Issue**: Closes #10133 — glyph mismatch for U+4E95 (reported by Shaohua Yang)
+- **Changes**: Fixed glyphs for 佛 (path issue), 冷 (added bottom stroke), 舞 (removed extra top stroke), 井 (replaced incorrect glyph). Also added `fwid` OpenType features. Version bumped to 2.002.
+- **Description**: Aaron modernized the source repository, converting the `.glyphs` source to `.glyphspackage`, adding `config.yaml`, CI build workflow, Makefile, and requirements. The font was rebuilt and glyph bugs were fixed.
+
+## Build Configuration
+
+### Config at upstream repo (`sources/config.yaml`)
+
+```yaml
+familyName: Ma Shan Zheng
+sources:
+- MaShanZheng.glyphspackage
+buildVariable: False
+autohintTTF: False
+buildOTF: False
+buildWebfont: False
+removeOutlineOverlaps: False
+```
+
+The `config.yaml` is a valid gftools-builder configuration. The source file path `MaShanZheng.glyphspackage` is relative to the `sources/` directory where the config resides. The config disables variable font building, OTF building, web font building, autohinting, and outline overlap removal — consistent with a static-only CJK font.
+
+**No override config.yaml** exists in the google/fonts family directory — the METADATA.pb correctly points to the upstream config at `sources/config.yaml`.
+
+## Findings
+
+1. **Source block is complete and correct**: The current METADATA.pb source block was added by Aaron Bell (the font engineer who performed the v2.002 update) and contains accurate information.
+
+2. **Commit hash is correct**: `6bfdbe288f5935c6e9072cdd6ab1aa102a006aab` is the HEAD of the `master` branch and matches the commit used for the v2.002 update. The font binary at this commit matches the one in google/fonts (verified via MD5 checksum: `e47f68d28821725fd22a8a6e1f875e61`).
+
+3. **Repository URL is correct**: `https://github.com/googlefonts/mashanzheng` is the current canonical URL. The original `m4rc1e/mashanzheng` URL redirects here.
+
+4. **Config path is correct**: `sources/config.yaml` exists in the upstream repo at the referenced commit and contains valid gftools-builder configuration.
+
+5. **Font binary is pre-built, not CI-built**: The `files` entries in the source block reference `fonts/ttf/MaShanZheng-Regular.ttf` as the source file, indicating the font was copied from the upstream repo's pre-built binary rather than being compiled from sources during the google/fonts PR process.
+
+6. **No action needed**: All metadata is accurate and complete. The source block was added by the same engineer who performed the update, providing high confidence in its accuracy.
+
+## Recommended Source Block
+
+The current source block is correct and complete. No changes are recommended:
+
+```
+source {
+  repository_url: "https://github.com/googlefonts/mashanzheng"
+  commit: "6bfdbe288f5935c6e9072cdd6ab1aa102a006aab"
+  files {
+    source_file: "OFL.txt"
+    dest_file: "OFL.txt"
+  }
+  files {
+    source_file: "fonts/ttf/MaShanZheng-Regular.ttf"
+    dest_file: "MaShanZheng-Regular.ttf"
+  }
+  branch: "master"
+  config_yaml: "sources/config.yaml"
+}
+```
+
+**Confidence**: HIGH — The source block was added by the engineer (Aaron Bell) who performed the v2.002 update. The commit hash, repository URL, config path, and file mappings have all been independently verified.