Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/missionmatch / internal/modules/opportunities/extract_test.go |
| Date | Not specified in source |
| Repository | Janady13/missionmatch |
| Revision | 720d47fae476b0d38477ae4401697d372b1ea2bc |
| Branch | feature/opportunity-to-outcome |
| Path or archive member | internal/modules/opportunities/extract_test.go |
| Original SHA-256 | abf0e07be5897cd72bd90be97e3ba30e14c950fa9d7b3e452528555c199989bd |
| Git blob SHA | cb857a9b079c92b417a0708a7b9f563948d76918 |
| Reading-copy SHA-256 | abf0e07be5897cd72bd90be97e3ba30e14c950fa9d7b3e452528555c199989bd |
Recovered source transcript
Download complete source text ↓84 lines · 3.2 KB
package opportunities
import "testing"
const sowText = `SECTION C. STATEMENT OF WORK
C.1 The contractor shall provide senior data engineering support to the Department of Veterans Affairs.
C.2 Personnel must hold an active Secret clearance prior to start.
C.3 The contractor shall deliver a monthly status report no later than the 5th of each month.
C.4 Two (2) Senior Data Engineers are required at the Austin, Texas facility.
C.5 Travel up to 25% may be required.
C.6 The period of performance is 12 months from award. Proposals are due 15 September 2026.
C.7 The estimated ceiling value is $4,500,000.
C.8 Certification: Security Plus or equivalent is required.`
// TestDeterministicExtractionFindsClausesWithProvenance proves the deterministic pass runs with no model and
// returns spans that carry their own section label, which is what makes every downstream citation possible.
func TestDeterministicExtractionFindsClausesWithProvenance(t *testing.T) {
chunks := ExtractDeterministic(sowText)
if len(chunks) < 6 {
t.Fatalf("expected the numbered clauses to be split into spans, got %d", len(chunks))
}
labeled := 0
for _, c := range chunks {
if c.SectionLabel != "" {
labeled++
}
if c.Text == "" {
t.Error("a chunk with empty text carries no evidence")
}
if c.ContentHash == "" || len(c.ContentHash) != 64 {
t.Errorf("every chunk must carry a sha256 content hash, got %q", c.ContentHash)
}
}
if labeled < 6 {
t.Errorf("expected the C.n clause labels to be captured, only %d chunks were labeled", labeled)
}
}
// TestDeterministicSignalsAreFoundWithoutAModel is the point of Section 5.1: the facts a solicitation states
// plainly are found by parsing, not by inference, so the model is left to normalize rather than to extract.
func TestDeterministicSignalsAreFoundWithoutAModel(t *testing.T) {
s := ExtractSignals(sowText)
if s.ClearanceLevel != "secret" {
t.Errorf("clearance not detected deterministically, got %q", s.ClearanceLevel)
}
if s.TravelPercent != 25 {
t.Errorf("travel percent not detected, got %d", s.TravelPercent)
}
if s.Quantity != 2 {
t.Errorf("staffing quantity not detected, got %d", s.Quantity)
}
if len(s.Money) == 0 || s.Money[0] != "$4,500,000" {
t.Errorf("dollar value not detected, got %v", s.Money)
}
if len(s.Dates) == 0 {
t.Error("no dates detected")
}
if len(s.Certifications) == 0 {
t.Errorf("certification not detected, got %v", s.Certifications)
}
}
// TestExtractionIsPureAndRepeatable proves the same input yields byte identical output, so a rerun cannot
// produce a different provenance hash for the same source text.
func TestExtractionIsPureAndRepeatable(t *testing.T) {
a, b := ExtractDeterministic(sowText), ExtractDeterministic(sowText)
if len(a) != len(b) {
t.Fatalf("extraction is not repeatable: %d vs %d chunks", len(a), len(b))
}
for i := range a {
if a[i].ContentHash != b[i].ContentHash || a[i].Text != b[i].Text {
t.Fatalf("chunk %d differs between runs", i)
}
}
}
// TestEmptyInputYieldsNothing proves the pass is safe on an empty or whitespace document.
func TestEmptyInputYieldsNothing(t *testing.T) {
if got := ExtractDeterministic(" \n "); len(got) != 0 {
t.Errorf("empty input must yield no chunks, got %d", len(got))
}
}