ThatAIguyA world of ideas

THE CONSCIOUSNESS ATLAS
Read. Experiment. Follow the evidence.

ConsciousnessLearn · Explore · Joseph Anady

Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.go

Source identity, revision, and recovered contents.

GitHub sourceSource text recovered

Source identity

FieldRecorded value
Source typeGitHub source
Original recordJanady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.go
DateNot specified in source
RepositoryJanady13/missionmatch
Revision720d47fae476b0d38477ae4401697d372b1ea2bc
Branchfeature/opportunity-to-outcome
Path or archive memberinternal/modules/opportunity_intelligence/adapters/forecast.go
Original SHA-25638cdb94dee339bfb1c2f7284b5f28022e806f71bc1ee5393f2875f6739dcf92d
Git blob SHA5d6abb2d11f16601997a9c2db269eb25fae0186d
Reading-copy SHA-25638cdb94dee339bfb1c2f7284b5f28022e806f71bc1ee5393f2875f6739dcf92d

Original source ↗

Every recorded occurrence

These 33 records contain identical original source bytes. Their paths and revisions remain part of the archive.

Original recordBranch or archiveRevision / identifierOriginal location
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gofeature/opportunity-to-outcome720d47fae476b0d38477ae4401697d372b1ea2bcOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goper-tenant-routing9bde0f9a74b89d01980fa658e5253acda7528d0cOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gocollision-deconfliction4ee5a09972608ed89f8377c6665542d5f450f0a6Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gows6-retrieval6c56e29231ec05735927fa265c97d517499dfeafOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goworkstream-a-shared-coree0de03ac3a1ec826bd15d0e048e3b02baa23eeffOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gom5-price-to-win41000ad30fff4129fdaf5ec84e15ba14c27d4890Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goworkstream-c-slatematch5cd60c918301b46ecd6ed3e03e20c395da0062e2Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gows1-ontology-syncb596f449a32a1016fbd403c36505cc00a1ac9ee6Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gomaster1e9249840a4302ec82e123b9c9cb6f75badea3e4Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gows8-teaching-loopc823f0fb6bb2aba0f39001eb6de96f4000d9321fOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gow3-ai-staffing-recommendations43d56387270ef4da4cabd794d97ca6a49909bc7dOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gomag-substrateb82c7100a492dec67dfd1eda6b3f53def859be35Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gows3-clearance4b8e7ce594c068621867f9c9deed0ec64ae6c553Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goworkstream-d-command-center255e7d1d420abf5e277d0cd8c9b14f6f72b6acb9Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gophase2-eval-fairnessd361af254701975fe239927656ababb56374655eOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goworkstream-e-dataflow-deploy433815a042f9741411e60fa553fe72143e9b10dbOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goruthless-debug-sweepb7d742f8f032984be3817efffa3eb8b13b651c1fOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gotime-to-fill-survivalb66e1e505863d4f17741a4b9ede73509e45bd6c6Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goai-intelligence-layer5d5ddff70393a197c5f54a45280bb5dd42b24755Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gographrag-foundationb0ddeb9f633fd138d09309d1a17b7d13bc3a67f7Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.godeploy-and-opsbdacd9d0b4d5998d25fc74bf4007f4c3ec538c7aOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gows9-bench-ingestionf585a9ef32fa554663ce1fba9a414a54b6e49cf0Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gows2-alias-relationshipe4dada4601c6eb101830f9d223a9655dfa120616Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gopresentation-readinesseb574acaa29d71ce4d0f852572e87c275c79fdb7Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.govendor-intelligencefe9796a19c261951d3f2565206c0c1b5ac294465Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goworkstream-b-screenmatch09015496d565a172bcaa15cfe9a8e4b072b13df0Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gows7-federal-signal6a9f6ce9cfb13345ffb47770d4960e7c2d9c17c2Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goworkstream-e-commercial-stubs4437da660539284a400ee380b9b427a300c369eeOpen original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goai-brain-liveaac32fc49c878cc5bca099459307611562d0bac1Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.goworkstream-d-missionmatch3be46ba89edb737182075a2b320509b42dc916f8Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gophase2-connectorse038d4c687aec16f8bd9bc4d907eea14d91f8704Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gofeature/aioe-upgrade2178e7298d0e5d9af83afa12402fd587f0ba6ed8Open original
Janady13/missionmatch / internal/modules/opportunity_intelligence/adapters/forecast.gocapture-readinessbae6af7cb2997e819174a9e9cfff5e16067a1975Open original

Recovered source transcript

package adapters import ( "context" "encoding/json" "hash/fnv" "io" "log" "strconv" "time" oppintel "github.com/missionworkforce/missionmatch/internal/modules/opportunity_intelligence" "github.com/missionworkforce/missionmatch/internal/platform/forecast" ) // ForecastSource adapts a generic forecast feed (the GSA Forecast of Contracting Opportunities, or any // agency forecast CSV) to the OpportunitySource protocol. Every record is a forecast kind, marked as // planning data so the UI never presents it as a posted solicitation, and kept distinct from active SAM // solicitations by its kind. type ForecastSource struct { src *forecast.Source now func() time.Time } // NewForecastSource wraps a configured forecast source. func NewForecastSource(src *forecast.Source) *ForecastSource { return &ForecastSource{src: src, now: time.Now} } // Name is the provenance label, taken from the underlying feed. func (f *ForecastSource) Name() string { return f.src.Name() } // Fetch pulls the forecast export and yields each row as a forecast record. Rows the parser could not // read are logged as a skipped count, not yielded. func (f *ForecastSource) Fetch(ctx context.Context, yield func(oppintel.OpportunityRecord) error) error { recs, skipped, err := f.src.Records(ctx) if err != nil { return err } if skipped > 0 { log.Printf("forecast %s skipped %d unparseable rows", f.src.Name(), skipped) } now := f.now().UTC() for _, r := range recs { if yerr := yield(fromForecast(f.src.Name(), r, now)); yerr != nil { return yerr } } return nil } // fromForecast converts a normalized forecast row into a unified forecast record. The estimated value is // set only when the export stated a single real figure, with value_source forecast; an absent value // stays nil. When the export has no id of its own, a stable id is derived so a re pull upserts the same // row rather than duplicating it. func fromForecast(sourceName string, r forecast.Record, fetchedAt time.Time) oppintel.OpportunityRecord { id := r.SourceID if id == "" { id = derivedForecastID(sourceName, r) } raw, err := json.Marshal(r.Raw) if err != nil { raw = json.RawMessage("{}") } rec := oppintel.OpportunityRecord{ SourceName: sourceName, SourceRecordID: id, DedupeKey: dedupe(id, ""), Kind: oppintel.KindForecast, Title: r.Title, Agency: r.Agency, SubAgency: r.Organization, NAICS: r.NAICS, Place: oppintel.Place{State: r.PlaceState}, SetAside: r.SetAside, ContractVehicle: r.ContractType, EstimatedAwardDate: r.EstimatedAward, IsPlanning: true, FetchedAt: fetchedAt, Raw: raw, } if r.EstimatedValue != nil { rec.EstimatedValue = r.EstimatedValue rec.ValueSource = "forecast" } return rec } // derivedForecastID builds a stable id from the row's identifying fields when the export carries none, so // the same forecast upserts in place across pulls instead of creating a duplicate each time. func derivedForecastID(sourceName string, r forecast.Record) string { h := fnv.New64a() _, _ = io.WriteString(h, sourceName+"|"+r.Title+"|"+r.Agency+"|"+r.NAICS+"|"+r.PlaceState) if r.EstimatedAward != nil { _, _ = io.WriteString(h, "|"+r.EstimatedAward.Format("2006-01")) } return "fc_" + strconv.FormatUint(h.Sum64(), 16) }

Search equations, builds, manuscript text, and recovered sources.