chore: save session memories via bd remember
Captures three insights from 2026-04-16 deep review session: - review-methodology-scoped-explore-agents - compiler-exhaustiveness-theme - agent-issue-drift-pattern Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@ -115,8 +115,11 @@
|
||||
{"id":"improvise-kh8","title":"Phase 4: Landing page (optional)","description":"Create docs/index.html with embedded asciinema casts and enable GitHub Pages. Optional but recommended for launch.","status":"open","priority":4,"issue_type":"feature","owner":"el-github@elangley.org","created_at":"2026-04-09T04:05:53Z","created_by":"Edward Langley","updated_at":"2026-04-09T06:38:02Z","dependencies":[{"issue_id":"improvise-kh8","depends_on_id":"improvise-3gy","type":"blocks","created_at":"2026-04-08T23:37:42Z","created_by":"Edward Langley","metadata":"{}"},{"issue_id":"improvise-kh8","depends_on_id":"improvise-e61","type":"blocks","created_at":"2026-04-08T23:37:41Z","created_by":"Edward Langley","metadata":"{}"}],"dependency_count":2,"dependent_count":0,"comment_count":0}
|
||||
{"_type":"memory","key":"app-new-calls-recompute-formulas-before-building-initial","value":"App::new calls recompute_formulas before building initial layout so formula values appear on first frame. render() test helper also calls recompute_formulas."}
|
||||
{"_type":"memory","key":"dynamic-measure-formula-targets-are-dynamically-included-via","value":"Dynamic _Measure: formula targets are dynamically included via Model::measure_item_names() and effective_item_names(). add_formula no longer adds items to _Measure category. find_item_category falls back to formula targets. CommitFormula defaults target_category to _Measure."}
|
||||
{"_type":"memory","key":"keymap-parent-inheritance-added-linked-list-of-keymaps","value":"Keymap parent inheritance added (linked list of keymaps). All minibuffer modes use Binding::Sequence for Enter and Esc to include clear-buffer command. ClearBufferCmd registered in registry."}
|
||||
{"_type":"memory","key":"persistence-index-and-dim-categories-are-never-written","value":"Persistence: _Index and _Dim categories are never written to .improv files. _Measure only persists non-formula items. Formulas targeting _Measure omit the [_Measure] suffix (it's the default). Parser defaults to _Measure when no [Category] suffix present."}
|
||||
{"_type":"memory","key":"drillintocell-strips-measure-coordinate-from-drill-key-when","value":"DrillIntoCell strips _Measure coordinate from drill key when it matches a formula target, so matching_cells finds raw data records instead of returning empty."}
|
||||
{"_type":"memory","key":"gen-grammar-example-generates-random-valid-improv-content","value":"gen-grammar example: generates random valid .improv content from pest grammar rules. Uses word pools for realistic output. pretty-print example: parses stdin and prints formatted output. Both in examples/ directory."}
|
||||
{"_type":"memory","key":"lib-rs-created-to-enable-examples-to-import","value":"lib.rs created to enable examples to import from improvise crate. main.rs uses 'use improvise::*' instead of mod declarations."}
|
||||
{"_type":"memory","key":"compiler-exhaustiveness-theme","value":"Running theme across the 2026-04-16 refactor backlog: the compilers exhaustive-match check is being bypassed. (1) string compares against virtual-category names (improvise-2lh); (2) registered command names as strings vs Cmd::name() (improvise-9cn, improvise-61f); (3) minibuffer buffer_key strings threaded through 7 AppMode constructors vs command lookups (improvise-k8h); (4) AppMode per-variant logic scattered across 52 match sites in 8 files (improvise-2hi); (5) duplicated Axis display matches in tile_bar + category_panel (improvise-rml). Common fix: push dispatch onto a method on the enum/type so the exhaustive match has one home."}
|
||||
{"_type":"memory","key":"drillintocell-strips-measure-coordinate-from-drill-key-when","value":"DrillIntoCell strips _Measure coordinate from drill key when it matches a formula target, so matching_cells finds raw data records instead of returning empty."}
|
||||
{"_type":"memory","key":"persistence-index-and-dim-categories-are-never-written","value":"Persistence: _Index and _Dim categories are never written to .improv files. _Measure only persists non-formula items. Formulas targeting _Measure omit the [_Measure] suffix (it's the default). Parser defaults to _Measure when no [Category] suffix present."}
|
||||
{"_type":"memory","key":"review-methodology-scoped-explore-agents","value":"Deep-review batches work best with narrowly-scoped Explore agents (one per layer/principle lens: model+formula, command+ui, persistence+import, LoD violations, OCP violations). Prompt each with: (1) specific files with sizes, (2) the lens/principle to apply, (3) exactly how to report (count + file:line refs, prioritized, ~800 words). Parallel launches worked cleanly when file scopes did not overlap. Session 2026-04-16 produced a ~20-issue backlog this way."}
|
||||
{"_type":"memory","key":"agent-issue-drift-pattern","value":"Beads issues created by agents (owner 'spot') can duplicate users actively in-progress work. Example 2026-04-16: improvise-dwe (Split App into AppState + App wrapper) was a coarser restatement of improvise-vb4 (Split AppState into ModelState + ViewState) which was already in_progress and assigned to the user; dwe was filed 2 days later by an agent unaware of vb4. Before filing a structural refactor, run bd search for keywords from its core concept AND check in_progress issues."}
|
||||
{"_type":"memory","key":"keymap-parent-inheritance-added-linked-list-of-keymaps","value":"Keymap parent inheritance added (linked list of keymaps). All minibuffer modes use Binding::Sequence for Enter and Esc to include clear-buffer command. ClearBufferCmd registered in registry."}
|
||||
|
||||
Reference in New Issue
Block a user