Skip to content

Flue preview reliability: rollout-safe gateway and minimal config CLI - #509

Merged
ZIJ merged 4 commits into
flue-nativefrom
fix/flue-product-complete
Jul 12, 2026
Merged

Flue preview reliability: rollout-safe gateway and minimal config CLI#509
ZIJ merged 4 commits into
flue-nativefrom
fix/flue-product-complete

Conversation

@ZIJ

@ZIJ ZIJ commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Stack

Review this as a focused delta on the Flue evergreen, #489 (flue-native). It keeps one preview path and removes unused product surface.

Kept after review

  • Rollout-compatible deploy tokens with org/agt/ep; the gateway epoch fence remains.
  • Namespaced attribution keys, honest budget-overshoot documentation, and constant-time admin-secret comparison.
  • Once-per-isolate provider binding; a tokenless request cannot overwrite an established binding.
  • Manifest [vars] as the non-secret source of truth.
  • Minimal oc agent secret set/list/delete; values are accepted only via --from-stdin and apply on the next deploy.
  • Dashboard bigint body_bytes coercion so spilled events are retained.

Simplified after review

  • Removed required token scopes, avoiding a grace-less break for already-deployed tokens.
  • Removed the 500-line W8 dashboard editor and its duplicate web API/mock/schema surface.
  • Removed the public TypeScript SDK config resource.
  • Removed positional secret values and multiple config mutation paths.
  • Removed best-effort X-OC-Session mutation; exact attribution waits for a race-free per-request Flue seam.

Validation

  • gateway: 31/31 + typecheck
  • Go command tests: go test ./cmd/oc/internal/commands
  • Flue shim: 1/1 + build + typecheck
  • TypeScript SDK: 20/20 + build
  • changed dashboard schema lint + web typecheck + production build on Node 22.19

Full web lint still reports two pre-existing errors outside this diff in Browsers.tsx and SessionDetail.tsx.

Deferred

SDK/web config editors, live secret state, purpose-specific credentials, exact per-session spend, and other external-tenant GA controls are intentionally outside this preview-reliability slice.

ZIJ added 4 commits July 12, 2026 01:26
Require gateway:invoke, validate scoped deploy claims, reject stale or epoch-less leases after provisioning, namespace session counters by tenant, and use constant-time admin auth. Keep X-OC-Session attribution best-effort and non-authoritative.
Sync non-secret agent.toml [vars] before deploy without erasing egress policy. Add oc agent config and oc agent secret commands plus the typed oc.agents.config SDK resource, preserving environment binding names through request normalization.
Add Flue-only AgentDetail settings for vars, fail-closed outbound hosts, and live secret rotation. Validate responses at the API boundary, show sync state, preserve secret write-only semantics, and keep the settings layout usable at narrow widths. Also coerce bigint event body sizes so spilled events remain visible.
@ZIJ ZIJ changed the title Flue GA hardening: gateway fencing and W8 product surfaces Flue preview reliability: rollout-safe gateway and minimal config CLI Jul 12, 2026
@ZIJ
ZIJ merged commit bf76b3d into flue-native Jul 12, 2026
4 checks passed
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