Skip to content

WING-144 (research id "WW-117") — Veteran education-benefits (GI Bill) data feasibility

Spike research. Produced by fleet worker (grok kind, ANDYGREATROOMPC), 2026-07-24. Reviewed and committed by WT-2f62. Filed as WING-144 because the working id "WW-117" collided with the already-landed Benefits T0 ticket (now WW-144/WING-130 — see that ticket's own renumbering note, same collision class, same day).

Capture note: the fleet-dispatch result capture for this job truncated the beginning of the worker's output — the opening research narrative and the full VA API field-by-field walkthrough did not survive the retrieval. What follows is the complete architecture recommendation, go/no-go matrix, open questions, and full 18-source citation index, which DID survive intact. Re-run the spike if the missing narrative detail is needed before the P1 build ticket starts.

Bottom line for Andrew

The GI Bill bridge between the federal track and the education track is real and PII-free if WorkWingman sticks to the public GI Bill Comparison Tool API and school-level chips. Treat VA Lighthouse identity/claims APIs as a different product — do not build them into this feature. Do not build a benefits maximizer. Static rules cards + deep links cover Post-9/11 Ch.33 tiers, VR&E, and SkillBridge without inventing eligibility for any individual veteran.

                        ┌─────────────┴─────────────┐
                        │ WW GiBillSchoolSource      │  (C# adapter, flag-gated)
                        │ - search by school name    │
                        │ - get by facility_code     │
                        │ - optional ZIP MHA         │
                        │ - store meta.version       │
                        └─────────────┬─────────────┘
                                      │
                        ┌─────────────┴─────────────┐
                        │ Local cache / snapshot     │
                        │ key: facility_code         │
                        │ asOf: version.created_at   │
                        │ TTL: e.g. 24h or on        │
                        │     version change         │
                        └─────────────┬─────────────┘
                                      │
                        ┌─────────────┴─────────────┐
                        │ Education-track school     │
                        │ entity join (name/OPE/     │
                        │ facility_code crosswalk)   │
                        └─────────────┬─────────────┘
                                      │
                        ┌─────────────┴─────────────┐
                        │ UI chips (SourcedField)    │
                        │ + static rules cards       │
                        │ self-attest stays local    │
                        └────────────────────────────┘

Implementation notes for the follow-on build ticket:

  1. Adapter: HttpClient to api.va.gov/v0/gi, timeout + retry, never throws into the UI (same pattern as the Benefits adapters).
  2. Join risk: school-name matching is fuzzy; prefer facility_code when known; keep NotOnRecord when ambiguous — never guess.
  3. Refresh: poll meta.version on a search heartbeat; invalidate cache when the version number changes.
  4. Bulk: if public_exports becomes reliably public, switch to snapshot ingest; until then, the on-demand API cache is enough for school cards.
  5. Flags: education.master + education.giBillSchoolChips, default OFF.
  6. Tests: golden JSON fixtures from live samples (e.g. Texas A&M / Stanford Yellow Ribbon); guard tests ban personalized dollar strings and any score field.
  7. Cross-track: the federal track keeps MOS/USAJOBS; the education track shows GI Bill school chips when the user views a school/program. The bridge is shared school metadata, not shared veteran identity.

Go / no-go matrix

Item Decision Why
GIBCT public school API for chips GO Public, school-level, live, field-complete for Yellow Ribbon/housing basis
Bundle/cache pipeline GO Same pattern as the MOC crosswalk / ATS vocab corpus; version-stamped
Yellow Ribbon amounts as school facts GO with copy guards Live contribution_amount + seat counts, published data
Personalized award calculator NO-GO Needs individual service history; creates a "$X for you" liability
Lighthouse Veteran Confirmation / Claims / Education Benefits (individual) NO-GO PII / OAuth / wrong problem for this feature
SkillBridge automated chips NO-GO (for now) No public school-level join found; only a DoD SPA directory
VR&E school chips NO-GO No school-participation dataset exists; rules card only
Benefits maximizer / ranking NO-GO Hard product rule — no blended score, ever

Overall spike recommendation: GO to a thin build ticket for GIBCT school chips + static rules cards, behind a feature flag, Kerr-tested — after the ticket-ID collision noted above is resolved.

Open questions

  1. Ticket identity: resolved above — this spike is now WING-144, distinct from WW-144/WING-130 Benefits T0.
  2. Public export: will VA expose public_exports/latest on a stable public host? If yes, prefer a bulk snapshot over search-crawling.
  3. Rate limits / ToS: no published rate limit found in probes; needs a product policy for cache TTL and User-Agent identification before production polling.
  4. School join key: the education track's school entity — IPEDS/OPE vs facility_code? Crosswalk quality unknown.
  5. Housing field semantics: school bah vs ZIP mha_rate vs dod_bah can differ — which single "basis" label is least misleading for a chip?
  6. number_of_students = 99999: confirm product copy ("unlimited seats listed" vs the raw number).
  7. SkillBridge later: is there a DoD open dataset or API for participating employers worth a follow-on spike?
  8. Calculator constants vs the rates page: TFCAP etc. on the API vs the narrative rates page — pick a single source of truth for the static cards.
  9. International schools: GIBCT includes foreign institutions — is the education track US-only for v1?
  10. Legal review: CC0/USG for the code vs downstream use of live API metrics in a commercial desktop app — confirm counsel comfort (likely fine for factual republication with attribution; still no VA endorsement claim).

Suggested next tickets (after this ID fix)

Priority Ticket intent Tier
P0 Spec + Kerr copy deck for GI school chips (no code) Ceiling review of wording
P1 GiBillSchoolSource + cache + facility_code join + flag Sonnet
P1 Static Ch.33 / Yellow Ribbon / VR&E / SkillBridge rules cards Haiku
P2 Caution flag / Principles of Excellence / 8 Keys to Veteran Success / VET TEC chips Haiku
P3 SkillBridge employer data recon (separate spike) Research
Never Personalized calculator / Lighthouse identity —

Source index

# Source Used for As-of
1 https://www.va.gov/education/gi-bill-comparison-tool/ Tool existence 2026-07-24
2 https://api.va.gov/v0/gi/institutions/search Live school search, version 1477 2026-07-24
3 https://api.va.gov/v0/gi/institutions/{facility_code} Detail + Yellow Ribbon nested 2026-07-24
4 https://api.va.gov/v0/gi/yellow_ribbon_programs Yellow Ribbon list 2026-07-24
5 https://api.va.gov/v0/gi/zipcode_rates/{zip} MHA housing basis 2026-07-24
6 https://api.va.gov/v0/gi/calculator_constants Caps / averages 2026-07-24
7 https://github.com/department-of-veterans-affairs/gibct-data-service GIDS architecture, CC0, routes, sample CSVs, public_exports 2026-07-24
8 https://github.com/department-of-veterans-affairs/gi-bill-comparison-tool Legacy archived Rails tool 2026-07-24
9 https://developer.va.gov/ + developer-portal-content API directories Lighthouse catalog classes 2026-07-24
10 Sandbox OpenAPI: VA Forms, Benefits Intake, Address Validation Auth/path evidence 2026-07-24
11 https://www.va.gov/education/about-gi-bill-benefits/post-9-11/ Ch.33 overview 2026-07-24
12 https://www.va.gov/education/benefit-rates/post-9-11-gi-bill-rates/ Tiers + rate year 2026-07-24
13 https://www.va.gov/education/about-gi-bill-benefits/post-9-11/yellow-ribbon-program/ Yellow Ribbon rules 2026-07-24
14 https://www.va.gov/careers-employment/vocational-rehabilitation/ VR&E overview 2026-07-24
15 https://www.va.gov/careers-employment/vocational-rehabilitation/eligibility/ VR&E eligibility 2026-07-24
16 https://www.benefits.va.gov/transition/skillbridge.asp SkillBridge rules 2026-07-24
17 https://skillbridge.osd.mil/ DoD program home 2026-07-24
18 https://www.data.va.gov/ Open data scan (no GIBCT full dump found) 2026-07-24

Jira WING-144 · Vikunja · BOARD.md