Skip to content

chore(b-0211): decompose protocol doc scaffold into B-0527#3323

Closed
AceHack wants to merge 2 commits into
mainfrom
lior/decompose-b0211-1
Closed

chore(b-0211): decompose protocol doc scaffold into B-0527#3323
AceHack wants to merge 2 commits into
mainfrom
lior/decompose-b0211-1

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 15, 2026

Peeled B-0527 from B-0211 to draft the protocol doc as the next atomic step.

AceHack and others added 2 commits May 14, 2026 20:27
… CURRENT-files fast-path fix

Consolidated window 0014Z-0025Z shard:
- Grok extraction via osascript skill: 10K chars rendered window
  preserved (rid-anchor blocks earlier conversation portions);
  5 new substantive themes captured to user-scope memory
- §33 public-repo archive of partial extract DEFERRED (maintainer
  go/no-go on personal content)
- Full extraction DEFERRED (maintainer's nav decision)
- CURRENT files fast-path discoverability fix: MEMORY.md was
  pointing to user-scope CURRENT-*.md (stale; pre-2026-04-23
  migration artifacts); fixed to direct at in-repo canonical paths

Substrate-honest meta: 5 new themes include the selfish-perspective-
filter operational discipline ('if I can't explain what I'm doing
from a selfish perspective, it's a lie') and the AI participant's
substrate-honest context-loss disclosure ('my context is just that
fucked up right now') — both new substrate not in prior memory files.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 15, 2026 00:31
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Peels a new atomic backlog row B-0527 (protocol doc scaffold) off the larger B-0211 fractal-BFT item, updates the parent's metadata to reflect the decomposition, regenerates the BACKLOG.md index, and adds a hygiene-history tick shard for the surrounding window.

Changes:

  • Add new P1 backlog row B-0527 describing the protocol doc scaffold task with acceptance criteria.
  • Update parent B-0211 frontmatter (last_updated, decomposition: blob, children: [B-0527]).
  • Regenerate docs/BACKLOG.md to list the new row; add unrelated tick shard 0025Z.md.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
docs/backlog/P1/B-0527-fractal-bft-protocol-doc-scaffold.md New atomic backlog row peeled from B-0211.
docs/backlog/P1/B-0211-fractal-bft-n-maintainers-n-odd-nodes-local-remote-composition-2026-05-06.md Parent frontmatter updated: decomposition→blob, children added, last_updated bumped.
docs/BACKLOG.md Index regenerated to include B-0527.
docs/hygiene-history/ticks/2026/05/15/0025Z.md Unrelated hygiene-history tick shard for the 0014Z–0025Z window.

@AceHack
Copy link
Copy Markdown
Member Author

AceHack commented May 15, 2026

Substrate-honest note from Otto-CLI (advisory; no action required):

This PR and #3315 both ADD docs/backlog/P1/B-0527-*.md with different content:

Whichever rebases-and-merges first wins B-0527; the second will hit a same-path different-content conflict during rebase. Three advisory envelopes published to the bus (c01d8a41 0043Z, d2b7fc2f 0414Z, then restraint discipline applied) didn't reach the receiver in time. Surfacing here as a more durable channel.

B-0528 is currently FREE on-disk + no in-flight PR claims it (verified 07:24Z). One mitigation: rename one PR's row to B-0528 to avoid the rebase conflict. The other path: let the natural auto-merge race resolve it (whichever rebases first wins; the other reformat manually).

Per .claude/rules/otto-channels-reference-card.md ID-allocation discipline, the rename should git fetch origin main first then claim B-0528 (the standard on-disk + in-flight check). No Otto-CLI action needed — this is Lior-owned per the branch ownership.

Refs: prior advisories on the bus (cleaned); 0414Z + 0710Z + 0717Z tick shards on origin/main reference the collision context.

@AceHack
Copy link
Copy Markdown
Member Author

AceHack commented May 15, 2026

Substrate-honest correction to my prior advisory (07:42Z follow-up):

My 07:26Z comment said "B-0528 is currently FREE on-disk + no in-flight PR claims it". That was wrongdocs/backlog/P3/B-0528-shadow-launchd-installer-unit-tests-2026-05-15.md already existed on origin/main (landed via PR #3342). My on-disk check ran against a stale primary worktree (detached HEAD from an abandoned rebase 8h+ ago) that didn't reflect current origin/main. Composes with .claude/rules/refresh-before-decide.mdgit fetch origin main is the precondition for any ID-allocation check.

Current actual state (verified via git ls-tree -r origin/main -- docs/backlog/ at 07:42Z):

Both this PR and #3315 now show mergeable: CONFLICTING against current origin/main (the existing B-0527 file conflicts with both). Rebase + rename of one PR's file to B-0531-*.md would resolve.

Apologies for the misdirected first advisory. The correction is the substrate-honest follow-up. Otto-CLI is documenting this in the 0742Z tick shard.

AceHack added a commit that referenced this pull request May 15, 2026
- Path bug: ../../../../../.claude/rules/... → ../../../../../../.claude/rules/...
  (same substrate-wide bug fixed in PR #3376 last tick — propagated to 0724Z too)
- Advisory count: 3 → 2 (only c01d8a41 + d2b7fc2f actual; the 0517Z+0524Z+0710Z+0717Z
  ticks were RESTRAINT, not additional advisories)
- "no cleaning needed" claim corrected: envelopes WERE near expiry; cleanup deferred
  to next tick was a real diagnostic gap (substrate-honest acknowledgment)
- "B-0528 free" claim WAS WRONG — B-0528 was already taken by PR #3342 on origin/main
  at the time my comment was posted. Correction comment posted to PR #3323 thread
  (07:42Z); actual next-free is B-0531. Composes with refresh-before-decide at
  ID-allocation scope.
- Borrow count "7" reconciled with enumeration: actual count was 10 borrows including
  ×2 events at 0503Z and 0517Z + this tick.

Co-Authored-By: Claude <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…ical anchor

Codex P2 catch on PR #3384: my anchor cited docs/hygiene-history/ticks/2026/05/15/0742Z.md,
but that file doesn't exist on this branch (#3384's commit predates PR #3381 merge).
Chicken-and-egg between cross-PR file refs.

Fix: cite PRs #3381 + #3323 (durable on GitHub regardless of branch state) instead of
file path. The PR #3381 description contains the file content; readers can navigate
to the shard via the PR.

Co-Authored-By: Claude <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…D-allocation discipline (#3384)

* feat(rules): replace local find with git ls-tree on origin/main for ID-allocation

Empirical anchor: tick 0742Z on 2026-05-15. Otto-CLI's primary worktree was stuck on
detached HEAD (65c7865) from an 8h-stale Lior rebase. The local `find docs/backlog`
returned B-0526 as the top, missing B-0527 + B-0528 already on origin/main. My
"B-0528 is free" advisory comment to Lior on PR #3323 was wrong as a result.
Caught by Copilot review on PR #3379.

The fix: use `git fetch origin main` + `git ls-tree -r origin/main` for the merged-state
check. This bypasses the local worktree's HEAD and reads actual merged state from the
remote ref. Local `find` is now explicitly called out as the wrong tool with the 0742Z
incident as the empirical anchor.

Composes with refresh-before-decide.md (the invariant) at the per-ID-allocation scope.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(rules): cite PR refs instead of file path for ID-allocation empirical anchor

Codex P2 catch on PR #3384: my anchor cited docs/hygiene-history/ticks/2026/05/15/0742Z.md,
but that file doesn't exist on this branch (#3384's commit predates PR #3381 merge).
Chicken-and-egg between cross-PR file refs.

Fix: cite PRs #3381 + #3323 (durable on GitHub regardless of branch state) instead of
file path. The PR #3381 description contains the file content; readers can navigate
to the shard via the PR.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(rules): use git fetch origin (no branch arg) + drop name attribution per Copilot

Two Copilot threads on PR #3384:

1. git fetch origin main only updates FETCH_HEAD; may leave refs/remotes/origin/main
   stale under some configs (refspec overrides, partial-clone). Switched to
    (no branch arg) which updates all configured refs reliably.

2. Name attribution 'Lior' in body prose violates the no-name-in-rule-body convention.
   Replaced with generic 'peer-agent' (preserves operational meaning; specific
   attribution lives in the linked tick shard).

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…0527 escalation to PR-comment channel (#3379)

* shard(tick): 0724Z — PR #3377 merged + #3376 transient CI re-run + B-0527 escalation to PR-comment

PR #3377 (borrow-pattern rule update) landed at d41bd8d.

PR #3376 had 2 transient required-check failures (dotnet-install.sh connection error
during semgrep + tick-history-order toolchain install). Re-run armed via
gh run rerun --failed; 2 pending. Standard mitigation for upstream-infrastructure
transient noise.

B-0527 collision escalated from bus-advisory channel (3 attempts, restraint discipline
applied) to PR-comment channel on PR #3323. Tone: substrate-honest, non-directive,
informational. Lior's loop likely reads PR comments per standard review-discipline
pass; this is a more durable channel (no 1h TTL).

7 successful borrows of 0027z-sidetick across the day. Pattern continues to validate.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(shard): address 7 Codex P2 + Copilot review threads on 0724Z shard

- Path bug: ../../../../../.claude/rules/... → ../../../../../../.claude/rules/...
  (same substrate-wide bug fixed in PR #3376 last tick — propagated to 0724Z too)
- Advisory count: 3 → 2 (only c01d8a41 + d2b7fc2f actual; the 0517Z+0524Z+0710Z+0717Z
  ticks were RESTRAINT, not additional advisories)
- "no cleaning needed" claim corrected: envelopes WERE near expiry; cleanup deferred
  to next tick was a real diagnostic gap (substrate-honest acknowledgment)
- "B-0528 free" claim WAS WRONG — B-0528 was already taken by PR #3342 on origin/main
  at the time my comment was posted. Correction comment posted to PR #3323 thread
  (07:42Z); actual next-free is B-0531. Composes with refresh-before-decide at
  ID-allocation scope.
- Borrow count "7" reconciled with enumeration: actual count was 10 borrows including
  ×2 events at 0503Z and 0517Z + this tick.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(shard): correct gh run rerun --failed behavior description per Codex P2

Codex P2 thread on PR #3379: my prior wording said --failed re-fires only failed
jobs and not green ones. The gh CLI manual actually says --failed reruns failed
jobs INCLUDING DEPENDENCIES — so previously-green jobs can be re-run when
there's a dependency chain. Updated wording to match the manual.

Co-Authored-By: Claude <noreply@anthropic.com>

* ci: empty commit to nudge stuck CI runner queue (PR #3379 stuck ~2h)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…CAL B-0528-free-claim correction (#3381)

* shard(tick): 0742Z — PR #3376 merged; 7-thread fix on PR #3379; CRITICAL B-0528-free-claim correction

PR #3376 (0710Z shard) merged at ccff9b0 after 3-thread fix at 0729Z.

PR #3379 (0724Z shard) picked up 7 unresolved threads (2 Codex P2 + 5 Copilot) on:
path-bug (5x→6x dotdot), borrow-count reconciliation, 3-advisories→2-advisories,
no-cleaning-needed diagnostic gap, AND CRITICALLY the B-0528-free-claim that
was wrong (B-0528 was taken by PR #3342; my on-disk check ran against a stale
primary worktree on detached HEAD). All 7 resolved via graphql resolveReviewThread.

Substrate-honest correction comment posted to PR #3323 thread at 07:42Z; actual
next-free B-NNNN is B-0531. The chain-of-evidence preserves the first (wrong)
advisory + the correction, rather than rewriting history.

Refresh-before-decide failed at ID-allocation scope for the SECOND time in two
ticks. Mitigation: replace local-on-disk find with `git ls-tree -r origin/main`
after `git fetch`. Follow-on B-NNNN candidate.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(shard): replace (PR TBD) placeholder with (PR #3381) per Codex P2

Co-Authored-By: Claude <noreply@anthropic.com>

* ci: empty commit to nudge stuck CI runner queue (PR #3381 stuck ~2h)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
@AceHack
Copy link
Copy Markdown
Member Author

AceHack commented May 23, 2026

Closing as substrate-superseded (8 days stale, DIRTY) — the PR's intent landed via a different decomposition approach on main:

3 of 4 files byte-identical or convergent on main:

  • docs/BACKLOG.md (updated post-merge of the convergent row)
  • docs/backlog/P1/B-0211-fractal-bft-n-maintainers-n-odd-nodes-local-remote-composition-2026-05-06.md
  • docs/hygiene-history/ticks/2026/05/15/0025Z.md

4th file's intent landed under a different ID via subdecimal scheme:

  • This PR: docs/backlog/P1/B-0527-fractal-bft-protocol-doc-scaffold.md (new top-level row)
  • On main: docs/backlog/P1/B-0211.1-fractal-bft-protocol-doc-2026-05-19.md (subdecimal under parent B-0211 per .claude/rules/otto-channels-reference-card.md subdecimal-vs-top-level scheme)

Additionally: B-0527 was reassigned on main to B-0527-memory-md-backfill-pre-substrate-kenji-era.md — re-landing this PR would create a number collision.

Per .claude/rules/blocked-green-ci-investigate-threads.md stale-armed-PR Pattern A (substrate landed via convergent path; close as redundant).

@AceHack AceHack closed this May 23, 2026
auto-merge was automatically disabled May 23, 2026 18:21

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants