This commit is contained in:
kiri committed 2026-09-22 21:44:35 +02:00
1 parent f164d8b76e
commit 5748b3409b
60 files changed
+1346 -590

No files matched your search

+123 -66
View File
@@ -1,78 +1,135 @@
# Current work
## Scope and accepted decisions
## Phase and working method
Foundation pass started 2026-09-19. Improve existing capabilities through discussion
and coherent implementation batches; completion requires the user's agreement.
Implementation is authorized and underway. Do not restart the broad design pass or
reconfirm accepted choices. `docs/design.md` owns the model, decisions and coding
conventions; README owns navigation/maintenance; operational details live with owners.
Accepted: retain host/profile/capability/facts composition and explicit ownership;
Polaris and Zenith have identical intended use; use the four-file harness. Validation
uses a Git-ignore-aware snapshot without index changes, prioritizing low token cost.
The work profile is explicitly provisional. Consolidate the workbench environment
only, using the shared NixOS nixpkgs pin; authored material and the Python lock stay
in the writable workbench. See [design](design.md) for durable boundaries.
Complete independent agreed work and obvious fixes autonomously. Leave consequential
unknowns pending and collect recommendations/alternatives into one substantial review
batch. Ask earlier only to prevent broad rework/blockage. The old 2–4-question quota
is superseded. Keep effort focused; no speculative systems or peripheral research.
Do not activate, push, decrypt for discovery or access company systems with write
authority. No subagents unless explicitly authorized by current instructions.
## Completed and evidence
Keep this record current by replacing superseded state. Pass-specific procedures
stay here, not in AGENTS. The user must agree before the overall pass is complete.
The unedited `~/sync/notes/setup-todo.md` remains an idea inbox, not authorization.
- Replaced Constellation with the four-file harness after preserving useful knowledge;
older archives remain historical sources. Survey began from clean `3c022ad` on Polaris.
- Implemented `just validate` with optional host arguments. Full runs format, evaluate,
build all hosts, and now build the workbench shell. Logs are brief; details remain
in `/tmp`. The index is untouched by validation. Both prerequisites were already
declared on workstations.
- Added provisional `modules/profiles/work.nix`, imported by both workstations.
It selects existing VPN/development integration, Garden tools, and work Git settings.
Generic development/editor tools remain shared; SharePoint remains Zenith-only.
- Garden definitions now have one owner in `yookr-dev/_packages.nix`, used by both
installed tools and `devShells.x86_64-linux.workbench`. Preserved the workbench's
tools and Python variables; its nixpkgs pin now follows the system as agreed.
- Updated `~/yookr/.envrc` and `~/yookr/workbench/.envrc` to select the shared
environment; updated workbench README/instructions and removed its redundant
flake/lock. Its credential/mount body is unchanged. Requests, queries, analysis,
Python lock, existing changes, and generated data remain in place. Pre-change
migration files: `/tmp/workbench-environment-before-6k4dwzuo`.
- Full validation passed formatting, evaluation, Orion/Polaris/Zenith builds, and
workbench shell build on 2026-09-19. Logs: `/tmp/nixos-validate-4ojjb2q7`.
The existing unknown `modules` output warning remains. Whitespace review passed
in both repositories; loader changes were compared against pre-change copies.
No tests, activation, credential loading, mounts, or remote changes.
## Implemented, reviewed and validated; awaiting user checkpoint
## Next step and user-owned actions
- Flat capability owners; service category flattened. AI, theme, Handy and
transcription support colocated. Imported Nix helpers moved under `_support/`.
File management owns Nautilus/GVfs/udisks; keyring remains separate.
- Removed Walker project discovery, agent-deck/notify, tmux, Zellij, TeamViewer and
direnv. Removed the uninstalled nixos-maintainer skill source. Retained Herdr,
Ollama/grounded-docs and their data, mail/calendar tools, dictation/transcription.
- Shared notes launcher uses Kitty's explicit directory and native zk note picker;
the picker already supports Ctrl+E creation. Oil's mini.icons provider loads
before initial directory buffers. Manual workspace naming/clearing and visible
Noctalia labels; shell titles include directory/command. Garden shell initialization
now belongs to company integration instead of every host's generic shell.
- Kanagawa declares Adwaita/hicolor icon fallback; modest Limine branding/layout.
A pinned Elephant patch defers its startup `rbw list` to the explicit vault query.
- GitHub devenv 2.3.2 installed with native Zsh hook and upstream reload defaults.
CLI dependencies keep upstream pins/cache; workbench tools use this repository's
exact nixpkgs pin. Company tools are also installed through the work profile. Product and
personal environments are untouched. No external loader was sourced or changed.
- Workbench runtime SecretSpec export helper resolves company/live/test independently,
clears stale owned variables, reports value-free status, and supports tools-only
entry/retry. Source mappings/provisioning remain pending below.
- User-run encrypted company migration helper prepared, never run. Company document
absent until user provisioning. Test mapping and login remain deliberately
unimplemented until the concrete context and plugin are known; the loader accepts
only an explicit noninteractive runtime snapshot. No company credential values
have been read.
- Both workstations select persistent read-only OBS/SharePoint user mounts, no content
cache; replaced Zenith-only hourly mirror. Existing data is preserved. Credentials,
old OBS mount handover and runtime acceptance remain user-owned.
- Tailscale enabled on all hosts; ordinary SSH keys retained. Zenith SSH is tailnet-only,
Polaris LAN SSH unchanged, Orion public SSH unchanged pending verification.
- Documentation consolidated; coding conventions in design, short AGENTS retained.
Validation prepares upstream devenv's import-from-derivation dependencies before
read-only flake checking, accepts the repository's declared official cache, and
reports interruption concisely. Full builds still include the tools-only shell.
User reviews and re-allows the two changed `.envrc` files with direnv, and activates
NixOS when ready. Do not run those loaders as an agent. The workbench retains
unrelated uncommitted analysis, documentation, and mount-helper work; do not commit
that work as part of this pass. Replicate the two loader changes and removal of the
old environment definition on Zenith; only Polaris's workspace was changed here.
## Decisions/provisioning still needed
Evaluate the provisional work boundary in practice, then discuss secret delivery.
Current constraints: human workbench entry exposes both test/live credentials and
starts read-only object-storage mounts; the tools-only environment does neither
but does not erase inherited credentials. SOPS is already used, with different
key locations for system and company material. No credential values were read.
Clarify encrypted-file/key distribution across machines before proposing changes.
Devenv and secretspec remain candidates, not dependencies. No new live authority
or per-connection launchers are authorized.
1. **Company-root activation.** Native devenv suppresses its hook inside an active
devenv shell, including nested projects. No root environment is generated now;
recommend globally installed company tools at root and autoactivation only in
workbench. This avoids custom activation machinery; confirm at the user checkpoint.
2. **Test SecretSpec mapping.** Need the explicit test context and existing application
Secret/namespace/key coordinates (metadata only, no values). Confirm whether
database Secrets hold complete URLs or separate components. Do not invent keys,
silently use the current context or fall back to live/SOPS test credentials.
Test loading reports unavailable until its runtime manifest and login snapshot exist.
3. **Explicit-login mechanism.** Final review removed the generic ExecCredential
interpreter: it duplicated a security-sensitive Kubernetes client protocol before
the actual company plugin was known. Inspect the selected context's exec stanza,
then choose its native/provider-specific cached login flow and prepare a mode-0600
runtime snapshot. Shell entry must not launch authentication.
4. **Live MariaDB certificate verification.** The migration helper preserves the
old `ssl-verify-server-cert=0` behavior. Before running it, either explicitly accept
that legacy risk or identify the correct CA/hostname settings and enable verification.
5. **Manual provisioning/acceptance.** Company SOPS recipients/migration, rclone
OAuth on both hosts, old OBS mount handover, devenv trust/responsiveness, Noctalia
Radicale password and private Outlook ICS URL, tailnet enrollment/private SSH.
See workbench README and root README. Do not close public Orion SSH yet.
6. **Guidelines review.** Design now spells out owner naming, module selection,
helper placement, package reuse/pinning, runtime boundaries and validation. No new
test policy, automation framework or pass-specific repo-wide rules were added.
## Questions to carry into relevant areas
## Validation state
- Desktop integration: terminal/launcher interfaces have inconsistent consumers;
Mailspring coexists with Thunderbird account declarations; Herdr coexists with
agent-deck notifications and multiple session tools. Determine purpose before
removing anything. The disabled nixos-maintainer skill's source remains.
- Cross-host behavior: earlier workspace migration was reported only on Zenith.
Verify Polaris paths before assuming equivalent filesystem state. TeamViewer and
SharePoint currently exist only on Zenith despite identical intended use.
- Runtime evidence: earlier theme/greeter, expanded Herdr shortcuts, Handy
hold/release/paste, and SharePoint activation checks were incomplete. Old build
results do not establish current behavior. Ask in the relevant area.
- Handy hang investigation remains parked unless requested: a prior debugger
capture found the recorder waiting for an audio chunk before handling stop;
Bluetooth failures coincided, and disconnecting Sony WH-1000XM6 helped. The user
wants that microphone. Persistent HFP was proposed but never applied or verified;
inference-backend changes were not an established fix.
- Agent evaluation, new mail ingestion, and company credential isolation were
deferred. Secret-management discussion reopens design, not live access.
Final full validation passed before the final review deletions:
`/tmp/nixos-validate-t7zv1zux` (session 88912,
completed exit 0). Formatting, devenv preparation, flake check, all three host
builds (Orion, Polaris, Zenith), and the tools-only workbench build passed.
This includes the final notes startup ordering, serialized vault-query patch,
FUSE wrapper paths, native Zsh retry function and SecretSpec package collision fix.
No systems were activated.
The inbox is not a backlog. Detailed old handoffs remain in Git before this batch;
consult them only when their evidence affects a current choice.
Native devenv tools-only startup also passed in an isolated temporary home:
`/tmp/foundation-native/startup.log`. Company/live/test loading was disabled;
SecretSpec 0.20.0 and Python 3.14.7 were available. No company credentials loaded.
Clean-home manual editor checks passed: direct directory startup renders a Lua-file
icon in Oil; opening the note picker after VimEnter reaches TelescopePrompt.
Evidence: `/tmp/foundation-editor-check/{startup,notes}.log`. No real notebook or
credentials loaded. Built Kanagawa index declares `Inherits=Adwaita,hicolor`.
Python source syntax and local documentation links checked; no automated tests added.
The final review only removed the unaccepted Kubernetes login wrapper and the
machine-wide devenv cache setting; the flake-scoped cache remains. Full builds were
not repeated for those deletions.
Builds do not establish interactive acceptance. The user checkpoint remains; do not
repeat full builds for documentation-only handoff edits.
## Review checkpoint
The final diff was reviewed for correctness, integration and Ponytail complexity.
Desktop/capability moves and repository wiring had no material findings. The review
removed the speculative Kubernetes login interpreter and kept the devenv cache at
flake scope instead of granting it machine-wide trust. The remaining Python has a
concrete role: in-memory concurrent secret loading with completeness checks, one-time
encrypted credential reshaping, dynamic OBS rclone configuration, or pre-existing
dictation/transcription behavior.
The user checkpoint is still required before this pass is complete. No implementation
commit was made in this turn.
Initial local commit `f164d8b` predates this implementation. Four documentation files
were already modified during the design pass; those changes belong to this effort.
No remote changes or activation have occurred. External workbench analysis/content
changes are unrelated and must not be committed here. Previous external loader
copies remain at `/tmp/workbench-environment-before-6k4dwzuo`; only root/workbench environment documentation and ignore entries were updated.
Backups: `/tmp/foundation-workbench-docs-bvrs1hu9`. Old external loaders remain
until user activation, so the currently running system is not broken. Constellation documents were already
superseded and removed in the prior foundation commit.
Deliberate deferrals remain in design: backups declined, dashboard scrapped,
Zenith Plymouth and extra Noctalia keyboard controls deferred, stronger credential
isolation/new agent workflows/indexing and unrelated editor redesign out of scope.