Skip to content

Route hourly LLM-calling workflow through contextual-orchestrator (orchestrator/free) in .github/workflows/hourly-product-development.yml #276

Description

@seonghobae

Gap

Protected main@87c4daa1830bac5a5228b6036752ad5633232085 still runs .github/workflows/hourly-product-development.yml through a repository-local NVIDIA NIM broker. Fresh repository search shows the model-backed path still materializes NIM_UPSTREAM_API_KEY: ${{ secrets.NVIDIA_NIM_API_KEY }}, while AGENTS/README/TRD/TEST_STRATEGY/ADR/UML and repository-contract tests still describe or positively require that provider-specific boundary. OriginWeave contains no current orchestrator/free contract.

This duplicates model-provider/key discovery and routing authority in the browser runtime. OriginWeave owns its deterministic hourly/browser gates, isolated workspace, and caller-side evidence/admission contract; ContextualWisdomLab/contextual-orchestrator owns provider discovery, capability routing/failover, and orchestrator/free. Deterministic browser/policy/security authority must remain outside the LLM path.

This is not authorization to copy contextual-orchestrator source, consume a mutable sibling head, rename one secret, or substitute a model string while retaining the provider-specific broker.

Current owner dependency

The repository-local broker exposes generation-bound causal evidence used by the retry loop, including request counters and typed distinctions for authentication rejection (401/403), rate limiting (429), provider/transport failure, and model/tool failure. Removing it without an equivalent public owner contract would weaken fail-closed operability.

The canonical prerequisite remains ContextualWisdomLab/contextual-orchestrator#1016, which is open and explicitly owns the bounded request-correlated provider/routing outcome surface for long orchestrator/free tool sessions.

Fresh owner-path verification on 2026-09-08:

  • contextual-orchestrator protected main@414f22973658c4ddc3d4320fcf7acd9b4e8ba991 implements/documents orchestrator/free, but the repository currently has no GitHub Release; ADR 0007 for the hourly orchestrator/free pin is still Proposed. OriginWeave therefore must not treat mutable CO main as a released dependency.
  • central ContextualWisdomLab/.github@7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db already demonstrates the intended authority split for review agents: OpenCode/Noema/Strix use the contextual-orchestrator sidecar and contextual-orchestrator/orchestrator/free, with no direct NVIDIA model candidate in the active dispatch contract.
  • the central CI-duplication audit classifies repository hourly-product-development.yml workflows as NOT_SAFE to consolidate wholesale. The repair must therefore preserve OriginWeave-specific deterministic gates locally and centralize only the provider/gateway segment behind an approved immutable owner boundary.

If no released or immutable exact-SHA central gateway/reusable boundary exists for that segment when #1016 lands, the missing reusable boundary is a .github/contextual-orchestrator prerequisite. OriginWeave remains fail closed until it is published; do not vendor mutable owner source.

Required RED → repair sequence

  1. Re-read protected OriginWeave and the exact owner contracts. Do not edit the leaf workflow from a writer that lacks .github/** authority.
  2. Add a repository-contract RED proving every model-backed GitHub Actions path uses only the approved central gateway token and orchestrator/free; the OriginWeave caller must contain no NVIDIA_NIM_API_KEY, NIM_UPSTREAM_API_KEY, provider/model/group selection, or paid fallback authority.
  3. Preserve the broker’s useful causal semantics by consuming the released/versioned #1016 outcome contract through a narrow ACL/adapter: distinguish at least auth rejection (401/403), rate limiting (429), transport/provider unavailability, selected/attempted/served candidate identity, caller cancellation/deadline, and structured model/tool failure where the owner contract supplies them.
  4. Replace only the provider/bootstrap/routing segment with an approved immutable central gateway adapter or exact-SHA reusable boundary. Keep deterministic pre-model admission, browser security, workspace isolation, and non-model product gates local.
  5. Capability absence or policy incompatibility fails closed and is repaired in the canonical owner; OriginWeave must not add direct provider fallback.
  6. Update AGENTS, README, TRD, TEST_STRATEGY, DATA_GOVERNANCE, ADR 0009/0109 or their superseding ADRs, UML, CHANGELOG, and repository tests so documentation and executable contracts agree.
  7. Verify the exact consumer head with repository-native contracts/security and applicable central required workflows. A queued, skipped, predecessor, status-only, synthetic, or model-only result is not acceptance.

Model/session semantics that must survive migration

  • GitHub Actions model route is fixed to orchestrator/free; no provider, provider group, paid fallback, or repository-authored model candidate list.
  • Model timeout defaults to null. User cancellation, provider end, and an explicitly authorized administrative timeout remain distinct terminal causes; elapsed time alone must not terminate reasoning/stream/tool-call work.
  • Long OpenCode/Noema/Strix-style tool sessions remain permitted when policy allows them.
  • The agent workspace receives no raw provider credential or provider response body. Provider bootstrap secrets, if required by deployment, remain inside the trusted contextual-orchestrator gateway boundary.
  • Browser capability, deterministic policy, approvals, origin/destination authority, secrets, and Git/GitHub write authority are never granted by model output or by the gateway migration.

Acceptance

  1. contextual-orchestrator#1016 is protected and published through an immutable versioned contract suitable for a long tool-bearing orchestrator/free caller.
  2. OriginWeave consumes that released contract through a versioned ACL/adapter or an approved central exact-SHA reusable gateway boundary; it does not consume mutable sibling source.
  3. .github/workflows/hourly-product-development.yml has no direct NVIDIA/provider credential materialization or direct provider/model/group/paid-fallback selection in the OriginWeave-owned caller.
  4. orchestrator/free plus the approved gateway credential boundary is the only model-backed Actions route.
  5. Existing deterministic non-model gates still execute without model credentials; model/gateway unavailability fails only the model-backed lane and does not weaken browser/security policy.
  6. Contract tests cover gateway pin/version, route id, secret boundary, direct-provider absence, bounded owner outcome evidence, cancellation/end/timeout semantics, and fail-closed capability absence.
  7. README/AGENTS/TRD/TEST_STRATEGY/DATA_GOVERNANCE/ADR/UML/CHANGELOG are code-current and no longer claim the repository-local provider broker as canonical authority.
  8. Exact-head repository CI, 100% owned-production coverage where applicable, security and current central merge gates pass without gate weakening.
  9. This migration does not claim [Product Gap] Complete the first real Chromium agent vertical slice #28, [Product Gap] Publish a stable BAP/MCP runtime API with resumable task lifecycle #200, or a product release complete.

Protected-main AGENTS currently forbids this scheduled product writer from mutating .github/**; workflow source changes require the authorized workflow-owner path. Keep this issue open until both the immutable owner prerequisite and the exact-head OriginWeave migration are complete.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions