Skip to content

shard(tick): 2026-05-16T03:04Z — Copilot round-2 on #3692 (2 cross-platform fixes)#3698

Merged
AceHack merged 1 commit into
mainfrom
shard/tick-0304z-otto-cli-2026-05-16
May 16, 2026
Merged

shard(tick): 2026-05-16T03:04Z — Copilot round-2 on #3692 (2 cross-platform fixes)#3698
AceHack merged 1 commit into
mainfrom
shard/tick-0304z-otto-cli-2026-05-16

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 16, 2026

Tick 10 (post-#3695-merge). 2 new Copilot findings on PR #3692 — both real cross-platform robustness fixes:

  • P1: --files validation rejected only missing paths; directories pass existsSync but fail in readFileSync. Added statSync.isFile() check.
  • P2: ROOT + '/' prefix hardcoded POSIX separator; broke on Windows where resolve() returns backslash paths. Use platform-correct PATH_SEP.

Fixup commit 4e80655 pushed; both threads resolved. 6-tick lifecycle matches §33 pattern compressed.

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

…eal cross-platform fixes)

PR #3695 (0252Z + prose fixes) merged 03:02:45Z. Second-pass Copilot review
on PR #3692 surfaced 2 real findings:
- P1: --files validation rejected only missing paths; directories pass
  existsSync but fail later in readFileSync. Add statSync.isFile() check.
- P2: ROOT + "/" prefix breaks on Windows (resolve returns \\-separated
  paths). Use platform-correct PATH_SEP from node:path.

Fixup commit 4e80655 pushed; both threads resolved. 6-tick audit lifecycle
matches §33 pattern (PR #3513#3552 → enforce) compressed.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 16, 2026 03:06
@AceHack AceHack enabled auto-merge (squash) May 16, 2026 03:06
@AceHack AceHack merged commit 1542816 into main May 16, 2026
26 checks passed
@AceHack AceHack deleted the shard/tick-0304z-otto-cli-2026-05-16 branch May 16, 2026 03:09
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

This PR adds the 03:04Z hygiene-history tick shard documenting follow-up Copilot review fixes for the tick-shard relative-path audit work.

Changes:

  • Adds a new tick log for PR #3692 follow-up review.
  • Records two cross-platform robustness fixes and next-tick candidates.
Comments suppressed due to low confidence (1)

docs/hygiene-history/ticks/2026/05/16/0304Z.md:51

  • This repeats the same count mismatch: the documented completed lifecycle has six steps but spans five distinct tick shards (3, 7, 8, 9, and 10), so “across 6 ticks” is inaccurate unless another tick is being counted explicitly.
Same lifecycle pattern as §33 audit (PR #3513 → #3529 → #3548 → #3552 → enforce), compressed across 6 ticks instead of 4 weeks. Each iteration narrowed the surface area; reviewer signal-to-noise was high.

Comment on lines +21 to +23
Tick 9's fixup added `existsSync` validation to `--files`, but a directory or unreadable file passes `existsSync` and then `readFileSync` throws `EISDIR`/`EACCES` inside `extractLinks` — bypassing the documented exit-64 contract.

Fix: also require `statSync(abs).isFile()`, with stat wrapped in try/catch for permission failures.

Fix: `import { sep as PATH_SEP } from "node:path"` + `ROOT + PATH_SEP`. Platform-correct.

## Audit-script PR lifecycle so far (6 ticks, ~50 min)
AceHack added a commit that referenced this pull request May 16, 2026
…dings → fixup be3998f) (#3703)

3 new Copilot threads on PR #3699 — all real:
- P1/P2 line 144: loadBaseline blindly cast parsed array; malformed entries
  bypass documented exit-64. Add isBaselineEntry type guard validating each
  element (file:string, line:integer>=1, target:string).
- P1 line 368: JSON output emitted baselineMatched as number while docstring
  described partition arrays. Fix: emit as the actual array.

Tick 12 substantive landing. 9 total real Copilot findings on the audit
script across 3 review rounds (discovery → scanner → filter → quality-r1
→ quality-r2 → quality-r3), all caught pre-merge. CI gate wire-up
unblocked, pending #3699 merge.

PR #3698 also merged 03:09:02Z (carry from tick 10).

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