Skip to content

fix(workbook): order mapped outputs after their source columns - #73

Open
rudycelekli wants to merge 1 commit into
debpalash:mainfrom
rudycelekli:fix/opengtm-next-20261010
Open

rudycelekli wants to merge 1 commit into
debpalash:mainfrom
rudycelekli:fix/opengtm-next-20261010

Conversation

@rudycelekli

Copy link
Copy Markdown
Contributor

Problem

A configured output column can appear before the formula/enrichment column it reads. Dependency discovery currently sees only {placeholder} strings in destination config values, so bare source keys in field_map and a Sheets columns list are absent from the graph. The production runner consequently sends blank or stale values. A partial run with a missing producer, or a failed producer with an old result, can also dispatch.

Change

Include explicitly configured source keys for Airtable, CRM, Instantly and Smartlead mappings, plus configured Sheets column lists, in existing dependency discovery. Instantly/Smartlead template keys use their actual placeholder semantics. Existing ordering, failed/missing upstream, cycle, batching and reactive guards now see these reads. Vendor field labels are not raw column references. Implicit adapter defaults remain unchanged.

Review attention: this affects outbound dispatch sequencing. Credentials, tenant scoping, network transports and URL guards are unchanged.

Verification

  • Exact final regression file on original main: 10 fail / 3 pass. Actual workbook runner, ORM and formula execution show Airtable/Sheets receiving empty or stale payloads.

  • After patch: 90 focused and adjacent tests pass. Controls cover existing-value partial runs, missing/failed producers, cycles, reactive dependencies, unchanged webhook templates and unrelated destination labels.

  • External Airtable/Sheets adapter calls are recorded offline; these fixtures do not prove delivery to a real remote service.

  • Local full backend attempt stops during collection because the retained runtime lacks opentelemetry-instrumentation-fastapi. The unchanged canonical workflow then passed all four jobs on exact signed candidate 0ff909f: frozen SQLite backend, PostgreSQL integrity/tenancy, frontend lint/tests/build and mounted React Chromium regressions. Owned validation run. This does not imply upstream checks have completed.

  • Independently reviewed and reproduced with AI assistance; root reran all 90 focused tests.

Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant