Bookmarks
Things to revisit later. Triaged via the session bookends (/save-progress,
/good-morning) and on demand.
- 2026-05-27 — Define effort levels for different tasks, possibly along with model overrides for commands (e.g., specify Haiku for cheap tasks, Opus for hard reasoning). Update 2026-06-02: the
model:skill frontmatter field does the per-skill override natively — accepts the same values as/model(orinherit), applies for the rest of the current turn, and isn't saved to settings. So model-per-skill is built-in, not a hack; it sits alongsidedisable-model-invocation/allowed-tools/disallowed-toolsas the per-skill config vocabulary. (Source: code.claude.com/docs/en/skills.) Update 2026-06-09 — intent sharpened (still parked). The aim is to push model/effort routing into the toolkit's substrate so skills/commands auto-pick the right tier instead of Brad hand-toggling (today he just sits on Opus 4.8 / High effort and flips things in Claude Code per session). Likely shape: sort the toolkit by cognitive weight — mechanical skills (relink, hygiene-check stamping, save-progress bookkeeping) pinned to a cheap/fast tier viamodel:frontmatter, reasoning-heavy partners (brainstorming,planning) left on Opus-High. Step one is a research/learning pass on best practices (model-routing patterns, when cheaper/faster tiers are safe, how others structure this) — Brad wants to do that reading first, before any design. Explicitly not now; parked until then. - 2026-05-27 — Commit-hash stamping on crawled artifacts (the per-run side of the metadata pattern, for Odin Codin' when it starts producing output).
- 2026-05-28 — Trial Claude Code's native Tasks (
TaskCreate/TaskUpdate/TaskGet/TaskList— the system that replaced TodoWrite in v2.1.16) for in-session multi-step work tracking, NOT as a bookmark replacement (bookmarks stay the durable, git-versioned, human-curated backlog). Today's personal-layer migration intopersonal/would've been a good candidate. Also evaluate whether it complementscurrent-plan.md's phase tracking. - 2026-05-28 / 2026-05-29 — Parallel execution & concurrent sessions (cluster). How Brad eventually multitasks across parallel Claude instances — human-in-the-loop, never autonomous (firm guardrail). Three facets:
- Open exploration: running multiple Claude windows / agents / workflows at once without context bleed, and how shared state (working-copy plan files, bookmarks, the
.meta/pattern — Tasks could be Seafile-synced, so machine-local isn't a hard blocker) coordinates sessions that can't see each other's context. Open questions: purpose-fit and concurrent-session conflicts. Brad is open to some form; flagged for a dedicated later discussion, not now. The settled advisory-subagent carve-out (now anAGENTS.mdconvention +README.mdphilosophy note as of 2026-06-12, originally settled in thecurrent-plan.mdcatalog — independent subagents allowed as read-only critique lenses, never autonomous) is the first concrete primitive here. - Concrete Odin Codin' reference (Phase 6): before designing OC's subagent layer (branch-crawler / source-verifier / decomposer), read superpowers'
subagent-driven-developmentanddispatching-parallel-agentsSKILL.md (github.com/obra/superpowers — verify paths, skills can execute code). Borrow the two-stage review gate and git-worktree isolation for conflict-free parallel work. Same family as the "agent teams" architectural bookmark incurrent-plan.md. - Worktree best-practice (researched 2026-06-04): git-worktree-per-agent is the settled industry primitive for parallel agents on one repo (isolate files, never share a working tree; merge one worktree at a time; ~3–5 agent practical ceiling). Claude Code supports it natively —
claude --worktree, theEnterWorktreetool,isolation: worktreesubagent frontmatter, with auto-cleanup; worktrees branch fromorigin/HEAD(fall back to localHEADwith no remote, or setworktree.baseRef: "head"). Recombination resolved 2026-06-04: the git-working-tree-discipline thread adoptedfinishing-a-development-branch's menu minus the PR option — local merge-back / keep / discard, which needs no remote and de-couples this from the deferred GitHub-remote question. (Detail incurrent-plan.md's "Git working-tree discipline" section.)
- Open exploration: running multiple Claude windows / agents / workflows at once without context bleed, and how shared state (working-copy plan files, bookmarks, the
- 2026-06-03 —
additionalDirectoriesto make Yggdrasil a first-class workspace root alongside an execution partner. When cwd is an execution partner like Odin Codin', the symlink architecture exposes Yggdrasil's skills/commands but not its repo files (current-plan.md, design docs, SKILL.md sources) — those prompt or need/add-dir. SettingadditionalDirectories: ["/var/projects/yggdrasil"]in the partner's per-project.claude/settings.jsonadds Yggdrasil's tree as a co-equal workspace root, so cross-layer work (executor reading/adapting the generic plan template, consulting the design partner's docs) has no per-file friction. Bonus: declaring it in the partner's own settings mirrors the composition / dependency-injection architecture — the dependent layer declares "Yggdrasil is first-class here." Relevant when wiring Odin Codin' symlinks (Phase 9) and the planning-altitudes generic→tailored handoff. Distinct from path-scopedRead()permission rules (which just pre-approve reads without adding a workspace root). Surfaced 2026-06-03 while wiring read whitelists during the planning-skill brainstorm. - 2026-06-03 — Generic fixed task-schema as a possible upper-layer (toolkit) feature. While designing Yggdrasil's
planningskill we chose the verifiable-outcome task anchor and rejected a generic fixed schema (every task fills Inputs / Action / Output / Verification fields) for Yggdrasil — too heavy/form-like for the domain-agnostic layer, and it fights the "scale detail to complexity" principle. But a rigid schema may genuinely fit a domain-driven toolkit one layer up (e.g. a code-crawling or budgeting toolkit where uniform task shape aids batch execution / verification). Revisit when building a toolkit's own domain-driven planning methodology — does its domain want the structure Yggdrasil's generic layer deliberately avoids? - 2026-06-03 — Web-research phase in the brainstorming/planning front end. Brad wants a research beat where — as part of the brainstorming phase — we search the web for best practices and ideas on how to approach the plan/design, then go back and forth discussing what we find before committing to an approach. A collaborative "survey the landscape" step early in design (likely an addition near brainstorming Step 1 Understand the Current Context, and/or the planning skill's front end). Relates to the existing
learning-new-skills"keep current" research machinery — reconcile when designing. (Meta-note: this item is itself a textbook tier-2 project-level future-enhancement parked item — an out-of-scope-for-now improvement to the already-built brainstorming skill — i.e. a live example of the very category we were defining when it surfaced.) - 2026-06-04 — How should the
## Session lessonsblock incurrent-plan.mdgrow / handle bloat? Today it just accumulates dated per-session blocks — no pruning or graduation defined. Checked the referenced public repos (2026-06-04): the pattern is Yggdrasil-native. superpowers (ourbrainstorming/writing-planssource) has no session-lessons/retrospective equivalent —brainstorminghas a per-design decision log,writing-plansa per-plan Self-Review, neither cross-session — and the antigravity community skills we touched don't either. So there's no external bloat-handling guidance to inherit; it's ours to design. Direction (Brad, 2026-06-04): treat session lessons with the same machinery as bookmarks — (1) the same dated entry format (- **YYYY-MM-DD** — …) rather than grouped per-session blocks; (2) the same accumulation-management rules (per-project bloat nudge / count thresholds); (3) the same graduation path — a proven lesson graduates up a layer (into AGENTS.md / CLAUDE.md as a durable convention) rather than living forever as narration; and (4) its own permanent append-only log for pruned lessons, mirroring the pruned-itemsarchive/archive idea in the parked-items design (one archive for bookmarks, a sibling one for session lessons). Net: session lessons and bookmarks become two instances of the same parked-item primitive — folds straight into the parked-items / bookmark-unification thread. Bloat is acceptable for now; revisit later, not urgent. (Same accumulating-list-hygiene family as the scratchpad-cleanliness item in the bookends cluster below.) — Design-resolved 2026-06-05: session lessons are now a List descendant (flat dated entries, nags, ~weekly review, graduate-up/archive exits) in the accumulating-list hygiene design (working/2026-06-05-list-hygiene-design.md§5.2). Build pending. - 2026-06-04 — Hooks guarding the save/
/cleardiscipline (extracted 2026-06-10 from the now-archived "Bookends & doc-hygiene refactor" cluster — its command-structure and scratchpad-plumbing parts shipped in the list-hygiene/bookends build; its folder-layout part lives in the design-doc org-scheme bookmark). (a)PreCompacthook to alert when compaction is imminent (fires before manual/compactand auto-compact; input has atriggerfield =manual/auto) — reuse thebell.ps1terminal-notification pattern, and ontrigger: autonudge "save +/clearinstead" so it guards the/cleardiscipline. Also consider raising/disabling the auto-compact threshold via settings for full manual control. (b) optionalSessionStarthook to inject "read the plan" if hard enforcement is ever wanted (lower priority — the personal-CLAUDE.mdnote already covers the soft version). Verify exact hook-input schemas + the auto-compact config key against code.claude.com/docs (or the claude-code-guide agent) before wiring — names drift between versions;PreCompactlikely notifies/customizes but can't block compaction (the threshold setting is the real veto). - 2026-06-04 — A uniform repo-maintenance routine across all layer-repos (personal, Yggdrasil, each future toolkit) — not Yggdrasil-only. Apply the same git working-tree discipline (session worktree/branch, the merge-back/keep/discard disposition, doc-hygiene/consistency-check) consistently at every layer, including the personal layer. Sprang from the bookend-worktree-wiring Loose End 2 (cross-repo edits during a session: the disposition menu only governs the session's primary repo, so the other layer-repos have no equivalent routine yet). Couples to the parked-items / bookmark-unification design and the now-shipped bookend/
/hygiene-checksystem (the old "Bookends & doc-hygiene refactor" cluster, now inarchive/bookmarks.md) — each layer is its own git-backed scope — bookmarks, plans, and now maintenance recur per-layer. Explore fresh when that thread resumes; don't half-design tired. Update 2026-06-09: thexrepo-*reserve-prefix decision (why cross-repo disposition is deferred) and the intended-usage design for the hypothetical future world (reach-in worktrees, multi-repo disposition, the pre-reach-in warning) are recorded in the list-hygiene plan's## Deferredsection (working/2026-06-08-list-hygiene-plan.md) — start there when this resumes. - 2026-06-05
[soon]— Research-reports hygiene. Define how learning-new-skills' optionalresearch/YYYY-MM-DD.mddated history files get managed / pruned / archived — they're the "dated-file cousin" of the Archive primitive (append-by-dated-file rather than append-within-a-file). Deferred follow-on from the accumulating-list hygiene design (working/2026-06-05-list-hygiene-design.md§10); rides with the/hygiene-checkbuild. (Consistency-check scratchpad hygiene — the other deferred Scratchpad item — shipped with the list-hygiene/bookends build:working/hygiene.mddrains toarchive/hygiene.md.) - 2026-06-05 — Promote
/scryinto a reusable personal-layer research command. Being built now as a puppet-mode-scoped command in Yggdrasil (Hugin-raven-themed: directed research, save topic summaries, store cloned repos + handed artifacts under a target's.puppet/<target>/research/dir). The name + concept are good enough to generalize later into a standalone personal-layer/scryreusable across any project, not just puppet mode. The puppet-scoped version is the prototype; lift the general-purpose research machinery (directed search, save-summary, clone-repo, hold-artifact) up to the personal layer once it has proven itself, decoupled from the puppet target's.puppet/plumbing. Surfaced 2026-06-05 while designing the/puppetcommand + its/scrycompanion. - 2026-06-06
[priority]—/puppet's/good-morningreuse is a latent major bug — replicate the needed bits inside/puppetinstead./puppetstep 2 bootstraps by readingcommands/good-morning.mdas text and following it./good-morningis designed but not yet built to gain session-worktree creation + a checkpoint/pin on entry; the moment that lands,/puppetwould inherit worktree-creation and a Yggdrasil checkpoint — directly violating puppet's own "No Yggdrasil checkpoint on the way in" gate, and pinning/committing Yggdrasil's plan during what is meant to be a read-only adoption of a foreign project. Fix direction (Brad's call 2026-06-06): stop reusing/good-morningwholesale; pull out only the bits puppet actually needs and replicate them inline in/puppet, decoupling puppet's bootstrap from good-morning's evolving bookend behavior. Note (clarified 2026-06-06): Brad wants to keep the full Yggdrasil bootstrap — loadingcurrent-plan.mdand inheriting Yggdrasil's skills/commands — so puppet sessions get recorded in Yggdrasil's logs/lessons; the bit to shed is good-morning's coming session-worktree creation (a read-only sandbox adoption must not spin a worktree), not the plan-load. Do this when the good-morning worktree/checkpoint work is built, or sooner. Surfaced in the 2026-06-06/puppetaudit. - 2026-06-06 — Review
/puppet's target-path →.puppet/<label>encoding for edge cases. The label is built by dropping the drive colon and hyphenating path separators (C:\Projects\XI-RE-VibeTesting→C-Projects-XI-RE-VibeTesting). Unhandled: spaces in paths, UNC paths (\\server\share), trailing separators, possible label collisions. Low concern for now (Brad's paths are clean) — bookmarked for review, not urgent. Surfaced in the 2026-06-06/puppetaudit. - 2026-06-06 — Give
/puppet(+/scry) a proper section-by-section design review / write-up — later, or as it evolves. The feature was designed in a now-cleared session (Brad was happy with the design at commit96153c1); a full formal write-up is deferred on purpose because puppet is expected to change a lot (lifespan open — may graduate into Odin Codin', may become its own thing). The design intents are recorded inworking/current-plan.md(the "Foreign-project adoption" section) so they survive/clear; this bookmark is for the eventual brainstorming-style walk + dated design doc once the design settles. Pairs with the[priority]good-morning-reuse fix and the scry→personal-layer move. Surfaced in the 2026-06-06/puppetaudit. - 2026-06-06 — Add a "fresh-eyes / zero-context" subagent review pass for durable docs (
current-plan.md, design-intent notes, handoff text). Both Brad and Claude habitually assume shared session context when writing/reading these updates, so phrasing that reads clearly now relies on inference a genuinely fresh Claude (post-/clear) can't reconstruct. Idea: dispatch a read-only subagent that reviews the doc/edit in isolation — it literally is a fresh run, having none of this session's context — and flags anything unclear or inference-dependent. Live example from today: the phrase "design intents which nearly evaporated with that/clear" — a fresh reader can guess "something was lost after a clear" but not what precisely, or why. This is a new review lens (zero-context clarity), kin to the Skeptic / User-Advocate / Steward / Constraint-Guardian lenses already in the Design-review lenses + Advisory subagents catalog entries (read-only critique subagents are explicitly allowed). Likely incorporation point: a/save-progresspre-commit pass that runs the fresh-eyes subagent over the checkpoint + plan edits before they're committed (and maybe/good-morningon the way back in); exact home open. Surfaced 2026-06-06 while recording the/puppetdesign intents. - 2026-06-06 — Revisit how design docs are saved & organized (general scheme). Today they land ad-hoc in
working/YYYY-MM-DD-<name>-design.md(e.g. list-hygiene) with no real structure — fine while there are only a couple. Worth a deliberate scheme as they accumulate: directory layout, naming, how a design doc relates to itscurrent-plan.mdpointer, where "intents recorded but not yet formalized" lives, lifecycle/archival. Subsumes the narrowerspecs/+plans/folder-layout idea (originally a bullet in the now-archived "Bookends & doc-hygiene refactor" cluster, inarchive/bookmarks.md) — this bookmark now owns that disposition. Low urgency (Brad: not worried right now, few docs yet). Surfaced 2026-06-06 while deciding where to record the/puppetdesign intents. Update 2026-06-09 (suffix sub-item DONE; org-scheme still open): the-design.md/-plan.mdsuffix-pairing is documented — both skills' save-sections now state it. Naming also settled: dateless while active (the design/plan pair shares the exact stem, e.g.list-hygiene-design.md↔list-hygiene-plan.md), with a date prepended only at archive time. Still open — the org-scheme proper: directory layout; the when-to-archive lifecycle (a design archives once its plan is executed; a plan archives once all fresh-session Confirm-bys pass — pairs with the planning skill's final-verification step); and where archived design/plan docs live. Take these up together. - 2026-06-06
[priority]— In-flight design can evaporate before it's ever persisted. Primary mode (the likely puppet case): a design drafted only in conversation, never written to disk — the session works the plan through to completion and the in-context draft simply never gets materialized, then dies on/clear. Our investigation matches this: no standalone puppet design file ever existed anywhere. Secondary mode: a design that was written but sits untracked / volatile — uncommitted (no git trace: not committed, not staged → no dangling blob), or living inside a session worktree a later disposition could discard. Either way, the only safety net was Seafile's server-side history, now being deprecated for GitHub — once it's gone, nothing catches this. Confirmed exhaustively for puppet (git commits/staging/dangling/stash/worktrees, live disk, Seafile write-fingerprint log + server trash): no design file ever existed; the rationale survived only via a later hand-salvage intocurrent-plan.mdprose. Interim guardrail (done 2026-06-06):/save-progressstep 1(a) sweep now prompts to materialize substantial in-conversation design as its own committedworking/YYYY-MM-DD-<name>-design.md, and to commit/capture anything in a volatile spot (uncommitted, or in a discardable worktree) before session end. Real fix: the planning skill (durable design/plan artifacts) + accumulating-list hygiene + bookends/doc-hygiene refactor — this is the stopgap + principle until those land. Cross-links: the design-doc organization-scheme bookmark (above), the now-archived bookends & doc-hygiene cluster (inarchive/bookmarks.md), the fresh-eyes pre-commit-pass bookmark, the git-working-tree-discipline section (worktree disposition), andworking/2026-06-05-list-hygiene-design.md. - 2026-06-06 — Scry clone hygiene: size / shallow / nested-
.git./scry's repo clones can be heavy (the 2026-06-06 test pulled Caradog-XI-View ≈124 MB + XiView ≈39 MB ≈ 163 MB into.puppet/.../research/repos/). Used--depth 1by judgment;scry.mddoesn't specify it. Open before settling (Brad: more consideration first): make--depth 1a documented default for asset-heavy repos? strip each clone's nested.gitwhen we only want assets (harmless since.puppet/is gitignored, but bulky)? any size cap / cleanup policy forresearch/repos/? Surfaced in the 2026-06-06/scrytest. - 2026-06-06 —
ghCLI on PATH + a new-machine-setup "Brad does this" STOP pattern. During the/scrytestghwas not on the Bash PATH (onlygit clone+WebSearchworked), so scry/source-fidelity must not hard-depend ongh— the scry URL-discovery edit now says "WebSearch, orghif available." Two follow-ups: (1) Brad addsghto PATH manually and verifies it himself — do not automate the PATH change. (2) Once a manual walkthrough nails the exact commands/paths, add a step to thenew-machine-setupplaybook that STOPs and tells Brad "this is what you need to do to getghon the PATH" with copy-paste commands. Generalizes to a reusable pattern: machine-level steps Claude can't/shouldn't perform get handed to the human as explicit copy-paste actions. Deferred until the walkthrough. Surfaced in the 2026-06-06/scrytest. - 2026-06-08 — Revisit the anti-rot aging thresholds (~14 days, uniform) after real use. The accumulating-list-hygiene design's per-item aging mechanism (§4 #8) surfaces items untouched past ~14 days as an informational "want a look?" signal across all live lists. 14d is a first guess picked 2026-06-08; revisit once I've actually lived with it and have a feel for whether it nags too often or lets things rot too long — possibly tier it by list heat instead of one uniform number. Soft trigger: after I've used the thresholds a while. Update 2026-06-19 — a second open question for the revisit: the
aged_countstamp is currently uncomputable because the aging convention is underspecified. The## Deferredsection says re-deferring an item resets its age clock, but for the lists (bookmarks especially) it's never defined whether appending an**Update YYYY-MM-DD:**to an existing entry resets that entry's clock. Many bookmarks carry old base dates (e.g. 2026-05-27) but recent**Update**stamps — so "untouched past ~14 days" has no single answer, and/hygiene-checkleft the bookmarkaged_countat0on the 2026-06-19 pass rather than guess. Settle the does-an-Update-reset-the-clock rule as part of this revisit, sinceaged_countis what/good-morningsurfaces as the aging signal — a wrong0silently suppresses it. Surfaced 2026-06-19 restamping the ledger during/hygiene-check. (Dogfood note: this bookmark is itself a soft-trigger deferral, parked via the very mechanism it's about.) - 2026-06-08 — Carry "git-backed by default" into the bookend worktree wiring. The
planningskill's "Isolate execution from the source of truth" section assumes plans are git-backed by default (most work wants revision history; most output is markdown — trivially git-friendly), falling back to the bare isolation kernel only when something genuinely can't live in git. The session-bookend worktree lifecycle (/good-morningcreate-or-resume,/save-progressmerge/keep/discard) is design-complete-but-unbuilt incurrent-plan.md("Git working-tree discipline" + "Bookend-worktree wiring") and was framed around git-backed work but never explicitly states the git-by-default assumption for non-code (markdown) projects. When that wiring is built, make git-by-default explicit there too, so a non-code plan still gets a worktree/branch + disposition rather than being treated as a non-git exception. Surfaced during the planning-skill wording walk. - 2026-06-08 → 2026-06-09
[priority]— Planning-skill improvements surfaced while dogfooding it on the list-hygiene build — fold back intoskills/planning/SKILL.md. Using the planning skill to build the list-hygiene plan surfaced concrete improvements to the skill itself; captured here so the dogfooding gains don't evaporate when that plan is archived. (1) Checkboxes /## Progresschecklist (subsumes the standalone 2026-06-08 checkbox bookmark) — we left checkboxes off the planning Task shape during the wording walk, but trialed a## Progresschecklist on the list-hygiene plan 2026-06-09 as a convenience index over the Confirm-bys and it worked; promote to the planning Task shape, with the rule that a checked box is a claim and the Confirm-by stays ground truth (a box can lie if work was discarded). (2) Resumption convention — frame execution as isolation and resumption: every Confirm-by is an idempotent disk-state check, so a task is done iff its Confirm-by passes and re-running is a no-op; a fresh post-/clearClaude resumes by walking from the top, skipping what already holds. Strong fit for the/clear-between-sessions workflow. (3) Final verification pass — a closing task that walks every Confirm-by against disk + re-runs the Self-Review consistency check on the built artifacts (plan-scoped cousin of the Phase-12 capstone). (4) Lens-audit token-cost note (also a 2026-06-09 session lesson) — subagent lens audits are token-expensive; the 3-way opt-in should carry an explicit cost note. (5) Ask commit cadence at execution start (trialed 2026-06-09 on the list-hygiene walk — worked well) — when beginning to walk a plan, the execution handoff should ask the user (viaAskUserQuestion) how they want commits handled — per-task / per-phase / on-request — then follow it without re-asking. A single up-front decision fits the low-friction + commits-are-the-human's-to-trigger conventions better than re-deciding each task; per-task gives the cleanest/clear-resumable checkpoints. Bake the question into the planning skill's execution-handoff section. (6) Confirm-bys need a "verify-by-walkthrough / first-real-use" fallback (surfaced 2026-06-09 executing the list-hygiene plan) — many Confirm-bys assumed a live run that couldn't happen at build time: cadence-gated steps weren't due, new commands weren't symlinked yet, and the bootstrap commands (/good-morning,/save-progress) can't run inside the very session/worktree they manage. The skill should bless verifying such a task by walkthrough + structural check (targets exist, wiring is sound) and deferring the live exercise to first real use, rather than implying every Confirm-by is a live invocation. Pairs with the final-verification step (item 3), which re-walks them. General mechanism worth naming: dogfooding a tool on real work surfaces improvements to the tool — capture them as scoped parked items against that tool so they feed a deliberate revision pass rather than getting lost in the work product. Do a planning-skill revision pass folding these in once the list-hygiene build is done (or sooner). - 2026-06-09 — Revisit git-permission pre-approval for the bookends (
/good-morning,/save-progress). Both were reverted toallowed-tools: [Read, Glob, Grep]during the C1/C2 rewrites (Brad's call, to avoid baking a permissions decision into the build), so their worktree git ops prompt each run rather than running pre-approved — good-morning'sgit worktree list/add/remove+git log/branch/status(the per-session worktree lifecycle), and save-progress's pin auto-commit + merge/keep/discard disposition (viagit -C). Decide later whether/how to pre-approve scoped git. Nuance for that review: permission rules are prefix matches, soBash(git worktree:*)won't match agit -C … worktreecommand — save-progress (which usesgit -C) would needBash(git:*), while good-morning could use per-subcommand rules if it runs bare git from the repo cwd. Surfaced 2026-06-09 during the C1/C2 bookend rewrites. - 2026-06-11 — If/when Yggdrasil is ever "published," name it
Vrataski.ai— after Sgt. Rita Vrataski (Emily Blunt) in Edge of Tomorrow (2014). The name encodes Yggdrasil's whole differentiating thesis vs. the autonomous-agent crowd: (1) human-driven augmentation, not autonomy. In the film, soldiers fight inside powered exosuit "jackets" — the human is in the suit, driving it; the tech amplifies the soldier rather than replacing them. That's the exact contrast with today's autonomous "agents" (the film's fully-autonomous war robots): Yggdrasil is the jacket — the human is always the driver, AI is the exosuit. (2) "Live, die, repeat" = iterative progress. Cage relives the same battle in a time loop, getting incrementally better each cycle until the goal is reached — a near-perfect metaphor for Yggdrasil's iterative, save-and-resume, each-session-moves-the-goal-forward workflow (and for agentic loops generally, done our human-in-the-loop way). Marketing-ready: a light, evocative identity that argues the philosophy rather than just labeling it. Pure naming/branding parking — no action until there's ever an appetite to publish/brand Yggdrasil (today it's a private dogfooding toolkit). Related: the backburner item "Public release of Yggdrasil and/or Odin Codin'" (2026-05-27) — this is the proposed name for that eventual release; the release decision itself stays backburnered until things stabilize. Surfaced 2026-06-11 while planning Kingdom.md. Update 2026-06-13 — Vrataski is being repurposed from an eventual rebrand into the name of a pivot: the direction now is to unify Yggdrasil, the personal layer, and the execution partners (Odin Codin' etc.) into one cohesive accessibility tool for neurodivergent people, and that unified thing is what Vrataski becomes. Thesis: the human-in-the-loop / never-autonomous design is what makes it an accessibility tool — it carries the executive-function execution load while leaving the person their agency and their own pace. Captured inworking/vrataski-vision.md(vision/charter, reviewed via/brainstorming2026-06-13) with a first-person external pitch inworking/vrataski-pitch.md. Still an idea document / aspirational direction, not a plan — foundations come first, and a proper/brainstormingpass on the pivot itself is the eventual next step. The name still encodes the same exosuit/human-driver thesis above; it now points at a direction, not just a future label. - 2026-06-18 — Fold Odin Codin' into Yggdrasil — it no longer needs to be a separate project. Brad's call (2026-06-18): absorb the Odin Codin' code-crawling workflow into Yggdrasil rather than keeping it as its own sibling repo/layer. Start as its own process after the Seafile retirement completes (the three-repo move to
C:\Projects\+ doc scrub). Interaction to respect: the Seafile work still relocates odin-codin as its own repo (C:\Projects\odin-codin\) — kept decoupled on purpose; this consolidation is a separate designed effort that decides the final structure. Worth a/brainstormingpass on what "folding in" means concretely: relocating OC's skills/agents/commands under Yggdrasil, the.meta/workflow.yamldependency declaration, whether the odin-codin repo is archived or merged-with-history, and re-evaluating the layered-toolkit framing (personal → Yggdrasil → execution partners) now that there's one fewer layer. Cross-ref the Vrataski "unify everything into one accessibility tool" direction (2026-06-13 update above) — same consolidation instinct. Surfaced 2026-06-18 during the Seafile-retirement brainstorm. - 2026-06-18 — Repurpose
AGENTS.mdas an external-facing doc; migrate internal-use conventions into an (auto-loading)CLAUDE.md; update/good-morningto match. Finding (2026-06-18, verified via the claude-code-guide agent against code.claude.com/docs/en/memory.md): Claude Code auto-loadsCLAUDE.md, neverAGENTS.md— AGENTS.md only enters context if@-imported into a CLAUDE.md or read explicitly. It's host/OS-independent (Claude Desktop and a future Ubuntu terminal run the same engine, same loading rules). Implication: Yggdrasil's conventions live inAGENTS.md, so they don't auto-load today — they reach context only because/good-morningreads AGENTS.md during orientation. Brad's direction (2026-06-18): keep AGENTS.md but re-aim it at non-Yggdrasil consumers (other agents/tools/people examining the project from the outside), and migrate internal conventions into a Yggdrasil-levelCLAUDE.md(auto-loaded, reliable) as needed. A minimalyggdrasil/CLAUDE.mdis being created now (in the Seafile-retirement work) carrying just the omit-Co-Author convention — the seed of this migration./good-morningneeds updating when this proceeds: its orientation step currently leans on reading AGENTS.md for conventions; once those auto-load via CLAUDE.md and AGENTS.md is external-facing, the orientation reading-list + rationale change. Pairs with the Odin-Codin'→Yggdrasil fold (above) and the Vrataski unification — all three reshape the layered-doc story. Separate effort, after Seafile retirement. Surfaced 2026-06-18 during the Seafile-retirement brainstorm. - 2026-06-19
[soon]— Spinmigrationinto aSYSTEM.mddocument (not a skill), designed as part of thecurrent-plan.md+ related-docs refactor. Decided mid-/brainstorming(2026-06-19) while designing thenew-machine-setupdisposition: instead of amigrationskill, capture "what each migration did and why" as a durableSYSTEM.mdsystem-of-record. Brad is working toward a broader refactor ofcurrent-plan.mdand related files, and SYSTEM.md should be shaped as part of that effort, not ad hoc — so two buckets park here until then: (a) the migration record (the what/why/how of the Windows→Linux move; source material = therelink.ps1/relocate-claude.ps1-era scripts +seafile-retirement-*/host-relocation-design.md), and (b) the fresh-host bootstrap (clone repos → set git identity → install settings snapshot → marketplace plugins → initial wiring; doubles as disaster-recovery / a future second host). Pairs tightly with the deferred "review the design ofcurrent-plan.mditself" (2026-06-09). Consequence fornew-machine-setup: its relink can extract to the newskill-wiringskill now, but its record + bootstrap content can't move until SYSTEM.md exists — so the skill stays in place (dormant, Windows-era) until this lands. Cleanup hook (added 2026-06-19, de-Windows sweep): the de-Windows rewrite left forward-references to the plannedSYSTEM.mdacross the swept docs —claude-personal/CLAUDE.md(### Repo layout & wiring+### Settings sync),claude-personal/claude-config/README.md(top blurb), andyggdrasil/working/current-plan.md(Hook infrastructure) all point bootstrap content at it — when SYSTEM.md is written,grep -rn "SYSTEM.md"across both repos and revisit each spot so the references point at a real doc, not a plan. Also decide SYSTEM.md's home then (left bare/pathless for now). Revival trigger (soft): when thecurrent-plan.md/docs refactor is taken up — "review soon." - 2026-06-19 — Permission-posture audit across the whole toolkit. Verify the manually-approve-all-but-narrow-writes/executions intent actually holds everywhere and nothing silently over-grants. Surfaced 2026-06-19 designing
skill-wiring, where a proposedallowed-tools: [Bash]would have pre-approved every bash execution (no prompt) — a direct contradiction of the posture. The rule (per thebookmarkingprecedent):allowed-toolslists the no-prompt pre-approved set; tools omitted still work but prompt each time. Scope: every skill + command frontmatter (allowed-tools/disallowed-tools/disable-model-invocation/user-invocable) acrossclaude-personal+yggdrasil; plussettings.jsonpermissions.allow(the read whitelist, the read-only git allows, the WebFetch domain allowlist) and the registered hooks — confirm each pre-approval is a deliberate narrow exception, not accumulated drift. Worth authoritatively pinning theallowed-toolssemantics (claude-code-guide / docs) as part of it. Revival trigger (soft): when there's appetite for a security/hygiene pass — pairs with the de-Windows sweep and thecurrent-plan.md/SYSTEM.mdrefactor as the toolkit-wide passes. - 2026-06-19 — Disposition convention for spent execution worklists / completed working-docs — and review
archive/de-windows-sweep.mdspecifically. The de-Windows sweep's worklist was parked atarchive/de-windows-sweep.mdon completion (2026-06-19), butarchive/is otherwise an append-only sink for the accumulating lists (one file per list kind, per its README) — a one-off spent working-doc doesn't fit that model, and the archive README index was deliberately not updated, so the file currently sits there outside the documented convention. Settle the proper home (doesarchive/also hold spent worklists/design docs under a new section? a separate settled-docs archive? delete-and-rely-on-git-history?) as part of thecurrent-plan.md/docs refactor, then either index or relocate that file accordingly. Pairs with the existing design-doc-archive TODO (move the planning-skill consolidated design + siblings once Yggdrasil is feature-complete) and the SYSTEM.md effort. Revival trigger (soft): when thecurrent-plan.md/docs refactor is taken up. - 2026-06-19 — Review the session-worktree process now that the work isn't a fleet of autonomous agents. The
session-*worktree lifecycle (/good-morningcreate/resume,/save-progressmerge/keep/discard) was inherited from superpowers, where it existed to isolate many parallel autonomous agents on one repo. Brad's actual usage is mostly single, human-in-the-loop sessions (often one repo, edited directly), so an always-on per-session worktree may be more ceremony than benefit. Concrete friction this session (Kingdom.md native standup): native serving requires editing the servedmaincheckout directly — aconfig/kingdom.phpchange inside a worktree wouldn't take effect — and juggling worktrees across kingdom.md + two concurrent yggdrasil sessions added overhead without the autonomy payoff the model was built for. To revisit: when is a worktree genuinely worth it (true parallel sessions, risky multi-step builds) vs. just working onmainor a plain branch? Should the bookends offer a worktree rather than always create one? A real re-think of an inherited assumption, not a tweak. Cross-refs the 2026-05-28/29 parallel-execution & concurrent-sessions cluster (and the worktree-best-practice notes there). Surfaced 2026-06-19 standing Kingdom.md up natively, while collapsing the kingdom.md worktree back tomain. Brad's lean (2026-06-20): as an interim direction, bias the bookends toward cleaning up (disposing) session worktrees on/save-progresswhen possible — keep should be the exception, not the default — pending this fuller re-think.