The Certainty platform, today and proposed

Prepared for Lindsey Nichols · 2026-09-16 · board position as of 2026-W38

Three tracks of work run at once, and they are easy to confuse with each other. Track 1 is the Certainty platform itself, the proposed architecture and the backend it needs. Track 3 is delivery for named customers. A third track, prototype and proof-of-concept R&D, is covered in a separate document rather than here. Within Track 1, two engagements have been estimated. Engagement 1 makes the product deliverable; Engagement 2 makes it compound. The dependency runs one way: Engagement 2 needs what Engagement 1 builds, and Engagement 1 stands alone if the second is never funded. Almost none of either has been built yet — what has happened since August is audit, remediation and getting the four repositories into a state where a change can be trusted.

Track 1 — the shape of the platform

Today

Where the product actually is

  • Four repositories, 56 audit findings
  • Updates by logging in and downloading from GitHub
  • Each plant isolated - nothing learns from anything
  • No cloud backend at all

Engagement 1 — the platform

Makes it deliverable

  • CI and remediation
  • AWS accounts, federated access
  • Tenants and entitlement
  • Remote monitoring
  • Cloud control plane
  • Release and update channel

Engagement 2 — the Mothership

Makes it compound

  • Sites that learn from themselves
  • A fleet that learns across customers
  • Analytics, trends, anomalies
  • Ask it in plain language
  • Recipes as a service

The plant appears in both. Engagement 1 makes it updatable and manageable; Engagement 2 makes it thoughtful. Neither is much use without the other, but they are worth buying in that order.

Track 1 — where we are against that plan

One row per tranche of the plan. A tranche counts as done only when something outside Jira shows it working — a ticket in a Done column is not evidence that a plant can be updated remotely. Where nothing was checked, the row says so and names what would settle it.

EngagementTrancheState What is actually there
Engagement 1CI and remediationpartly thereCI exists and blocks in certainty-license-backend. certainty-core has no .github directory on dev at all; certainty-license has .github but no workflows; certainty-client has CI whose Analyze/Static/Test steps carry continue-on-error: true, so it cannot fail a build (INTEL-190). PR #16 adds CI to certainty-core and was merged to dev on 2026-09-13 (INTEL-147).
How we know: Checked on live branches 2026-09-11; PR #16 merge verified by commit containment in dev.
Engagement 1Remediation of audit findingspartly thereOf roughly 33 findings marked Done, 4 were confirmed live in production. 17 licence-repo security fixes are on dev only: staging and prod on both licence repos are still frozen at the August import. Promotion needs Soumen's authorisation and has not been given.
How we know: Bug ledger validated against live dev/staging/prod branches 2026-09-10.
Engagement 1AWS accounts, federated accessnot verifiedOne account (036437809026) is in use and hosts the demo stack. The four-account topology in ADR Decision 5.7 has no evidence of being stood up, and INTEL-30 (access monitoring) records itself as blocked on that foundation existing.
How we know: Not audited this cycle. Would be settled by an AWS Organizations listing.
Engagement 1Tenants and entitlementnot startedNo tenant model found in any repository. The administration screens in the client still talk only to the machine in the plant.
How we know: Searched: repository file trees on dev across the four repos, 2026-09-11.
Engagement 1Remote monitoringnot startedNothing found. A struggling plant is not visible from outside the plant.
How we know: Searched: repository file trees and the Jira board for a monitoring epic.
Engagement 1Cloud control planenot startedNo cloud backend exists. This is the single largest piece of Engagement 1 and the thing Engagement 2 stands on.
How we know: Stated as absent in the target-architecture audit, 2026-09-02.
Engagement 1Release and update channelnot startedUpdates still require logging into a customer's server. staging branches now exist in all four repos (INTEL-152), which is a branch, not a channel.
How we know: Branch existence checked live 2026-09-11.
Engagement 1Test lab onlinenot startedNo test lab is reachable online. staging branches exist in all four repos, but a staging branch is not a staging environment, and no environment requirements document was found (INTEL-9, still open). The hardware bench that industrial testing actually needs has a requirements ticket (INTEL-15) and a procurement ticket (INTEL-32), both unstarted and both blocked on input from Rajesh and Jhantu rather than on their assignee.
How we know: Branch existence checked live 2026-09-11; both tickets read on the board.
Engagement 2Everythingnot startedNot begun, and correctly so: it depends on Engagement 1's accounts, tenant model and release channel. INTEL-355 (IntelgicPOC) and INTEL-287 (Fanuc) are the only POC cards on the board, and INTEL-287 has no children.
How we know: Board read 2026-09-11.

What the board says

Jira progress for the same week, counting top-level issues. This measures ticket movement, which is a different thing from the tranches above: most of these tickets are audit findings and remediation, not Engagement 1 features.

AreaProgress
Certainty product84/142 (59%)
Customer deployments7/82 (9%)
POC0/1 (0%)
Internal & ops1/1 (100%)
Unsegmented62/417 (15%)

Track 3 — work for the other clients

Each named customer is its own epic and its own delivery. Progress on one says nothing about another. These counts are top-level issues from the same board read; "nobody assigned" means the item is not Done and has no assignee, so it is in nobody's queue.

EpicCustomerProgress Nobody assignedEpic statusNote
INTEL-359Polyplex2/37 (5%)28To DoLargest customer epic on the board. 153 of its 154 issues are To Do and 28 of 31 top-level items have nobody assigned.
INTEL-212Stakes MFG0/15 (0%)14BacklogWhole epic sits in Backlog, nothing assigned. The separate Dynamic Defect Types epic (INTEL-296) belongs to this customer.
INTEL-206Reliant Cellular0/19 (0%)18BacklogThree items in progress. This is the account behind Voltaire's Reliant workflow email and Soumen's 379.9 SP / withheld figures.
INTEL-283Kalpataru3/3 (100%)DoneThe one customer epic finished: all 8 issues Done.
INTEL-348Reynolds Tobacco0/5 (0%)5To DoFive items, all To Do, none assigned.
INTEL-43Bobrick VAAV1/1 (100%)To DoOne of three separate Bobrick epics. Which is live has not been decided, so they are reported separately rather than merged.
INTEL-346Bobrick (3)1/1 (100%)DoneSecond Bobrick epic, marked Done.
INTEL-296Dynamic Defect Types (Stakes)0/1 (0%)To DoSingle unassigned item belonging to Stakes MFG.
INTEL-345Bobrick (2)0/0 (0%)To DoThird Bobrick epic. No children at all, due date already passed.

Across these customer epics, 5 of 76 top-level items are finished. Almost all of the rest has not been started and most of it has no owner — which is the headline for this track, not any individual customer.

The two engagements

#EngagementMilestonesStories HoursCost
1Certainty platform
Makes the product deliverable: it can be built, released, updated and administered, with tenants and monitoring.
12211940.9withheld
2Certainty Mothership
Makes the product compound: sites learn from themselves, the fleet learns across customers, and recipes become a service.
11164796.4withheld

Both at a rate held on the internal page with the same AI-assistance convention, so the numbers add honestly. Together: 23 milestones, 375 stories, 1,737.3 hours, withheld.

Either can stop somewhere defensible

TierEngagement 1Engagement 2 Together
Skeletonwithheldwithheldwithheld
Slimwithheldwithheldwithheld
Midwithheldwithheldwithheld
Everythingwithheldwithheldwithheld

The dates

DateWhat it isHow firm
2026-10-01Stage 0 / Stage A - make the platform safe to changeAppsTango's proposed staging, not yet signed off by Intelgic
2026-10-15Investor raiseNot a delivery deadline. The programme is scheduled so Engagement 1 is substantially demonstrable before it
2026-11-01Contractual date - Engagement 1 committed scope211 stories, 573.5h. Two weeks of margin, and that margin is the testing time rather than slack

Known problems with the plan these dates come from

Surfaced rather than resolved — choosing a side would invent a decision nobody has made.

What has to be true

Neither cost survives these being wrong, so they are stated rather than assumed.

AssumptionIf it fails
Three developers at 30 productive hours, from the startBoth dates move. This is the single assumption the whole schedule rests on
Design work starts rather than waiting for more whiteboardingEvery week of design gate consumes a week of the margin held for testing
Intelgic selects an identity provider earlyEngagement 1 M8 and Engagement 2 N9 both wait on it
Pierre supplies the existing design assetsThe reskin does not happen; the screens ship against the current interface
The India team continues on its own branch and the 4 September releaseThe parallel model collapses into one team and the committed scope reopens
a rate held on the internal page standsHours are unaffected; only the multiplication changes

Where this comes from

Plan figures, milestones, tiers and assumptions are quoted from audits/target-architecture/WHOLE-SHAPE.md (2026-09-02, prepared for Pierre), which generates them from the two estimate workbooks (estimates/certainty-platform-aug-2026 and certainty-mothership-sep-2026). Board progress is read from the same evidence file as the weekly dashboard (2026-W38, generated 2026-09-16). Current-state claims were checked against live branches on the dates given in each row. Nothing here is estimated on Intelgic's behalf.

The plan itself, against the dates it has to fit inside

Three tranches of 21 days, Engagement 1 at three developers, transcribed from the Gantt in the estimate documents. The top three bars are the plan as written. The bottom three are the same durations starting at this snapshot instead — the cost of a start date that moved, with nothing re-planned.

As planned, from 2026-09-02 Same work, started 2026-09-16 Programme dates
31 Aug
07 Sep
14 Sep
21 Sep
28 Sep
05 Oct
12 Oct
19 Oct
26 Oct
02 Nov
09 Nov
16 Nov
23 Nov
Tranche 1 — CI, remediation, AWS accounts as planned
Tranche 2 — tenants, monitoring, control plane as planned
Tranche 3 — transport security, analytics, identity as planned — ends past 1 Nov
Tranche 1 — CI, remediation, AWS accounts if it started at the snapshot
Tranche 2 — tenants, monitoring, control plane if it started at the snapshot
Tranche 3 — transport security, analytics, identity if it started at the snapshot — ends past 1 Nov
snapshot
10-01
10-15
11-01

As drawn from 2026-09-02, the three tranches end 2026-11-04 — 3 days past the contractual date, even though the text beside the chart says Engagement 1 lands by 1 November with two weeks of margin. The two copies of this chart also disagree about their own start (2026-09-02 against 2026-09-03). Starting the same work at the snapshot instead ends 2026-11-18, 17 days past it.

Source: audits/target-architecture/WHOLE-SHAPE.md:137-155 (start 2026-09-02) and PROGRAM-SUMMARY.md:459-476 (start 2026-09-03), Engagement 1 at three developers.