01-projects/phdata/roadmap-v1-work

caf die roadmap v1

CAF/DIE Roadmap v1

Four layers, one backlog, three audience views. Sponsors read L0+L1 (milestones + money). Spoke owners read L1+L2 (seams + contracts). The MLE bench reads L3 (Jira-ready). v1 updates v0 (2026-07-06) for the brigade-house consolidation and the deployment decisions of 2026-07-07 — the delta log is at the bottom.

Fixed anchors: the Snowflake-native site is needed by end of year, and the earlier it ships the earlier the funding releases · 321GO backed by CAF is already selling and demoing, deployed on client infra for two clients — that live lane stays green throughout · KB4 onsite July 15.


L0 — Vision one-pager (the story for every audience)

North star. phData's Intelligence Platform Framework delivers agentic value the same way every time: a client request enters through Assess (CAF/321GO), becomes a governed use-case portfolio with a typed Build Manifest, flows to Data (DCA) for implementation, is gated by Govern, measured by Evals, and every reusable capability lands in the Registry — with all five spokes reading and writing one Governed Knowledge Graph (the Fabric). Nothing moves without a ticket; every artifact carries provenance; the platform compounds because today's engagement is tomorrow's context.

Why phData wins with this shape (the three differentiators):

  1. Typed contracts at every seam. Handoffs are schemas with validators, not demos with hardcoded bits. (Proof: the CAF→Catalog Build Manifest with X1–X8 cross-checks and fail-loud ingest, running now.)
  2. Hexagonal ports. Every deployment target — AWS, Snowflake, client env — is an adapter behind the same port set. No fork per client, no vendor-camp loser. (Proof, new this week: the same marketplace site that runs locally deployed into Snowflake via App Runtime with changes confined to the adapter/config layer — no business-logic changes.)
  3. Evals built into manufacture. Skills and assessments ship with lift-over-baseline evidence, not vibes. (Proof: the execution-eval station, per-fixture lift, regression re-runs.)

Proof points already live: 321GO backed by CAF is selling now, deployed on client infra twice. And the assessment machinery has now run two full engagements end-to-end inside a week — intake → research → assessment → committed manifest → rendered site → collateral — with the governance gates visibly firing (on the first run, independent reviewers vetoed drafts mid-flight and the refires passed re-verification; human approvals recorded on both runs). Honest caveat: parts of the handoff plumbing were hardcoded until this month's typed-manifest work; "deployed" ≠ "hardened."

PM thesis: the platform IS its seams. Spokes have owners; the seams are where value crosses and where nobody is accountable today. This roadmap gives every seam a contract; the circulation of L1 is how each seam gets its named owner and date.


L1 — Now / Next / Later, organized by seam

Lane NOW (July) NEXT (Aug–Oct) LATER (Q4+)
A. Fabric (the hub) Fabric v0 port-set spec written + circulated to spoke owners Snowflake-native Fabric backend (rides the site funding; unblocks EOY) Neptune/AWS backend formalized · client-env deployment profile
B. Assess→Data seam (CAF→DCA) Build Manifest v1.1 handed to DCA as the input contract DSA consumes + validates a manifest end-to-end in the demo Pre-sales vs post-sales spec split formalized
C. Assess spoke 321GO SLA lane protected · Snowflake site: App Runtime deploy is live on a sandbox — NOW work = re-provision on a phData account + confirm render (pulled forward from NEXT; see delta log) Site hardening to production grade · manifest landing path on the phData account UI feature-parity + design polish (front-end PM lane)
D. Evals seam vertex demo + write the seam definition (build-time vs run-time) — BLOCKED until the demo is booked Brigade evidence-packages flow into vertex's measurement plane Model-upgrade regression re-evals as a standing service
E. Bench + Registry Jira stood up as the bench's intake surface (this pack's L3 is its first load) — intake, not the execution rail; see delta log Factory manufactures DCA's Snowflake-native stations · outputs register in forge Department-scale skill manufacture across spokes

Reading rule: NOW = committed and resourced. NEXT = sequenced, waiting on a NOW output. LATER = directional, revisit each review. Cadence: L1 biweekly with spoke owners, monthly with sponsors.


L2 — Epics (the NOW column, with acceptance criteria)

EPIC 1 — Fabric v0 spec (Lane A). Outcome: one written port set every spoke can implement against. Acceptance: spec covers store layout · ticket/envelope contract · menu/discovery · provenance + snapshot rules · close-out; the running filesystem implementation cited as the conformance example; Snowflake + Neptune backend sketches included; reviewed by the Data, sponsor, and DIE owners with written comments resolved.

EPIC 2 — CAF→DCA contract (Lane B). Outcome: DSA/DPA consumes CAF output through a validated schema instead of an implicit handoff. Acceptance: manifest schema + validator packaged standalone; DSA maps manifest fields to its discovery/build inputs; one end-to-end run (assessment → manifest → DSA discovery → model stub) passes validation both sides.

EPIC 3 — Snowflake-native site (Lane C) — substantially de-risked since v0. Outcome: the 321GO/marketplace site runs inside Snowflake, reading manifests from the Snowflake landing path — the artifact that releases the EOY funding. What already exists (built + exercised on a sandbox account this week): App Runtime deployment from environment-as-code (provision / deploy / ingest / status driver with a preflight doctor and tiered grants); validated fail-loud manifest ingest with a schema-drift test; the site's data access fully behind the DataPort with the Snowflake adapter live; in-container configuration collision solved with a regression test. Remaining acceptance: re-provision on a phData-side account (verify App Runtime enablement — public preview) · render confirmed by a human · adapter/ingest hardening to production grade · a second engineer deploys from the runbook alone.

EPIC 4 — Jira as the bench's intake (Lane E) — reshaped since v0. Outcome: the MLE bench pulls clear, self-contained work items from Jira; objectives get queued instead of narrated. Jira is the intake surface: canonical execution state stays on the house rail, and completed work answers back to the originating Jira issue. (v0 scoped Jira as a candidate rail backend; that was rejected on consistency grounds — see delta log.) Acceptance: Jira ticket template mirrors the ticket contract (order · acceptance criteria · typed context pointers); definition-of-ready = the deterministic ticket-lint checklist; this pack's tickets loaded and at least 3 pulled by MLEs without clarification round-trips.


L3 — Jira-ready tickets (first load, 15)

Format per ticket: Order (what) · AC (done means) · Context (pointers) · size S/M/L. Repo paths use the consolidated plugin names (ab-skill-factory, ab-assessment, ab-company-research, ab-sales-collateral, ab-registrar; marketplace repo phdata-ai-wf-plugins; site repo phdata-caf-snowflake-frontend) — adjust to the phData repo names at load time.

Ticket 0 — precondition for everything below (S/M). Order: land both repos in phData source control (they currently ride local branches) and run the fresh marketplace install test for the four not-yet-reinstalled brigade plugins. AC: repos cloneable by the bench; all five plugins install clean from the marketplace. No L3 ticket is startable before this.

Epic 1 — Fabric v0 spec

Epic 2 — CAF→DCA contract

Epic 3 — Snowflake-native site

Epic 4 — Jira as the bench's intake


Delta log — changes since the 7/6 internal draft

  1. Epic 3 pulled forward and largely de-risked. v0 scheduled the Snowflake-native site as NEXT (Aug–Oct) via an SPCS build. Since then the marketplace deployed into Snowflake via App Runtime from environment-as-code, with the validated ingest path and DataPort adapter built and exercised on a sandbox. What remains is account provisioning, render confirmation, and hardening — not a build. The EOY funding artifact moved from "quarter away" to "weeks away, mostly operational work." (SPCS remains available as an adapter; App Runtime is the exercised path.)
  2. Epic 4 reshaped: Jira is intake, not the rail. Ratified 2026-07-07: file-sync-style and API-mapped backends were rejected for the execution rail on consistency grounds (lease atomicity, append-only work-logs, close-out signatures don't map cleanly). Jira feeds the registrar — the house role that owns intake and records — which enqueues canonical tickets and answers back on completion. Multi-operator execution scale goes to a Snowflake-table rail backend (compare-and-set lease) rather than Jira.
  3. Consolidation renames. All brigades now live in one plugin marketplace on the ab- scheme; the assessment brigade IS the CAF phases 1–4 implementation (the separate caf plugin was retired); company research absorbed the scraping engine as vendored stations. Ticket context pointers updated accordingly.
  4. Proof-point upgrades in L0. Second full engagement end-to-end within a week; the zero-code-change Snowflake deployment added as live evidence for the hexagonal-ports differentiator.