# Session 0079.0 — Transcript > App: ohm > Start: 2026-06-06T00-49 (PST) > End: 2026-06-06T11-44 (PST) > Type: discovery > Status: **FINALIZED** > Driver model: Claude Opus 4.8 (1M) ## Launch prompt > "Do you think we can use tags to do what I was planning with BDD releases? > Ideally we can tag both what the feature of a BDD scenario is, but also allow > people to manage release tags. The tag functionality would have to get much > more integrated into the UX (tag management, tag types/templates [e.g. add a > 'release' type of tag to the BDD project and when a new 'release' tag is created, > it follows conventions set in the definition of the release tag], filtering in > the left pane, workflow for tagging/untagging content)" — opened via > `/superpowers:brainstorming`. ## Outcome (one line) A **discovery** session that produced and landed a Solution Design — `docs/design/2026-06-06-configurable-collection-metadata.md` (rfc-app **PR #26**, v0.1.6) — and, in the course of writing it, substantially **revised the canonical Solution Design standard** (engineering GUIDE/TEMPLATE + handbook §7, **PR #14**). ## Pre-state - Opened on rfc-app `main`; baseline clean at claim. A live **concurrent session** (0078/0083 lineage) shared the canonical checkout — the §5.4 worktree hazard was in force the whole session. - The "BDD releases" plan existed only in the operator's head; no design in-repo. The retired **BDD Release Planner** (`wiggleverse-ecomm-bdd-release-planner-app`) was the reference: it clustered scenarios into named releases, attaching priority/owner/status, emitting a `RELEASE-PLAN.md` roadmap. §22 absorbed its *corpus hosting* but not its *annotation* half. ## The arc 1. **Session gate** → classified as discovery; `wgl-session-discovery-init` claimed 0079 (warned about in-flight 0078, proceeded autonomously). 2. **Brainstorming** (visual companion accepted; mockups under `.superpowers/`). Explored: tags today are free-form `tags_json` with no filtering; BDD = a collection `type`; "BDD releases" = the retired planner's job. Operator pointed at `ecomm-meta/research/shopify` (the ~1,238-scenario corpus, one file per scenario, slug = `DD-FF-NNNN`). 3. **Design decisions** (all operator-confirmed): release ordering/ship/roadmap → **out** (downstream); **Approach A** one generic typed-field system; metadata grain = per-entry; schema in `.collection.yaml` `fields:`; values in **clean `.meta.yaml` sidecars**; faceted left-pane filtering with counts; single+bulk **direct-commit** tagging; in-app field management deferred. 4. **Spec written** to the Solution Design standard (v0.1.0), committed. 5. **Standard-shaping iterations** (operator drove a series of refinements to the spec *and* the canonical template/guide): value-only Executive Summary → Pain Points section → business-not-solution Outcomes → solution-agnostic Business Use Cases (concierge-fulfillable) → split Business Actors / Product Personas → **two-part front** (§1 Business Context solution-agnostic + §2 Solution Proposal, may be non-software) → Business Actors moved ahead of the roles they're referenced by. 6. **Superseded** the parallel `2026-06-06-per-type-surfaces.md` draft: harvested its validation seam, malformed-flag, unknown-fields-ride-along, engine-unchanged rule, N=1 backcompat; kept bdd coverage as a **future** `ref`-field surface; added **SLICE-0** to amend the binding `SPEC.md` §22.4a. 7. **Process Q&A** → canonized a **per-slice execution convention** (one slice = one coding session, `writing-plans → executing-plans`, plan just-in-time) into the spec §7.1, the Solution Design guide/template §7.1, and **handbook §7**. 8. **Finalize** → discovered the worktree hazard (below), recovered, landed both PRs via the Gitea API. ## The worktree-hazard recovery (the notable wrong-turn) Partway through, the live concurrent session switched the shared checkout onto `main`. As a result **5 of my 6 spec commits landed on local `main`** (ahead-5), not on the feature branch (which held only the first commit). Content was always safe. Recovery (pointer-only / origin-side, to avoid disrupting the live session): `git branch -f docs/collection-metadata-design ` → push → Gitea-API PR **#26** → merge. **Local `main` left ahead-5** for the concurrent session to resync; the untracked `corpus-tree` design files (not mine) were left untouched. Lesson reconfirmed: parallel sessions on rfc-app must use isolated worktrees. ## Artifacts landed - **rfc-app PR #26** → `origin/main`: `docs/design/2026-06-06-configurable-collection-metadata.md` (v0.1.6) + supersede banner on `2026-06-06-per-type-surfaces.md`. - **engineering PR #14** → `origin/main`: `solution-design/GUIDE.md`, `solution-design/TEMPLATE.md`, `README.md` (handbook §7). - Memory: updated `project_rfc_app_multiproject.md` (Next /goal → SLICE-0 landed); new `solution-design-authoring-principles.md` (the standard's rules). ## Deferred decisions - **Holding all pushes/PRs for operator review** rather than auto-landing (autonomous default would land). Resolved at finalize: operator said merge now. - No other low-confidence calls — every structural/standard decision was the operator's explicit choice. ## Cut state - Both PRs merged; spec + standard on their `origin/main`s. - rfc-app local `main` is **ahead-5** of origin (pending the concurrent session's resync) — intentional, not touched. - No code written this session (discovery only). The build starts at SLICE-0. ## Next-session prompt ``` /goal Implement SLICE-0 of docs/design/2026-06-06-configurable-collection-metadata.md §7 — amend binding SPEC.md §22.4a so the entry schema is collection-configured .meta.yaml sidecar fields (not type-driven frontmatter), defer item-3 surfaces (bdd coverage = future ref surface), confirm the per-type-surfaces supersede, add the §20 changelog (doc-only). Then SLICE-1 (sidecar storage + dual-read + migration + malformed flag). Read memory project_rfc_app_multiproject.md first. Use an ISOLATED WORKTREE (§5.4) — a concurrent session shares the rfc-app checkout and local main is ahead-5. ```