docs: capture agent workflow decisions

This commit is contained in:
2026-10-19 02:41:41 -04:00
parent 63017f8e33
commit e41b8e3eb4
5 changed files with 90 additions and 12 deletions

View File

@@ -88,8 +88,6 @@
- Ariadne Rust tests are declared in Bazel `BUILD` files; do not add `[[test]]` entries to - Ariadne Rust tests are declared in Bazel `BUILD` files; do not add `[[test]]` entries to
`src/ariadne/Cargo.toml` unless explicitly requested. `src/ariadne/Cargo.toml` unless explicitly requested.
- In this monorepo, "dotfiles" refers to the dotfiles/NixOS configuration under `src/dotfiles/` and `configs/nixos/`. - In this monorepo, "dotfiles" refers to the dotfiles/NixOS configuration under `src/dotfiles/` and `configs/nixos/`.
- The flake does not currently define `formatter.x86_64-linux`.
Do not use `nix fmt` as a validation command until a formatter is added.
- The `fix` app passes its current directory to Deadnix. - The `fix` app passes its current directory to Deadnix.
Run `nix run .#fix` from the repository root so path exclusions match. Run `nix run .#fix` from the repository root so path exclusions match.
- Git pathspec searches started in a subdirectory default to that subtree. - Git pathspec searches started in a subdirectory default to that subtree.
@@ -113,3 +111,6 @@
- The default Pi model for NixOS user configuration is set in `configs/nixos/modules/shell/pi/default.nix`, not in vendored Pi source. - The default Pi model for NixOS user configuration is set in `configs/nixos/modules/shell/pi/default.nix`, not in vendored Pi source.
- The `monorepo` and `status` libraries do not have `README.md` files. - The `monorepo` and `status` libraries do not have `README.md` files.
- Check root and `src/skills/.pi/skills/` for enabled symlinks before removing a monorepo skill. - Check root and `src/skills/.pi/skills/` for enabled symlinks before removing a monorepo skill.
- Ariadne Rust source files live directly under `src/ariadne/`. The binary entry point is `ariadne_main.rs.
- Bazel build-style rules live under `src/skills/style/build/rules/`, not `src/skills/style/rules/`.
- Bazel passes arguments after `--` to the executed binary verbatim. A scaffold can define `//path` as a destination-path syntax.

View File

@@ -219,6 +219,15 @@
}, },
"active": "daab69fc3faab88f", "active": "daab69fc3faab88f",
"lastOpenFiles": [ "lastOpenFiles": [
"00 INBOX/ai/tldr-design.md",
"00 INBOX/ai/caps-escape-design.md",
"AGENTS.md",
"00 INBOX/ai/tldr-design-tree.md",
"00 INBOX/ai/grill-skill-design.md",
"03 wrk/tasks/0012-gitea-axi-pr-merge-guardrail.md",
"03 wrk/tasks/0011-gitea-axi-rust-migration.md",
"00 INBOX/ai/gitea-axi-pr-merge-guardrail.md",
"00 INBOX/ai/gitea-axi-rust-migration.md",
"00 INBOX/valheim progression.md", "00 INBOX/valheim progression.md",
"03 wrk/tasks/0010-fix-main-monitor-detection.md", "03 wrk/tasks/0010-fix-main-monitor-detection.md",
"00 INBOX/credits.md", "00 INBOX/credits.md",
@@ -236,15 +245,6 @@
"03 wrk/monorepo.md", "03 wrk/monorepo.md",
"03 wrk/tasks/0001-todo-cli.md", "03 wrk/tasks/0001-todo-cli.md",
"03 wrk/productivity.md", "03 wrk/productivity.md",
"99 meta/templates/task.md",
"03 wrk/dotfiles.md",
"03 wrk/machoke.md",
"03 wrk/falinks.md",
"03 wrk/ariadne.md",
"03 wrk/tasks/0005-modules-services-navidrome.md",
"03 wrk/tasks/0003-registry-homepage.md",
"03 wrk/tasks/0039-hosts-zeus-hardware-configuration.md",
"03 wrk/tasks/0030-dotfiles-hosts.md",
"03 wrk/tasks", "03 wrk/tasks",
"00 INBOX/let order name resolution.md~", "00 INBOX/let order name resolution.md~",
"00 INBOX/nix name resolution.md~", "00 INBOX/nix name resolution.md~",

View File

@@ -0,0 +1,39 @@
# Caps Escape Design
## Facts
- Commit `250b0b71f` removed `services.xserver.xkb.options` from the shared host module.
- The removed option was `caps:escape_shifted_capslock`.
- That XKB option maps Caps Lock to Escape.
- Shift+Caps Lock still enables Caps Lock.
- The shared host module configures Neogaia, Zeus, and Pikachu.
- Zeus has QMK firmware that provides equivalent keyboard behavior.
- Neogaia and Zeus enable `modules.host.cachyos` and `modules.desktop`.
- Pikachu enables neither module.
- `configs/nixos/hosts/neogaia/default.nix` directly sets Neogaia-specific hardware, networking, desktop application, and Waybar settings.
- The current configuration has no Caps Lock or Escape remapping.
- This session runs on Zeus, not Neogaia.
## Design Tree
- Restore Caps Lock behavior
- Scope the configuration
- Configure Neogaia only. ✓
- Select the mapping behavior.
- Restore `caps:escape_shifted_capslock`. ✓
- Set `services.xserver.xkb.options` in `configs/nixos/hosts/neogaia/default.nix`. ✓
- Define validation for Neogaia.
- Run static checks and manually verify both keys after deployment. ✓
- Stop after source and static validation. ✓
## Settled Decisions
1. Configure the mapping on Neogaia only.
2. Restore `caps:escape_shifted_capslock`.
3. Set `services.xserver.xkb.options` directly in Neogaia's host configuration.
4. Run static checks and manually verify both keys on Neogaia after deployment.
5. Stop after source and static validation.
## Frontier
None.

View File

@@ -0,0 +1,39 @@
# TL;DR command design
## Goal
Add a Pi command that summarizes the preceding agent response by default.
An explicit command argument identifies the source to summarize.
## Decision tree
- Command form and scope
- Settled: Create a project prompt template at `.pi/prompts/tldr.md`.
- Command interface
- Settled: Pass arguments through as a free-form source request.
- Default source selection
- Settled: Summarize the preceding agent response when no source request exists.
- Summary format and length
- Settled: Use a compact, format-free summary.
- Ambiguous-source behavior
- Settled: Add no special handling policy.
## Settled decisions
- **Q1 — Command form and scope:** Create a project prompt template.
- **Q2 — Explicit source interface:** Accept a free-form source request.
- **Default source selection:** Summarize the preceding agent response when the command has no arguments.
- **Q3 — Summary shape:** Use a compact, format-free summary.
- **Q4 — Unavailable source:** Add no special handling policy.
## Frontier
The frontier is empty.
## Shared understanding pending confirmation
The project gets a `/tldr` prompt command in `.pi/prompts/tldr.md`.
Without arguments, it summarizes the preceding agent response.
With arguments, it interprets them as a free-form source request.
It produces a compact summary with no fixed format.
The prompt adds no special policy for unavailable or unclear sources.

View File

@@ -29,7 +29,6 @@
# Migration # Migration
- [[technical-writing]] -> skill? - [[technical-writing]] -> skill?
- gitea-axi
- skills - skills
- claude-code/codebase-design - claude-code/codebase-design
- claude-code/implement - claude-code/implement