Skip to content

chore(b-0488): close out row after PR #3235 merge#3244

Merged
AceHack merged 1 commit into
mainfrom
otto/b0488-close-out-row-2026-05-14
May 14, 2026
Merged

chore(b-0488): close out row after PR #3235 merge#3244
AceHack merged 1 commit into
mainfrom
otto/b0488-close-out-row-2026-05-14

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 14, 2026

Summary

Closes out B-0488 after the substantive work landed via #3235.

Changes (metadata only)

  • status: in-progressclosed
  • closed_by: "PR #3235 (2026-05-14)" (frontmatter field added)
  • All 6 Definition-of-done checkboxes ticked with specifics:
    • Template from B-0485 applied
    • Grey-hat / ethical-researcher framing folded into ksk-security-engineer (per glossary's "small bit of code that gets disproportionate review" framing)
    • 2 refused personas (R1 ksk-refused-weapons-control + R2 ksk-refused-apt-operator) with HARD LIMITS rationale
    • Output doc at docs/personas/ksk-personas.md
    • B-0492 composes_with pointer was already in place (verified — see B-0492 frontmatter line 23)
    • Row status closed with PR link

Pure metadata + checkbox-tick row close-out. No behavioural changes.

Why this is a separate PR

The substantive work + the row close-out were intentionally separated:

Keeping the substantive PR focused on the deliverable (per single-concern PR discipline) means the row-close-out lands as its own small atomic change that's easy to review.

Test plan

  • Composite branch-guard used for the commit
  • gh pr create --head explicit ref
  • No behavioural files changed (single backlog-row metadata edit)
  • CI clears
  • Auto-merge

🤖 Generated with Claude Code

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

Substantive work landed via PR #3235 (KSK persona map at
docs/personas/ksk-personas.md). This commit closes out the backlog row:

- status: in-progress -> closed
- closed_by: "PR #3235 (2026-05-14)" frontmatter field added
- All 6 Definition-of-done checkboxes ticked with the specifics:
  - Template from B-0485 applied
  - Grey-hat/ethical-researcher framing folded into ksk-security-engineer
    (per glossary's "small bit of code that gets disproportionate review"
    framing)
  - 2 refused personas (R1 ksk-refused-weapons-control + R2
    ksk-refused-apt-operator) with HARD LIMITS rationale
  - Output doc at docs/personas/ksk-personas.md
  - B-0492 composes_with pointer was already in place (verified)
  - Row status closed with PR link

Pure metadata + checkbox-tick row close-out. No behavioural changes.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 14, 2026 20:58
@AceHack AceHack enabled auto-merge (squash) May 14, 2026 20:58
@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.

@AceHack AceHack merged commit 4afd7b3 into main May 14, 2026
23 of 24 checks passed
@AceHack AceHack deleted the otto/b0488-close-out-row-2026-05-14 branch May 14, 2026 21:00
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

Closes backlog row B-0488 after the KSK persona-map deliverable landed in PR #3235, updating row metadata and Definition-of-done state.

Changes:

  • Marks B-0488 as closed and records closed_by.
  • Ticks the six Definition-of-done checklist items with completion details.
  • References the delivered KSK persona document and B-0492 composition pointer.

Comment thread docs/backlog/P1/B-0488-ksk-persona-map-2026-05-14.md
AceHack added a commit that referenced this pull request May 14, 2026
* shard(tick): 2055Z — B-0488 row close-out after PR #3235 merge

Tick output:
- PR #3244 (chore(b-0488) close-out row): status in-progress -> closed,
  closed_by frontmatter field added, all 6 DoD checkboxes ticked with
  specifics. Pure metadata edit; no behavioural changes. Auto-merge armed.
- This shard.

Prior-tick PRs merged this batch:
- #3231 (shard 2030Z) MERGED as 00f4e9d
- #3237 (shard 2038Z) MERGED as 8c7f799

Still wait-ci: #3239 (audit hygiene), #3240 (shard 2046Z).

Session running tally: 10 merged + 4 wait-ci.

Pattern codified: substantive PR sets open -> in-progress; close-out PR
sets in-progress -> closed after the substantive PR merges. Separation
isolates the deliverable review from row-metadata bookkeeping.

Cron sentinel 12fb713e armed; recurring.

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

* fix(lint): add blank line before list in 2055Z.md (MD032)

markdownlint requires blank lines surrounding lists (MD032).

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

* fix(pr3245): correct git diff --stat format in 2055Z shard per Copilot review

Copilot caught: the shard quoted `git diff --stat` output as
`8/+7/-1 lines` which isn't the actual format. The real output is
`1 file changed, 8 insertions(+), 7 deletions(-)`.

Fixed for accuracy. Tick shards are historical record; format
accuracy matters for future-Otto reading them.

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 14, 2026
…BACKLOG drift cleanup) (#3248)

Tick output:
- PR #3247 (chore(backlog) regen): closes BACKLOG.md drift caused by
  PR #3244 (B-0488 close-out) not including the regen. +2/-1 lines:
  B-0488 checkbox flip + B-0329 passive pickup. Auto-merge armed.
- Commit 38771fb on PR #3245's branch: fixes `git diff --stat` format
  accuracy per Copilot review. Thread resolved.
- Thread on PR #3244 (merged) acknowledged + resolved with reply
  pointing to #3247.
- This shard.

Both Copilot catches were substantive (not nits):
- #3244: BACKLOG.md drift after status flip
- #3245: incorrect quoted `git diff --stat` output format

Patterns codified:
- Row-close-out PRs should include BACKLOG.md regen in the same PR
- Tick shards quoting command output should reproduce real format,
  not paraphrase

PRs merged during the tick: #3239 + #3240 + #3244.
Session tally: 13 merged + 4 wait-ci.

Cron sentinel 12fb713e armed; recurring.

Co-authored-by: Claude <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 14, 2026
…regex) (#3246)

* shard(tick): 2059Z — PR #3239 Copilot thread fix (end-anchored plist regex)

Tick output:
- PR #3239 (audit hygiene) Copilot review caught real regex bug:
  `\.gemini\/(launchd|service)\/.*\.plist` wasn't end-anchored, would
  over-exclude foo.plist.bak / foo.plist.md. Fixed in new commit
  673fbd0 with end-anchored `[^/]+\.plist$`. Property-tested 8/8.
  Thread resolved via GraphQL mutation.
- This shard.

Rule blocked-green-ci-investigate-threads.md paid off: gate reported
UNKNOWN/BLOCKED with green CI + autoMerge armed; investigated threads
first, found the actionable Copilot finding.

Prior-tick PRs: #3240 / #3244 / #3245 all still wait-ci with autoMerge
armed.

Cron sentinel 12fb713e armed; recurring.

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

* fix(pr3246): correct gh api graphql usage description in 2059Z shard

Copilot caught: the shard described `gh api graphql resolveReviewThread`
as if it were a subcommand. That's not valid `gh api graphql` invocation
— `resolveReviewThread` is a GraphQL MUTATION FIELD, not a CLI
subcommand.

Corrected to show the canonical pattern:
  gh api graphql -f query='mutation { resolveReviewThread(input:{threadId:"<id>"}) { thread { isResolved } } }'

The mutation is passed via `-f query=` (and parameters via `-f` for
variables). Future readers can copy-paste a runnable example.

The Verify section (line 57) already correctly said "GraphQL mutation"
— only the earlier narrative text was misleading.

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 14, 2026
…ickup (#3247)

* chore(backlog): regenerate docs/BACKLOG.md — B-0488 closed; B-0329 passive pickup

PR #3244 (B-0488 close-out) merged the row's status flip but didn't
include the BACKLOG.md regen — Copilot flagged this on #3244 as a
substantive catch. Regenerating now closes the drift.

Two changes:

1. B-0488 KSK persona map row: `- [ ]` -> `- [x]` (status: closed)
2. NEW row B-0329 picked up — `B-0329-new-surface-audit-alignment-check.md`
   was added on disk by another Otto without an index regen.

Pure regen via `BACKLOG_WRITE_FORCE=1 bun tools/backlog/generate-index.ts`.
No per-row file changes.

Per the row-close-out pattern codified in tick 2055Z: ideally the
close-out PR would have included the regen; future row-close-outs
should do so. This PR is the cleanup; the pattern is fixed forward.

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

* fix(pr3247): renumber duplicate B-0329 -> B-0520 per Copilot review

Copilot caught the substantive ID-collision: BACKLOG.md regen added a
second visible B-0329 entry because two on-disk files both claimed
`id: B-0329`:

- B-0329-claude-md-as-process-not-doctrine.md (existing — keep this one)
- B-0329-new-surface-audit-alignment-check.md (NEW — collision)

Backlog IDs are required to be factory-wide unique (tools/backlog/README.md).
Two rows with the same ID can't unambiguously resolve in edge references.

Resolution:
- Rename file: B-0329-new-surface-audit-alignment-check.md -> B-0520-new-surface-audit-alignment-check.md
- Update frontmatter: id: B-0329 -> id: B-0520
- Update body heading: "# B-0329 — ..." -> "# B-0520 — ..."
- Add renumbered_from breadcrumb frontmatter field citing the Copilot
  catch + PR #3247
- Regenerate BACKLOG.md — duplicate B-0329 row removed, B-0520 picked up

Verifies clean:
- grep -c "B-0329" docs/BACKLOG.md returns 1 (just the original)
- B-0520 appears at end of P1 section
- No other refs to the renamed file (grep confirmed)

The next available ID before this renumber was B-0520 (highest on-disk
B-0519; no in-flight PRs claim 0520-0522). B-0516 is missing (was
renumbered earlier per tick-history archaeology).

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
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