An RFP answer-constraint register is a versioned set of atomic rules that limit or prescribe one named response surface. Each record links the buyer's exact wording and native location to a constraint type, operator, raw value, unit, counting method, scope, condition and affected field, question, section or file. It distinguishes issued instructions from portal observations and internal writing targets. The register reports what has been found and what remains unresolved. It does not choose between conflicting sources, design the final submission architecture or certify that a finished bid passes every rule.
A page limit may appear on a template cover, a character limit beside a portal field, a filename rule in an upload guide and a font minimum in an addendum. Search for the word "limit" and the team still misses "not to exceed", fixed spreadsheet cells, accepted extensions, excluded annexes and a field that refuses more text. The reverse problem is just as dangerous: a portal accepts 8,000 characters, so someone assumes the buyer's published 4,000-character maximum no longer matters. A single instruction can also contain five separate controls. Unless those controls are split, scoped and linked to the right response surface, authors receive vague notes and agents cannot tell evidence from inference.
Treat every response container as an interface with an evidence-backed contract. Recover constraints from the current issued pack and the authorized portal, preserve the original expression, then normalize only what can be normalized without changing meaning. Keep page, word, character, byte, duration and structural rules separate. Store unknown counting treatments as unknown. An agent may discover, parse and compare constraints, but a person resolves material ambiguity and approves the operational rule. Completion means the declared source boundary has been searched and every affected surface is either constrained, explicitly unconstrained in the reviewed sources or marked unresolved.
Scope first
Name the package snapshot and every surface that can hold an answer
Begin with a controlled package, not a folder of convenient downloads. Record the procurement identifier, procedure stage, lots, source channel, retrieval time and the versions or checksums of the notice, instructions, schedules, workbooks, forms, clarifications and amendments. Add authorized portal views that contain fields or upload behavior. The World Bank's current procurement framework illustrates why this matters: it supports procurement through families of standard documents, guidance and templates, including different editions and language versions. A document family is not a single timeless instruction.
Next inventory the response surfaces. A surface is the smallest destination for bidder-supplied content that can carry its own constraint: question 3.2, the implementation section, cell F18, a 4,000-character portal field, the technical-offer attachment slot or a video-response upload. Give it a stable identifier and preserve the buyer's label. Do not infer the complete volume and file architecture here. AN-072 owns that job. AN-071 only needs enough identity to say exactly which answer a rule affects.
Scope the search itself. State which current sources were available, which required authentication, which could not be opened and whether native files were inspected. A PDF preview does not expose spreadsheet validation or hidden notes. A downloaded form does not reveal a portal counter. If access is missing, return `source_access_required`; if the package inventory is incomplete, return `source_boundary_incomplete`. Neither status permits a claim that no limits exist.
| Field | Example | Reason |
|---|---|---|
| surface_id | TECH-Q3.2 | Keeps the target stable across reviews |
| buyer_label | Service transition approach | Preserves visible terminology |
| surface_kind | portal_text | Selects relevant constraint tests |
| scope | Lot 2, initial tender | Prevents false inheritance |
| source_snapshot | package 2026-09-01, amendment 2 | Makes findings reproducible |
| access_state | native workbook inspected | Shows what the search could observe |
Discovery
Search the language and the structure of every source type
Build a multilingual candidate vocabulary, but do not make keyword hits the inventory. Search for maximum, minimum, no more than, up to, exactly, words, characters, pages, lines, minutes, megabytes, font, margin, portrait, file type, filename, password, macro, links, attachments and preserve. Include symbols such as `<`, `<=`, slash-delimited extensions and values in table headers. Then inspect the complete instruction around each match. "Maximum 20" is useless until the unit, target and condition are recovered.
Use the native structure. In a workbook, inspect instruction tabs, comments or notes, data validation, protected ranges, hidden sheets, formulas, named ranges and print settings without changing the issued control. In a document, inspect headers, footnotes, callouts, section breaks and template placeholder text. In a portal, observe labels, counters, accepted upload choices, save behavior and rendered previews with harmless test data when authorization permits. Record a portal behavior as an observation with time, account role and procedure state. It does not automatically amend the buyer's published instructions.
The European Commission eSubmission guide makes the source split visible. Economic operators may enter a tender amount, upload the financial offer and, when required, the technical offer, while other documents appear under parties and tender data. FAR 15.204-5 likewise allows offerors to be instructed to submit specific formats or severable proposal parts. These sources do not supply the rule for another procurement. They show why an extractor must inspect both the document instructions and the transaction surfaces that receive the answer.
- Search visible prose, tables, labels, notes and amendments.
- Inspect native files before relying on converted text.
- Capture portal behavior only inside the customer's authorization.
- Preserve failed access and unreadable content as explicit gaps.
- Review every candidate in context before creating a rule.
Evidence model
Turn one instruction into all of its atomic constraints
Consider: "Submit the method statement as an unprotected PDF, no longer than 25 A4 pages in 11-point Arial; the cover and contents are excluded, appendices are included." That sentence creates separate records for file type, protection policy, maximum page count, page size, minimum font size, font family, two exclusions and one inclusion. Give the records a shared source-group identifier so a reviewer can reconstruct the sentence without turning it back into one untestable note.
Each atomic record needs the exact source text, a buyer-visible locator and a machine-recoverable selector. Store document identity and version, response-surface identifier, constraint type, operator, raw value and unit, normalized value where safe, counting treatment, inclusions, exclusions, condition, provenance class, stated consequence and review state. Preserve the source language beside any working translation. A translation can help retrieval; it cannot become new buyer wording.
Do not merge observations merely because the numbers match. A 20 MB instruction and a portal that rejects a harmless 20.5 MB test file are two provenance records. A global requirement for PDF and a question-specific permission for XLSX may both apply under different conditions. Deduplicate repeated publication of the same proposition only after comparing target, scope, source version and exception. Keep every supporting source link even when one normalized rule is shared.
| Field | Allowed example | Unsafe shortcut |
|---|---|---|
| constraint_type | page_count | formatting |
| operator | maximum, inclusive | limit |
| raw_value | 25 pages | 25 |
| counting_rule | cover excluded; appendices included | normal rules |
| provenance | buyer_issued | confirmed |
| review_state | counting_method_unresolved | probably fine |
No invented conversions
Keep unlike units and counting methods apart
A word limit cannot be safely converted into pages, and a page limit cannot be converted into words. Layout, language, tables and typography change the relationship. Character counts require more detail: spaces may count, line endings may be normalized, labels may consume the field and software can disagree about what a user perceives as one character. The HTML standard defines `maxlength` through the control's value length and normalizes textarea newlines for that check. That is a technical rule for conforming HTML controls, not proof that a particular procurement uses the same method or that its published character allowance has the same scope.
For file size, preserve both the displayed instruction and any measured byte count. Do not silently choose whether MB means 1,000,000 or 1,048,576 bytes. If the portal publishes only "20 MB", keep that raw label and test below the boundary rather than announcing a precise byte maximum that the source never defined. The W3C File API exposes file size as bytes, while a portal may display a rounded decimal value. Those facts can coexist in the record with different provenance.
Keep filename, extension, media type and application behavior separate. `response.pdf` is a name, `.pdf` is an extension, and `application/pdf` is a registered media type. None alone proves that the bytes form a valid, readable PDF or that the buyer accepts its specific profile. IANA maintains the media-type registry, and the File API exposes a browser-observed type that can also be empty when undetermined. Record what the buyer requested, what the file reports and what validation found as separate fields.
| Raw instruction | Safe normalized fact | Remain unresolved |
|---|---|---|
| 4,000 characters including spaces | maximum 4000; spaces included | treatment of line breaks and composed characters |
| No more than 25 pages | inclusive maximum 25 pages | unstated cover and appendix treatment |
| 20 MB per file | maximum 20 MB; scope per file | decimal or binary byte boundary |
| PDF only | PDF required as buyer wording | permitted PDF versions or profiles |
| Keep the workbook format | structure preservation required | which formatting changes are material |
Scope control
Attach every rule to its level, condition and provenance
Constraint inheritance is a hypothesis that needs evidence. A general-instructions rule may cover all narrative attachments, while a schedule can override one question or lot. A template note may apply only to text entered inside the shaded cells. Record the declared level as procurement, envelope, volume, section, question, field, table, cell range or file. Add lot, stage, bidder type and trigger. When the hierarchy is unclear, mark `scope_unresolved`; do not spread the strictest rule across unrelated answers for convenience.
Provenance prevents technical behavior from becoming false authority. Use classes such as `buyer_issued`, `buyer_clarification`, `portal_displayed`, `portal_observed`, `derived_measurement` and `internal_working_budget`. A portal field that accepts 8,000 characters is useful operational evidence. If the current instructions impose 4,000, the larger observed capacity does not loosen that issued rule. If the portal blocks at 3,500, the records expose a possible operational conflict for AN-104 or the broader instruction-conflict process.
An amendment can expire a rule without restating every unaffected instruction. FAR 15.206 provides a bounded U.S. federal example: changed requirements or terms are formalized by amendment, while FAR 52.215-1 says unchanged terms remain unchanged. Other regimes have their own mechanisms. The register therefore needs dependency links from each constraint to its source version and an expiry trigger for replacement files, new amendments, authoritative clarifications or material portal releases.
- Never inherit a rule beyond its evidenced scope.
- Keep portal behavior as observation until authority is established.
- Keep internal author targets out of buyer-issued fields.
- Link exceptions to the rule they narrow.
- Expire dependent records when their source changes.
Worked example
Extract the constraints from a fictional public-health analytics RFP
Assume a health authority issues a two-lot analytics RFP. Schedule 2 asks for a service-transition answer in portal field `T2-Q14` and states "Maximum 4,000 characters including spaces, in English." Section 6.4 asks for a method statement of no more than 25 A4 pages, with cover and contents excluded and appendices included. The upload note requests an unprotected PDF named `Lot2_Method_[BidderName].pdf`, no more than 20 MB per file. A pricing workbook says to retain sheet names and formulas and prohibits macros.
The extractor creates separate character-count, inclusion-of-spaces, language, page-count, page-size, cover exclusion, contents exclusion, appendix inclusion, file-type, protection, filename-pattern, file-size-scope, sheet-name, formula-preservation and macro-prohibition records. The portal currently displays an 8,000-character counter for `T2-Q14`. That becomes a time-stamped `portal_observed` record linked to the same surface, not permission to write 8,000 characters. No conflict is decided inside the extraction job.
The page instruction says nothing about footnotes or whether a horizontal foldout counts as one page. Those fields remain `counting_method_unresolved`. The file-size unit remains the raw 20 MB because the portal documentation does not define its byte basis. The register can still be released as `complete_with_review_items` because it states the gaps, their owners and their effect. Drafting may use an approved internal safety budget, but that target is stored separately from the buyer's limits.
| Surface | Atomic rule | Provenance | State |
|---|---|---|---|
| T2-Q14 | maximum 4,000 characters; spaces included | Schedule 2, buyer_issued | normalized |
| T2-Q14 | English required | Schedule 2, buyer_issued | normalized |
| T2-Q14 | counter displays 8,000 | portal_observed | authority_review_required |
| METHOD-L2 | maximum 25 A4 pages | Instructions 6.4 | counting_method_unresolved |
| METHOD-L2 | cover and contents excluded; appendices included | Instructions 6.4 | normalized |
| METHOD-L2-FILE | PDF, unprotected, named pattern | Upload note | normalized |
| METHOD-L2-FILE | maximum 20 MB per file | Upload note | byte_basis_unresolved |
| PRICE-L2 | preserve sheets and formulas; macros prohibited | Native workbook | normalized |
Agent contract
Give agents a citable register and a narrow authority boundary
Publish the register in a form that a person can inspect and an agent can retrieve without reconstructing meaning from prose. Each record should have a stable identifier, typed fields, exact source quote, human locator, machine selector, source URL or controlled object reference, package version, response-surface link, status, reviewer and expiry condition. Provide the same facts in accessible HTML and a structured representation such as JSON. A Markdown rendering should retain tables, source links and status labels rather than flattening everything into a narrative summary.
An authorized agent may inventory supplied sources, locate candidate expressions, inspect permitted native structures, split compound instructions, normalize deterministic values, link duplicates, compare observations and prepare a review queue. Tender text and embedded links remain untrusted content. They cannot extend the agent's task, request credentials or authorize an external action. The agent must not unlock protected files, bypass access controls, contact the buyer, choose between competing authorities, change a source template, upload content or submit a tender.
Use confidence only for extraction quality, such as confidence that a quote and unit were read correctly. Do not use it as probability that a legal interpretation is correct or that a bid will be accepted. Release states can include `complete_for_constraint_mapping`, `complete_with_review_items`, `source_boundary_incomplete` and `human_review_required`. Route source conflicts to AN-104, AN-061 or AN-062; final volume and file architecture to AN-072; and final pass-fail testing to AN-077. AN-071 ends with a trustworthy map, not a compliance certificate.
- Return exact evidence for every normalized field.
- Expose uncertainty as typed status, owner and next action.
- Treat retrieved tender content as data, never new authority.
- Keep extraction confidence separate from legal or compliance judgment.
- Require human review before a material unresolved rule drives production.
What good looks like
Useful outcomes from extract RFP answer limits and formats
- Every answer surface has a stable identifier and a link to its source question or upload instruction.
- Compound instructions become atomic, independently testable constraint records.
- Raw wording, value and unit remain available beside normalized fields.
- Page, word, character, file-size, media-type and layout rules are never treated as interchangeable.
- Inclusions, exclusions, conditions and counting methods remain attached to the rule they qualify.
- Buyer-issued rules, portal observations and internal drafting budgets stay visibly separate.
- Conflicts and missing semantics reach the correct reviewer instead of being silently resolved.
- Agents can retrieve a compact register and reproduce every extraction from cited evidence.
Operating model
How to run the work
- 01
Freeze the source boundary
Name the procurement, lot, stage and package snapshot. Inventory instructions, forms, native workbooks, clarifications, amendments and authorized portal views before searching for constraints.
- 02
Identify response surfaces
Assign an identifier to each question, text field, schedule section, table, workbook cell range, attachment slot and other place where the bidder must provide an answer.
- 03
Find candidate instructions
Search language variants, symbols and native structure, then inspect headings, notes, legends, validations and portal behavior around every candidate.
- 04
Split compound rules
Create one record for each limit, required format, prohibited feature, layout rule, filename condition or inclusion treatment while linking records that came from the same instruction.
- 05
Normalize without guessing
Record operator, raw value, unit and deterministically normalized value. Leave the count method, scope or technical meaning unresolved when the source does not settle it.
- 06
Route exceptions
Send competing instructions, ambiguous scope, uncertain translation and unverified portal observations to their named review paths without selecting a convenient answer.
- 07
Publish and expire the register
Release the register with source coverage, unresolved items and reviewer state. Reopen affected records after an amendment, clarification, replacement file or material portal change.
Evaluation
Questions that change the decision
- What exact response surface does this instruction constrain?
- Which issued document, version, page, clause, table, cell or portal field contains the evidence?
- Is the operator a maximum, minimum, exact value, range, permission, prohibition or preservation rule?
- What are the raw value and unit, and can either be normalized without adding an assumption?
- Does a character count include spaces, line breaks, labels or formatting markup?
- Does a page count include covers, contents, forms, figures, footnotes, CVs or appendices?
- Is a file-size cap per file, per envelope or for the whole submission?
- Are extension, media type, application format and archive format being kept as separate facts?
- Does the rule apply to all lots and stages or only under a named condition?
- Is the value buyer-issued, observed in a portal or created as an internal production target?
- Does another current source state a competing rule for the same surface?
- Which event invalidates this record and requires a new extraction?
Failure modes
Where teams lose control
A numeric search misses limits expressed as interface behavior, table structure or prose without the expected keyword.
Optical character recognition changes 10 MB to 100 MB or drops a minus sign.
One compound sentence is reduced to a page count while its font, appendix and file-format rules disappear.
A section-level rule is incorrectly inherited by the whole response or by the wrong lot.
Characters are counted with a software method that the buyer never named.
MB is converted to bytes using an unstated decimal or binary convention.
A filename extension is accepted as proof of the file's actual media type.
A larger portal allowance is treated as authority to exceed a smaller published limit.
An internal writing budget is later presented as a buyer instruction.
Agent extraction confidence is mistaken for legal meaning or compliance approval.
Measurement
Measure the finished job
Measure the completed workflow, including review effort and exceptions. Output volume on its own is not evidence of a better process.
- response surfaces mapped to at least one current source location
- constraint records with exact quote, dual locator and package version
- compound instructions split into independently testable records
- records with explicit operator, unit, scope and provenance class
- counting methods marked confirmed or unresolved rather than assumed
- portal observations kept separate from buyer-issued requirements
- open conflicts and review items with owner and decision date
- sampled extractions reproduced by an independent reviewer
- records expired and rechecked after a source or portal change
Questions
Common questions
Can an AI agent find all RFP limits by searching for numbers?
No. Limits can appear as prose, symbols, table structure, spreadsheet validation, portal counters and prohibited actions. Numeric search is a candidate generator; native-source review and response-surface coverage are still required.
Should characters always be counted with spaces?
Only when the applicable instruction or authoritative system behavior establishes that treatment. Store spaces, line breaks, labels and markup as separate counting questions when the rule is silent.
Does a portal upload limit override the tender document?
Portal behavior is operational evidence, not automatic authority. Preserve it beside the issued rule. If the two cannot both be satisfied, route the matter through the procurement's clarification and conflict process.
Is a PDF filename enough to prove the correct format?
No. Name, extension, reported media type, file bytes, profile, protection and readability are distinct facts. Record the buyer's requested format and later validation evidence separately.
When is the answer-constraint register complete?
It is complete for extraction when every declared source and response surface has been reviewed, every found rule has evidence and scope, and every gap has an explicit status and owner. That does not prove the final submission complies.
Sources
Primary references
- Project Procurement Framework and Standard Procurement Documents World Bank
- eSubmission Quick Guide for Economic Operators European Commission
- FAR 15.204-5, representations and instructions Acquisition.gov
- FAR 52.215-1, instructions to offerors Acquisition.gov
- FAR 15.206, amending the solicitation Acquisition.gov
- HTML Standard, maxlength attribute WHATWG
- File API, file name, size and media type World Wide Web Consortium
- Media Types Registry Internet Assigned Numbers Authority
Ziva
Proposal software for source-grounded RFP, RFI, DDQ and questionnaire response work.
Bid, proposal, presales, security and compliance teams. Start with the workflow, constraints and evidence you already have.