docs: establish the constellation Git baseline
Condense the working handoff into implemented state, activation evidence and open choices. Record both repositories, flag superseded SharePoint setup instructions and undocumented input/support changes, and align the design with completed workbench organization. Keep the generated nvim.log locally but ignore it. Both flakes evaluated successfully and whitespace checks passed. No implementation behavior changes, tests, builds, activation or remote writes.
This commit is contained in:
1 parent
a5ff81e98d
commit
8342efd8df
4 files changed
+99
-159
No files matched your search
@@ -2,6 +2,11 @@
|
||||
|
||||
Archived: guidance for the existing implementation, not a new design decision.
|
||||
|
||||
Superseded: this describes the earlier single-source, environment-file-gated
|
||||
implementation. The current [working state](../constellation-work.md) records two
|
||||
fixed library mirrors gated only by the presence of `rclone.conf`. Do not use the
|
||||
setup procedure below as current operational guidance.
|
||||
|
||||
The Zenith user timer mirrors one selected company SharePoint document library
|
||||
into `~/.local/share/yookr-reference/sharepoint` hourly. SharePoint is
|
||||
authoritative: remote updates overwrite local files and remote deletions remove
|
||||
|
||||
+88
-156
@@ -40,171 +40,103 @@ task-specific authority and care. Do not read secret values for layout discovery
|
||||
Current exploration does not authorize relocating credentials, synchronizing
|
||||
company content or deleting existing material. Existing local changes are preserved.
|
||||
|
||||
## Current exploration — organization
|
||||
## Git baseline — 2026-09-09
|
||||
|
||||
Accepted: repositories are primarily code; general notes belong outside them.
|
||||
Company work is broader than repositories. Workbench has a different purpose from
|
||||
product projects. Structure should be intuitive without constraining future work.
|
||||
The accumulated NixOS changes are recorded in focused local commits on
|
||||
`chore/workflow-system`: AI tooling/inputs, editor ergonomics, query persistence
|
||||
and target context, workspace navigation, Notes, SharePoint, Zellij and TeamViewer.
|
||||
The original long handoff and archived plans are preserved in commit `4e3a3ac`;
|
||||
use Git history for chronology. `nvim.log` is retained locally and ignored.
|
||||
Workbench changes are committed on its local `main`: `eb8da6a` organizes HTTP/SQL
|
||||
material and `063157c` archives helpers and documents native tools. The ordinary
|
||||
company-root files are outside either repository and remain user-owned.
|
||||
This cleanup preserves implementation behavior; a commit does not establish runtime
|
||||
acceptance. Keep subsequent implementation and its documentation in the same
|
||||
coherent commit before starting unrelated work.
|
||||
|
||||
Observed through shallow listings: project groups (now relocated below), `~/work`,
|
||||
`~/sync/notes`, mixed material in `~/sync`, and loose work artifacts in home.
|
||||
Names alone do not establish ownership, contents or redundancy.
|
||||
## Implemented state
|
||||
|
||||
Accepted: the workbench supplies an environment at the company root. Reusable HTTP
|
||||
and SQL files need a home. Native tools should remain freely composable; the current
|
||||
custom inventory and mail commands are not the desired direction. Notes, credential
|
||||
placement and synchronization remain open; no relocation is approved.
|
||||
- **Places:** `~/yookr` has ordinary `.envrc` and `AGENTS.md` files; its environment
|
||||
loads workbench tools only. Workbench is at `~/yookr/workbench`, company projects
|
||||
at `~/yookr/projects`, and personal groups at `~/projects/{own,ext,forks}`.
|
||||
Direct moves retained archives/worktrees; all three linked dashboard worktrees
|
||||
were repaired. Nix owns tools/integration, not these workspace files.
|
||||
- **Navigation:** Walker enters Yookr or a repository; Git identity follows the
|
||||
company root; XDG projects points to `~/projects`. Notes has a desktop entry
|
||||
opening `~/sync/notes` without creating a daily note. Existing note commands,
|
||||
project search and Niri daily-note behavior remain.
|
||||
- **Synchronization:** Bruno collections were previously moved to Trash on Zenith
|
||||
and their shared Syncthing entry removed. Other devices' files were untouched.
|
||||
Syncthing was subsequently observed running. Notes and credentials remain in place.
|
||||
- **API/database work:** workbench `http/` groups requests by service with shared
|
||||
authentication; `databases/` groups reusable queries by database. Private HTTP
|
||||
environment files are ignored at any depth. Dadbod working queries persist under
|
||||
`stdpath('data')/db_ui/working`; write them there without promoting them into Git.
|
||||
Saved-query storage also contains connection state and must stay outside Git.
|
||||
Lualine uses native Kulala environment and Dadbod connection/timing components.
|
||||
These indicators are not access controls.
|
||||
- **Editor ergonomics:** word-boundary wrapping, count-aware displayed-line `j/k`
|
||||
in ordinary normal/visual buffers, and Blink Escape cancellation. The existing
|
||||
`tests/neovim-ergonomics.lua` is retained; earlier smoke-check evidence is in the
|
||||
archived plan, with interactive preview restoration/visual behavior unproven.
|
||||
- **Agents:** agent-deck, Herdr and tmux coexist; no replacement has been chosen.
|
||||
Codex has agent-deck notifications and hooks enabled. Shared Context7/NixOS skills
|
||||
live under `.agents/skills`; a Nix-managed marketplace exposes Ponytail.
|
||||
Zellij is also declared on workstations. None of this selects a session workflow.
|
||||
- **SharePoint:** Zenith declares an hourly service syncing `company-sharepoint:`
|
||||
into `~/.local/share/yookr-reference/sharepoint/Algemeen` and
|
||||
`company-sharepoint-projecten:` into `Projecten`. Each invocation has
|
||||
`--max-delete 100`; new files use `UMask=0077`. The latest implementation only
|
||||
checks for `rclone.conf`; the old environment-file gate is gone. Archived setup
|
||||
instructions describe an earlier version. Consent, remote configuration and
|
||||
synchronization state were not inspected during this cleanup.
|
||||
- **Remote support:** Zenith enables TeamViewer. Temporary Xorg/Xfce settings are
|
||||
comments only. The purpose beyond remote support and runtime acceptance were
|
||||
not recorded; preserve the change without calling it a settled design.
|
||||
- **Inputs:** accumulated lock updates are retained, including an older Elephant
|
||||
revision (`376ee71c` replacing `23f37238`). No rollback rationale was recorded.
|
||||
|
||||
Workbench `.envrc` still loads tools and exports test/live database, API,
|
||||
object-store and RabbitMQ credentials together. Neovim's global database plugin
|
||||
names four company connections. No services or secrets were read.
|
||||
## Activation and verification
|
||||
|
||||
Direction: a tool/context environment at company root, maintained `workbench/`
|
||||
tooling with `http/` and `databases/` material, and separate local investigation files.
|
||||
Human credentials are supplied through environment variables for both test/live;
|
||||
agent access requires separate treatment.
|
||||
Organize reusable requests by service and queries by database, with visible target
|
||||
selection. Keep setup
|
||||
shortcuts only where they add value; let kubectl and other clients own operations.
|
||||
Mail needs a searchable representation that preserves message meaning; rg over raw
|
||||
mailbox storage is not automatically an adequate substitute for the current helper.
|
||||
Earlier handoffs report user activation of the relocated XDG/Git/Walker paths and
|
||||
Dadbod working-query persistence. Notes and the newer target statusline were last
|
||||
recorded as pending activation. Only Zenith's filesystem was relocated; other hosts
|
||||
need their own migration before adopting the shared paths. Reopen shells or
|
||||
recreate path-dependent development environments as needed; no compatibility links
|
||||
or cache rewrites were introduced.
|
||||
|
||||
API/database proposal: reusable HTTP files grouped by service, shared authentication
|
||||
requests, and explicit visible HTTP target selection. Start database exploration
|
||||
from a named connection (database + environment), creating or reopening an attached
|
||||
query; retain direct-file opening with explicit connection assignment. Keep reusable
|
||||
query text separate from target credentials. Working queries should survive restart
|
||||
without automatically becoming tracked workbench material.
|
||||
For this cleanup, `nix flake check --no-build --quiet` and diff whitespace checking
|
||||
passed in both NixOS and workbench. NixOS emitted the expected dirty-tree and unknown
|
||||
`modules` warnings; workbench emitted only the dirty-tree warning.
|
||||
No builds, tests, activation, credential reads or company-service calls were
|
||||
performed. Active-generation differences were not checked; earlier activation
|
||||
reports are not a fresh comparison with this baseline.
|
||||
|
||||
Native evidence: [Kulala imports](https://github.com/mistweaverco/kulala.nvim/blob/main/doc/kulala.import-and-run-http.txt)
|
||||
support sharing named authentication requests across files.
|
||||
[Dadbod UI](https://github.com/kristijanhusak/vim-dadbod-ui/blob/master/doc/dadbod-ui.txt)
|
||||
supports connection-associated saved queries, persistent temporary-query locations
|
||||
and explicit assignment of independently opened buffers. Callable connection URLs
|
||||
resolve while populating the list, not on selection (confirmed in pinned source);
|
||||
they do not support the proposed per-selection credential delivery.
|
||||
Its save location also holds connection state, so do not put the entire directory
|
||||
under Git. Context7 covered Kulala; Dadbod required upstream help as fallback.
|
||||
The persistent-query option was also confirmed in pinned Dadbod source. HTTP
|
||||
import/run syntax was checked in current Kulala documentation; not exercised
|
||||
against company services.
|
||||
## Open choices and next discussion
|
||||
|
||||
Chosen root: `~/yookr`. Company-wide Neovim search is explicitly deferred for lack
|
||||
of a concrete use case. Existing project search remains unchanged.
|
||||
The focus is the broader environment, not further API/database polish. Candidate
|
||||
areas remain places/ownership, navigation/interaction, human/agent collaboration,
|
||||
and system operation/maintenance; these are discussion areas, not a work queue.
|
||||
|
||||
Created `~/yookr` directly with ordinary `.envrc` and `AGENTS.md` files. Moved the
|
||||
actual workbench checkout from `~/dev/work/yookr-workbench` to `~/yookr/workbench`;
|
||||
the temporary link was removed. Prefer direct moves over compatibility links.
|
||||
Removed the earlier Home Manager
|
||||
workspace declarations: Nix owns tools/integration, not working directories or
|
||||
their authored files. Notes and credentials remain in place;
|
||||
workbench uncommitted work moved with the checkout. Walker's Yookr entry and Git's new work-path identity rule remain
|
||||
activated by the user.
|
||||
Agent-session navigation was the last open conversation: agent-deck is already
|
||||
installed (previously observed as 1.15.0). Its help offers native project sessions,
|
||||
search, attach and Ctrl+Q detach, with optional groups. No sessions were inspected
|
||||
or migrated. Start from the user's experience before changing bindings or selecting
|
||||
it over Herdr. Proposed roles: Walker enters places/apps, Niri navigates windows,
|
||||
and the session manager resumes agent work. Avoid duplicating its session list or
|
||||
imposing groups before use demonstrates a need.
|
||||
|
||||
Repository environments remain independent. Future relocation/composition must
|
||||
account for their own `.envrc` files (direnv provides `source_up`) without imposing
|
||||
a personal directory layout on portable repositories. The workbench's own `.envrc`
|
||||
still exports aggregate credentials; root entry uses its flake only.
|
||||
Mail search remains unresolved. The workbench's custom mail reader, inventory
|
||||
pilot, justfile and old README are archived; native Garden/kubectl/K9s now own the
|
||||
documented operations. No replacement mail helper or semantic index is selected;
|
||||
raw mailbox grep is not assumed sufficient. No new ingestion is authorized.
|
||||
|
||||
Verification: checked ordinary file types and whitespace
|
||||
after the ownership correction. The earlier Nix configuration evaluation passed;
|
||||
it was not repeated for removing the workspace declarations. No builds, tests,
|
||||
credential reads or activation performed. The workspace files exist now; the user
|
||||
can authorize its environment with `direnv allow ~/yookr`. System activation for
|
||||
Walker/Git also includes pre-existing editor/AI/SharePoint changes in this checkout.
|
||||
Human credential delivery remains both test/live via environment variables with
|
||||
ordinary editor startup. Workbench `.envrc` supplies aggregate credentials; agents
|
||||
must not source it. Separate read-only agent credentials and access isolation are
|
||||
explicitly deferred, not prerequisites for unrelated work. Do not resume the
|
||||
rejected per-connection launchers or per-selection decryption proposal.
|
||||
|
||||
Credential decision: user wants environment-variable delivery of BOTH test and
|
||||
live credentials, with ordinary Neovim startup. Removed the rejected `mysql-test`
|
||||
launcher; existing workbench `.envrc` already supplies both and remains unchanged.
|
||||
Do not resume per-selection decryption or add per-connection launchers. The root
|
||||
environment is still tools-only; agent isolation remains separate from the chosen
|
||||
human workflow. No secrets were decrypted or databases contacted.
|
||||
|
||||
API/database organization implemented: `http/` contains service-specific files,
|
||||
shared `auth.http` and the unchanged endpoint catalogue. Protected requests use
|
||||
native `import`/`run` to authenticate before execution in the selected environment.
|
||||
`databases/mysql/` separates server discovery and the two existing schemas;
|
||||
`databases/mongodb/server.js` preserves MongoDB discovery. Existing request and
|
||||
query contents were retained, with no additional system access or credentials.
|
||||
Private HTTP environment files are ignored at any depth. No compatibility files.
|
||||
|
||||
Neovim uses `db_ui_tmp_query_location` under its data directory at
|
||||
`db_ui/working`; write working queries there without promoting them into Git.
|
||||
Dadbod's saved-query storage and connection selection remain unchanged. This
|
||||
one-line editor change has been activated by the user. Whitespace and Lua syntax
|
||||
were checked; no tests, company-service requests or decryption performed.
|
||||
|
||||
Target context prepared in the existing Lualine statusline: pinned Kulala 6.29.0
|
||||
supplies a native `kulala` component for `.http` buffers (environment selection);
|
||||
Dadbod's `db_ui#statusline` supplies connection/schema/table in attached query
|
||||
buffers and timing in result buffers. No copied target state or credential URLs.
|
||||
These additions await the next user activation; they are indicators, not access
|
||||
controls. Lua syntax and whitespace checked; no company-service calls or tests.
|
||||
|
||||
Access isolation explicitly deferred by the user. Separate read-only credentials
|
||||
for agents are the eventual direction, but cannot be created now. Root remains
|
||||
tools-only; the workbench child supplies both human credential environments.
|
||||
Existing agent restrictions remain. Do not revisit isolation as a prerequisite
|
||||
for unrelated work or silently broaden access.
|
||||
|
||||
Current focus: the bigger picture, not further API/database polish. Revisited the
|
||||
idea inbox. Proposed areas for exploration, not a committed implementation plan:
|
||||
places and ownership; navigation and interaction; human/agent collaboration;
|
||||
system operation and maintenance. Start with places because they establish the
|
||||
context that launchers, editors and agents enter.
|
||||
|
||||
User clarification: work is mostly project-based, not organized into topics or
|
||||
investigations; relevant project material mostly stays in the repository. Notes
|
||||
are mostly meeting notes so far. Do not add investigation folders or outer project
|
||||
containers without a concrete need.
|
||||
|
||||
Approved relocation completed: `~/dev/work` moved directly to `~/yookr/projects`,
|
||||
including `.archive` and `.worktrees`; remaining `~/dev` renamed `~/projects`,
|
||||
retaining `own`, `ext`, `forks`. No compatibility links. Repaired the three linked
|
||||
worktrees in yookr-dashboard and yookr-dashboard-new with native Git repair;
|
||||
all three resolve at their new paths. Updated company README/AGENTS references.
|
||||
Walker roots, XDG projects path and Git identity rules updated in Nix. The new
|
||||
XDG projects path is now active. Existing shells and path-dependent development environments
|
||||
may need reopening/recreation; no caches or project files were rewritten.
|
||||
|
||||
User requested removal of Bruno collections and their Syncthing configuration.
|
||||
Stopped the local Syncthing service before moving `~/dev/bruno` to Trash
|
||||
(recoverable); removed its folder entry from shared Nix configuration. Other
|
||||
devices' files were not touched. Syncthing was stopped for the move and has since
|
||||
resumed (observed active on the following turn).
|
||||
Only zenith's filesystem was migrated; other hosts need their own relocation
|
||||
before adopting the shared project-path change. Nix files formatted; worktree
|
||||
paths and whitespace checked. No tests or remote repository changes.
|
||||
|
||||
Notes entry: existing Neovim `Space n f` finds notes, `Space n n` creates one,
|
||||
and `Space n t` finds tags. Niri `Mod+N` opens a daily note. Added a standard
|
||||
Notes desktop entry, discoverable through Walker, opening `~/sync/notes` in
|
||||
terminal Neovim. This neutral entry uses existing file/text search (`Space s f`,
|
||||
`Space s g`) and note commands, without creating a daily note. Pending activation.
|
||||
No new search provider, shortcuts, templates or note directories. Notes placement
|
||||
and existing daily-note behavior unchanged; agent isolation remains deferred.
|
||||
|
||||
Current exploration: agent-session navigation. Agent-deck 1.15.0 is already
|
||||
installed alongside Herdr and tmux; do not plan installation from stale notes.
|
||||
Its installed help provides session search, attach and Ctrl+Q detach, plus native
|
||||
project-path sessions and optional groups. No sessions were started, inspected,
|
||||
stopped or migrated. Asked the user whether they have tried it and what feels good
|
||||
or awkward before changing bindings or selecting it as Herdr's replacement.
|
||||
|
||||
Proposed division of responsibility: Walker enters a place/application, Niri
|
||||
navigates visible windows, the session manager finds and resumes agent work.
|
||||
Avoid mirroring the whole session list into another launcher or forcing a group
|
||||
hierarchy before actual use. Agent isolation remains deferred.
|
||||
|
||||
Command cleanup complete: archived the workbench justfile, custom mail reader,
|
||||
discovery pilot and old README in its `.archive/`. Removed the obsolete command
|
||||
catalogue check and bubblewrap/Python/just shell dependencies. The shorter README
|
||||
documents native Garden target/session setup followed by ordinary kubectl or K9s,
|
||||
fixes product-repository links after relocation, and marks mail search unresolved.
|
||||
No credentials, mail or remote systems were accessed. Files are recoverable in the
|
||||
archive; no replacement wrapper or index was introduced.
|
||||
Workbench `nix flake check --no-build --quiet` and whitespace checking passed.
|
||||
|
||||
Iteration setup: all five previous docs moved under `docs/.archive/`, retaining
|
||||
their relative layout. Prior editor, AI and SharePoint implementation changes
|
||||
remain; consult their owners when those areas become active.
|
||||
Notes placement and further company material organization remain open. Work is
|
||||
mostly project-based and notes mostly meetings; do not impose investigation
|
||||
folders, outer project containers or company-wide editor search without a need.
|
||||
@@ -42,11 +42,13 @@ use a flake to declare its tools without Nix owning the surrounding workspace.
|
||||
- Yookr workbench is an investigation environment, not a product repository.
|
||||
Its placement and versioning can be considered separately.
|
||||
- Accepted direction: workbench supplies the environment at the company-workspace
|
||||
root. Its maintained tooling and reusable HTTP/SQL files still need a clear home;
|
||||
root. Its reusable requests live in `workbench/http/` and queries in
|
||||
`workbench/databases/`, grouped by service/database;
|
||||
the company root need not itself be a Git repository.
|
||||
- Expose native capabilities and useful context rather than a menu of predetermined
|
||||
investigations. The user rejects the current `k8s-inventory` and custom `mail`
|
||||
direction. API/database organization and broader system access remain exploratory.
|
||||
investigations. The custom inventory and mail helpers are archived; native
|
||||
Garden/kubectl/K9s own the documented Kubernetes workflow. Mail retrieval and
|
||||
broader system access remain exploratory.
|
||||
- Accepted interaction direction: find HTTP requests by service; start database
|
||||
exploration from a named connection. Keep targets visible and use the existing
|
||||
execution vocabulary. Working queries should survive restart without automatically
|
||||
|
||||
Reference in new issue
Block a user