docs(archive): preserve recently merged PRs#4870
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5fdf91359d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. 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".
| "-p", | ||
| const gate = run("agent", [ | ||
| "chat", | ||
| "--mode", "ask", |
There was a problem hiding this comment.
Run the gate in an editable mode, not Ask mode
--mode ask makes this loop read-only, but the same prompt requires side effects (write .../riven.md and producing claim/PR progress). Cursor’s CLI mode docs describe Ask as “explore code without making changes,” so this configuration can silently skip the broadcast write and leave peer loops coordinating from stale riven.md state on every cycle. Use an executable mode for this gate or remove write expectations from the contract.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
Preserves a batch of recently merged PR discussion archives under docs/pr-discussions/ so operational decisions/reviews remain discoverable, and updates the Riven launchd tick script’s agent-gate invocation.
Changes:
- Added multiple new
docs/pr-discussions/PR-48xx-*.mdarchive files capturing PR metadata, summaries, and review-thread transcripts. - Updated
.cursor/bin/riven-loop-tick.tsto invoke theagentCLI (agent chat --mode ask --model grok-4.3) and replaced the older dynamic pickup/drain prompt construction with a fixed “trajectory manager” contract prompt.
Reviewed changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/pr-discussions/PR-4836-tick-2026-05-24-1608z-dotgit-saturation-15th-observation-2nd.md | New archive for PR #4836 (tick shard + embedded review threads). |
| docs/pr-discussions/PR-4835-shard-2026-05-24-1607z-dotgit-saturation-15th-observation-2h.md | New archive for PR #4835 (dotgit-saturation 0-window shard + review transcript). |
| docs/pr-discussions/PR-4821-fix-4780-address-review-comments-on-residuated-lattice-tests.md | New archive for PR #4821 (test fixes + review-thread history). |
| docs/pr-discussions/PR-4820-shard-2026-05-24-1407z-dotgit-14th-observation-0-procs-first.md | New archive for PR #4820 (first 0-reading shard + review transcript). |
| docs/pr-discussions/PR-4819-fix-riven-update-autonomous-gate-prompt-to-trajectory-manage.md | New archive for PR #4819 (Riven gate prompt update). |
| docs/pr-discussions/PR-4818-tick-2026-05-24-1333z-pr-4816-tier-5-deferral-hard-limits-fl.md | New archive for PR #4818 (Tier-5 deferral decision log + review transcript). |
| docs/pr-discussions/PR-4816-research-physics-bridge-3-video-youtube-algo-surfaced-substr.md | New archive for PR #4816 (large discussion/decision record). |
| docs/pr-discussions/PR-4814-shard-2026-05-24-0441z-25-pr-audit-8-blocked-prs-classified.md | New archive for PR #4814 (audit shard + embedded thread history). |
| docs/pr-discussions/PR-4813-shard-2026-05-24-0416z-rename-0240z-0416z-substrate-honest-t.md | New archive for PR #4813 (timestamp correction shard + review transcript). |
| docs/pr-discussions/PR-4812-shard-2026-05-24-0240z-9th-dotgit-saturation-anchor-33-stuck.md | New archive for PR #4812 (dotgit-saturation anchor shard). |
| .cursor/bin/riven-loop-tick.ts | Changes the launchd tick’s gate invocation and prompt contract for Riven. |
|
|
||
| ## Summary | ||
|
|
||
| - **15th observation in the dotgit-saturation rolling arc**: stuck git plumbing procs = **0** at 16:08Z, **second consecutive 0-reading** after the 14:07Z first 0. Closes the empirical gate the [1407Z tick](https://github.com/Lucent-Financial-Group/Zeta/blob/main/docs/hygiene-history/ticks/2026/05/24/1407Z.md) named (operational implication #1): 2 subsequent low-readings at multi-hour intervals confirm steady-state recovery of the ~30h stuck-active arc. |
| ## Summary | ||
| - Sentinel `73be4ed6` re-armed at cold-boot (catch-43 fire — prior `234f5d96` expired with 1333Z session, ~35min gap) | ||
| - 14th observation in dotgit-saturation rolling arc since 2026-05-23T10:18Z: **0 stuck git plumbing procs** at 14:07Z — first 0-reading in 27h49min | ||
| - Three hypotheses preserved per [`default-to-both.md`](.claude/rules/default-to-both.md): A) genuine multi-day cycle clearing, B) maintainer-side cleanup at ~12:21Z eliminated contention surface, C) 12:26Z user-scope "repo vanished" reading was transient cleanup snapshot (current state: repo intact, restored) |
|
|
||
| ## Summary | ||
|
|
||
| Otto-CLI background-worker tick at 04:41Z. Polled 25 open PRs via `poll-pr-gate-batch.ts --all-open`. Inspected the 8 BLOCKED+resolve-threads PRs via GraphQL (no checkout, lane-discipline-safe per [`claim-acquire-before-worktree-work.md`](../blob/main/.claude/rules/claim-acquire-before-worktree-work.md)). |
|
|
||
| ## Lane disposition | ||
|
|
||
| All 25 open PRs are `lior/*` / `alexa/*` lane branches — no `otto/*` branches. The task brief's "check out branch / push" directives were conflict-resolved toward audit + document rather than cross-lane takeover per [`no-directives.md`](../blob/main/.claude/rules/no-directives.md) (task brief is input, not directive) + lane discipline. |
| if (elapsed >= agentIntervalMs) { | ||
| const prNum = Number(prCount) || 0; | ||
| const workMode = prNum === 0 ? "pickup" : "drain"; | ||
| agentStatus = "running"; | ||
| log(`riven work cycle start run_id=${runId} mode=${workMode} open_prs=${prNum}`); | ||
| log(`riven agent gate start run_id=${runId}`); | ||
|
|
||
| if (dryRun) { | ||
| log(`dry-run: would run riven ${workMode}`); | ||
| log(`dry-run: would run agent gate`); | ||
| agentStatus = "dry-run"; | ||
| } else { | ||
| let prompt: string; | ||
| if (workMode === "pickup") { | ||
| const pickup = run("bun", ["tools/backlog/autonomous-pickup.ts", "--json"], 30_000); | ||
| let executionPrompt = ""; | ||
| try { | ||
| const selection = JSON.parse(pickup.stdout); | ||
| executionPrompt = selection.executionPrompt ?? ""; | ||
| log(`pickup selected: ${selection.selected?.id ?? "none"} action=${selection.action ?? "none"}`); | ||
| } catch { log(`pickup parse error: ${pickup.stderr.slice(0, 200)}`); } | ||
|
|
||
| const preamble = [ | ||
| `You are Rivens background worker in Lucent-Financial-Group/Zeta.`, | ||
| `BEFORE ANY WORK: 1) Read CLAUDE.md and AGENTS.md for repo conventions.`, | ||
| `2) Run "bun tools/github/refresh-worldview.ts" to get current state.`, | ||
| `3) Read active trajectories at docs/trajectories/*/RESUME.md.`, | ||
| `4) Build gate: "dotnet build -c Release" must end with 0 warnings 0 errors.`, | ||
| `KEY RULES: TS over bash (Rule 0). Prefer F#/TS code over docs.`, | ||
| `Always re-decompose items during the build — assume decomposition has mistakes.`, | ||
| ].join(" "); | ||
|
|
||
| prompt = executionPrompt.length > 0 | ||
| ? `${preamble} YOUR TASK:\n${executionPrompt}` | ||
| : `${preamble} No backlog items available. Run refresh-worldview, check for stale classifications, fix them, open a PR.`; | ||
| } else { | ||
| prompt = [ | ||
| `You are Rivens background worker in Lucent-Financial-Group/Zeta.`, | ||
| `Read CLAUDE.md first. Run "bun tools/github/refresh-worldview.ts".`, | ||
| `Build gate: "dotnet build -c Release" (0 warnings).`, | ||
| `TASK: ${prNum} open PRs. Run "bun tools/github/poll-pr-gate-batch.ts --all-open".`, | ||
| `For any PR where gate=BLOCKED and nextAction=resolve-threads:`, | ||
| `check out branch, read review comments, fix code issues, push,`, | ||
| `reply to threads, resolve via GraphQL, arm auto-merge`, | ||
| `(gh pr merge NUMBER --auto --squash). Own your PRs through merge.`, | ||
| ].join(" "); | ||
| } | ||
|
|
||
| const gate = run("cursor-agent", [ | ||
| "-p", | ||
| const gate = run("agent", [ | ||
| "chat", | ||
| "--mode", "ask", | ||
| "--model", "grok-4.3", | ||
| prompt, | ||
| [ | ||
| "You are Riven, trajectory manager and adversarial-truth-axis reviewer.", | ||
| "This is an autonomous 15-minute cycle.", | ||
| "Read broadcasts first from ~/.local/share/zeta-broadcasts/{otto,vera,lior,riven}.md.", | ||
| "Walk assigned trajectories. Decompose only what you hit mid-stride.", | ||
| "Produce at least one concrete, actionable claim or small PR scope.", | ||
| "When blocked, create a specific research child the next pickup cannot dodge.", | ||
| "Write your status to ~/.local/share/zeta-broadcasts/riven.md at the end.", | ||
| "GitHub PR state and actual file contents are authoritative.", | ||
| ].join(" "), | ||
| ], agentTimeoutMs); |
|
Closing in favor of batched PR #4929 |
Preserve recently merged PRs to maintain a record of discussions and decisions.