ThatAIguyA world of ideas

THE CONSCIOUSNESS ATLAS
Read. Experiment. Follow the evidence.

ConsciousnessLearn · Explore · Joseph Anady

Janady13/missionmatch / internal/modules/ontology/adapters/psc.go

Source identity, revision, and recovered contents.

GitHub sourceSource text recovered

Source identity

FieldRecorded value
Source typeGitHub source
Original recordJanady13/missionmatch / internal/modules/ontology/adapters/psc.go
DateNot specified in source
RepositoryJanady13/missionmatch
Revision720d47fae476b0d38477ae4401697d372b1ea2bc
Branchfeature/opportunity-to-outcome
Path or archive memberinternal/modules/ontology/adapters/psc.go
Original SHA-256c83c6f6553981e58b9ba6834ce220c41360acbce70e5a901bfaace5e8ec90e2d
Git blob SHA54b5f5d3e1610dccf5ad3db1f01d59c996ffb626
Reading-copy SHA-256c83c6f6553981e58b9ba6834ce220c41360acbce70e5a901bfaace5e8ec90e2d

Original source ↗

Every recorded occurrence

These 20 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/ontology/adapters/psc.gofeature/opportunity-to-outcome720d47fae476b0d38477ae4401697d372b1ea2bcOpen original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gocollision-deconfliction4ee5a09972608ed89f8377c6665542d5f450f0a6Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gows6-retrieval6c56e29231ec05735927fa265c97d517499dfeafOpen original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gom5-price-to-win41000ad30fff4129fdaf5ec84e15ba14c27d4890Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gows1-ontology-syncb596f449a32a1016fbd403c36505cc00a1ac9ee6Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gomaster1e9249840a4302ec82e123b9c9cb6f75badea3e4Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gows8-teaching-loopc823f0fb6bb2aba0f39001eb6de96f4000d9321fOpen original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gomag-substrateb82c7100a492dec67dfd1eda6b3f53def859be35Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gows3-clearance4b8e7ce594c068621867f9c9deed0ec64ae6c553Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gophase2-eval-fairnessd361af254701975fe239927656ababb56374655eOpen original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gotime-to-fill-survivalb66e1e505863d4f17741a4b9ede73509e45bd6c6Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gographrag-foundationb0ddeb9f633fd138d09309d1a17b7d13bc3a67f7Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gows9-bench-ingestionf585a9ef32fa554663ce1fba9a414a54b6e49cf0Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gows2-alias-relationshipe4dada4601c6eb101830f9d223a9655dfa120616Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gopresentation-readinesseb574acaa29d71ce4d0f852572e87c275c79fdb7Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.govendor-intelligencefe9796a19c261951d3f2565206c0c1b5ac294465Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gows7-federal-signal6a9f6ce9cfb13345ffb47770d4960e7c2d9c17c2Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gophase2-connectorse038d4c687aec16f8bd9bc4d907eea14d91f8704Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gofeature/aioe-upgrade2178e7298d0e5d9af83afa12402fd587f0ba6ed8Open original
Janady13/missionmatch / internal/modules/ontology/adapters/psc.gocapture-readinessbae6af7cb2997e819174a9e9cfff5e16067a1975Open original

Recovered source transcript

package adapters import ( "bytes" "context" "encoding/json" "fmt" "io" "net/http" "os" "strings" "time" "github.com/xuri/excelize/v2" "github.com/missionworkforce/missionmatch/internal/modules/ontology" ) // PSCSource ingests the federal Product and Service Code manual, the cleanest fully enumerable procurement // taxonomy. It reads the published XLSX (a URL or a local file) and yields one KindPSC record per code. type PSCSource struct { url string client *http.Client } // NewPSCSource builds the adapter. url is the PSC manual XLSX location: an http or https URL // (acquisition.gov publishes it), or a local file path or file:// URL for air gapped operation where // pulling acquisition.gov at runtime is undesirable. func NewPSCSource(url string, client *http.Client) *PSCSource { if client == nil { client = &http.Client{Timeout: 60 * time.Second} } return &PSCSource{url: url, client: client} } // Name is the provenance label. func (s *PSCSource) Name() string { return "PSC Manual" } // Fetch loads the XLSX and yields one record per code. func (s *PSCSource) Fetch(ctx context.Context, yield func(ontology.VocabRecord) error) error { data, err := s.load(ctx) if err != nil { return err } recs, err := parsePSC(data) if err != nil { return err } for _, r := range recs { if err := yield(r); err != nil { return err } } return nil } // load reads the PSC manual bytes from an http or https URL, or from a local file (a plain path or a // file:// URL) for air gapped operation. Choosing the source is configuration, the same cloud portability // posture the forecast feed uses. func (s *PSCSource) load(ctx context.Context) ([]byte, error) { if strings.HasPrefix(s.url, "http://") || strings.HasPrefix(s.url, "https://") { return s.download(ctx) } path := strings.TrimPrefix(s.url, "file://") b, err := os.ReadFile(path) if err != nil { return nil, fmt.Errorf("psc: read local file: %w", err) } return b, nil } func (s *PSCSource) download(ctx context.Context) ([]byte, error) { req, err := http.NewRequestWithContext(ctx, http.MethodGet, s.url, nil) if err != nil { return nil, fmt.Errorf("psc: new request: %w", err) } resp, err := s.client.Do(req) if err != nil { return nil, fmt.Errorf("psc: get: %w", err) } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { return nil, fmt.Errorf("psc: provider returned %s", resp.Status) } return io.ReadAll(resp.Body) } // parsePSC reads the PSC manual XLSX bytes and returns one VocabRecord per active code. It matches the // exact PSC CODE and PRODUCT AND SERVICE CODE NAME header cells (the real manual has several columns that // loosely contain CODE or NAME, so a substring match picks the wrong column) and skips codes that carry an // end date, keeping only active codes. func parsePSC(data []byte) ([]ontology.VocabRecord, error) { f, err := excelize.OpenReader(bytes.NewReader(data)) if err != nil { return nil, fmt.Errorf("psc: open xlsx: %w", err) } defer f.Close() sheet := f.GetSheetName(0) rows, err := f.GetRows(sheet) if err != nil { return nil, fmt.Errorf("psc: read rows: %w", err) } if len(rows) < 2 { return nil, fmt.Errorf("psc: sheet has no data rows") } codeCol, nameCol, endCol := -1, -1, -1 for i, h := range rows[0] { switch strings.TrimSpace(strings.ToUpper(h)) { case "PSC CODE": codeCol = i case "PRODUCT AND SERVICE CODE NAME": nameCol = i case "END DATE": endCol = i } } if codeCol < 0 || nameCol < 0 { return nil, fmt.Errorf("psc: could not find the PSC CODE and PRODUCT AND SERVICE CODE NAME columns in the header %v", rows[0]) } out := make([]ontology.VocabRecord, 0, len(rows)-1) for _, row := range rows[1:] { if codeCol >= len(row) || nameCol >= len(row) { continue } code := strings.TrimSpace(row[codeCol]) name := strings.TrimSpace(row[nameCol]) if code == "" || name == "" { continue } // Skip expired codes (those carrying an end date), keeping only active PSC codes. if endCol >= 0 && endCol < len(row) && strings.TrimSpace(row[endCol]) != "" { continue } raw, _ := json.Marshal(map[string]string{"code": code, "name": name}) out = append(out, ontology.VocabRecord{ SourceName: "PSC Manual", SourceRecordID: code, Kind: ontology.KindPSC, Term: name, Code: code, Category: "procurement", Raw: raw, }) } return out, nil }

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