Skip to content

feat(factory): author provider-backed pipeline nodes (PBF-GOV Wave 1) - #9

Merged
Gio2050 merged 1 commit into
mainfrom
feat/provider-byok-foundations-v0-1
Jul 18, 2026
Merged

feat(factory): author provider-backed pipeline nodes (PBF-GOV Wave 1)#9
Gio2050 merged 1 commit into
mainfrom
feat/provider-byok-foundations-v0-1

Conversation

@Gio2050

@Gio2050 Gio2050 commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Extends afi-factory so a category node can carry an optional, non-secret providerInstanceRef (identity + version). Factory authors / validates / hashes / packages / inspects it across all five surfaces and never resolves a credential.

Re-vendors the governed pipeline schema from afi-config@faa6a8a (the merged PBF-GOV config commit), which introduced the field.

Changes

  • Re-vendor src/governed-schema/pipeline.schema.json (byte-identical); bump MANIFEST.afiConfigCommit + sha256, drift-test PINNED_COMMIT, and CI ref to faa6a8a.
  • Codegen src/generated/pipeline.ts (Node.providerInstanceRef?) — regenerated, not hand-edited (freshness test enforces).
  • Semantic rule (graph.ts): providerInstanceRef is admissible only on the five analysis-category nodes — never on merge/scorer (category compatibility). Centralized → inherited by all five surfaces.
  • Inspection (inspect.ts): surfaces the non-secret provider identity in the node table.

Proofs (new tests)

  • Author technical + news provider-backed nodes → valid (with plugin binding).
  • Reject a ref on scorer/merge; reject a ref missing its version pin; reject a ref carrying a credential/secret field (apiKey, credentialRef, token).
  • Hash materiality + determinism: the ref is in canonical hash material; the froggy baseline hash is byte-stable (optional field, unchanged when absent).
  • Packaging + inspection carry the ref and contain no secret-named field (denylist scan of the whole bundle + inspection).
  • Five-surface parity: still exactly 14 ops; opaque artifact envelopes → no per-field wiring; no secret in catalog / tool-defs / MCP output.

Verification

  • 201 tests pass — incl. the governed-schema byte-compare vs afi-config@faa6a8a (run locally with AFI_CONFIG_DIR) and codegen freshness.
  • Typecheck clean. Factory reads no provider env.

Depends on: afi-config PBF-GOV (merged, PR #28).

🤖 Generated with Claude Code

Re-vendors the governed pipeline schema from afi-config@faa6a8a (the merged
PBF-GOV config), which adds the OPTIONAL, non-secret node providerInstanceRef.
Factory authors/validates/hashes/packages/inspects it across all five surfaces
and NEVER resolves a credential.

- re-vendor src/governed-schema/pipeline.schema.json (byte-identical); bump
  MANIFEST.afiConfigCommit + sha256, drift-test PINNED_COMMIT, and CI ref
- regenerate src/generated/pipeline.ts (codegen; Node.providerInstanceRef?)
- graph.ts: semantic rule — providerInstanceRef is admissible only on the five
  analysis-category nodes, never on merge/scorer (category compatibility)
- inspect.ts: surface the non-secret provider identity in the node table
- tests: authoring technical + news provider-backed nodes; reject ref on
  scorer/merge; reject a ref missing its version pin or carrying a
  credential/secret field; hash materiality + determinism; froggy baseline hash
  byte-stable; packaging + inspection carry the ref and NO secret-named field
  (denylist scan); five-surface parity (still 14 ops, opaque envelopes, no
  per-field wiring, no secret in catalog/tools/MCP output)

201 tests pass (incl. governed-schema byte-compare vs config@faa6a8a and
codegen freshness); typecheck clean. Factory reads no provider env; the ref is
identity+version only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cursor

cursor Bot commented Jul 18, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@Gio2050
Gio2050 merged commit c53e493 into main Jul 18, 2026
1 of 2 checks passed
@Gio2050
Gio2050 deleted the feat/provider-byok-foundations-v0-1 branch July 18, 2026 01:41
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