Skip to content

feat(wire): S6/#111 — contract-mode Hop-A inbound (await-all-targets, declared identity)#120

Merged
Polichinel merged 2 commits into
developmentfrom
feat/hop-b-s6-source-selection
Jul 20, 2026
Merged

feat(wire): S6/#111 — contract-mode Hop-A inbound (await-all-targets, declared identity)#120
Polichinel merged 2 commits into
developmentfrom
feat/hop-b-s6-source-selection

Conversation

@Polichinel

Copy link
Copy Markdown
Collaborator

Story S6 of epic #105.

What

  • unfao/wire/source_selection.pyfetch_run(store, *, expected_targets, expected_ensemble): store is a three-method port (fake-able, DIP); filters/template pinned to pipeline-core's shipped constants (SHARD_TYPE/MANIFEST_TYPE/FORECAST_CATEGORY/MANIFEST_NAME_TEMPLATE, re-verified in their code 2026-07-20) and golden-string tested; newest manifested run; await-all-targets (§4.2a); declared-ensemble identity per header (fails loud, never falls back); name-fetched manifests verified by content (§3.3).
  • unfao/track_a_source.pyframes_for_target returns (frame, headers): provenance pass-through for §10.2 (nothing minted downstream).

AC (all met)

  • Dict-backed fake store serving the fixture: assembled frame equals the existing test_track_a_source result, headers ride along.
  • Missing declared target / empty store / torn shard / wrong ensemble / imposter-named manifest — all refuse loud with named causes (7 tests).
  • Suite green: 228 passed. No store/network anywhere in tests.

Closes #111. Epic #105 · Tracking #114.

🤖 Generated with Claude Code

Polichinel and others added 2 commits July 20, 2026 02:22
…await-all-targets, declared identity)

source_selection.fetch_run: store as an injected three-method port (DIP,
fake-able); selection filters + manifest name template pinned to
pipeline-core's shipped publisher constants (re-verified 2026-07-20,
golden-string tested); newest manifested run wins; a missing declared target
refuses loud (§4.2a await-all-targets); every header's provenance.ensemble
must equal the launch declaration (identity fails loud, never falls back);
fetched-by-name manifests verified by CONTENT (names are locators, §3.3).
track_a_source.frames_for_target now returns (frame, headers) — the
producer-minted provenance rides through for the sink's §10.2 pass-through.

Part of epic #105. Closes #111.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Polichinel
Polichinel merged commit 843e630 into development Jul 20, 2026
4 checks passed
@Polichinel
Polichinel deleted the feat/hop-b-s6-source-selection branch July 20, 2026 00:30
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