Capability & Traceability Companion · OpenGov Software Factory
422 of 443 claims built
21 recorded as coming, 0 needing attention. Automated CI test markers prove every built specification claim without self-reporting, while the Factory dashboard tracks live delivery flow. An hourly script generates this page automatically.
Passing CI test markers prove every built specification claim
Coming
The concept documents declare these capabilities as not built yet. This table reflects formal specification records rather than informal ideas in flight.
Designed — specified, not yet built
A signed-off specification exists. Nobody has built the code yet.
| Claim | What it promises | State | Where it is specified |
|---|---|---|---|
| 8.3 | eRnext (for applicants — discover, submit with AI) | designed | architecture §4.4; docs/specs/2026-10-06-applicant-document-check.md; docs/specs/2026-04-06-ux-overhaul-design.md §5.1.1 |
| 8.153 | Staff authority is defined as explicit actions at country or exact-unit scope, with every mounted and background operation classified before the database policy can become authoritative. | designed | docs/specs/2026-09-05-staff-permissions.md; docs/specs/2026-10-08-permissions-pair-storage-design.md |
| 9.22 | Publishing a change stops taking the site off the air | designed | docs/specs/2026-08-10-docker-swarm-default-deployment.md; docs/runbooks/swarm-sandbox.md; divergences-from-overview-v4.md D47 |
| 9.23 | A deployment keeps its own copies of the software it runs, so releasing does not depend on an outside company's allowance | designed | docs/specs/2026-08-11-self-hosted-registry.md; docs/plans/2026-08-11-self-hosted-registry.md; docs/runbooks/registry.md; divergences-from-overview-v4.md D47 (amended by the spec above) |
| factory.release_promotion | Reviewed changes integrate continuously while edge and stable require separate snapshot evidence | designed | docs/specs/2026-10-14-continuous-integration-and-release-promotion.md; docs/plans/2026-10-14-continuous-integration-and-release-promotion.md |
| factory.supervised_issue_preparation | Supervised issues receive proposals with exact approval and whole-issue acceptance boundaries | designed | docs/specs/2026-10-26-supervised-issue-preparation.md |
| 10.3 | Pattern seeder auto-populates L2/L3 from labels | designed | scripts/seed_layers.py |
| drafts.device_copy_deleted_at_sign_out | The portal deletes the device copy at sign-out, account change, submission, start over and age | designed | docs/specs/2026-10-07-offline-portal.md §4.9 |
| drafts.device_copy_survives_lost_connection | A dropped connection loses no answer: the portal keeps a device copy of the draft | designed | docs/specs/2026-10-07-offline-portal.md §4.1, §4.2, §4.6; divergences-from-overview-v4.md D71 |
| drafts.document_kept_on_device | A document that the applicant chooses stays on the device until the application is sent | designed | docs/specs/2026-10-07-offline-portal.md §4.5, §4.9, §6 (slice 3); divergences-from-overview-v4.md D71 |
| drafts.identity_scoped | Portal draft key binds to the signed-in applicant's OIDC subject, never a shared demo identity | designed | docs/reports/2026-07-17-wave2-phase0-ratification-agenda.md::B2 (draft key bound to the signed-in user) |
| drafts.resend_asks_before_overwriting_another_device | The resend reads the vault first and asks when another device saved in between | designed | docs/specs/2026-10-07-offline-portal.md §4.3; divergences-from-overview-v4.md D19 (last write wins, unchanged) |
| portal.opens_with_no_connection | The applicant portal opens with no connection, from the pages and procedures it stored | designed | docs/specs/2026-10-07-offline-portal.md §4.7, §4.8; divergences-from-overview-v4.md D71 |
| portal.stored_copy_says_so | A procedure or a list that comes from the device's store says so, with the date of the copy | designed | docs/specs/2026-10-07-offline-portal.md §4.4, §6 (slice 4), §12; divergences-from-overview-v4.md D71 |
| security.worker_policy | The portal's service worker gets its own content policy, and only the opengov-worker policy can name its address | designed | docs/specs/2026-10-07-offline-portal.md §4.12; docs/specs/2026-07-29-content-security-policy.md::§5.3 |
| vault.cross_module.eapproval_stub | eApproval service stubs (has_open_obligations, dispatched variant, notify_authorization_dependent) for vault MVP-1 ; real impl in vault Plan C | designed | docs/plans/2026-05-03-applicant-vault-mvp1.md::Task 5.2; docs/specs/2026-05-03-applicant-vault.md::§2.3.1 |
Data model only
Database tables carry these fields. No workflow uses them yet.
| Claim | What it promises | State | Where it is specified |
|---|---|---|---|
| vault.custody_mode_declared | The database refuses to store a credential claiming more assurance than the custody of its signing key allows — the rule is built, the credentials it governs are not | data model only | docs/specs/2026-07-28-vault-key-custody.md::§7, §8, §10.3 |
Deferred — decided, deliberately later
Maintainers reviewed this capability and scheduled it for a later phase.
| Claim | What it promises | State | Where it is specified |
|---|---|---|---|
| 7.3 | UNCTAD global registry for shared groups | deferred | architecture §8 |
| 7.4 | Registration templates (combine groups for specific registration types) | deferred | architecture §8 |
| 7.5 | Cross-country semantic convergence over time | deferred | architecture §8 |
| 8.43 | AI-assisted rule authoring in the editor (three-column workspace + assistant chat) | deferred | — |
Coverage by concept area
Every specification claim grouped by concept section. "Attention" counts claims where tests fail (drift) or lack a test marker (orphans).
| Section | Concept area | Built | Coming | Attention | Total | Share built |
|---|---|---|---|---|---|---|
| 1 | Core Thesis — Machine-Readable Requirements | 2 | 0 | 0 | 2 | |
| 2 | Four-Layer Requirement Model | 30 | 0 | 0 | 30 | |
| 3 | Approval Flow from Preconditions | 6 | 0 | 0 | 6 | |
| 4 | Verification Outputs & Conditions | 6 | 0 | 0 | 6 | |
| 5 | Iterative Correction | 4 | 0 | 0 | 4 | |
| 6 | SmartRules-as-Database-Schema (Embedded Mode) | 6 | 0 | 0 | 6 | |
| 7 | Semantic Groups & Standards | 2 | 3 | 0 | 5 | |
| 8 | Four Independent Tools (OpenGov Ecosystem) | 156 | 3 | 0 | 159 | |
| 9 | Deployment, Versioning, Auditability | 36 | 4 | 0 | 40 | |
| 10 | Service Catalog + Import | 2 | 1 | 0 | 3 | |
| 11 | Applicant Communication (Phase 2D Notifications) | 11 | 0 | 0 | 11 | |
| 12 | Applicant Inbox + Health Visibility (Phase 2E) | 8 | 0 | 0 | 8 | |
| 13 | Conversation Layer (D5) | 6 | 0 | 0 | 6 | |
| drafts | Applicant Draft Persistence (Portal) | 1 | 7 | 0 | 8 | |
| forms | Forms completeness (Wave 9 Track B) | 1 | 0 | 0 | 1 | |
| groups | Repeating groups (D17) | 12 | 0 | 0 | 12 | |
| guided | Guided Provisioning (Editor UX) | 7 | 0 | 0 | 7 | |
| homepage | Country homepage & deployment branding (D45) | 5 | 0 | 0 | 5 | |
| import | Imported connections (confirmation flow) | 2 | 0 | 0 | 2 | |
| institutions | Institution-scoped enforcement (institutions wave 3) | 4 | 0 | 0 | 4 | |
| pentest | The platform proves it refuses the wrong person (pentest programme, 2026-09-12) | 1 | 0 | 0 | 1 | |
| registry | Typed-entity registry (D26) | 7 | 0 | 0 | 7 | |
| security | Content policy & transport security (2026-07-29) | 5 | 1 | 0 | 6 | |
| vault | Applicant Vault (MVP-1) | 66 | 2 | 0 | 68 | |
| worldmodel | World model — Registers & Datasets (note 9) | 36 | 0 | 0 | 36 |
Factory queue — work accepted, not finished
Accepted bugs and gaps waiting on a fix, grouped by module. These items are mostly fixes and findings, not product features. The tables above hold the feature truth, and this table holds the work queue.
| Module | Accepted gaps in flight | Triage ledger items |
|---|---|---|
| editor | 17 | 4 |
| eapproval | 1 | 19 |
| platform | 3 | 15 |
| smartrules | 3 | 14 |
| smartlink | 3 | 12 |
| published | 1 | 6 |
| portal | 0 | 6 |
| approval | 1 | 3 |
| smartlink-admin | 1 | 2 |
| worldmodel | 2 | 0 |
| vault | 1 | 0 |
| studio | 1 | 0 |