Surfaced by the vault resolution, which established that we curate a deliberately small catalogue
of typed documents, each carrying a validator and an expiry rule. This ticket decides what actually
ships in v1.
For each type: what it is, what the validator extracts and checks, what makes it structurally
invalid, whether it expires and how that date is found, and what eligibility consequence it can
carry.
Starting candidates from the artifacts research, which found these recurring across real
solicitations: certificate of insurance (ACORD-style, with coverage limits and named insured), W-9,
food-safety certification (SQF/BRC/HACCP), MBE/WBE/DBE certification, audited financial statements,
references, debarment/suspension certification (Form AD-1048), and non-collusion affidavit.
Note two findings that bear directly on scoping this:
Some of these are nationally standardised forms whose schema is fixed externally — Form
AD-1048 has a defined structure we do not get to choose. Those are cheap to validate and should
be favoured for v1.
Diversity certification is not a flat percentage field. The Maryland MBE packet is a nested
decision tree with per-category subgoals, self-performance caps, a 60% materials rule, and
dual-certification tie-breaks. If diversity status ships in v1, it needs its own sub-model, and
that may argue for deferring it.
Resolve which types ship, which are deferred, and for each shipped type the validator contract and
expiry rule.
Added by a skeptical review pass
Two constraints from decisions taken after this ticket was created:
Per-category expiry consequence means the retailer-local category, per the category taxonomy — eligibility runs on the local category, never the spine leaf.
Every paying vendor has a vault, per the pricing structure — the earlier note here
about free vendors having no vault is void, as is the ticket it pointed at. A lapsed vendor
still has a readable vault (entitlement decision 2) but cannot start new participation, so
each shipped type needs an answer for what its expiry state means while the vendor is lapsed.
## Question
Surfaced by the vault resolution, which established that we curate a deliberately small catalogue
of typed documents, each carrying a validator and an expiry rule. This ticket decides what actually
ships in v1.
For each type: what it is, what the validator extracts and checks, what makes it structurally
invalid, whether it expires and how that date is found, and what eligibility consequence it can
carry.
Starting candidates from the artifacts research, which found these recurring across real
solicitations: certificate of insurance (ACORD-style, with coverage limits and named insured), W-9,
food-safety certification (SQF/BRC/HACCP), MBE/WBE/DBE certification, audited financial statements,
references, debarment/suspension certification (Form AD-1048), and non-collusion affidavit.
Note two findings that bear directly on scoping this:
- Some of these are **nationally standardised forms whose schema is fixed externally** — Form
AD-1048 has a defined structure we do not get to choose. Those are cheap to validate and should
be favoured for v1.
- Diversity certification is **not a flat percentage field**. The Maryland MBE packet is a nested
decision tree with per-category subgoals, self-performance caps, a 60% materials rule, and
dual-certification tie-breaks. If diversity status ships in v1, it needs its own sub-model, and
that may argue for deferring it.
Resolve which types ship, which are deferred, and for each shipped type the validator contract and
expiry rule.
## Added by a skeptical review pass
Two constraints from decisions taken after this ticket was created:
- **Per-category expiry consequence means the retailer-*local* category**, per
[the category taxonomy](https://gitea.stephenmann.io/christian/helmdocs-proposal-system/issues/26) — eligibility runs on the local category, never the spine leaf.
- **Every paying vendor has a vault**, per [the pricing structure](https://gitea.stephenmann.io/christian/helmdocs-proposal-system/issues/34) — the earlier note here
about free vendors having no vault is void, as is the ticket it pointed at. A **lapsed** vendor
still has a readable vault ([entitlement](https://gitea.stephenmann.io/christian/helmdocs-proposal-system/issues/20) decision 2) but cannot start new participation, so
each shipped type needs an answer for what its expiry state means while the vendor is lapsed.
---
Parent: #1
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Question
Surfaced by the vault resolution, which established that we curate a deliberately small catalogue
of typed documents, each carrying a validator and an expiry rule. This ticket decides what actually
ships in v1.
For each type: what it is, what the validator extracts and checks, what makes it structurally
invalid, whether it expires and how that date is found, and what eligibility consequence it can
carry.
Starting candidates from the artifacts research, which found these recurring across real
solicitations: certificate of insurance (ACORD-style, with coverage limits and named insured), W-9,
food-safety certification (SQF/BRC/HACCP), MBE/WBE/DBE certification, audited financial statements,
references, debarment/suspension certification (Form AD-1048), and non-collusion affidavit.
Note two findings that bear directly on scoping this:
AD-1048 has a defined structure we do not get to choose. Those are cheap to validate and should
be favoured for v1.
decision tree with per-category subgoals, self-performance caps, a 60% materials rule, and
dual-certification tie-breaks. If diversity status ships in v1, it needs its own sub-model, and
that may argue for deferring it.
Resolve which types ship, which are deferred, and for each shipped type the validator contract and
expiry rule.
Added by a skeptical review pass
Two constraints from decisions taken after this ticket was created:
the category taxonomy — eligibility runs on the local category, never the spine leaf.
about free vendors having no vault is void, as is the ticket it pointed at. A lapsed vendor
still has a readable vault (entitlement decision 2) but cannot start new participation, so
each shipped type needs an answer for what its expiry state means while the vendor is lapsed.
Parent: #1