Obtain real completed vendor responses, including a compliance matrix #25
Notifications
Due Date
No due date set.
Blocks
#10 Define the common schema for RFPs and responses
christian/helmdocs-proposal-system
Reference: christian/helmdocs-proposal-system#25
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Question
Nothing to decide here — this is manual work that a decision waits on.
The artifacts research established the RFP side well but could not obtain a single completed
vendor response. Every candidate returned 403 to automated fetching. Response-side binding is
currently documented only from RFP-side instructions, never from a real artifact.
That gap sits under the most important part of the schema: the map's central insight is that the
response is the artifact worth standardizing, and it is the half designed against imagination
right now.
Routes that need a human, roughly by cost:
procurement site states submissions "will be considered public records" once awarded. Tarrant
County and Friendship PCS both have identifiable awarded vendors and are plausible targets.
WSCA-NASPO, the NYC shelf-stable foods bid tab, USDA AMS bid awards.
institutional RFP and will share a redacted copy.
contract record.
Done when at least one complete response is in hand — ideally with a filled compliance matrix —
and the requirement-to-response binding has been examined against a real document rather than
inferred.
Record in the resolution: what was obtained, from where, and what it changes about the binding
model.
Parent: #1
Progress — AFK attempt failed, handing to a human
Retried the 403'd sources through a real browser rather than plain HTTP. The bot-challenge theory
was wrong: the documents are not blocked, they are not published.
Searched, nothing found:
assets.sourcewell-mn.govreturns zero indexed proposals)"compliance matrix" "RFP section" "comply") — everyhit was the RFP instructing bidders to produce one, never a completed one
AmeriHealth Caritas, et al.) — LDH publishes the RFP and the proposer list, not the proposals
The finding worth keeping. Solicitations are published because issuers are legally obliged to
advertise them. Responses are commercially sensitive and are published essentially never, even by
issuers whose own RFP says awarded submissions become public records. There is no public response
corpus, in any vertical.
Two consequences for the map:
document obtained through a relationship or a records request. That is why this ticket blocks
the schema ticket.
nobody can see them at scale. A rail that sits where responses are actually submitted would hold
a corpus that cannot be assembled any other way — which is a defensible position, not just a
feature. Worth weighing when the HelmDocs integration boundary is drawn.
Checklist for the human
Ordered by cost. Any one of these unblocks the ticket.
retail or institutional RFP and will share a redacted copy. One real response beats ten
scraped ones.
services) and Friendship PCS both have identifiable awarded vendors and both operate under
public-records regimes. Request the winning submission, not the tabulation.
"will be considered public records." Find the equivalent in a state that posts them rather than
merely permitting a request.
prospects. A template is weaker evidence than a real submission but is better than nothing for
the binding model specifically.
Done when one complete response is in hand — ideally with a filled compliance matrix — and the
requirement-to-response binding has been checked against a real document. Record what was obtained,
from where, and what it changes.
Resolution
Real completed vendor responses could not be obtained, and this ticket is closed unresolved on its
original terms. Retrieval was exhausted: completed responses are not published anywhere, and
browser retrieval confirmed the earlier 403 theory was wrong — they are not access-blocked, they
simply do not exist in public form. No amount of further searching produces one.
The decision
v1 is reframed as a demoable proof of concept. The common schema will be designed against a
synthesized response corpus, and the map proceeds rather than stalling.
What is actually missing, precisely
This matters for how much the synthesis can be trusted. Collect real retail RFPs and vendor
responses did land real solicitations, and with them:
So the RFP half of the schema rests on real artifacts. The gap is one-sided: the response half.
Synthesis therefore means writing responses to solicitations we actually hold, constrained by
their real requirement lists, real scoring rubrics, and real submission instructions — not inventing
both sides of the exchange.
Standard for the synthesis
Lightweight but with teeth. The corpus exists to stress the schema, not to flatter it, so it must
include the cases that break naive models:
binding gradient) and one that answers in free prose with no structural anchor (the hard end)
number
since ranking has to represent absence rather than assume completeness
evaluators care about most and the thing an invented corpus always forgets
Accepted risk, recorded
The schema will be under-constrained exactly where a real response would have surprised us —
most likely in free-prose binding and in price-table shapes, since those are the two places the
research already flagged as high-variance. A synthesized corpus reflects the schema's author's
assumptions back at them, so it cannot falsify the design, only exercise it.
This is a known and accepted cost of the POC framing. Obtaining even one real completed response
remains the single highest-value validation available, and it should be revisited before anything
built on this schema is treated as production-ready.
Consequence
Define the common schema for RFPs and responses is unblocked. The synthesized corpus is a
deliverable of that ticket, produced alongside the schema rather than before it, so that each
stresses the other.