Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion autoscale-manager/skills/autoscale-edit/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ All **edit Units but do not publish them** — rolling out is a separate `cub re

## Stop conditions

- An ValidationError attaches (a validating Trigger failed). **Do not bypass** — fix the data (or the rule), via **triggers-and-applygates**.
- A ValidationError attaches (a validating Trigger failed). **Do not bypass** — fix the data (or the rule), via **triggers-and-applygates**.
- The user wants the change deployed — hand off to `release-publish`.

## Tool boundary
Expand Down
2 changes: 1 addition & 1 deletion configboard/demo/TRANSCRIPT.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ were edited after the fact.

**0:00 · Fleet Overview**
> configboard — BI-style dashboards over ConfigHub configuration data. Fleet Overview:
> 85 Units under management, 25% applied and current, nothing blocked by an validation error.
> 85 Units under management, 25% applied and current, nothing blocked by a validation error.

configboard is a small React app that treats ConfigHub as a BI backend. Selection,
projection, and joins happen on the server through the same `where` clauses the CLI
Expand Down
2 changes: 1 addition & 1 deletion configboard/demo/manifest.tsv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
frame-01-fleet-overview.png 6.0 configboard — BI-style dashboards over ConfigHub configuration data.\nFleet Overview: 85 Units under management, 25% applied and current, nothing blocked by an validation error.
frame-01-fleet-overview.png 6.0 configboard — BI-style dashboards over ConfigHub configuration data.\nFleet Overview: 85 Units under management, 25% applied and current, nothing blocked by a validation error.
frame-02-show-the-query.png 6.0 Every panel can show its query. The code icon reveals the equivalent cub command —\nhere `cub space list`, which uses the one server-side rollup ConfigHub offers.
frame-03-cross-filter.png 5.5 Clicking a bar cross-filters the whole dashboard. A chip records the scope, and Clear all removes it.
frame-04-compliance-findings.png 6.5 Compliance: 36 open findings across 17 Units. These come from the guardrail Triggers the fleet\nmanagers already install — configboard reads recorded findings rather than running its own scan.
Expand Down
2 changes: 1 addition & 1 deletion cost-management-app/AI_START_HERE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ zero-dependency CLI sibling and no `setup.sh` — the early stages run on a
cold clone with no install and no ConfigHub account.

The neighbouring [`../cost-estimator`](../cost-estimator) is the enforcement
plane of the same problem: a price book and an validation error that block
plane of the same problem: a price book and a validation error that block
over-budget changes before they ship. This example is the reduction plane: it
finds money already leaking and claws it back through governed mutations. The
two are complementary, not competing.
Expand Down
4 changes: 2 additions & 2 deletions eks-manager/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ its Units *describe* a cluster rather than deploy to one.

A cluster is a **Space** (`eks-<name>-<region>`), labelled `Cluster`, `Region`,
`Environment`, `Provider=aws`. Inside it, **one managed resource per Unit** — so
a nodegroup scale never shares a revision, a diff, or an ValidationError with the
a nodegroup scale never shares a revision, a diff, or a ValidationError with the
control plane.

The Space's Target is the **Crossplane management cluster**: ConfigHub publishes
Expand Down Expand Up @@ -209,7 +209,7 @@ Spaces cloned from it is variant promotion, which lives in `cub` and the
`guardrails install` creates validating Triggers in a policy Space and wires them
to every cluster Space, skipping any Space that already has its own Trigger
configuration rather than clobbering it. Rules ship **advisory** (`Warn=true`,
so failures attach an ValidationWarning); promote one to blocking with `cub trigger
so failures attach a ValidationWarning); promote one to blocking with `cub trigger
update <slug> --space common --unwarn`. Gate-versus-warning lives on the
Trigger, not the rule, so the same pack can advise in dev and block in prod.

Expand Down
2 changes: 1 addition & 1 deletion eks-manager/internal/cli/guardrails.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ selecting them, and wires that Filter to every Space holding an EKS cluster in
scope.

The Triggers are created with Warn=true, so a failing rule attaches a
non-blocking ValidationWarning rather than an ValidationError. Promote a rule to blocking
non-blocking ValidationWarning rather than a ValidationError. Promote a rule to blocking
with:

cub trigger update <slug> --space <policy-space> --unwarn
Expand Down
2 changes: 1 addition & 1 deletion managerkit/guardrails/annotate.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
package guardrails

// The annotate command: the producing half of annotate-then-validate. A manager
// cannot attach an ValidationWarning itself -- only a failed Trigger can -- so a
// cannot attach a ValidationWarning itself -- only a failed Trigger can -- so a
// finding that no single resource expresses is written onto the Unit as an
// annotation, and a rule in the pack warns for as long as it is there.
//
Expand Down
2 changes: 1 addition & 1 deletion managerkit/guardrails/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
api "github.com/confighub/sdk/core/function/api"
)

// StatusRow is one Unit carrying an ValidationWarning or an ValidationError.
// StatusRow is one Unit carrying a ValidationWarning or a ValidationError.
type StatusRow struct {
Space string `json:"space"`
Unit string `json:"unit"`
Expand Down
2 changes: 1 addition & 1 deletion namespace-manager/skills/namespace-backfill/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ A runtime tenancy controller injects policy objects into live namespaces; correc

## Stop conditions

- An ValidationError attaches (a validating Trigger failed). **Do not bypass** — diagnose and fix the data (or the Trigger), via **triggers-and-applygates**.
- A ValidationError attaches (a validating Trigger failed). **Do not bypass** — diagnose and fix the data (or the Trigger), via **triggers-and-applygates**.
- `backfill` reports "nothing missing" — the envelope is already complete; nothing to do.
- The user wants the change deployed — hand off to `release-publish`.

Expand Down
2 changes: 1 addition & 1 deletion namespace-manager/skills/namespace-enforce/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ allowed-tools: Bash(cub-namespace --help) Bash(cub-namespace * --help) Bash(cub

# namespace-enforce

Make namespace-envelope findings **enforced**, not advisory. Installs a pack of validation policies (defined once in a policy Space, enforced fleet-wide via a shared Filter) and the annotate-then-validate loop that turns a set-aware envelope finding into an ValidationWarning.
Make namespace-envelope findings **enforced**, not advisory. Installs a pack of validation policies (defined once in a policy Space, enforced fleet-wide via a shared Filter) and the annotate-then-validate loop that turns a set-aware envelope finding into a ValidationWarning.

## Why this matters

Expand Down
2 changes: 1 addition & 1 deletion network-policy-manager/skills/netpol-fix/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ A per-resource validator can only *report* a gap; fixing it means editing the cl
## Stop conditions

- The user asks to publish/roll out — hand off to **release-publish**, don't publish here.
- A commit hits an ValidationError or permission error — report it; fix the data or route to **triggers-and-applygates**; never bypass a gate.
- A commit hits a ValidationError or permission error — report it; fix the data or route to **triggers-and-applygates**; never bypass a gate.
- Whole-fleet remediation requested — hand off to **netpol-fleet**.

## Tool boundary
Expand Down
2 changes: 1 addition & 1 deletion network-policy-manager/skills/netpol-guardrails/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ allowed-tools: Bash(cub-netpol --help) Bash(cub-netpol * --help) Bash(cub auth s

# netpol-guardrails

Make NetworkPolicy findings **enforced**, not advisory. Installs a pack of validation policies (defined once in a policy Space, enforced fleet-wide via a shared Filter) and the annotate-then-validate loop that turns a coverage finding into an ValidationWarning.
Make NetworkPolicy findings **enforced**, not advisory. Installs a pack of validation policies (defined once in a policy Space, enforced fleet-wide via a shared Filter) and the annotate-then-validate loop that turns a coverage finding into a ValidationWarning.

## Why this matters

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ ServiceMonitor coverage is a cross-Unit property, and a sidecar must be find-or-
## Stop conditions

- `ensure-servicemonitor` refuses (Service has no labels, or no metrics port and no `--port`) — supply `--port`, or fix the Service.
- An ValidationError attaches. **Do not bypass** — fix via **triggers-and-applygates**.
- A ValidationError attaches. **Do not bypass** — fix via **triggers-and-applygates**.
- The user wants the change deployed — hand off to `release-publish`.

## Tool boundary
Expand Down
2 changes: 1 addition & 1 deletion promoter/AI_START_HERE.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ proxy). `VITE_CONFIGHUB_BASE_URL` defaults to `https://hub.confighub.com`.
```
6. **See publishing refuse.** Publishing is disabled with a reason when the
Space has no `ReleaseTargetID`, when that Target is not an `OCI` provider,
when no Unit is assigned to it, or when a bundled Unit has an Validation Error —
when no Unit is assigned to it, or when a bundled Unit has a Validation Error —
the app never clears a gate as a side effect.
7. **See the promote gate refuse.** Pick a variant that is *not* a downstream
clone of the previous stage's variant — Promote reports exactly why it can't
Expand Down
2 changes: 1 addition & 1 deletion promoter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ quietly widening the first approval into the second:
Anything in the second set that was not in the first is listed by name before
the Publish button is offered. Publishing is disabled with a reason when the
Space has no Release Target, when that Target is not an OCI provider, when no
Unit is assigned to it, or when any bundled Unit has an Validation Error set — the
Unit is assigned to it, or when any bundled Unit has a Validation Error set — the
server refuses a gated Release, and the app does not clear gates as a side
effect.

Expand Down
2 changes: 1 addition & 1 deletion promoter/app/src/data/promote.ts
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ export function usePromotion(): Promotion {
if (gated.length > 0) {
return {
publishable: false,
reason: `${gated.length} of ${members.length} Unit(s) have an Validation Error set; publishing is refused until they are cleared.`,
reason: `${gated.length} of ${members.length} Unit(s) have a Validation Error set; publishing is refused until they are cleared.`,
targetId,
targetSlug,
providerType,
Expand Down
2 changes: 1 addition & 1 deletion scheduling-manager/skills/scheduling-place/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ A toleration only *permits* scheduling onto a tainted node — pair it with a no

## Stop conditions

- An ValidationError attaches (a validating Trigger failed). **Do not bypass** — fix the data (or the rule), via **triggers-and-applygates**.
- A ValidationError attaches (a validating Trigger failed). **Do not bypass** — fix the data (or the rule), via **triggers-and-applygates**.
- The user wants the change deployed — hand off to `release-publish`.

## Tool boundary
Expand Down
2 changes: 1 addition & 1 deletion workload-manager/skills/workload-fleet/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ All **edit/create Units but do not publish them**.
## Stop conditions

- The selector is broader than intended (dry-run count surprises you) — narrow `--where` / shorthands before committing.
- An ValidationError attaches on a Unit. **Do not bypass** — fix via **triggers-and-applygates**.
- A ValidationError attaches on a Unit. **Do not bypass** — fix via **triggers-and-applygates**.
- A single workload is the real target — hand off to **workload-harden**.
- Variant propagation requested — hand off to **promote-release**.
- The user wants the change deployed — hand off to `release-publish`.
Expand Down
2 changes: 1 addition & 1 deletion workload-manager/skills/workload-harden/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Per-object validators return pass/fail and a human then `kubectl edit`s the clus

## Stop conditions

- An ValidationError attaches (a validating Trigger failed). **Do not bypass** — diagnose and fix the data (or the Trigger), via **triggers-and-applygates**.
- A ValidationError attaches (a validating Trigger failed). **Do not bypass** — diagnose and fix the data (or the Trigger), via **triggers-and-applygates**.
- The fix would apply to many workloads — hand off to **workload-fleet**.
- The user wants the change deployed — hand off to `release-publish`.

Expand Down
Loading