diff --git a/docs/pr-discussions/PR-4758-feat-b-0707-cron-cadence-wiring-daily-manifesto-citation-sna.md b/docs/pr-discussions/PR-4758-feat-b-0707-cron-cadence-wiring-daily-manifesto-citation-sna.md
new file mode 100644
index 0000000000..7848392f70
--- /dev/null
+++ b/docs/pr-discussions/PR-4758-feat-b-0707-cron-cadence-wiring-daily-manifesto-citation-sna.md
@@ -0,0 +1,131 @@
+---
+pr_number: 4758
+title: "feat(B-0707): cron-cadence wiring \u2014 daily manifesto-citation snapshot workflow"
+author: "AceHack"
+state: "MERGED"
+created_at: "2026-05-23T19:43:52Z"
+merged_at: "2026-05-23T19:50:28Z"
+closed_at: "2026-05-23T19:50:28Z"
+head_ref: "otto/cli-b0707-followup-cron-wiring-2026-05-23"
+base_ref: "main"
+archived_at: "2026-05-23T22:20:57Z"
+archive_tool: "tools/pr-preservation/archive-pr.ts"
+---
+
+# PR #4758: feat(B-0707): cron-cadence wiring — daily manifesto-citation snapshot workflow
+
+## PR description
+
+## Summary
+
+Ships the **5th (deferred) acceptance criterion from B-0707**: cron-cadence wiring for automatic daily manifesto-citation snapshots.
+
+B-0707 closure now reflects **ALL 5 acceptance criteria met** (was 4/5 with cron-cadence deferred per #4750).
+
+## New workflow
+
+`.github/workflows/manifesto-citation-snapshot-cadence.yml`:
+- Daily 06:37 UTC (off-the-hour; before razor-cadence 09:17 and outside budget-cadence Sundays 16:23)
+- Runs `bun tools/hygiene/audit-manifesto-citations.ts --snapshot`
+- Diffs `docs/hygiene-history/manifesto-citations/`
+- Opens snapshot PR if diff exists (idempotent per-day; no-diff → healthy no-op)
+- AgencySignature v1 trailer block on commits + PR body
+- Concurrency-group cancel-in-progress (snapshot file is per-day idempotent)
+
+## Pattern source
+
+Copied from `.github/workflows/budget-snapshot-cadence.yml` which has identical shape (cron → bun tool → diff → PR). Same security discipline (env: routing of expressions, `"$VAR"` quoting in shell, no direct interpolation in run-block scripts).
+
+## Auto-merge limitation (inherited from pattern source)
+
+`GITHUB_TOKEN`-created PRs don't trigger downstream workflows (GitHub's anti-infinite-loop guard). The snapshot PR sits open for the next maintainer/agent merge pass — per `budget-snapshot-cadence.yml` convention. Explicit-no-auto-merge over silent-stall.
+
+## Composes with
+
+- B-0525 (parent — constitutional-promotion readiness tracking; this completes the measurement-infrastructure substrate)
+- B-0707 (child — this commit ships its 5th criterion)
+- `.github/workflows/budget-snapshot-cadence.yml` (pattern reference)
+- `.github/workflows/razor-cadence.yml` (sibling daily cadence)
+- `.claude/rules/encoding-rules-without-mechanizing.md` (carved sentence: *"encoding rules without mechanizing produces a memory of failures, not prevention"* — this cron is the mechanization)
+
+## Test plan
+
+- [x] Workflow follows budget-snapshot-cadence.yml security pattern (env routing, `$VAR` quoting)
+- [x] B-0707 row updated to reflect 5/5 acceptance criteria
+- [x] Cron time off-the-hour (06:37) to avoid GHA thundering-herd
+- [x] Concurrency group + cancel-in-progress (idempotent per-day)
+- [x] Branch matches `ZETA_EXPECTED_BRANCH` guard
+- [ ] CI green
+- [ ] First scheduled fire produces snapshot PR (verify ~tomorrow 06:37 UTC)
+
+🤖 Generated with [Claude Code](https://claude.com/claude-code)
+
+## Reviews
+
+### COMMENTED — @copilot-pull-request-reviewer (2026-05-23T19:45:44Z)
+
+## Pull request overview
+
+Adds scheduled GitHub Actions cadence wiring to automatically produce daily manifesto-citation snapshot PRs, completing B-0707’s deferred “cron-cadence wiring” acceptance criterion and updating the backlog row to reflect full closure.
+
+**Changes:**
+- Introduces a new daily scheduled workflow that runs `bun tools/hygiene/audit-manifesto-citations.ts --snapshot`, detects changes, and opens a PR with the new snapshot.
+- Updates the B-0707 backlog row to reflect that all 5/5 acceptance criteria are now met and points to the new workflow.
+
+### Reviewed changes
+
+Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
+
+| File | Description |
+| ---- | ----------- |
+| docs/backlog/P2/B-0707-manifesto-citation-time-series-tracking-2026-05-23.md | Updates closure text + acceptance criteria to reflect cron cadence now shipped. |
+| .github/workflows/manifesto-citation-snapshot-cadence.yml | New daily workflow to generate snapshot and open a PR when snapshot output changes. |
+
+### COMMENTED — @chatgpt-codex-connector (2026-05-23T19:46:13Z)
+
+
+### 💡 Codex Review
+
+Here are some automated review suggestions for this pull request.
+
+**Reviewed commit:** `b6d4cc5148`
+
+
+ ℹ️ About Codex in GitHub
+
+
+[Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you
+- Open a pull request for review
+- Mark a draft as ready
+- Comment "@codex review".
+
+If Codex has suggestions, it will comment; otherwise it will react with 👍.
+
+
+Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
+
+
+
+## Review threads
+
+### Thread 1: .github/workflows/manifesto-citation-snapshot-cadence.yml:104 (resolved)
+
+**@copilot-pull-request-reviewer** (2026-05-23T19:45:43Z):
+
+P0: `git diff --quiet docs/hygiene-history/manifesto-citations/` will ignore newly-created (untracked) daily snapshot files, so the first snapshot of a day can be incorrectly treated as "no diff" and the PR won’t open. Switch the change-detection to include untracked files (e.g., `git status --porcelain` on the path, or combine `git diff --quiet -- ` with a `git ls-files --others --exclude-standard ` check).
+
+### Thread 2: .github/workflows/manifesto-citation-snapshot-cadence.yml:42 (resolved)
+
+**@copilot-pull-request-reviewer** (2026-05-23T19:45:44Z):
+
+The `workflow_dispatch` input `note` is described as being attached to the snapshot, but it’s currently only echoed to logs and not persisted into the commit message or PR body. Either plumb it into the commit/PR text (quoted/sanitized via env as you’re already doing) or remove the input to avoid misleading operators.
+
+### Thread 3: .github/workflows/manifesto-citation-snapshot-cadence.yml:93 (resolved)
+
+**@chatgpt-codex-connector** (2026-05-23T19:46:13Z):
+
+** Detect untracked snapshots before declaring no changes**
+
+The `Inspect diff` gate uses `git diff --quiet docs/hygiene-history/manifesto-citations/`, which ignores untracked files. This workflow writes a new dated file each day (for example `YYYY-MM-DD.json`), and on the first run for a date that file is untracked, so this check returns success and sets `changed=false`; the PR creation step is then skipped even though a new snapshot was produced. In practice, that means the daily cadence can silently no-op for new days instead of opening the intended snapshot PR.
+
+Useful? React with 👍 / 👎.
diff --git a/docs/pr-discussions/PR-4761-rules-pr-triage-tiers-codify-tier-1-5-pr-triage-framework-de.md b/docs/pr-discussions/PR-4761-rules-pr-triage-tiers-codify-tier-1-5-pr-triage-framework-de.md
new file mode 100644
index 0000000000..07bb6f01eb
--- /dev/null
+++ b/docs/pr-discussions/PR-4761-rules-pr-triage-tiers-codify-tier-1-5-pr-triage-framework-de.md
@@ -0,0 +1,81 @@
+---
+pr_number: 4761
+title: "rules(pr-triage-tiers): codify Tier 1-5 PR-triage framework + deferred-to-human label workflow"
+author: "AceHack"
+state: "MERGED"
+created_at: "2026-05-23T19:59:13Z"
+merged_at: "2026-05-23T20:13:47Z"
+closed_at: "2026-05-23T20:13:47Z"
+head_ref: "otto/pr-triage-tiers-rule-deferred-human-label-2026-05-23"
+base_ref: "main"
+archived_at: "2026-05-23T22:20:51Z"
+archive_tool: "tools/pr-preservation/archive-pr.ts"
+---
+
+# PR #4761: rules(pr-triage-tiers): codify Tier 1-5 PR-triage framework + deferred-to-human label workflow
+
+## PR description
+
+## Summary
+
+QoL bundle (Aaron-authorized 2026-05-23) that codifies the empirical PR-triage framework evolved during Otto-CLI's 2026-05-23 PR-cleanup session (27 closes from 125 → 90 open queue).
+
+**Two additive substrate changes**:
+
+1. **New rule**: `.claude/rules/pr-triage-tiers.md` — five-class disposition framework:
+ - **Tier 1**: fully redundant (all files byte-identical on main) → close
+ - **Tier 2**: substrate-recoverable (missing files regeneratable via existing tooling) → close with regenerate path
+ - **Tier 3**: substrate-superseded (alt-ID / alt-filename / alt-scheme on main) → close with cross-reference
+ - **Tier 4**: substrate-re-derivable (operational lesson already in canonical rule form OR from observable evidence) → close
+ - **Tier 5**: deferred-to-human (substantive + unique + NOT regeneratable — e.g., external-AI conversation transcripts) → tag + leave
+
+2. **GitHub label**: `deferred-to-human` (color `#FBCA04`, created 2026-05-23) — applied to Tier 5 PRs so agent unfinished-PR scans skip them.
+
+**Each tier has substrate-honest comment template + empirical anchor from the 27 closes that evolved the framework.**
+
+## Deferred from this PR
+
+The companion edit to `docs/AUTONOMOUS-LOOP-PER-TICK.md` Step 1 (unfinished-PR check sub-step) is **intentionally deferred to a follow-up PR**. Peer Otto-CLI is actively editing that canonical file; coordinating the Step 1 change avoids clobbering peer work. The new rule's body already references the canonical's Step 1 — when the canonical edit lands separately, the rule composes cleanly.
+
+## Lane discipline
+
+Per `agent-roster-reference-card.md`: agent applies tiers ONLY to PRs in own surface's branch lane (`otto-cli/*` / `otto-desktop/*` / `otto-vscode/*` / `otto/*`). Lior/Vera/Riven/Alexa branches stay in their respective owner's lanes.
+
+## Why this matters
+
+Aaron 2026-05-23: *"lirs background service is what's leaving prs sometime so we are updateing to check for unfinsihed prs first when it starts, maybe yours should do the same"*. The triage framework is what an unfinished-PR check applies; the Tier 5 + `deferred-to-human` mechanism is what keeps the rare-by-design human-attention case bounded so agents don't loop on it.
+
+## Commit details
+
+Landed via git plumbing (`commit-tree` with temp index, no working-tree touch) due to ongoing dotgit-saturation (544 stuck git pack/maintenance/repack procs at commit time) preventing reliable isolated worktree-add. Same fallback path validated in PR #4755 earlier today.
+
+## Test plan
+
+- [x] Rule file added at `.claude/rules/pr-triage-tiers.md` (auto-loaded per `.claude/rules/` convention)
+- [x] GitHub label `deferred-to-human` exists and is queryable
+- [x] All cross-references to other rule files are correct paths
+- [ ] CI green (markdown lint + path-depth check)
+- [ ] Auto-merge fires once green
+
+## Reviews
+
+### COMMENTED — @copilot-pull-request-reviewer (2026-05-23T20:01:15Z)
+
+## Pull request overview
+
+Adds a new `.claude/rules/` rule that codifies a five-tier framework for triaging stale/unfinished PRs, including a “deferred-to-human” workflow for preserving unique, non-regeneratable substrate while allowing automated scans to skip those PRs.
+
+**Changes:**
+- Introduces Tier 1–5 PR triage framework with disposition/comment templates for each tier.
+- Documents the `deferred-to-human` label semantics and the `gh pr edit ... --add-label` application step.
+- Adds “composes with” cross-references to existing rules and the canonical per-tick loop doc.
+
+## General comments
+
+### @chatgpt-codex-connector (2026-05-23T19:59:16Z)
+
+You have reached your Codex usage limits for code reviews. You can see your limits in the [Codex usage dashboard](https://chatgpt.com/codex/cloud/settings/usage).
+
+### @AceHack (2026-05-23T20:08:43Z)
+
+Vera coordination note: rechecked CI at 2026-05-23T20:07Z. #4761 is mergeable but BLOCKED by gate / lint (markdownlint) only. The failing log reports MD032/blanks-around-lists in .claude/rules/pr-triage-tiers.md at lines 100 and 182. Focused fix: add blank lines around the two affected list blocks, then rerun markdownlint/gate. Root checkout was left read-only by Vera because it is dirty/active.
diff --git a/docs/pr-discussions/PR-4762-docs-autonomous-loop-step-1a-unfinished-pr-check-before-new.md b/docs/pr-discussions/PR-4762-docs-autonomous-loop-step-1a-unfinished-pr-check-before-new.md
new file mode 100644
index 0000000000..cbae67910f
--- /dev/null
+++ b/docs/pr-discussions/PR-4762-docs-autonomous-loop-step-1a-unfinished-pr-check-before-new.md
@@ -0,0 +1,84 @@
+---
+pr_number: 4762
+title: "docs(autonomous-loop): Step 1a \u2014 unfinished-PR check before new work"
+author: "AceHack"
+state: "MERGED"
+created_at: "2026-05-23T20:25:41Z"
+merged_at: "2026-05-23T20:27:28Z"
+closed_at: "2026-05-23T20:27:28Z"
+head_ref: "otto/canonical-step1a-unfinished-pr-check-2026-05-23"
+base_ref: "main"
+archived_at: "2026-05-23T22:20:45Z"
+archive_tool: "tools/pr-preservation/archive-pr.ts"
+---
+
+# PR #4762: docs(autonomous-loop): Step 1a — unfinished-PR check before new work
+
+## PR description
+
+## Summary
+
+Companion to merged PR #4761 (rules/pr-triage-tiers + `deferred-to-human` label). Adds **Step 1a** between Steps 1 and 2 of the canonical per-tick discipline: after refresh, query for unfinished PRs authored by this agent surface, classify per the Tier 1-5 framework, and act on Tier 1-4 closes BEFORE picking new speculative work.
+
+## Why
+
+Aaron 2026-05-23: *"lirs background service is what's leaving prs sometime so we are updateing to check for unfinsihed prs first when it starts, maybe yours should do the same"*. This is Otto's version of that fix at the canonical-discipline scope — applies to all three Otto surfaces (CLI / Desktop / queued B-0448 cloud routine) which cite this file as their one-source-of-truth.
+
+## What lands
+
+- Concrete `gh pr list` query with surface-lane-prefix filter + `-label:deferred-to-human` exclusion
+- Reference to `.claude/rules/pr-triage-tiers.md` for classification (PR #4761)
+- Lane discipline reminder (don't triage other agents' PRs)
+- Substrate-honest framing of cross-session amnesia failure mode this prevents
+- Explicit gate: only proceed to Step 3 (pick new work) if no unfinished PRs need attention
+
+## Commit details
+
+Landed via git plumbing (`commit-tree` with temp index from `origin/main`) to bypass contested-local-working-tree where peer Otto-CLI has unpushed edits to this file. `origin/main` was 3 days stale on this file at commit time (commit `7d6f3ff4f`); this is the next change. Peer-Otto's local edits will rebase cleanly when they push since this insertion is additive (Step 1a between existing Steps 1 and 2, no overlap with Step 4 tick-shard-gate work where peer edits live).
+
+## Test plan
+
+- [x] Insertion adds 40 lines between Steps 1 and 2 of canonical
+- [x] All cross-references resolve correctly (`.claude/rules/pr-triage-tiers.md`, `.claude/rules/agent-roster-reference-card.md`)
+- [x] Bash query uses proper escaping for `--search` argument
+- [ ] CI green (markdown lint + path-depth check)
+- [ ] Auto-merge fires once green
+
+## Reviews
+
+### COMMENTED — @chatgpt-codex-connector (2026-05-23T20:28:45Z)
+
+
+### 💡 Codex Review
+
+Here are some automated review suggestions for this pull request.
+
+**Reviewed commit:** `8beea6daa3`
+
+
+ ℹ️ About Codex in GitHub
+
+
+[Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you
+- Open a pull request for review
+- Mark a draft as ready
+- Comment "@codex review".
+
+If Codex has suggestions, it will comment; otherwise it will react with 👍.
+
+
+Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
+
+
+
+## Review threads
+
+### Thread 1: docs/AUTONOMOUS-LOOP-PER-TICK.md:88 (unresolved)
+
+**@chatgpt-codex-connector** (2026-05-23T20:28:45Z):
+
+** Group OR clauses so author/label filters apply to all heads**
+
+The `--search` expression combines multiple `OR` branch clauses without parentheses, so `author:@me` and `-label:"deferred-to-human"` are not guaranteed to constrain every branch term. `gh pr list` explicitly uses GitHub advanced issue-search syntax (https://cli.github.com/manual/gh_pr_list), and GitHub’s boolean-search docs require parentheses for grouped qualifiers (https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/filtering-and-searching-issues-and-pull-requests#using-parentheses-for-more-complicated-filters). In this flow, that can surface PRs outside the intended lane or include deferred PRs, and the subsequent “act on each unfinished PR” instruction can close the wrong PRs.
+
+Useful? React with 👍 / 👎.
diff --git a/docs/pr-discussions/PR-4763-backlog-b-0708-stale-pointer-cleanup-across-claude-rules-sur.md b/docs/pr-discussions/PR-4763-backlog-b-0708-stale-pointer-cleanup-across-claude-rules-sur.md
new file mode 100644
index 0000000000..fb3fa7c264
--- /dev/null
+++ b/docs/pr-discussions/PR-4763-backlog-b-0708-stale-pointer-cleanup-across-claude-rules-sur.md
@@ -0,0 +1,42 @@
+---
+pr_number: 4763
+title: "backlog(B-0708): stale-pointer cleanup across .claude/rules/ \u2014 surfaced by razor-cadence pass"
+author: "AceHack"
+state: "MERGED"
+created_at: "2026-05-23T20:35:50Z"
+merged_at: "2026-05-23T20:37:38Z"
+closed_at: "2026-05-23T20:37:38Z"
+head_ref: "otto/cli-b0708-stale-pointer-cleanup-from-razor-cadence-pass-2026-05-23"
+base_ref: "main"
+archived_at: "2026-05-23T22:20:39Z"
+archive_tool: "tools/pr-preservation/archive-pr.ts"
+---
+
+# PR #4763: backlog(B-0708): stale-pointer cleanup across .claude/rules/ — surfaced by razor-cadence pass
+
+## PR description
+
+Files B-0708. Razor-cadence pass 2026-05-23 (issue #3128 closed) ran audit-rule-cross-refs.ts and surfaced 87 stale-pointer candidates across 62 rules (16% MISS rate). ~70-80 real stale pointers worth cleaning up. P2; load-bearing finding from cadence pass.
+
+🤖 Generated with [Claude Code](https://claude.com/claude-code)
+
+## Reviews
+
+### COMMENTED — @copilot-pull-request-reviewer (2026-05-23T20:37:30Z)
+
+## Pull request overview
+
+Files backlog row **B-0708** to track follow-up work from the 2026-05-23 razor-cadence pass: cleaning up stale cross-references across `.claude/rules/` after `audit-rule-cross-refs.ts` surfaced 87 candidate misses.
+
+**Changes:**
+- Added a new P2 backlog per-row file documenting scope, rationale, and acceptance criteria for the stale-pointer cleanup work.
+- Updated `docs/BACKLOG.md` to include the new B-0708 entry.
+
+### Reviewed changes
+
+Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
+
+| File | Description |
+| ---- | ----------- |
+| docs/backlog/P2/B-0708-stale-pointer-cleanup-from-razor-cadence-pass-2026-05-23.md | New backlog row capturing the stale-pointer cleanup work item and its acceptance criteria. |
+| docs/BACKLOG.md | Adds the generated index entry for B-0708 under P2. |
diff --git a/docs/pr-discussions/PR-4764-feat-b-0708-slice-1-audit-resolver-improvements-1-real-stale.md b/docs/pr-discussions/PR-4764-feat-b-0708-slice-1-audit-resolver-improvements-1-real-stale.md
new file mode 100644
index 0000000000..676103a54d
--- /dev/null
+++ b/docs/pr-discussions/PR-4764-feat-b-0708-slice-1-audit-resolver-improvements-1-real-stale.md
@@ -0,0 +1,57 @@
+---
+pr_number: 4764
+title: "feat(B-0708 slice 1): audit resolver improvements + 1 real-stale fix (87 \u2192 17, -80%)"
+author: "AceHack"
+state: "MERGED"
+created_at: "2026-05-23T20:53:29Z"
+merged_at: "2026-05-23T20:55:43Z"
+closed_at: "2026-05-23T20:55:43Z"
+head_ref: "otto/cli-b0708-slice1-stale-pointer-classify-report-2026-05-23"
+base_ref: "main"
+archived_at: "2026-05-23T22:20:30Z"
+archive_tool: "tools/pr-preservation/archive-pr.ts"
+---
+
+# PR #4764: feat(B-0708 slice 1): audit resolver improvements + 1 real-stale fix (87 → 17, -80%)
+
+## PR description
+
+## Summary
+
+B-0708 slice 1 — address the 87 stale-pointer candidates from razor-cadence pass 2026-05-23. Two-prong: improve audit-rule-cross-refs.ts resolver to recognize FP classes + fix the 1 real-stale wording-drift found.
+
+**Result: 87 → 17 candidates (-80%); 16% MISS → 3.1% MISS (below 5% healthy-FP floor).**
+
+## Resolver improvements
+
+5 new paths in `refExists()`:
+1. **Template placeholders** (`...` ellipsis, `YYYY` date) → healthy-FP
+2. **Command-snippet detection** — find embedded path in backtick'd shell command
+3. **Sibling-rule resolution** — bare `.md` in `.claude/rules/` resolves via `.claude/rules/`
+4. **Peer-call wrapper resolution** — bare `.ts` resolves via `tools/peer-call/`
+5. **tools/hygiene/ + tools/github/ + memory/MEMORY.md** fallbacks
+
+## Real-stale fix
+
+`tonal-momentum-equals-meme-emergent-harmonic-coercion.md` cited `god-tier-claims-don't-collapse.md` (with apostrophe); actual file is `god-tier-claims-high-signal-high-suspicion-dont-collapse.md` (no apostrophe). Same lesson as PR #4752 Lock/Wait-free canonical fix.
+
+## Remaining 17 candidates classify as healthy
+
+- User-scope memory references (rule body explicitly says "user-scope only" — preserved at `~/.claude/projects/.../memory/`; not in-repo)
+- Anti-pattern citations (`rule-0-no-sh-files.md` cites legacy `.sh` files explicitly to call out the cleared anti-pattern; `tick-must-never-stop.md` cites `loop-tick-history.md` as "NOT legacy")
+- IF-fail-clause hypotheticals (`test-canary.md` cites `tools/substrate-discovery/discover.ts` with "would land as..." conditional)
+
+Per 9-variant taxonomy, all remaining candidates fall in healthy classes (rule-acknowledged-transient / conditional / alternative-location / anti-pattern / legacy-noted).
+
+## Tests
+
+21 pass (16 pre-existing + 5 new for resolver paths).
+
+## Composes with
+
+- B-0708 (parent)
+- B-0192 (razor-cadence trigger — this completes the cadence pass finding)
+- PR #4752 (wording-discipline lesson)
+- `docs/hygiene-history/ticks/2026/05/14/1920Z.md` (9-variant taxonomy)
+
+🤖 Generated with [Claude Code](https://claude.com/claude-code)
diff --git a/docs/pr-discussions/PR-4765-backlog-b-0709-soraya-round-42-hand-off-register-11-unregist.md b/docs/pr-discussions/PR-4765-backlog-b-0709-soraya-round-42-hand-off-register-11-unregist.md
index 398ea2d1ac..594b61eff2 100644
--- a/docs/pr-discussions/PR-4765-backlog-b-0709-soraya-round-42-hand-off-register-11-unregist.md
+++ b/docs/pr-discussions/PR-4765-backlog-b-0709-soraya-round-42-hand-off-register-11-unregist.md
@@ -8,7 +8,7 @@ merged_at: "2026-05-23T20:55:24Z"
closed_at: "2026-05-23T20:55:24Z"
head_ref: "otto/b0709-soraya-kenji-handoff-registry-coverage-2026-05-23"
base_ref: "main"
-archived_at: "2026-05-23T21:00:59Z"
+archived_at: "2026-05-23T22:20:24Z"
archive_tool: "tools/pr-preservation/archive-pr.ts"
---
diff --git a/docs/pr-discussions/PR-4766-backlog-b-0708-close-slice-1-reduced-87-17-80-remaining-17-h.md b/docs/pr-discussions/PR-4766-backlog-b-0708-close-slice-1-reduced-87-17-80-remaining-17-h.md
new file mode 100644
index 0000000000..9674c58689
--- /dev/null
+++ b/docs/pr-discussions/PR-4766-backlog-b-0708-close-slice-1-reduced-87-17-80-remaining-17-h.md
@@ -0,0 +1,21 @@
+---
+pr_number: 4766
+title: "backlog(B-0708): close \u2014 slice 1 reduced 87 \u2192 17 (-80%); remaining 17 healthy-FP"
+author: "AceHack"
+state: "MERGED"
+created_at: "2026-05-23T21:03:20Z"
+merged_at: "2026-05-23T21:04:35Z"
+closed_at: "2026-05-23T21:04:35Z"
+head_ref: "otto/cli-b0708-closure-remaining-17-healthy-2026-05-23"
+base_ref: "main"
+archived_at: "2026-05-23T22:20:18Z"
+archive_tool: "tools/pr-preservation/archive-pr.ts"
+---
+
+# PR #4766: backlog(B-0708): close — slice 1 reduced 87 → 17 (-80%); remaining 17 healthy-FP
+
+## PR description
+
+Closes B-0708. Slice 1 (PR #4764 merged) reduced stale-pointer candidates 87 → 17 (-80%) via 5 resolver improvements + 1 real-stale fix. Final MISS: 3.1% (17/552) — below 5% healthy-FP floor. All 5 acceptance criteria met. Remaining 17 candidates all classify as rule-acknowledged-healthy per 9-variant taxonomy (user-scope memory / anti-pattern citations / IF-fail-hypotheticals / glob-with-user-scope / alternative-location).
+
+🤖 Generated with [Claude Code](https://claude.com/claude-code)
diff --git a/docs/pr-discussions/PR-4770-notebook-aarav-round-44-bounded-spot-check-3-skills-1-action.md b/docs/pr-discussions/PR-4770-notebook-aarav-round-44-bounded-spot-check-3-skills-1-action.md
new file mode 100644
index 0000000000..9f901624fb
--- /dev/null
+++ b/docs/pr-discussions/PR-4770-notebook-aarav-round-44-bounded-spot-check-3-skills-1-action.md
@@ -0,0 +1,53 @@
+---
+pr_number: 4770
+title: "notebook(aarav round 44): bounded spot-check \u2014 3 skills, 1 actionable finding (TUNE \u2014 S)"
+author: "AceHack"
+state: "MERGED"
+created_at: "2026-05-23T21:12:47Z"
+merged_at: "2026-05-23T21:14:58Z"
+closed_at: "2026-05-23T21:14:59Z"
+head_ref: "otto/cli-aarav-notebook-round-44-bounded-spot-check-2026-05-23"
+base_ref: "main"
+archived_at: "2026-05-23T22:20:12Z"
+archive_tool: "tools/pr-preservation/archive-pr.ts"
+---
+
+# PR #4770: notebook(aarav round 44): bounded spot-check — 3 skills, 1 actionable finding (TUNE — S)
+
+## PR description
+
+Round 44 bounded spot-check by Otto-CLI from autonomous-loop. Honest scope disclosure: 3 skills sampled (skills directly touched in today's PR #4753 / B-0708 work), no live-search this invocation. 1 actionable finding (alignment-observability bp_rules_cited empty → TUNE — S). Recommendations-only per skill discipline.
+
+🤖 Generated with [Claude Code](https://claude.com/claude-code)
+
+## Reviews
+
+### COMMENTED — @copilot-pull-request-reviewer (2026-05-23T21:15:02Z)
+
+## Pull request overview
+
+Updates Aarav’s persona notebook to record the Round 44 (2026-05-23) bounded spot-check results and to adjust the pruning log to reflect that a full prune was deferred.
+
+**Changes:**
+- Replaces the prior “Next prune: round 44” entry with a Round 44 bounded spot-check note and defers full prune to the next full-procedure invocation.
+- Adds a new “Round 44 — bounded spot-check” section documenting scope and 3 sampled-skill findings.
+
+## Review threads
+
+### Thread 1: memory/persona/aarav/NOTEBOOK.md:359 (unresolved)
+
+**@copilot-pull-request-reviewer** (2026-05-23T21:15:01Z):
+
+BP-10 is described here as “ASCII-only,” but in `docs/AGENT-BEST-PRACTICES.md` BP-10 is “Lint for invisible Unicode on every notebook edit and at pre-commit.” If you meant the ASCII-only rule, that’s BP-09; please update this parenthetical so the cited BP IDs match the actual rule text.
+
+### Thread 2: memory/persona/aarav/NOTEBOOK.md:371 (unresolved)
+
+**@copilot-pull-request-reviewer** (2026-05-23T21:15:01Z):
+
+Line counts appear to be off by 1: `.claude/skills/alignment-auditor/SKILL.md` is currently 334 lines in-tree, not 333. Consider using the exact current count (or “~334”) to keep the notebook’s quantitative bloat signals accurate.
+
+### Thread 3: memory/persona/aarav/NOTEBOOK.md:374 (unresolved)
+
+**@copilot-pull-request-reviewer** (2026-05-23T21:15:01Z):
+
+Line count appears to be off by 1: `.claude/skills/skill-tune-up/SKILL.md` is currently 283 lines in-tree, not 282. Consider updating the count (or using an approximate) so this spot-check remains internally consistent.
diff --git a/docs/pr-discussions/PR-4771-skill-alignment-observability-tune-s-populate-bp-rules-cited.md b/docs/pr-discussions/PR-4771-skill-alignment-observability-tune-s-populate-bp-rules-cited.md
new file mode 100644
index 0000000000..a53e988c11
--- /dev/null
+++ b/docs/pr-discussions/PR-4771-skill-alignment-observability-tune-s-populate-bp-rules-cited.md
@@ -0,0 +1,33 @@
+---
+pr_number: 4771
+title: "skill(alignment-observability): TUNE-S \u2014 populate bp_rules_cited per Aarav round 44 finding"
+author: "AceHack"
+state: "MERGED"
+created_at: "2026-05-23T21:22:39Z"
+merged_at: "2026-05-23T21:23:55Z"
+closed_at: "2026-05-23T21:23:55Z"
+head_ref: "otto/cli-aarav-r44-tune-s-alignment-observability-bp-rules-2026-05-23"
+base_ref: "main"
+archived_at: "2026-05-23T22:20:06Z"
+archive_tool: "tools/pr-preservation/archive-pr.ts"
+---
+
+# PR #4771: skill(alignment-observability): TUNE-S — populate bp_rules_cited per Aarav round 44 finding
+
+## PR description
+
+Acts on Aarav round 44 spot-check finding (PR #4770). Frontmatter-only edit: bp_rules_cited [] → [BP-10, BP-11] + bumps last_updated. Mirrors sibling alignment-auditor citation pattern. BP rules verified against canonical docs/AGENT-BEST-PRACTICES.md:253, :278.
+
+🤖 Generated with [Claude Code](https://claude.com/claude-code)
+
+## Reviews
+
+### COMMENTED — @copilot-pull-request-reviewer (2026-05-23T21:23:43Z)
+
+## Pull request overview
+
+Updates the `alignment-observability` skill frontmatter to accurately cite the relevant best-practice rules it relies on, aligning it with the established citation pattern used by sibling skills.
+
+**Changes:**
+- Populates `bp_rules_cited` with `[BP-10, BP-11]`.
+- Bumps `last_updated` to `2026-05-23`.