fix: make local pre-push pass from a fresh worktree (kill AP-219 time-bomb + repo-lint masked bug)#438
Conversation
route-boundary-fixture.ts seeded artifacts at a frozen fixtureNow (2026-06-05) and a hardcoded billing current_period_end (2026-07-01). The published artifact gets a 72h TTL, so its expires_at landed on 2026-06-08; getAgentView enforces expiry against the real wall clock (Date.now(), not injectable), so the "same-workspace agent view" case flipped to 404 the moment that date passed. listRevisions doesn't check expiry, which is why only the agent-view assertion failed and it looked like a local-vs-CI flake. It was never random: the suite passed before the frozen date and fails after it, everywhere. Anchor the seed time to the real clock (the same fix already applied to the pending upload session) and make current_period_end relative so the expiry window is always open. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The monorepo-policy linter required every root package.json script and every workspace path to appear in README.md. When the README was rewritten as a public-facing landing doc (#434), that detail moved to docs/development.md, so 64/65 scripts and all workspace paths are no longer in README. It kept passing on main only because turbo's lint task did not list the docs it reads as inputs, so the cache replayed a stale pass. A fresh checkout (new worktree) gets a cache miss and fails, masking a real, latent gate failure. - Point the script + workspace-path checks (and the implemented-package "Planned" guard) at docs/development.md, where the README now directs contributors. - Document the one undocumented script (security:attest) there. - Add a scoped packages/repo-lint/turbo.json declaring the root docs and workspace manifests as lint inputs, so doc drift busts the cache instead of being silently masked again. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe PR establishes ChangesDocumentation and Repository Validation
Test Fixture Real-Time Anchoring
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
agent-paste PR preview is ready. API: https://agent-paste-api-pr-438.isaac-a46.workers.dev |
|
agent-paste PR preview resources were cleaned up. The shared Preview GitHub Environment is retained for future preview deploys. |
Summary
git pushfrom a fresh worktree failed the pre-push hook (pnpm verify+pnpm test:coverage) for two independent latent reasons, both masked onmain. This fixes both at the root. Verified:verify96/96 andtest:coverage37/37 pass, andgit pushnow passes the pre-push hook with no--no-verify.1. AP-219 route-boundary fixture was a time bomb
route-boundary-fixture.tsseeded artifacts at a frozenfixtureNow = 2026-06-05. Published artifacts get a 72h TTL, soexpires_atlanded on 2026-06-08.getAgentViewenforces expiry against the real wall clock (Date.now(), not injectable), so the "same-workspace agent view" assertion flipped to 404 the moment that date passed.listRevisionsdoesn't check expiry, which is why only one assertion broke and it masqueraded as a local-vs-CI flake.It was never random: green before that calendar date, red after, everywhere. Fix: anchor seed time to the real clock (the same fix already applied to the pending upload session) and make the billing
current_period_endrelative so the windows are always open.2. repo-lint check pointed at the rewritten README
monorepo-policyrequired every root script + workspace path to appear inREADME.md. When the README became a public-facing landing doc (#434), that inventory moved todocs/development.md, so 64/65 scripts and all workspace paths vanished from README. It kept passing onmainonly because turbo'slinttask didn't list the docs it reads as inputs, so the cache replayed a stale pass; a fresh checkout gets a cache miss and fails.Fix: point the script/workspace/Planned-guard checks at
docs/development.md, document the one missing script (security:attest), and add a scopedpackages/repo-lint/turbo.jsondeclaring the root docs + workspace manifests as lint inputs so doc drift busts the cache instead of being silently masked again.Risk
Low. No production code paths change. Fix #1 only touches a test fixture; #2 only touches the repo-lint policy + its turbo inputs + a dev doc. The RLS boundary security coverage is fully preserved (all cross-tenant denial checks still run).
Test plan
pnpm verify-> 96/96pnpm test:coverage-> 37/37apps/apisuite green (346/346),route-rls-boundary.test.tspassesgit pushpasses the pre-push hook without--no-verify🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
Documentation
Tests
Chores