-
Notifications
You must be signed in to change notification settings - Fork 1
docs(backlog): decompose B-0090 into 4 smallest atomic dependency-ordered children (re-decomp, one bounded step) #2680
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
AceHack
merged 2 commits into
main
from
claim/b0090-decompose-smallest-atomic-children-riven-2026-05-11
May 11, 2026
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
docs/backlog/P2/B-0090.1-lost-substrate-3-bucket-classification-taxonomy.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| --- | ||
| id: B-0090.1 | ||
|
AceHack marked this conversation as resolved.
|
||
| priority: P2 | ||
| status: open | ||
| title: Lost-substrate 3-bucket classification taxonomy (ALREADY-COVERED / NEEDS-RECOVERY / OBSOLETE) | ||
| tier: factory-hygiene | ||
| effort: S | ||
| depends_on: [] | ||
| composes_with: [B-0090] | ||
| tags: [b0090-decomp, taxonomy, classification, lost-substrate] | ||
| type: friction-reducer | ||
|
AceHack marked this conversation as resolved.
|
||
| --- | ||
|
|
||
| # B-0090.1 — Lost-substrate 3-bucket classification taxonomy | ||
|
|
||
| ## Why this child exists | ||
|
|
||
| B-0090's Step 3 classification is the load-bearing primitive. Without a single, versioned, citable definition of the three buckets, every cycle reinvents the labels and drift appears. This row makes the taxonomy durable substrate before any scanner or cadence is built. | ||
|
|
||
| ## Atomic scope (S effort) | ||
|
|
||
| - Single source of truth (new file or section in GLOSSARY.md or docs/DRIFT-TAXONOMY.md extension). | ||
| - Exact bucket names + one-sentence operational definition + decision tree (1-2 if/else per bucket). | ||
| - Example from 2026-04-28 audit for each bucket. | ||
| - No tooling, no cadence, no scanners. | ||
|
|
||
| ## Dependency note | ||
|
|
||
| This is the first root. All other B-0090.* children depend on it for the shared vocabulary. Re-decomposition assumption: taxonomy may need a 4th bucket later (e.g. PARTIALLY-COVERED); keep it three for v1. | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - [ ] Taxonomy committed as durable file with §33 header. | ||
| - [ ] Decision tree fits on <20 lines. | ||
| - [ ] One concrete example per bucket from prior audit. | ||
| - [ ] No implementation beyond the definition. | ||
|
|
||
| ## Evidence | ||
|
|
||
| - Parent: docs/backlog/P2/B-0090-cadenced-lost-substrate-recovery-audit-aaron-2026-04-28.md | ||
| - Worked example memory: memory/feedback_lost_substrate_recovery_cadenced_trajectory_aaron_2026_04_28.md | ||
|
|
||
| Co-Authored-By: Grok <noreply@x.ai> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| --- | ||
| id: B-0090.2 | ||
| priority: P2 | ||
| status: open | ||
| title: Worktree-branch delta audit (locked .claude/worktrees/ only, last-N-days) | ||
| tier: factory-hygiene | ||
| effort: S | ||
| depends_on: [B-0090.1] | ||
| composes_with: [B-0090] | ||
| tags: [b0090-decomp, worktree, delta-scan, lost-substrate] | ||
| type: friction-reducer | ||
|
AceHack marked this conversation as resolved.
|
||
| --- | ||
|
|
||
| # B-0090.2 — Worktree-branch delta audit | ||
|
|
||
| ## Why this child exists | ||
|
|
||
| The 57 locked worktrees are the highest-volume surface. B-0090.1 taxonomy now exists; this row is the minimal delta scanner that classifies only worktrees changed since last audit (not full 57 every time). Keeps cost S per cycle. | ||
|
|
||
| ## Atomic scope (S effort) | ||
|
|
||
| - TS script (tools/hygiene/audit-worktree-delta.ts) or equivalent that: | ||
| - Lists locked worktree branches. | ||
| - Diffs against last-audit marker (file or git note). | ||
| - Applies B-0090.1 3-bucket classification. | ||
| - Outputs markdown table + count of NEEDS-RECOVERY. | ||
| - No auto-prune, no recovery PRs, no cadence wiring. | ||
| - Focused check: run on current .claude/worktrees/ and report bucket counts (include in PR body of this decomp). | ||
|
AceHack marked this conversation as resolved.
|
||
|
|
||
| ## Dependency note | ||
|
|
||
| Depends on B-0090.1 for bucket names. Re-decomp assumption: "delta" may be over-constrained if no marker exists yet; first cycle may be full scan (still S). | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - [ ] Script passes dotnet build gate + focused lint. | ||
| - [ ] Output exactly matches 3-bucket taxonomy. | ||
| - [ ] No writes to root checkout (worktree only). | ||
| - [ ] One-page runbook in the script header. | ||
|
|
||
| ## Evidence | ||
|
|
||
| - Parent B-0090 | ||
| - B-0090.1 taxonomy | ||
|
|
||
| Co-Authored-By: Grok <noreply@x.ai> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| --- | ||
| id: B-0090.3 | ||
| priority: P2 | ||
| status: open | ||
| title: Closed-not-merged PRs + orphan branches + aged-draft-PRs scan (AceHack + LFG) | ||
| tier: factory-hygiene | ||
| effort: S | ||
| depends_on: [B-0090.1] | ||
| composes_with: [B-0090] | ||
| tags: [b0090-decomp, pr-state, orphan, draft-pr, lost-substrate] | ||
| type: friction-reducer | ||
|
AceHack marked this conversation as resolved.
|
||
| --- | ||
|
|
||
| # B-0090.3 — Closed-not-merged PRs + orphan + aged-draft scan | ||
|
|
||
| ## Why this child exists | ||
|
|
||
| Task #264 tracked 14 closed-not-merged + 5 orphans. B-0090.1 taxonomy now defined; this is the GitHub-surface scanner that produces the same 3-bucket output for PRs and branches. Monthly cadence surface. | ||
|
|
||
| ## Atomic scope (S effort) | ||
|
|
||
| - TS wrapper around gh api + git ls-remote (or existing substrate-discovery tool). | ||
| - Filters: closed-not-merged (any age), orphan (no remote tracking), draft PRs >14 days. | ||
| - Classify each with B-0090.1 buckets. | ||
| - Emit hygiene-history row + summary counts only. | ||
| - No auto-close, no recovery. | ||
|
|
||
| ## Dependency note | ||
|
|
||
| Depends on taxonomy. Re-decomp assumption: "aged > N days" N=14 may be wrong; make N configurable in the row (default 14) so future cycles can tune without re-decomp. | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - [ ] Uses only existing gh + git surfaces (no new auth). | ||
| - [ ] Output table matches taxonomy. | ||
| - [ ] Focused check run: current counts of each category on LFG (include in decomp PR body). | ||
|
AceHack marked this conversation as resolved.
|
||
| - [ ] SLOC < 150. | ||
|
|
||
| ## Evidence | ||
|
|
||
| - Parent B-0090 + task #264 | ||
| - B-0090.1 | ||
|
|
||
| Co-Authored-By: Grok <noreply@x.ai> | ||
42 changes: 42 additions & 0 deletions
42
docs/backlog/P2/B-0090.4-cadence-and-hygiene-history-hook.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| --- | ||
| id: B-0090.4 | ||
| priority: P2 | ||
| status: open | ||
| title: Cadence hook + hygiene-history append for lost-substrate audits (weekly/monthly) | ||
| tier: factory-hygiene | ||
| effort: S | ||
| depends_on: [B-0090.1, B-0090.2, B-0090.3] | ||
| composes_with: [B-0090] | ||
| tags: [b0090-decomp, cadence, hygiene-history, autonomous] | ||
| type: friction-reducer | ||
|
AceHack marked this conversation as resolved.
|
||
| --- | ||
|
|
||
| # B-0090.4 — Cadence hook + hygiene-history append | ||
|
|
||
| ## Why this child exists | ||
|
|
||
| B-0090 acceptance requires "cadence encoded as routine". With scanners (0090.2/3) and taxonomy (0090.1) defined, this is the minimal wiring that makes the audit fire on schedule and record each cycle in docs/hygiene-history/ without expanding AUTONOMOUS-LOOP core. | ||
|
|
||
| ## Atomic scope (S effort) | ||
|
|
||
| - Add entry to existing cadence surface (docs/AUTONOMOUS-LOOP.md or hygiene tick) that invokes the two scanners. | ||
| - Append one row per cycle to hygiene-history (timestamp + bucket counts + link to claim). | ||
| - No new cron, no runner change, no full implementation of recovery. | ||
|
|
||
| ## Dependency note | ||
|
|
||
| Depends on 0090.1 + scanners. Re-decomp assumption: "weekly vs monthly" split may be premature; start with single "cadenced" hook and let first three cycles calibrate the split. Smallest atomic = the hook + history append only. | ||
|
|
||
| ## Acceptance | ||
|
|
||
| - [ ] One new row in hygiene-history format. | ||
| - [ ] Hook is read-only invocation (no mutation in root). | ||
| - [ ] Documents the N-day tuning point for future. | ||
| - [ ] Passes build gate (doc-only change). | ||
|
AceHack marked this conversation as resolved.
|
||
|
|
||
| ## Evidence | ||
|
|
||
| - Parent B-0090 | ||
| - B-0090.1, .2, .3 | ||
|
|
||
| Co-Authored-By: Grok <noreply@x.ai> | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.