Repository navigation
feat(proposal-builder): answer RFPs compliance-first from a company library - #9
Merged
Merged
Conversation
|
Macroscope skipped reviewing this pull request. Per-review cost limit exceeded (workspace setting). This review would cost an estimated $5.65, which exceeds your per-review limit of $3.00. The top 3 files driving up this estimate:
Tip To get this pull request reviewed, you can:
|
…ibrary Reframe proposal-builder around RFP responses after a go decision. A shared, dependency-free core validates proposal.json (requirements, forms, page limit, sources, facts, sections, fee) and a new check script writes the compliance check: unanswered requirements, missing forms, pages over the limit measured on the rendered PDF, and an unpriced fee block submission; unconfirmed prior-proposal claims, stale sources, and older conflicting values are flagged. The pdfcn renderer follows the RFP's tab order with project and team cards, a fee table, forms, and a compliance matrix. Fixes the 1.0.0 review findings ($0 proposals, metadata mojibake, currency rounding, setup portability). New county library CMAR sample.
mikeastock-bot
force-pushed
the
proposal-builder-v2
branch
from
October 7, 2026 16:16
eb0961e to
cfb582d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebuilds proposal-builder around answering an owner's RFP after a go decision, compliance first. It still renders with pdfcn and Forme.
company-library/(projects, people, safety, approach text), each file dated when last verifiedcompliance-check.mdproposal.json, with a source on every claimHow it works
templates/proposal-core.mjsis dependency-free. The renderer andscripts/check.mjsshare it.pdftotextfreshnessMonths(default 12)unpriced, never $0. Lump sums must be positive and reconcile; percentage lines (CM fee, bonds) stay out of the total.Renderer: RFP tab labels, project and team cards with a field grid, grouped narrative lists, a fee band and table, a forms checklist, and a compliance matrix appendix. In
DRAFT, every item shows its source, and unconfirmed prior claims print in rust with "confirm still true".Sample
Cedar Hollow County's Riverside Branch Library, a CM at Risk RFP with a 20-page limit. Inputs: the RFP PDF, Larkspur Builders' library, two prior proposal PDFs, and the user's fee and team email. Planted problems:
The rendered PDF is 10 pages, 6 of them counted toward the limit. The check reports 2 blocking items and 2 warnings.
Fixes from the 1.0.0 review
npm.cmdon Windows, and cleanup on failure.Verification
evals/tasks/proposal-builder/proposal-core.test.mjs: 12 tests. CI now installs Poppler. The tests cover:setup.mjsworkspace rendered the sample.pdfinfotitle is clean.Version 2.0.0, marketplace 0.9.0.
Note
Rebuild proposal-builder as a compliance-first RFP response skill (v2.0.0)
proposal.jsonbefore writing, and content is drawn from a dated company library and prior proposals with per-item source citations.validate.mjsare removed — document-contract.md is deleted and replaced by data-contract.md, so any consumer of the former proposal format must migrate; the skill catalog entry moves from estimating to preconstruction and bumps to 2.0.0.Macroscope summarized cfb582d.