~/para/projects/astra-zeneca/dev/status/ and
dev/dotfiles/) to understand the existing BuJo+PARA+skills
pattern~/.config/agents/skills/ (also copied
to .agents/, .gemini/,
.config/amp/; claude symlinks to
.config/agents/)~/.config/agents/skills/; use $JORNAL
env var for portability; no beads integration~/para/areas/dev/gh/ak/journal/: moved
jornal/ entries into log/YYYY/YYYY-MM/,
laboratorio/ into resources/, added full PARA
dirs with _index.mdbin/sync with git commit provenance metadata in
deployed copies~/para/areas/jornal → repoCLAUDE.md → AGENTS.md$JORNAL in fish
(~/.config/fish/config.fish) and nushell
(~/.config/nushell/env.nu).agents/,
.gemini/, .config/amp/) to symlink to
.config/agents/skills/ via
incitaciones install; start using the skills in daily
workflow; populate projects/areas as work comes inskills/
→ resources/skills/, log/ →
areas/log/; updated all path references in skills,
AGENTS.md, bin/sync, zk configbin/build) for
terminal-style monospace renderingbin/generate-indexes for auto directory listings,
bin/generate-search-index + Lunr.js for client-side fuzzy
searchbin/template.html):
dark/light mode, breadcrumb navigation on every page, 80ch monospace
layoutbin/convert-org converts
.org → .md via pandoc at build time; build
uses staging copy to avoid mutating repoBASE_URL support for GitHub
Pages subpath (/journal).mise.toml): tools
(pandoc, zk) + tasks (build, serve, deploy, jrn, lab, etc.)incitaciones install; style tweaks if needed~/.claude/settings.json with
"model": "opus[1m]", env var ANTHROPIC_MODEL,
or CLI flag --modelopus[1m] (auto-upgrades)
and claude-opus-4-6[1m] (pinned version)~/.agents/, ~/.config/agents/,
~/.gemini/, ~/.config/amp/ → consolidated to
single source at ~/.config/agents/skills/~/.agents/skills,
~/.gemini/skills, ~/.config/amp/skills all now
symlink to ~/.config/agents/skills/ (claude already
did)install.sh: added
skills_dir_is_symlinked() check so install detects symlinks
and skips redundant copies; copy_skill_tree() now detects
same-dir copies; do_uninstall() respects symlinksinstalled-from: incitaciones,
installed-version: "<sha> (<date>)",
installed-at: "<ISO timestamp>"incitaciones/
subdirectory — not possible, Claude Code only discovers skills one level
deep (skills/<name>/SKILL.md)073aeb5openspec/specs/*/spec.md using the
composability-diagnostician skillDecision vs Outcome carriers, retry-to-cascade
signaling via :cascade?, unspecified best-candidate fold
semantics, overloaded generic Proposal lifecycle, and middleware
extension coupled to concrete layer names{:ok ...} | {:fault ...} | {:escalate ...}, make retry
exhaustion return explicit escalation results, formalize cascade
candidate selection as a deterministic associative fold with law-testing
requirements, and split Proposal handling into kind-specific lifecycle
ruleswai
artifacts, created a handoff, committed the smithy repo change as
afd75e7, and pushed it to origin/mainbd sync is not available in this
repo's bd binary (unknown command "sync")wai-54xo epic: Docs onboarding — explain the why behind
wai (P2)wai-3vno [A] Rewrite introduction.md as Why Wai?
pagewai-rt31 [B] Add Why? sections to concept docswai-79mc [C] Slim README to intro + install + quick
start + linkswai-16dj [D] Expand design principles with
exampleswai-ogf9 [E] Annotate quick-start with
why-this-mattersdolt_mode: embedded is the right default — server
mode's zombie problem is a known upstream issue with no reliable
fixbin/sync only deploys journal-owned skills, doesn't
touch existing dev skillsresources/skills/, logs in areas/log/BASE_URL env var controls site prefix (empty for local,
/journal for GH Pages)~/.config/agents/skills/ is the single canonical skills
directory; all tools symlink to itinstall.sh stamps version metadata (git sha, date,
timestamp) into installed SKILL.md frontmatter238497c)wai-54xo) with 5
sub-tasks: rewrite introduction ([A] wai-3vno), add Why? to
concept docs ([B] wai-rt31), slim README ([C]
wai-79mc), expand design principles ([D]
wai-16dj), annotate quick start ([E]
wai-ogf9)/issue-review (Rule of 5) on new tickets: found
inverted dependency direction, overlap between [A] and [D], missing
keep/remove list in [C]; fixed all.beads/dolt/wai/.dolt/noms/vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
had bad record at offset 17,956,304. Fix:
truncate -s 17956304 <journal-file> (backup first
with .bak)dolt sql-server but never cleans up on exit. Stale
.beads/dolt-server.port and
.beads/dolt/.dolt/sql-server.info files cause reconnection
failures. Fix: kill <pid> +
rm -f .beads/dolt-server.port .beads/dolt/.dolt/sql-server.info .beads/dolt/.dolt/noms/LOCK.beads/metadata.json from
"dolt_mode": "server" to
"dolt_mode": "embedded" — dolt runs in-process, no separate
server, no zombies, no port filesbd import .beads/issues.jsonl (422 issues), then fixed
backup jsonl schema (int-for-bool fields: ephemeral,
is_template, pinned, no_history,
archived) and imported 23 delta issues108f5e4When bd fails with "Dolt server unreachable" or
"database is locked":
# 1. Check for orphan dolt processes
ps aux | grep "dolt sql-server" | grep -v grep
# 2. Kill orphans (skip the global one at ~/.local/share/beads/)
kill <pid>
# 3. Clean stale state files
rm -f .beads/dolt-server.port .beads/dolt/.dolt/sql-server.info .beads/dolt/.dolt/noms/LOCK
# 4. Test
bd ready
# 5. Permanent fix: switch to embedded mode
# Edit .beads/metadata.json: "dolt_mode": "embedded"
# If database is empty after switch: bd import .beads/issues.jsonlIf the journal is corrupted ("invalid journal record length" in
.beads/dolt-server.log):
# Find corruption offset in log, backup, truncate
cp .beads/dolt/wai/.dolt/noms/vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv{,.bak}
truncate -s <offset> .beads/dolt/wai/.dolt/noms/vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvSessionStart and
PreCompact running bd prime +
wai statusbd prime after compaction to restore beads contextnotify-send
when Claude needs attention (permission prompts, idle)SessionEnd limitations: not blockable,
notification-only, Claude doesn't see the output; script must
self-generate any summary (e.g. parse transcript JSONL)