fix Garden shell integration

This commit is contained in:
kiri committed 2026-09-05 19:54:27 +02:00
1 parent 0c121a6cdf
commit 2fb6061424
3 files changed
+25 -13

No files matched your search

+22 -12
View File
@@ -13,9 +13,10 @@ and add no abstraction without a demonstrated repeated need.
- Branch: `chore/workflow-system`
- Baseline: `nix flake check --no-build --quiet` passed on 2026-09-05; only
the existing dirty-tree and unknown `modules` output warnings were emitted.
- Next: activate the Nix-owned Garden tools on Zenith and run the credentialed
`just k8s test` workbench gate over the VPN. Then prove named database
connections and one Marimo-to-HTML report before expanding the workbench.
- Next: activate the follow-up Garden shell fix, then remove the mutable Garden
binaries that still shadow the verified Nix-owned tools. Defer database and
Marimo artifacts until a concrete cross-system investigation supplies useful
content; proceed with an independent pilot in the meantime.
## Progress
@@ -23,7 +24,7 @@ and add no abstraction without a demonstrated repeated need.
| --- | --- | --- |
| Bootstrap and repository ownership | Waiting for user | Repository and dashboard reconciliation complete; credential cleanup remains |
| Declarative workstation foundation | Complete | All-host builds pass with one Nixpkgs pin, `just`, and an explicit Podman Compose provider |
| Repository contracts and workbench | Active | Three contracts and the local workbench are checkpointed; credentialed empirical gates remain |
| Repository contracts and workbench | Active | Three contracts are checkpointed and the read-only test Kubernetes gate passed; API, database, and report evidence remain |
| Desktop, agents, notes, PIM, transcription | Pending | Independent pilots follow foundation changes |
| Conditional retirement and completion | Pending | Requires per-pilot evidence |
@@ -33,11 +34,12 @@ and add no abstraction without a demonstrated repeated need.
| --- | --- | --- | --- |
| NixOS configuration | `chore/workflow-system` | `41bc61b` | Discovery, paths, Git identity, and Codex defaults |
| NixOS configuration | `chore/workflow-system` | `69552b7` | Simplify flake inputs and declare workstation lifecycle tools |
| NixOS configuration | `chore/workflow-system` | `0c121a6` | Declare Garden tooling and the local workbench |
| `yookr-dashboard-new` | `feat/gogv2` | `934605d` | Remove obsolete dashboard converter |
| `rules-service` | `chore/workflow-contract` | `555d9cd` | Establish the first common repository contract |
| `yookr-api` | `chore/workflow-contract` | `a76b2b7` | Establish the HTTP and OpenAPI contract |
| `traceability-data-model` | `chore/workflow-contract` | `33cb7ff` | Establish the database and schema contract |
| `yookr-workbench` | `main` | `6aae6d5` | Create the local-only cross-system workbench |
| `yookr-workbench` | `main` | `733e7b7` | Create the workbench and isolate its Garden session |
## Human actions
@@ -55,11 +57,10 @@ and add no abstraction without a demonstrated repeated need.
`just openapi-refresh test`; the current test deployment returns 404.
- Populate the ignored API HTTP credentials and perform the planned login plus
harmless administrator read; no credential-bearing request has been made.
- Activate the Nix-owned Garden tools, verify `gardenctl` and `gardenlogin`,
then remove their duplicate binaries from `~/.garden` and `~/.local/bin`.
- With the VPN active, run `just k8s test` in `yookr-workbench` and confirm the
test shoot opens read-only; this credentialed interactive gate has not been
run automatically.
- Activate the follow-up Garden shell fix. The Nix-owned `gardenctl`,
`gardenlogin`, and `kubectl-gardenlogin` are verified under
`~/.nix-profile/bin`; afterward remove the duplicate mutable binaries
`~/.garden/gardenctl` and `~/.local/bin/{gardenctl,gardenlogin,kubectl-gardenlogin}`.
- Destructive cleanup, credentials, activation, and empirical pilot decisions
will be surfaced here before use.
@@ -117,10 +118,19 @@ and add no abstraction without a demonstrated repeated need.
pinned `podman-compose` configuration validation pass.
- Gardenctl 2.14.0 and Gardenlogin 0.10.0 are pinned from their official release
assets; the hashes match the existing binaries byte-for-byte. All three host
builds pass, the OIDC kubectl plugin is declarative, and Zsh now consumes the
native `gardenctl rc zsh` output.
builds pass, the OIDC kubectl plugin is declarative, and Zsh consumes the
native `gardenctl rc zsh` output with its completion packaged declaratively.
- The local-only `yookr-workbench` has no remote and initially owns only
`just k8s test`. Each invocation creates an isolated Garden session, rejects
every environment except test, and opens K9s read-only. Its flake check and
command catalog pass, and the live rejection path exits before Garden access.
- The user activated and rebooted into the Garden tooling, then confirmed that
`just k8s test` opens the test shoot in read-only K9s. The initial shell error
came from Garden writing completion into an absent Flatpak `$fpath` entry; the
initial target warning came from the fresh session inheriting its parent's
`KUBECONFIG`. Completion is now store-owned and the child recipe clears that
variable before targeting.
- Named database connections and a Marimo-to-HTML report remain workbench
evaluation evidence, not scaffolding requirements. Add them only for a real
cross-system investigation that gives the queries and report durable value.
- Run independent pilots in parallel, but gate every retirement separately.
+2
View File
@@ -13,6 +13,8 @@
dontUnpack = true;
installPhase = ''
install -Dm755 "$src" "$out/bin/gardenctl"
install -d "$out/share/zsh/site-functions"
"$out/bin/gardenctl" completion zsh > "$out/share/zsh/site-functions/_gardenctl"
'';
};
gardenlogin = pkgs.stdenvNoCC.mkDerivation {
+1 -1
View File
@@ -62,7 +62,7 @@
'';
initContent = ''
source <(gardenctl rc zsh)
source <(gardenctl rc zsh --no-completion)
bindkey -v