Ground New Work In Existing Platform

Ground New Work In Existing Platform

Unless the user explicitly asks for a clean break, every new DPF design and implementation starts by grounding itself in existing and previous platform work. DPF’s job is to compound its substrate: extend prior designs, reuse existing primitives, refactor shared seams, and supersede old work only when the lineage and reason are explicit.

Why this exists

The substrate is denser than first reads suggest:

Skipping this step has produced multiple cases of:

The deeper cost is strategic drift. A platform that keeps inventing a fresh shape for each request stops becoming a factory and becomes a pile of isolated artifacts. DPF should instead improve by accretion: each new vertical, job, workflow, model, route, provider policy, and UI surface should make the existing platform more capable. Net-new substrate is allowed, but it carries a burden of proof.

Applies To

In-platform coworkers, external coding agents, and humans shaping DPF. Symmetric. Applies to strategy, specs, backlog items, schemas, routes, onboarding flows, UI surfaces, skills, integrations, and vertical archetype work. Does NOT apply when the user explicitly asks for an isolated experiment, throwaway prototype, or clean replacement; even then, the exception is named so later readers understand the boundary.

What to do

  1. Name the existing substrate first. In the plan, spec, or PR, state which prior platform work the change extends, composes with, refactors, or supersedes.
  2. Search the kernel wiki for keywords related to the feature. Read any principle that comes up — even if the title doesn’t seem directly related.
  3. Search docs/superpowers/specs/ by topic. Spec frontmatter has a status field — APPROVED is canonical; older drafts may have already resolved the decision.
  4. Search the schema for nouns. grep -n "model BackupRun" packages/db/prisma/schema.prisma is faster than the worst-case discovery of “wait, this table already exists.”
  5. Check the IT4IT mapping for the value stream the feature belongs to. Spec frontmatter has valueStream and stage fields; new features should declare both.
  6. When a spec resolves the decision, cite the spec by path in the plan/PR description. When deviating, justify the deviation in the spec, not in commit messages.
  7. When new substrate is still warranted, say why extension would damage the existing model, then link the migration path from old to new. Supersession is explicit; silent replacement is not.

Anti-pattern

Decision Dimensions