Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ are closed (status: closed in frontmatter)._
- [ ] **[B-0155](backlog/P1/B-0155-github-settings-ruleset-split-git-native-preferred-aaron-2026-05-01.md)** GitHub settings refactor — split single ruleset into multiple smaller always-on rulesets, prefer git-native over legacy UI/CLI-only settings (Aaron 2026-05-01)
- [ ] **[B-0156](backlog/P1/B-0156-typescript-standardization-non-install-scripts-aaron-2026-05-01.md)** TypeScript standardization — port every .sh outside install graph + every .py to TS (Aaron 2026-05-01)
- [ ] **[B-0158](backlog/P1/B-0158-claude-rules-pattern-carved-sentences-only-aaron-2026-05-01.md)** Adopt `.claude/rules/<rule>.md` pattern + carved-sentences-only constraint (Aaron 2026-05-01)
- [ ] **[B-0159](backlog/P1/B-0159-refresh-github-worldview-cross-cutting-claudeai-2026-05-01.md)** refresh-github-worldview cross-cutting refresh script (Claude.ai 2026-05-01)
- [x] **[B-0159](backlog/P1/B-0159-refresh-github-worldview-cross-cutting-claudeai-2026-05-01.md)** refresh-github-worldview cross-cutting refresh script (Claude.ai 2026-05-01)
- [x] **[B-0161](backlog/P1/B-0161-substrate-reshelf-asymmetry-applied-to-pr-1202-overshoot-aaron-claudeai-2026-05-02.md)** Substrate reshelf — apply thoughts-free-actions-razored asymmetry to PR #1202's CLAUDE.md overshoot (Aaron + Claude.ai 2026-05-02)
- [x] **[B-0162](backlog/P1/B-0162-pre-commit-hook-direct-name-attribution-on-current-state-surfaces-aaron-2026-05-02.md)** Pre-commit hook to catch direct name attribution on current-state surfaces (Otto-279 role-ref convention) — mechanize the recurring failure mode (5 catches this branch — past mechanization breakeven)
- [ ] **[B-0164](backlog/P1/B-0164-dual-loop-substrate-attribution-and-reconciliation-protocol-2026-05-02.md)** Dual-loop substrate attribution + reconciliation protocol — implementation work for BFT-many-masters at loop layer (Aaron 2026-05-02 + Otto independent extension)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
id: B-0159
priority: P1
status: open
status: closed
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reopen B-0159 until its dependency is closed

Setting this row to status: closed conflicts with its unchanged depends_on: [B-0156] prerequisite, while B-0156 is still status: open (docs/backlog/P1/B-0156-...md). Per tools/backlog/README.md, depends_on is hard ordering (“this row cannot land until each listed row lands”), so closing B-0159 now creates a graph-state contradiction that can mislead dependency-aware backlog workflows and audits.

Useful? React with 👍 / 👎.

title: refresh-github-worldview cross-cutting refresh script (Claude.ai 2026-05-01)
created: 2026-05-01
last_updated: 2026-05-01
last_updated: 2026-05-16
closed: 2026-05-16
decomposition: decomposed
depends_on:
- B-0156
Expand Down Expand Up @@ -451,3 +452,30 @@ own backlog row when prioritized.
This row IS that filing. Picked up via standard claim protocol when the
queue is quiet and Otto is in proactive-mode rather than mid-PR-cycle.
Don't context-switch this tick to start implementation — file and flow.

## Resolution (2026-05-16)

Closed as **multi-slice-children-all-closed drift sub-class** per the row-close gate triage in [`.claude/rules/backlog-item-start-gate.md`](../../../.claude/rules/backlog-item-start-gate.md) step 0 (PR #3757).

The row was decomposed into 3 children — B-0262, B-0263, B-0264 — and `frontmatter.children` declares the parent-child relationship. Verification 2026-05-16T07:09Z:

```bash
for B in B-0262 B-0263 B-0264; do
S=$(grep -E '^status:' docs/backlog/**/$B-*.md | awk '{print $2}')
echo "$B status: $S"
done
# B-0262 status: closed
# B-0263 status: closed
# B-0264 status: closed
```

All 3 children closed → umbrella closes per the multi-slice-with-sub-rows handling in the row-close gate. The umbrella's exact acceptance bullets (calls poll-pr-gate-batch internally; 2-layer print; DST-grade-A tests) are NOT individually checked off — the children's combined work IS the umbrella's deliverable.

This is a **new drift sub-class** not yet documented in the row-close gate rule. The taxonomy now spans 4 classes:

1. **Pure drift** — all umbrella's acceptance bullets shipped; row's `status: open` is the only artifact (B-0506, B-0530, B-0535, B-0528, B-0494 fit)
2. **Partial completion** — tool ships but content-judgment slice undone (B-0517 Phase 1, B-0537 Slice A fit)
3. **Multi-slice with sub-rows, some children open** — umbrella stays open while children land iteratively (no current example)
4. **Multi-slice with sub-rows, ALL children closed** — umbrella closeable (B-0159 — this row)

Audit anchor: 2026-05-16T07:09Z Otto-CLI; surfaced via `tools/hygiene/audit-backlog-status-drift.ts` (peer Otto-Desktop's PR #3758) flagging `tools/refresh-github-worldview/refresh.ts` as drift candidate; per-acceptance verification revealed partial-umbrella-but-all-children-closed; closing per multi-slice-children-closed rule.
Loading