Task: Deep refinement 1 — 2026-08-05

Table of Contents

This page documents a task in the Backlog deep refinement story. It captures the goal, current status, acceptance, and any notes or results.

Goal

(Describe what user-visible-or-internal change this task produces.)

Status

Field Value
State DONE
Parent story Backlog deep refinement
Now Nothing.
Waiting on Nothing.
Next Next deep run should focus on next-bucket deduplication and staleness.
Last touched 2026-08-06

Acceptance

Plan

(Implementation strategy. Written when work starts; key decisions are distilled into the parent story's * Decisions at close, but the plan itself stays — it is the historical record of what we did.)

Notes

Test Scenarios

Manual QA scenarios (scaffolded via compass add test_scenario, run through the QA Validation Runner panel) that verify this task. Link new ones here as they're created; the scenario doc itself links back via its "Verifies task" field.

Scenario State Notes
     

PRs

PR Title
   

Review

Comment summary File Decision Notes
       

Result

Run on 2026-08-05 (completed 2026-08-06)

First deep backlog refinement run. Processed all ~130 individual inbox captures, triaged them into next/deferred/discarded, consolidated 20 related captures into 6 grouped captures, and moved 8 BACKLOG story folders from inbox to next. A light spot-check of next and deferred was made but a full audit of those buckets was not done — deferred to a future run.

Before / after

Bucket Before After Notes
inbox 130+ 6 0 individual captures remain; 6 STARTED story folders left in place (actively worked on)
next 249 ~370 Net growth from inbox triage + consolidations
deferred 201 ~215 Net growth from selective deferral of long-horizon captures

Captures discarded (resolved by sprint 25 work)

Capture Resolved by
Flaky nightly-only test: mint_token TTL Hotfix: JWT TTL — DONE 2026-08-04
FX Spot Monitor stuck pending FX Spot wire-codec root cause — DONE 2026-08-04
ores.iam tests fail on main Stale — captured 2026-07-30, predates IAM work; if still reproducible needs fresh repro steps
calendar_rules FK references nonexistent id column Already fixed on main — line 96 now reads code = NEW.calendar_code
ccache stale objects on codegen rename Resolved by migration to btrfs — per user confirmation

Duplicates merged / consolidated

Kept Absorbed Notes
Commission remaining ores.qt components into codegen 7× commission_qt_*_codegen stories (admin, analytics, compute, marketdata, synthetic, trading, workspace) All seven were near-identical stories carried from Sprint 24. Consolidated into one capture with component list.
Add CLI, HTTP, shell, and Wt layer generation to codegen 9× per-entity-per-layer captures (CLI/HTTP/shell/Wt for contact_type, purpose_type, business_centre; CRM topology combined) Root cause is codegen has no profiles for these layers. Per-entity captures are placeholder symptoms. This capture notes the gap and says to split into per-layer stories.
qa-validation-runner-followups 4× QA Runner captures (auto-crop, delayed screenshot, unsaved warning, multi-client ownership) Related improvements to the same widget.
business-unit-ui-followups 3× business unit captures (centre combo, badges, live refresh) Related UI gaps on the same entity.
junction-codegen-template-followups 4× junction codegen captures (path/namespace, timestamp, messaging service, eventing) Related codegen template bugs for junction entities.
ir-curve-followups 2× IR curve captures (seed data incompatible, index family combo) Related IR curve bugs surfaced during sprint 25 work.

Bucket moves

All ~115 remaining individual inbox captures moved to next. Story folders:

Capture From To Why
calendar-list-pagination-followups inbox next BACKLOG story, ready for sprint planning
commission_remaining_dq_entities inbox next BACKLOG story
extend-oresmd-full-quote-type-coverage inbox next BACKLOG story, big feature
offload-services-to-wsl-host-cutover inbox next BACKLOG story, big infrastructure
rate-display-conventions inbox next BACKLOG story
refdata-composite-entity-audit inbox next BACKLOG story
retire_per_entity_history_dialogs inbox next BACKLOG story — Phase C rollout blocker
trade_blotter inbox next BACKLOG story — depends on workspaces

Deferred (selected — not exhaustive):

Capture From To Why
Calendar-aware term structure date preview inbox deferred Depends on business-day calendars which don't exist yet
Cross-platform service-install generators inbox deferred Windows/macOS deployment is long-horizon
Formalize codegen knobs as feature model inbox deferred Major MASD/MDE design work, long-horizon
GPU-batched stochastic processes inbox deferred Research investigation
In-app bug report feature inbox deferred Major feature, big scope
revisit_atomic_shared_ptr inbox deferred Waiting on macOS libc++ to implement C++20 atomic<shared_ptr<T>>

Sprint 25 candidates flagged

Approximately 25 captures were explicitly flagged as sprint-aligned during triage. Strongest candidates:

  • Codegen drift resolution: compound-key is_uuid, codegen RLS policy facet, codegen history-provider registrar, codegen NATS subject constants, refdata generated code stale vs templates, dynamic combo codegen drift, pagination-knob fragility, junction codegen template follow-ups, tenant_type has_tenant_id drift, history field mapper date mismatch, history mapper provenance fields, compound-key batch test gap, shared entity lookup tie-break, nullable validation not guarded
  • IR curves: expand stochastic IR process types, IR curve follow-ups, validator missing nullable-tenant pattern
  • Drift consolidation: fix component_overview.org drift, enforce component-level includes, fix validate_docs.sh warnings, SQL reachability validation, tag-based heading dispatch, codegen key columns doc update, unify duplicate HTTP clients
  • Controller decommission follow-up: drop controller service tables

Paperwork bugs found

None caused by this run. Pre-existing (from sprint audit):

  • 4 sprint stories have table state ≠ file state (BACKLOG vs STARTED)
  • 11 closed documents have non-empty Now fields

Skill bug found and fixed

The agile-refine-backlog skill's Step 7a scaffolded the deep-refinement story into doc/agile/product_backlog/ as a "standing home" — but stories being worked on belong in a sprint, not the product backlog. Fixed the skill to scaffold into the current sprint instead, matching the sprint-health-review pattern it modeled itself on. Story moved to doc/agile/versions/v0/sprint_25/backlog_deep_refinement/.

Compass limitation found

compass capture file <slug> discarded --reason "..." accepts a reason flag but does not store it in the discarded file or in discarded.org. The reason is printed to stdout and lost. This means discarded captures have no inline explanation of why they were discarded — a gap for future runs to be aware of. Manually editing each discarded file to add a reason line is possible but was not done in this run given the volume.

Summary

First deep refinement run: 130+ inbox captures triaged (0 individual captures remain), 8 BACKLOG story folders moved to next, 5 captures discarded as resolved, 20 consolidated into 6 grouped captures, ~10 captures deferred as genuinely long-horizon. Net inbox → next flow was the bulk of the work — most captures are valid, actionable ideas. Biggest finding: the backlog has accumulated ~370 next-bucket captures (well over the ≤20 heuristic), and a full audit of next and deferred was not attempted in this run. Next deep run should focus on deduplication and staleness in the next bucket specifically. The 25 sprint-aligned captures identified here are good input for the next sprint planning session.

Emacs 29.3 (Org mode 9.6.15)