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
32 changes: 32 additions & 0 deletions docs/pr-discussions/PR-3704-docs-archive-lior-preserve-pr-3701.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
pr_number: 3704
title: "docs(archive): Lior preserve PR 3701"
author: "AceHack"
state: "MERGED"
created_at: "2026-05-16T03:20:33Z"
merged_at: "2026-05-16T03:25:54Z"
closed_at: "2026-05-16T03:25:55Z"
head_ref: "lior/preserve-3701"
base_ref: "main"
archived_at: "2026-05-16T03:37:35Z"
archive_tool: "tools/pr-preservation/archive-pr.ts"
---

# PR #3704: docs(archive): Lior preserve PR 3701

## PR description

Automated PR preservation for #3701.

## Reviews

### COMMENTED — @copilot-pull-request-reviewer (2026-05-16T03:22:32Z)

## Pull request overview

Adds an automated PR-preservation record for PR #3701 into the repository’s `docs/pr-discussions/` archive, capturing the PR metadata, description, and review-thread content for long-term audit/history purposes.

**Changes:**
- Adds a new PR-discussion archive markdown file for PR #3701.
- Records PR #3701 metadata (timestamps, refs, state) and the PR description.
- Captures the Copilot review and an (unresolved) review thread as archived at the time.
Comment thread
AceHack marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
pr_number: 3707
title: "shard(tick): 2026-05-16T03:22Z \u2014 PR #3690 markdownlint MD038 unblock + sweep"
author: "AceHack"
state: "MERGED"
created_at: "2026-05-16T03:23:33Z"
merged_at: "2026-05-16T03:31:21Z"
closed_at: "2026-05-16T03:31:21Z"
head_ref: "shard/tick-0322z-otto-cli-2026-05-16"
base_ref: "main"
archived_at: "2026-05-16T03:37:34Z"
archive_tool: "tools/pr-preservation/archive-pr.ts"
---

# PR #3707: shard(tick): 2026-05-16T03:22Z — PR #3690 markdownlint MD038 unblock + sweep

## PR description

PR #3690 had been 'armed, awaiting CI' since tick 6 (~70 min ago) — diagnosed today as a REQUIRED check FAILURE on lint (markdownlint). MD038/no-space-in-code triggered on backslash-quote-git-space-backslash-quote (trailing space in code span) at 0240Z.md:20. Fixed via commit 81b2f1a.

Sweep of all 2026-05-16 shards on main: 0 other MD038 violations.

Lesson: required-check failures are distinct merge-block class from unresolved-threads + non-required warnings. poll-pr-gate.ts's nextAction field disambiguates ('fix-failed-checks' vs 'resolve-threads' vs 'wait-ci' vs 'none').

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

## Reviews

### COMMENTED — @copilot-pull-request-reviewer (2026-05-16T03:26:10Z)

## Pull request overview

This PR adds a tick-history shard documenting the PR #3690 markdownlint MD038 investigation, fix, and follow-up operational lessons.

**Changes:**
- Adds the 2026-05-16T03:22Z hygiene-history tick shard.
- Records the required-check failure diagnosis for PR #3690.
- Captures MD038 lessons and next-tick follow-up candidates.

### COMMENTED — @AceHack (2026-05-16T03:30:13Z)

_(no body)_

### COMMENTED — @AceHack (2026-05-16T03:30:23Z)

_(no body)_

### COMMENTED — @AceHack (2026-05-16T03:30:33Z)

_(no body)_

## Review threads

### Thread 1: docs/hygiene-history/ticks/2026/05/16/0322Z.md:44 (resolved)

**@copilot-pull-request-reviewer** (2026-05-16T03:26:09Z):

This inline code span still contains a trailing space (`` `git ` ``), so MD038/no-space-in-code will fail on this newly added shard just like the violation this PR is documenting. Since docs/hygiene-history is not ignored by markdownlint, rephrase this without putting the trailing space inside the inline code delimiters.

**@AceHack** (2026-05-16T03:30:13Z):

Verified false positive: `bun x markdownlint-cli2 docs/hygiene-history/ticks/2026/05/16/0322Z.md` exits 0 on the current head. The two `` `git ` `` instances (L35 inside the verbatim markdownlint error output; L41 inside the original-snippet code block) both live INSIDE ` ```text ` fenced code blocks, where MD038/no-space-in-code does NOT apply — the rule is specific to inline code spans. They are intentional faithful renderings of the underlying violation this shard documents (per the MD038 spec linked in the rule). Resolving as not-an-issue.

### Thread 2: docs/hygiene-history/ticks/2026/05/16/0322Z.md:58 (resolved)

**@copilot-pull-request-reviewer** (2026-05-16T03:26:10Z):

This appears to duplicate “main” in the phrase “on origin/main main,” which makes the sweep target unclear.

**@AceHack** (2026-05-16T03:30:23Z):

Fixed in b2c7357ec — tightened to `` `bun x markdownlint-cli2 docs/hygiene-history/ticks/2026/05/16/*.md` on `origin/main` (20 shards) → exit 0 ``. The "main main" duplication was a typo; the intent was to name the ref the sweep ran against.

### Thread 3: docs/hygiene-history/ticks/2026/05/16/0322Z.md:33 (resolved)

**@copilot-pull-request-reviewer** (2026-05-16T03:26:10Z):

This path does not exist in the current tree (the 05/16 shard directory jumps from 0234Z.md to 0249Z.md). If this shard can merge before PR #3690 lands the 0240Z file, this leaves a dead cross-reference and makes the reproduced lint command non-reproducible from main; either land/include the target first or make clear that the path exists only on the PR #3690 branch.

**@AceHack** (2026-05-16T03:30:33Z):

Cross-reference now resolves: PR #3690 merged at 2ba2c70b6 and `docs/hygiene-history/ticks/2026/05/16/0240Z.md` is present on `origin/main`. Verified via `git ls-tree origin/main docs/hygiene-history/ticks/2026/05/16/` — file is at row 17 of 25 entries. The reproduced lint command points to a real file and the cross-link is live. Concern was time-of-review accurate; superseded by the merge.
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
pr_number: 3708
title: "feat(ci): wire lint (tick-shard relative-paths) gate \u2014 --enforce --baseline"
author: "AceHack"
state: "MERGED"
created_at: "2026-05-16T03:27:56Z"
merged_at: "2026-05-16T03:30:59Z"
closed_at: "2026-05-16T03:30:59Z"
head_ref: "feat/wire-tick-shard-relative-paths-ci-gate-otto-cli-2026-05-16"
base_ref: "main"
archived_at: "2026-05-16T03:37:33Z"
archive_tool: "tools/pr-preservation/archive-pr.ts"
---

# PR #3708: feat(ci): wire lint (tick-shard relative-paths) gate — --enforce --baseline

## PR description

## What

Adds the final step of the tick-shard-relative-path audit lifecycle: a CI gate (`lint-tick-shard-relative-paths`) that runs

```bash
bun tools/hygiene/audit-tick-shard-relative-paths.ts \
--enforce \
--baseline tools/hygiene/audit-tick-shard-relative-paths.baseline.json
```

Exit 1 only on NEW findings (not in baseline). 10 pre-existing findings stay grandfathered.

## Lifecycle now complete

| Step | PR | State |
|------|-----|-------|
| Discovery | #3676 + #3679 | merged |
| Narrow fix per-shard | #3680 | merged |
| Scanner | #3692 | merged |
| Filter + quality × 3 | #3692 (fixups) | merged |
| Baseline mechanism | #3699 | merged |
| **CI enforce gate** | **this** | **proposed** |

Same 4-step §33 audit lifecycle pattern (PR #3513 → #3552 → enforce), compressed across 14 ticks of this session.

## Local verify

- 842 shards scanned (was 833 in tick 7; +9 from this session's merges)
- 10 grandfathered (matches baseline)
- 0 NEW findings
- exit 0

## CI surface

Per existing convention in `.github/workflows/gate.yml`, this job is **non-required by default**. The gate surfaces on every PR as a status check; branch-protection rules govern which subset is required for merge. The §33-migration-xrefs sibling is also a non-required check by default.

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

## Reviews

### COMMENTED — @copilot-pull-request-reviewer (2026-05-16T03:29:10Z)

## Pull request overview

Adds a non-required CI lint job that enforces the tick-shard relative-path audit with the existing baseline, so new broken relative links fail while historical findings remain grandfathered.

**Changes:**
- Adds `lint-tick-shard-relative-paths` to `.github/workflows/gate.yml`.
- Runs the audit with `--enforce --baseline`.
- Documents the lifecycle and rationale inline with the new job.
Loading