Skip to content

REDESIGN_IMPROVE is unreachable: build_intent is severed at four consecutive links, so every run executes the legacy COPY pipeline #120

Description

@cryptoxdog

Summary

REDESIGN_IMPROVE has never been executable. It is not "partially unwired" — the authority chain from spec to pipeline is broken at four consecutive links, so parseBuildIntent can only ever yield the COPY default and every run executes the single hardcoded legacy stage list.

Observed at 70f3f9a4cba7c28a21077a7b4539edd52edd88d7.

The four breaks

1. build_intent is dropped at spec validation.
validateDomainSpec (src/pipeline/validateDomainSpec.ts:232) never reads build_intent, and the DomainSpec interface (src/pipeline/BuildContext.ts:90-111) has no such field. A YAML declaration is silently discarded — the validator is a permissive field-checker with no unknown-key rejection, so it does not even warn.

2. No spec declares it.
grep build_intent across every .yaml/.yml in the repo → 0 hits. Same for sourceSite0 hits, which additionally makes SourceSiteIngestionStage a no-op for every committed spec (it early-returns unless assets.sourceSite.enabled === true).

3. BuildContext cannot carry it.
No buildIntent field exists on the context interface.

4. The plan builder never consults it.
buildFactoryExecutionPlan (src/pipeline/FactoryExecutionPlan.ts:91-106) constructs one hardcoded stage list for all four execution modes. ContentGenerationStage is pushed unconditionally at line 98 and is listed in MANDATORY for every mode (lines 45-48).

Evidence that the module is orphaned

src/pipeline/BuildIntent.ts has zero importers in src/ — the only consumer anywhere is its own unit test:

$ grep -rn "buildIntent\|BuildIntent\|isImproveIntent\|parseBuildIntent" src/ tests/ \
    | grep -v "^src/pipeline/BuildIntent.ts"
tests/unit/build-intent.test.ts:7,8,9,13,14,15,19,20,24,25,31,32

DEFAULT_LEGACY_BUILD_INTENT = 'COPY' is therefore the only effective value in production.

Impact

A prior end-to-end run was reported as exercising the redesign pipeline. It cannot have: with no spec declaring build_intent, that run was by contract a COPY run through ContentGenerationStage, the legacy LLM final-copy generator. A structural PASS on that path carries no evidence about redesign behavior.

Expected

  • build_intent parses through validateDomainSpecDomainSpecBuildContext.
  • buildFactoryExecutionPlan branches on intent.
  • REDESIGN_IMPROVE fails closed rather than falling through to ContentGenerationStage. There must be no silent generic fallback: a redesign run that cannot reach its required stages must error, not quietly produce a legacy build.

Notes

This is the root defect behind the related issues filed alongside it (SEO seam unwired, donor tier absent, source-asset corpus absent, visual QA gate). Fixing intent threading is a prerequisite for all of them, because none of those stages have anywhere to attach until the plan builder can distinguish intents.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions