Skip to content

feat(credentials): add governed grants and purpose-limited observations - #554

Merged
Pal Lakatos-Toth (pallakatos) merged 105 commits into
kars-bridgefrom
public/pr10-credential-grants
Sep 14, 2026
Merged

Pal Lakatos-Toth (pallakatos) merged 105 commits into
kars-bridgefrom
public/pr10-credential-grants

Conversation

@pallakatos

@pallakatos Pal Lakatos-Toth (pallakatos) commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Governed credential prerequisites for optional Bridge

Merged into kars-bridge; not release or deployment approval.
Qualified head: 8798a57bf9c35964754cab97fb294a5494c0078f.
Merge: e3d61351100e1091b0fc8b5220ac36e75a81848d at 2026-09-14 21:55:18 UTC.
Integration ancestor: b5ad6791f9085e908cbf3d16b5de9021eb4b43a7.
Paired application: #563.

This prerequisite supplies metadata-only credential grants, UID-bound sources
and operator stores, governed GitHub integration, and purpose-limited private
observations. Kars remains independently usable without Bridge. No private
history, credentials, SDK/probe ancestry or cluster-specific overlays are imported.

Current qualification

All qualification runs in Azure/kars, on the exact public candidate.

Qualification Current run Status
Core Rust/CLI, Kind, benchmarks and fault injection 34894935679 All 21 jobs passed; Kind 184/184 with real historical migration
Source gates 34894935658 All seven passed, including current-scope audit and new gate regressions
CodeQL 34894935686 Analysis and alert check passed

The exact-head guarded merge retained all 29 GitHub Actions-bound required
checks. The temporary account-specific review allowance was restored immediately;
strict-base, review/last-push/stale-review, administrator and conversation
protections remain unchanged. No audit or technical-check waiver was used.
Public main remains 7eb039e9ab8a26062808eab0dff9251ec2b76352.

The immediately preceding 9ee285be passed
all 21 core jobs
and CodeQL. This head adds scoped source attestations, the already application-
qualified audit-record boundary logic and public CRD-wait diagnostics/tests.
Controller/router/CLI production source, bundled schemas and dependency locks
are unchanged from that qualified revision.

Independent integrated review found no high-confidence blocker in the recorded
generic credential/private-observation seams and governed GitHub issuance/reuse.
The audit records disclose the existing
maintainer-delegated AI authority,
exact source/base and limits; they do not invent a second human or approve the
whole Bridge application, live GitHub or H100 acceptance.

The gate now requires genuinely new signed records rather than reusing modified
or renamed older approvals, and rejects an unavailable review base. Copyright-only
changes do not demand retrospective signatures on historically completed scopes.
Four old-gate failures were reproduced; all seven real-Git regressions now pass.
No check or signature requirement was waived.

The paired app's 5e9a1fe5 API fixture failed while waiting for a public CRD to
become Established, before admission/workload cases. Its wrapper hid the reason;
the identical core fixture passed. This head enables the existing bounded
public-schema diagnostic for that wait. The extracted command body, fixed
context and all request/child/wait deadlines are preserved; no retry is added.
Four real-child diagnostic/redaction cases pass. The original cause remains
unclassified, and current-head native qualification is still required.

The earlier 03174dca passed
all 21 core jobs,
including Kind 184 passed, zero failed, benchmarks, real historical schema
migration and metrics-dependent SRE acceptance. Its copyright gate also passed.
The subsequent 9ee285be changed only two exact-array-equality expressions
in the rendered-RBAC test before its own successful full qualification.

The preceding production implementation, 344a371f, passed
all 21 core jobs.
Its Rust job executed all 3,066 tests with none skipped, including all twenty
new observer API-egress regressions. The paired application 24c85cd1 passed
all 18 native runtime cases, three cold API installs and the aggregate.
That is actual Kubernetes/Cilium qualification in the controlled no-LLM,
no-active-SRE lane—not real standing-Team or active-SRE-combined approval.
Historical results do not replace the new head's checks.

The preceding CodeQL failure was separate from its successful analysis jobs.
Alerts 828/829 classify Array.includes("cilium.io") in a rendered-RBAC test
as URL substring validation. These are Kubernetes API-group arrays, not URLs.
The published test-only clarification uses exact element equality and passes all
17 contract cases, typecheck and lint locally. It was pushed only after both
preceding full core workflows completed successfully. Its CodeQL check passed.
No alert has been dismissed or suppressed; the newer head still needs its own
hosted clearance.

Corrections on this head: the preceding repository-wide copyright gate
passed in public CI, but full CLI/Rust consumers found that Go-template license
comments were inserted into some chart files also consumed as raw YAML. Five
CLI cases plus suite loading and four Rust schema checks failed. The format-only
correction now uses hash comments for dual-use YAML and preserves original
document boundaries. All twenty CRD consumer inputs retain exactly 21 schema
documents with no additional empty documents. Original bodies, modes and schema
JSON are preserved; no consumer parser or assertion changed.
Separately, the newly issued RUSTSEC-2026-0285 affects locked Rustls 0.23.43.
A minimal patch to Rustls 0.23.45 and its required crypto dependencies is now
published, with provider/features and unrelated locked package choices preserved.
Local full CLI validation passes 1,991 tests with two existing local skips;
33 copyright tests and all 61 targeted staging cases pass. Preceding public Rust,
CLI, RustSec and cargo-deny jobs have now passed without suppressions.
The paired application 1d0fc5c9 passed all 18 native cases, including rotation,
all three cold API installs and the required aggregate on the patched TLS stack.
This remains the controlled no-LLM, no-active-SRE lane. Current-head qualification and
genuine audit/PR approvals remain required.
The preceding app native run passed 17 cases but timed out during grant
rotation: generation 4 remained at observed generation 3. Its initial observer
path passed. This separate liveness symptom has bounded failure-time diagnostics;
no cause-specific runtime fix is inferred from that timeout. The new run's
rotation case passed in 83.61 seconds without extending its deadline.

Latest changes: CI reliability and repository attribution

  • Kind remains v0.24.0, kubectl v1.30.5, and metrics-server v0.7.2.
    The CI installer validates the official exact-filename checksum and binary
    SHA-256 before chmod or PATH publication. HTTPS redirects, connection/transfer
    budgets and transient retries are bounded; malformed checksums and digest
    mismatches never trigger an unverified fallback.
  • Metrics-server download and local-manifest apply are separate operations
    sharing the original 90-second/phase budget. Kubernetes mutations are not
    retried. Metrics retains its existing HTTPS provenance; no new checksum
    guarantee is claimed for that manifest.
  • Format-aware copyright enforcement covers all tracked files. This core tree
    has 1,520 inline Microsoft/MIT headers and 238 explicitly accounted-for legal,
    generated, strict-data and third-party files. Binary/strict-data files are not
    falsely described as containing comments. Existing notices and MIT licensing
    are preserved.
  • Generated coverage is restricted to reviewed exact artifact paths; directory
    names such as build or dist and the .d.ts suffix do not exempt authored
    source. Unknown first-party formats fail the check.

Local validation passed 33 copyright, 27 acquisition and 28 harness tests in
both worktrees, plus existing size/copyright gates. Insertion-only byte/mode
proofs, parser/frontmatter checks and Helm render comparisons preserve behavior.
The verbatim embedded AGT profile, crypto fixtures, lock data and upstream assets
remain byte-identical under explicit license coverage. No product logic,
permissions, tool versions or runtime deadlines changed in this latest batch.

The CI corrections respond to two distinct prior failures: an unclassified
metrics-server fetch/apply failure, and a later malformed Kind checksum download
before cluster creation. The first failure's precise cause remains unknown.
Neither was accepted as a passing test or bypassed.

Runtime corrections already verified

Observer policies provide canonical API Service/ready-Endpoint host routes.
Already-installed Cilium receives a namespaced API-entity policy on validated
TCP ports. Original namespace UID/claim, grant ownership and policy UID/RV
fences remain; durable cleanup hints cover interrupted retirement and removed
targets. Only the controller receives CNP management rights—not CCNP access or
agent/BFF privileges. CNI installation/configuration, UID-1000 egress restrictions,
TLS and authentication are unchanged.

Enrollment handles only confirmed pause conflicts through bounded full
revalidation. Writer and Task reconciliation do not require an incidental
shared status transition; actual owned pause/revocation/refill, current authority,
consumed revisions and old-Pod retirement remain required. Historical schema
migration retains its bounded, UID/RV-fenced, no-adoption behavior.

Independent scoped source reviews and executed regressions support these
corrections, but do not constitute whole-PR audit approval. Kubernetes RBAC remains
name-based; application UID checks are not a claim of raw-GET UID authorization.

Integration boundary

Current-head qualification and the guarded integration landing are complete.
The bounded GitHub-services and governed-grants attestations are published under
the explicit delegation, with genuine review scope and honest AI attribution.
This does not approve the separate application, H100 or a normal release.

Before the separately qualified application lands, require the stable
Bridge/native aggregates while retaining existing protections. No main/release
promotion, registry publication, H100 deployment or private-repository visibility
change is included.

Preserve optional standalone behavior and isolate GitHub App credentials by exact identity, installation and repository. Include governed Actions logs and reviewed gzip/permission repairs. Local Rust/runtime qualification and bounded automated closure are complete; operator materialization, SRE privacy-gate integration and full acceptance remain explicit blockers. This is a local checkpoint, not public readiness or deployment.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Local, unpublished implementation checkpoint. Rust and real API qualification remain pending; the operator observation and GitHub issuer seams require the approved privacy integration. No release or security sign-off is implied.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Forward merge 7dc7281 locally for downstream issuer integration. Candidate qualification is still pending; no public push or sign-off.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Retain explicit unqualified lifecycle, UID and privacy blockers; this local checkpoint is not a publication or sign-off.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Forward exact d3dc3ce and reuse its mount helper once. Existing privacy ancestor 7dc7281 remains intact. Combined issuer and observer Rust qualification and recorded authority/lifecycle closures remain pending; no publication or sign-off.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Keep the reviewed runtime JSON schema unchanged. Rotate the private Secret and cached consumers for changed source/authority revisions even when material bytes are identical; preserve typed Pending privacy non-issuance. Add unrun Rust regressions and canonical App ID serialization. Combined Cargo qualification and recorded boundary closures remain pending.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Forward exact 068ae16 while retaining GitHub d3dc3ce and issuer rotation repairs. The offered Cargo lease was released unused before this prerequisite merge. Eleven read-only bootstrap fixtures and nineteen credential CLI/schema tests pass; combined Rust qualification and documented boundary closures remain pending.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Use read-only preflight before ordinary Ready without a self-bootstrap cycle. Preserve status lineage and pause UID-owned governed execution instead of deleting namespace/state. Keep optional observer availability independent of source readiness and prevent retired GitHub projections from returning through the legacy optional mount. Twenty fast tests and CLI types pass; new Rust regressions remain unrun. No Cargo lease held or publication approval claimed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Retain valid delivery after writer retirement, protect enrolled reader names, and add explicit observer egress and purpose boundaries. Active-SRE observation privacy remains an explicit architecture blocker; no rollout is authorized.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Forward public 550 at 2d85d5a without copying private implementation. Keep credential candidate scope and standalone behavior intact; qualification is recorded separately.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Record the public 550 forward, guarded Rust results, explicit lease release and remaining privacy/API qualification boundaries without claiming native Secret GET is UID-aware.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Verify current canonical observation credentials and full privacy authority on every bounded TLS request. Bind proofs to target, grant, recipient identities, purpose, version, scope and nonce; pin live verifier identity, expire credentials and gate readiness on real capability. Retain name-hold lifecycle guards and standalone defaults. Core qualification passed; real Kind/CNI, private BFF Rust and independent review remain required.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Repair ordered-mask attenuation, persistent import removal intent, local legacy discovery failures and referenced-credential rollout revisions. Replace Team credential unlaunch with owned pause/quiescence, current authority/receipt regeneration and fenced resume. Add focused API/full-reconcile regressions. Fast checks pass; core Rust qualification and bounded re-review remain required.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Apply the three explicitly approved compile corrections: point to the rebind tests, expose the unchanged runtime hold function at intended module scope, and import ListParams. Reviewed behavioral bodies are unchanged; private BFF is untouched.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Complete the approved test-module wiring correction without changing test or production behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Use a lexical MutexGuard scope instead of explicit drop and collapse the equivalent CAS predicate in the API fixture. No production or test assertions changed; no lint waivers.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Record the approved mechanical corrections, passing targeted semantics and strict paired Clippy, immutable qualified code head, explicit Cargo lease release and remaining independent/private acceptance gates.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Use the existing full SHA-256 provider boundary for controller revisions, GitHub connection names and shared observation proof digests. Preserve the full 64-hex proof/revision contract and 16-hex connection suffix; do not use the truncated content identifier. Add a fixed wire digest regression and update the fixture without adding dependencies or crypto waivers. 32 affected cases and strict paired Clippy pass under the 8.5 GiB floor.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
cargo/aws-lc-fips-sys 0.14.2 UnknownUnknown
cargo/aws-lc-rs 1.18.1 UnknownUnknown
cargo/aws-lc-sys 0.45.0 UnknownUnknown
cargo/pkg-config 0.3.34 🟢 4.5
Details
CheckScoreReason
Code-Review🟢 6Found 11/16 approved changesets -- score normalized to 6
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Maintained🟢 45 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4
Packaging⚠️ -1packaging workflow not detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
Signed-Releases⚠️ -1no releases found
License🟢 10license file detected
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Security-Policy🟢 10security policy file detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
cargo/rustls 0.23.45 UnknownUnknown
cargo/rustls-webpki 0.103.15 UnknownUnknown
cargo/rustls >= 0.23.45, < 0.24.0 UnknownUnknown

Scanned Files

  • Cargo.lock
  • controller/Cargo.toml

Comment thread inference-router/src/github_services.rs Fixed
…urce gates

The production GitHub service now opens only its literal mounted configuration path; mutable path injection exists solely in test code, sharing the same bounded reader. No HTTP/configuration input can select another production file. Preserve credential rotation behavior and normal test fixtures. Extract the unchanged suspend/rebind replica decision into its owner module and cover all combinations, keeping the existing reconciler cap. Apply the full existing formatter instead of waiving CI. Affected tests, production binary checks, paired strict Clippy and the real cap/schema regression pass. No CodeQL alert is dismissed or query excluded.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Comment thread inference-router/src/github_services_tests.rs Fixed
@pallakatos

Copy link
Copy Markdown
Collaborator Author

Owner-approved CodeQL disposition: alert 804 (rust/path-injection) is a test-only/framework-source false positive at head 80cffb63399aa945de680140683dd202252e947f, analysis merge 3ae018743f4c9f5ebc5f37f6bfa23ab9fcef9cfd. The owner explicitly selected false-positive-804 after reviewing this scope.

The sink at inference-router/src/github_services_tests.rs:9 is reachable only under cfg(test) and receives paths created by local tempfile fixtures. Production has no configurable path field and opens the literal /etc/kars/github/config.json. The reported source is server-owned Axum State<Service> initialized with with_state(service), not a path supplied by an HTTP caller.

Only alert 804 is dispositioned. No query exclusion, security-check removal, audit-signature waiver, or merge approval is implied. Native credential/ServiceAccount/CNI and combined active-SRE qualification remain outstanding; this PR stays draft.

Keep exact namespace UID checks using the actual Kubernetes JSON field despite the CEL NamespaceMetadata declaration mismatch. Add a native hosted positive/negative/positive probe using unchanged shipped predicates and owned fixtures, with precise denial assertions and bounded cleanup.

Preserve bounded credential/GitHub schemas in generated Task/Team CRDs, compare rendered Helm includes, and add canonical grant CEL and standard labels. Local qualification: 30 Helm drift, 17 CNCF, 84 controller credential, 16 CLI contract and 53 Python harness cases; strict paired Clippy/fmt. Native API execution and complete hosted qualification remain pending. No audit signature or gate waiver.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
…ures

Replace the controller probe bytes_stream dependency with Response::chunk, preserving bounded buffering and explicit transport/JSON failure. Full paired builds masked the missing reqwest stream feature in controller-only benchmark compilation (job102638710681 at f8d641f).

Add exact-limit, oversize, truncated-body-after-valid-JSON and invalid-JSON HTTP regressions. This is a LOCAL checkpoint: Rust execution and isolated-controller compilation are pending the exclusive composition qualification owner; no public push or benchmark waiver.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Combine Secret key lists rather than heterogeneous byte/string value maps; compare the nullable paused envelope digest dynamically; and dynamically select kind-specific exposure fields behind unchanged kind guards. Keep every UID, purpose, current-generation, Ready=False, selector, resource, denial and Fail/Deny constraint.

The broader native API run against f8d641f exposed these type-check warnings; 17 CLI contract cases and Helm rendering pass for the repair. Native positive/negative cases are being added separately and remain required. No warning suppression or audit waiver; local checkpoint only.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Use unchanged rendered predicates in uniquely scoped real API fixtures. Require current warning-free type checks, exact intended allow/deny outcomes for Secret wire representations, nullable paused Task authority and public exposure, and UID-safe cleanup without starting custom controllers or public workloads.

74 unit/harness cases pass; no native result is claimed until hosted execution. Preserve all existing SRE/full gates and diagnostic privacy; native policy failure does not skip the unchanged bootstrap gate. No authentication, quiescence or CNI claim from administrative expression fixtures.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Kubernetes omits empty AdmissionRequest.subResource. Normalize only its absence to the primary-resource empty string across grant, reader-finalization and SRE token policies. Keep explicit status/token/finalize authority unchanged; no admission or permission bypass.

Extend native policy qualification to install the actual grant-authority policy before primary creation, metadata and status updates, plus a regression refusing to pre-seed around admission. 75 unit/harness cases, 17 CLI contracts and Helm lint pass; expanded native qualification remains pending.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Reuse the existing minimal SRE fixture chart for the fresh-install case instead of rendering every unrelated template under the test deadline. Preserve all namespace/account ownership assertions and existing live-lookup upgrade cases. Make fresh rendering explicitly client-only and bound its child process below the unchanged test deadline.

All 24 related namespace, SRE-authority and credential-contract cases passed. No production changes, timeout increase or skipped assertions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Forward only the three match conditions from native-qualified SRE 3f20fac. Preserve protected oldObject names when collection DELETE omits request.name, without mixed string/dyn lists. Registrar/use/renew rules, bindings and existing optional-subresource repair remain intact.

All three match-condition blocks compared byte-identical to 3f20; its job102698405012 proved nine ordinary/protected/admin collection cases. Current target passed 25 related CLI contracts and Helm lint. Target lifecycle/full SRE acceptance remains pending; no forced namespace finalization or gate waiver.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Keep live/update/publication identity and CAS checks strict, and retain bounded child-step diagnostics plus native preview non-persistence proof.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Normalize only uncaptured managedFields at the projection recheck, preserving all authority, data, revision and Deployment checks; cover the actual kubectl wire difference.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Share payload construction and response validation, preserve strict ownership and conflicts, and retain only bounded field-manager diagnostics.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
…ents

Core-only backport of the request-local diagnostics; Bridge fixture changes remain in the application candidate.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
…tures

Preview complete owned payloads and retain UID/RV and external-drift fences; do not force or reassign production field ownership.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Preserve historical Rejected fixtures and exact data/UID/RV checks while honoring the installed CREATE-only policy; never persist or execute the probe.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Preserve command input, authority and CAS behavior while discarding raw errors, argv and causes; phase labels describe attempted steps only.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Port only the core-owned observer diagnostic correction, regression tests, and contract documentation. Effective HTTPS port and IP comparison fixes a false mismatch; positive scoped transport facts do not diagnose the unresolved native timeout. Transport, TLS, authentication, and production deadlines are unchanged. Hosted Rust qualification is still required.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Mirror production startup and the existing test setup before constructing kube clients. Nextest runs each test in its own process, so these tests cannot rely on another test installing the Rustls provider. Preserve all real connection, pooling and cancellation assertions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Reread only recognized moving snapshots before judging an empty projection or typed lineage-template refusal. Preserve the rejected snapshot's transition check, all authority and data fences, actual withdrawal/pause/refill witnesses, and the existing deadline. Recheck identity after lineage before settlement. Never retry a mutation or infer missed witnesses.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Keep runtime acceptance and production deadlines unchanged. Emit only a closed boolean restoration comparison on the existing refusal. Exercise actual kubectl printing with a delayed response, bound fixture startup/request budgets, and retain safe child-failure facts without command or Secret content.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Recover only a confirmed Pausing Sandbox conflict after full scope, runtime, Task, private-key and root revalidation. Require a different live revision before another guarded update, cap attempts at three within the existing deadline, and preserve all other failures. Exercise the native Pending-induced status race, bounded recovery, expiry, stale identities/intent and already-applied pause behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
The Sandbox reconciler can pause and revoke its projection while the independent Task controller remains Ready. Require the witnessed owned pause and empty projection without inventing a mandatory transient Task status. Preserve current Task authorization, fresh refill and consumed grant/Deployment revisions, old-Pod retirement, and all identity/data fences. Observed Task withdrawal still requires fresh attestation. Cover both schedules and double the negative authority matrix.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Reuse canonical exact API targets in the owned observer policy. For installed Cilium, manage only a namespaced API-entity policy with validated ports and effective selectors. Preserve original namespace/claim/UID/RV fences, remove stale extensions, and retain a cleanup hint for interrupted retirement. Grant CNP management only to the controller; no new CNI installation, global settings, agent privileges, TLS or deadline changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Record only a fixed failure category and actual exit status before removing private logs. Reap the owned child without a stale-PID cleanup attempt. Preserve the one-shot startup and all authentication, scope and cleanup assertions; do not retry an unexplained failure.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Comment thread cli/src/testing/credential-grant-contract.test.ts Fixed
Comment thread cli/src/testing/credential-grant-contract.test.ts Fixed
Map only a successful namespace recheck to unit, preserving validation and error propagation. Split lifecycle/fencing regressions into a shared-fixture child module so every new file meets the existing size limit. Retain all twenty regression functions and assertions; no gate exception or policy behavior change.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Preserve pinned Kind, kubectl and metrics-server versions. Validate official checksums before executable publication, bound HTTPS acquisition and transient retries, and separate metrics manifest acquisition from one-shot Kubernetes apply. Keep global deadlines, integrity checks and runtime assertions; exercise real partial-transfer cleanup and exact topology preservation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Cover all tracked first-party comment-capable formats while preserving source bytes, directives, frontmatter, modes and existing notices. Explicitly account for strict data, legal files, generated artifacts and upstream ownership without corrupting payloads or changing licensing. Restrict generated coverage to reviewed exact paths; reject unknown authored formats. Keep existing checker/applier entrypoints and test enforcement.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Raise the existing TLS dependency floor to 0.23.45 without changing provider/features. Update only Rustls and its required aws-lc/webpki dependency family, retaining unrelated locked package choices; Cargo workspace-locked resolution validates the minimized graph. Do not suppress the newly published advisory.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Use YAML comments for dual-use plain templates and whitespace-neutral Go comments only for leading Helm actions. Place hash headers after the original initial document separator. Preserve original body bytes, modes, schemas and document counts across all twenty CRD inputs; do not relax CLI/Rust readers or assertions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Keep the rendered RBAC permission assertions unchanged while expressing array membership as exact element equality. The previous Array.includes calls were misclassified as URL substring validation by CodeQL.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Distinguish the historical missing issuer/reuse gate from independently verified current wiring. Preserve the live-service, revocation and final source-attestation limits without adding signatures or claiming deployment approval.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Reuse the application-qualified audit-boundary logic without changing the core capability matcher. Reject reused/renamed approvals and invalid review bases, while keeping copyright-only edits to historical records separate from current capability sign-off. Seven real Git regressions cover the boundaries; four fail on the previous core gate.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Record exact reviewed source, independent-context coverage and executed public evidence under the existing explicit maintainer delegation. Preserve historical failures and limits on live GitHub, active-SRE combined, Bridge and H100 acceptance; no human review, check waiver or deployment approval is implied.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
Expose the existing public-schema diagnostic for CRD establishment waits, without changing any acceptance assertion, context, request/child deadline or retry behavior. Extract the unchanged command body for real-child redaction and argument regressions, and preserve the workload-proof context binding. The prior hosted failure cause remains unclassified.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eb3654cd-f1e0-445a-8734-430800af1903
@pallakatos
Pal Lakatos-Toth (pallakatos) marked this pull request as ready for review September 14, 2026 21:54
@pallakatos
Pal Lakatos-Toth (pallakatos) merged commit e3d6135 into kars-bridge Sep 14, 2026
36 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.

2 participants