Wednesday, September 16, 2026Independent tracking of the National Defense Authorization Act

The hub for the National Defense Authorization Act — status, history, and analysis

NDAA.AI vs CRS Reports: Where to Find NDAA Funding Tables & Analysis

NDAA.AI Editorial — 2026-08-26

By NDAA.AI Editorial — August 26, 2026

The Congressional Research Service (CRS) produces the gold standard for NDAA analysis. Reports `IN12703` (Summary of Funding Authorizations) and `IN12704` (Status of Legislative Activity) are cited by every serious defense analyst, Hill staffer, and trade publication.

NDAA.AI doesn't replace CRS. It structures what CRS summarizes.

What CRS Does — And Why It Takes Time

CRS analysts read the full bill text — often 2,000+ pages — and extract the funding authorizations, policy changes, and procedural history into concise reports. `IN12703` compares House, Senate, and enacted toplines by service and program. `IN12704` tracks legislative milestones with citations to committee reports and floor actions.

These reports take weeks to produce after major bill versions are released. The FY2027 CRS reports (`IN12704`, `IN12703`) reference the June 2026 SASC markup and July 2026 House passage. They don't yet include the stalled Senate floor status from late July or August — because the analysis cycle hasn't completed.

CRS reports are also PDF-based. The funding comparison tables are rendered as images within the PDF. You can read them. You can't sort them. You can't link to the underlying statutory section that authorizes a specific line item. And you can't ask a CRS PDF: "Show me all sections that affect the $500M second destroyer authorization."

Where NDAA.AI Complements CRS

NDAA.AI's funding tables (`/fy2027/tables/`) are extracted from the bill PDFs using `camelot-py` (lattice + stream) and validated against printed totals. They are rendered as HTML — not images — with sortable columns showing the FY2027 Request, House Authorized, Senate Authorized, and (when available) Conference Authorized amounts.

Each funding table links back to the statutory sections (`Sec. 4101` Procurement, `Sec. 4201` RDT&E, `Sec. 4601` MILCON) that contain the authorization language. Each section page links to the funding table that affects it. That creates a bidirectional graph between money and law — something CRS summarizes linearly but doesn't link structurally.

For example, if you search `"FY2027 NDAA second destroyer $500M"`, NDAA.AI's section page (`/fy2027/section-...` related to shipbuilding) links directly to the procurement funding row. A CRS report mentions the destroyer funding in a paragraph. NDAA.AI puts it in a table cell with the exact authorization number and the section reference.

Comparison Table: Analyst Needs

Analysis NeedNDAA.AICRS Reports (`IN12703`, `IN12704`)
---------
**Funding Authorizations**HTML tables; sortable; linked to statutory sectionsPDF tables; accurate; not interactive
**Bill Status Timeline**Real-time 7-stage tracker (`/`) with poller updatesHistorical summary; slower to update
**Section-Level Text**Per-section TL;DR (`/fy2027/section-XXX`) with excerptSummarized in text; no section-level URL
**Topic Cross-Reference**Internal graph (`/topic/foci` → 5 sections)Linear narrative; no structured links
**House vs Senate Diff**Side-by-side diff (`/fy2027/diff`) with color highlightingNarrative comparison; no structured diff
**Source Citations**Every claim links to `congress.gov`, `govinfo.gov`, or `bills/` sourceExtensive footnotes; authoritative
**Publication Speed**Real-time (pollCongress); sections updated within hoursWeeks after major versions
**Audience Design**Researchers, staff, small contractors, journalistsCongressional staff, academic researchers, policy analysts

When to Use Which Source

Start with NDAA.AI when:

- You need the latest funding authorization numbers quickly (`/fy2027/tables/`).

- You want to trace a specific topic's impact (`/fy2027/topic/foci` → related sections → funding tables).

- You need a current status update on the Senate stall (`/` tracker shows `Senate Floor: Stalled` with seed actions).

Confirm with CRS when:

- You need authoritative analysis of what the authorization means in policy context (not just the number, but the strategic implication).

- You are writing testimony, a memo, or an academic paper that requires CRS citation for credibility.

- You need historical comparison across multiple NDAA years (`IN12704` covers FY2024–FY2027 sequentially).

Best practice workflow:

1. NDAA.AI for primary data (section text, funding numbers, status).

2. CRS for interpretive analysis (what the numbers mean, historical trends, strategic implications).

3. NDAA.AI's internal links (`relatedSections`, `See also`) to confirm statutory connections that CRS mentions but doesn't hyperlink.

That workflow is faster than using CRS alone — and more authoritative than using NDAA.AI without verification.

The Data Pipeline Difference

From `docs/ndaa-seo-plan.md`: NDAA.AI's extraction pipeline (`scripts/extract-bill.py`) pulls from `govinfo.gov` USLM XML when available, falling back to PDF (`fitz`, `pdfplumber`, `camelot`). Funding tables are validated against printed totals (`validation: totals must match header`).

CRS analysts use the same source documents (`govinfo.gov` bulk packages, House/Senate Armed Services reports). But they work manually — reading, summarizing, comparing — which is why their reports are slower and more interpretive.

The speed difference is structural. Automation produces data faster. Human analysis produces insight deeper. The two aren't competitors. They're layers.

Verdict for Analysts

- **For speed and structure**: NDAA.AI

- **For authoritative interpretation**: CRS (`IN12703`, `IN12704`)

- **For complete analysis**: Both, in sequence

NDAA.AI's goal isn't to replace CRS. It's to become the structured data layer that CRS reports reference — and to make the underlying statutory text and funding data searchable in ways that PDF reports cannot.

If you're looking for `"FY2027 NDAA FOCI funding impact"`, NDAA.AI answers faster. If you're writing a report on defense authorization trends across the 119th Congress, CRS answers deeper.

---

Sources: `docs/ndaa-seo-plan.md`; CRS reports `IN12703` (Funding Authorizations) and `IN12704` (Status of Legislative Activity) via `crsreports.congress.gov`; NDAA.AI `src/seo/structuredData.js`; `bills/` directory (`README.md`); `scripts/extract-tables.py` (planned); `scripts/generate-sitemap.mjs`.


Source: NDAA.AI Editorial. Independent tracker of the National Defense Authorization Act. Not affiliated with the U.S. Government.