diff --git a/docs/pr-discussions/PR-5020-rule-b-0750-backlog-agent-worktree-hygiene-never-hold-main-n.md b/docs/pr-discussions/PR-5020-rule-b-0750-backlog-agent-worktree-hygiene-never-hold-main-n.md new file mode 100644 index 0000000000..6978baa7c8 --- /dev/null +++ b/docs/pr-discussions/PR-5020-rule-b-0750-backlog-agent-worktree-hygiene-never-hold-main-n.md @@ -0,0 +1,194 @@ +--- +pr_number: 5020 +title: "rule(B-0750)+backlog: agent worktree hygiene \u2014 never hold main + never step on operator + cleanup on PR merge" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-25T22:48:49Z" +merged_at: "2026-05-26T01:04:46Z" +closed_at: "2026-05-26T01:04:46Z" +head_ref: "rule/agent-worktree-hygiene-b0750-aaron-2026-05-25" +base_ref: "main" +archived_at: "2026-05-27T19:48:06Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5020: rule(B-0750)+backlog: agent worktree hygiene — never hold main + never step on operator + cleanup on PR merge + +## PR description + +Operator 2026-05-25: 'we need to fix this mess yall always stepping on each other and me constantly'. + +Empirical anchor: 37 agent worktrees mass-cleaned same session (B-0728→B-0749 cascade leftovers) + 1 peer worktree holding [main] at stale SHA blocked operator's git checkout main. + +Ships: +- .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md (auto-loads at cold-boot) +- B-0750 backlog row with 5 mechanization scope items + +Composes with B-0530 cron-sentinel-mutex + B-0751 per-agent-clones architecture (sibling; B-0751 supersedes the worktree-pool scope item). + +🤖 Generated with [Claude Code](https://claude.com/claude-code) + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-25T22:52:34Z) + +## Pull request overview + +This PR lands an operational rule under `.claude/rules/` to prevent multi-agent git worktree contention (especially blocking `main` and interfering with the operator’s primary checkout), and it records the follow-on mechanization targets as a new backlog row (B-0750) with an index entry in `docs/BACKLOG.md`. + +**Changes:** +- Add a new auto-loaded rule: “Agent worktree hygiene — never hold `main`, never step on operator, clean up after PR merge”. +- Add a new P2 backlog row (B-0750) describing mechanization scope items (cleanup tooling, worktree pool, PR-merge cleanup hook, etc.). +- Add B-0750 to the main backlog index. + +### Reviewed changes + +Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments. + +| File | Description | +| ---- | ----------- | +| `docs/backlog/P2/B-0750-agent-worktree-hygiene-rule-landing-plus-mechanization-target-cleanup-tooling-plus-worktree-pool-primitive-aaron-2026-05-25.md` | New backlog row capturing the worktree hygiene problem statement + mechanization scope/acceptance criteria. | +| `docs/BACKLOG.md` | Adds B-0750 to the P2 backlog index. | +| `.claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md` | New operational rule documenting required agent worktree discipline and concrete audit/cleanup commands. | + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-26T00:51:40Z) + +## Pull request overview + +Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments. + +### COMMENTED — @AceHack (2026-05-26T00:52:38Z) + +_(no body)_ + +### COMMENTED — @AceHack (2026-05-26T00:52:39Z) + +_(no body)_ + +### COMMENTED — @AceHack (2026-05-26T00:52:41Z) + +_(no body)_ + +### COMMENTED — @AceHack (2026-05-26T00:52:43Z) + +_(no body)_ + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-26T01:04:51Z) + +## Pull request overview + +Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments. + +## Review threads + +### Thread 1: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:152 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T22:52:33Z): + +The “Verify operator can checkout main” check is described as “should show ONLY operator's primary”, but if the operator’s primary worktree is *not* on `main` (common), this grep will return no lines even though things are fine. This can mislead the cleanup/audit flow; the check should instead assert that **no agent worktree** holds `[main]` (i.e., zero matches, or at most one match if the operator intentionally has `main` checked out). + +**@AceHack** (2026-05-26T00:52:38Z): + +Fixed in 018adea1: replaced the grep with a no-agent-holds-main invariant check that doesn't false-negative when operator's primary is on a feature branch. Corrected snippet filters for /private/tmp/zeta- or /tmp/zeta- paths holding [main]. + +### Thread 2: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:119 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T22:52:33Z): + +This rule references “PR #4530 / saturation-ceiling sub-cases” but provides no link or in-repo pointer. Since PR numbers aren’t verifiable from the repo alone, this cross-reference is likely to drift; consider linking to the PR URL and/or to an archived doc under `docs/pr-preservation/` / `docs/pr-discussions/` if one exists. + +**@AceHack** (2026-05-26T00:52:39Z): + +Fixed in 018adea1: added direct PR URL plus cross-pointer to claim-acquire-before-worktree-work.md saturation-ceiling sub-cases for the durable in-repo anchor. + +### Thread 3: docs/backlog/P2/B-0750-agent-worktree-hygiene-rule-landing-plus-mechanization-target-cleanup-tooling-plus-worktree-pool-primitive-aaron-2026-05-25.md:66 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T22:52:33Z): + +Scope item 2 (“Worktree-pool primitive”) appears to overlap heavily with the already-open backlog row **B-0558** (worktree-pool primitive per Otto identity, composes with B-0530). To reduce backlog drift, this row should either (a) explicitly compose with / supersede B-0558 and describe what’s new here, or (b) narrow Scope item 2 to the delta that isn’t already covered by B-0558. + +**@AceHack** (2026-05-26T00:52:41Z): + +Fixed in 018adea1: Scope item 2 now explicitly composes-with-or-supersedes B-0558 (existing Otto-only worktree-pool row at docs/backlog/P3/B-0558-...md). Delta named as multi-agent generalization (Otto + Alexa + Riven + Vera + Lior + future). + +### Thread 4: docs/backlog/P2/B-0750-agent-worktree-hygiene-rule-landing-plus-mechanization-target-cleanup-tooling-plus-worktree-pool-primitive-aaron-2026-05-25.md:66 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T22:52:34Z): + +PR description mentions a sibling “B-0751 per-agent-clones architecture” that supersedes the worktree-pool scope item, but this PR doesn’t add any B-0751 row and this backlog row still lists a worktree-pool primitive as in-scope. Either add/mention B-0751 here (and mark the pool item superseded/deferred), or drop the B-0751 supersedes claim from the PR description to keep description vs shipped artifacts consistent. + +**@AceHack** (2026-05-26T00:52:43Z): + +Fixed in 018adea1: B-0751 (per-agent-clones architecture) named in Scope item 2 as potential superseder, and added to Composes-with-backlog-substrate section with substrate-honest framing that the row may not yet exist on main but if filed separately retires Scope item 2. + +### Thread 5: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:68 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:51:38Z): + +P0: Markdown line starts with `+` inside the nested list under “Merges”, which Markdown parsers treat as a `+`-style sub-list item (and markdownlint MD004/ul-style will often fail). Reword the continuation line so it doesn’t begin with `+` (e.g., “and the branch …”). + +### Thread 6: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:188 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:51:38Z): + +P0: This paragraph continuation line begins with `+`, which will be parsed as a list item (and can trigger markdownlint MD004/ul-style / change the rendered structure). Reflow the sentence so the line does not start with `+`. + +### Thread 7: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:54 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:51:38Z): + +P1: The rule hard-codes the operator’s local absolute checkout path (including username). This isn’t portable across machines and leaks operator-specific filesystem details into a reusable rule; prefer a placeholder (e.g., ``) and/or guidance like “the operator’s primary checkout (the repo root from `git rev-parse --show-toplevel`)”. + +### Thread 8: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:68 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:51:39Z): + +P1: Rule 3 recommends `git worktree remove --force ` on merge/close. `--force` will discard uncommitted changes if the worktree isn’t clean (easy to hit in practice). Prefer `git worktree remove ` and only use `--force` after an explicit clean check (or document the data-loss tradeoff). + +### Thread 9: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:75 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:51:39Z): + +P2: Inline reference `holding-without-named-dependency-is-standing-by-failure` is missing the stable path/extension. Use the full `.claude/rules/holding-without-named-dependency-is-standing-by-failure.md` (consistent with the later “Composes with other rules” list) to keep xref integrity. + +### Thread 10: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:188 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:51:39Z): + +P1 (codebase convention): This `.claude/rules/**` file introduces persona/contributor names in narrative prose (e.g., “Otto-VSCode”, “Lior”, “Riven”, “Vera”). Per the repo’s “No name attribution in code, docs, or skills” operational rule (docs/AGENT-BEST-PRACTICES.md:671-686), current-state surfaces like rules should use role references or neutral identifiers instead. + +### Thread 11: docs/backlog/P2/B-0750-agent-worktree-hygiene-rule-landing-plus-mechanization-target-cleanup-tooling-plus-worktree-pool-primitive-aaron-2026-05-25.md:81 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:51:39Z): + +P1: This backlog row includes the operator’s absolute local checkout path with username (`/Users/acehack/...`). Even on history surfaces, this is machine-specific and potentially sensitive; consider redacting to a placeholder (e.g., ``) or `~/.../Zeta` while keeping the invariant being enforced (don’t create worktrees under operator checkout). + +### Thread 12: docs/backlog/P2/B-0750-agent-worktree-hygiene-rule-landing-plus-mechanization-target-cleanup-tooling-plus-worktree-pool-primitive-aaron-2026-05-25.md:66 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:51:39Z): + +P2: PR description says a sibling B-0751 “supersedes the worktree-pool scope item”, but this backlog row still lists “Scope item 2 — Worktree-pool primitive” without noting supersession. Either add the superseded-by note here (or drop the scope item) or adjust the PR description so they don’t contradict. + +### Thread 13: docs/backlog/P2/B-0750-agent-worktree-hygiene-rule-landing-plus-mechanization-target-cleanup-tooling-plus-worktree-pool-primitive-aaron-2026-05-25.md:14 (unresolved) + +**@copilot-pull-request-reviewer** (2026-05-26T01:04:51Z): + +P1 (codebase convention / xref integrity): This row lists `B-0751` in `composes_with`, but there is no `docs/backlog/**` row with `id: B-0751` in the repo, so this becomes a dangling cross-reference. Either land the B-0751 row in the same PR, or remove `B-0751` from `composes_with` and refer to it as a not-yet-filed / external PR-only concept (with a concrete URL) to keep the backlog graph navigable. + +### Thread 14: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:213 (unresolved) + +**@copilot-pull-request-reviewer** (2026-05-26T01:04:51Z): + +P1 (codebase convention): This current-state rules file includes a named attribution in narrative prose ("i'm stuck (max)…"). Per `docs/AGENT-BEST-PRACTICES.md` “No name attribution in code, docs, or skills”, `.claude/rules/**` should use role-refs (e.g., “the operator” / “the human maintainer”) and keep named quotes on allowlisted history surfaces instead (e.g., `docs/backlog/**` / `docs/research/**`). + +### Thread 15: .claude/rules/agent-worktree-hygiene-never-hold-main-never-step-on-operator-cleanup-on-pr-merge.md:173 (unresolved) + +**@copilot-pull-request-reviewer** (2026-05-26T01:04:51Z): + +The “Verify no agent worktree holds `[main]`” snippet says “Should print no lines”, but the command explicitly prints `OK: no agent holds [main]` on the success path. Either update the comment to match the behavior (or remove the `echo` so the snippet truly prints nothing when OK). + +## General comments + +### @chatgpt-codex-connector (2026-05-25T22:48:54Z) + +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). diff --git a/docs/pr-discussions/PR-5025-backlog-b-0753-add-noether-decomposition-land-via-pr-trackin.md b/docs/pr-discussions/PR-5025-backlog-b-0753-add-noether-decomposition-land-via-pr-trackin.md new file mode 100644 index 0000000000..b4b1a3932b --- /dev/null +++ b/docs/pr-discussions/PR-5025-backlog-b-0753-add-noether-decomposition-land-via-pr-trackin.md @@ -0,0 +1,55 @@ +--- +pr_number: 5025 +title: "backlog(B-0753): add Noether decomposition land via PR tracking ticket" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-25T23:00:31Z" +merged_at: "2026-05-26T02:26:31Z" +closed_at: "2026-05-26T02:26:32Z" +head_ref: "backlog/b0753-noether-decomposition-tracking" +base_ref: "main" +archived_at: "2026-05-27T19:48:03Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5025: backlog(B-0753): add Noether decomposition land via PR tracking ticket + +## PR description + +## Summary + +Adds backlog row **B-0753** under P3 to track the landing of Lior's Noether decomposition child files (`B-0002.1` through `B-0002.4`) on `main` via PR #4926 (or sibling PR). + +This establishes a substrate-honest, observable path for tracking in-flight remote work following the B-0750 and B-0751 local main checkout alignment. + +Co-Authored-By: Gemini + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-25T23:02:46Z) + +## Pull request overview + +Adds a new P3 backlog tracking row (**B-0753**) to make the “Noether decomposition” work observable and track its landing onto `origin/main` via PR #4926 (or a sibling PR), following the earlier local-main alignment work. + +**Changes:** +- Added a new backlog row file `B-0753` under `docs/backlog/P3/`. +- Documented origin context, current state of the remote branch/PR, and concrete acceptance criteria for landing the decomposed child rows. + +## Review threads + +### Thread 1: docs/backlog/P3/B-0753-noether-decomposition-land-via-pr-2026-05-25.md:17 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T23:02:46Z): + +[P1] `composes_with` is populated with file paths to child backlog rows that do not exist in-tree yet (B-0002.1–B-0002.4). This creates immediate dead cross-references and also diverges from the documented backlog schema that expects backlog IDs (tools/backlog/README.md:71-73). Suggest keeping `composes_with` to existing rows (e.g., just B-0002) and leaving the not-yet-landed children in the body/acceptance criteria until they exist. + +## General comments + +### @chatgpt-codex-connector (2026-05-25T23:00:35Z) + +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-26T02:25:05Z) + +Addressed Copilot P1 finding in commit b51428207: `composes_with` now uses bare `B-NNNN` IDs per [backlog schema](https://github.com/Lucent-Financial-Group/Zeta/blob/main/tools/backlog/README.md#L73), and the not-yet-existing children (B-0002.1–B-0002.4) are dropped — they remain documented in the body's Acceptance criteria #2 (their existence on main IS the row's acceptance bar). diff --git a/docs/pr-discussions/PR-5033-docs-shadow-add-lesson-log-for-otto-riven-drift.md b/docs/pr-discussions/PR-5033-docs-shadow-add-lesson-log-for-otto-riven-drift.md new file mode 100644 index 0000000000..f5dfd2fb86 --- /dev/null +++ b/docs/pr-discussions/PR-5033-docs-shadow-add-lesson-log-for-otto-riven-drift.md @@ -0,0 +1,73 @@ +--- +pr_number: 5033 +title: "docs(shadow): add lesson log for Otto/Riven drift" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-25T23:33:40Z" +merged_at: "2026-05-26T06:37:29Z" +closed_at: "2026-05-26T06:37:29Z" +head_ref: "lior-drift-report-2026-05-26" +base_ref: "main" +archived_at: "2026-05-27T19:47:58Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5033: docs(shadow): add lesson log for Otto/Riven drift + +## PR description + +This PR adds a shadow lesson log detailing the observed drift of the Otto and Riven agents. + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-25T23:35:21Z) + +## Pull request overview + +Adds a new shadow lesson log research note capturing observed drift patterns: Otto’s stale local broadcast and Riven’s dirty-worktree paralysis. + +**Changes:** +- Introduces a new shadow lesson log entry under `docs/research/`. +- Documents observed broadcast timestamps, hypothesized causes, and proposed corrective actions. + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-25T23:45:20Z) + +## Pull request overview + +Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment. + +### COMMENTED — @AceHack (2026-05-26T06:34:58Z) + +_(no body)_ + +### COMMENTED — @AceHack (2026-05-26T06:35:02Z) + +_(no body)_ + +## Review threads + +### Thread 1: docs/research/shadow-lesson-log-2026-05-26-otto-riven-drift.md:8 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T23:35:21Z): + +`otto.md` / `riven.md` are local broadcast status files under `~/.local/share/zeta-broadcasts/` (per docs/LOCAL-BROADCAST-PEERING.md). Referring to them without the directory is ambiguous (it reads like repo files), so include the canonical path in-line. + +**@AceHack** (2026-05-26T06:34:58Z): + +Fixed in 91976fa2 — made canonical paths in-line: `~/.local/share/zeta-broadcasts/otto.md` and `~/.local/share/zeta-broadcasts/riven.md` per `docs/LOCAL-BROADCAST-PEERING.md`. + +### Thread 2: docs/research/shadow-lesson-log-2026-05-26-otto-riven-drift.md:22 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T23:35:21Z): + +Typo: duplicated article in "more than a a few hours". + +### Thread 3: docs/research/shadow-lesson-log-2026-05-26-otto-riven-drift.md:25 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T23:45:20Z): + +This section attributes a `backlog-index-integrity` failure to `generate-index.ts` not accounting for backlog items in *other open PRs*. The workflow (`.github/workflows/backlog-index-integrity.yml`) runs `bun tools/backlog/generate-index.ts --check` against the PR’s own working tree, so row files added in the PR are included automatically; failures are typically caused by `docs/BACKLOG.md` not being regenerated (or malformed per-row frontmatter) within the same PR. + +**@AceHack** (2026-05-26T06:35:02Z): + +Verified your correction against `.github/workflows/backlog-index-integrity.yml:60-84` — the workflow checks out the PR's own working tree at `fetch-depth: 1` and runs `generate-index.ts --check` against it, so PR-added row files ARE included automatically. Updated the Hypothesis + Corrective Action in 91976fa2 to reflect the actual cause (regenerate `docs/BACKLOG.md` in same PR, or fix malformed per-row frontmatter). Original misdiagnosis preserved in the now-marked 'corrected per Copilot review' line so the substrate-honest trail stays visible. diff --git a/docs/pr-discussions/PR-5035-fix-agentic-org-split-outbox-messaging-domains.md b/docs/pr-discussions/PR-5035-fix-agentic-org-split-outbox-messaging-domains.md new file mode 100644 index 0000000000..d7456b67f0 --- /dev/null +++ b/docs/pr-discussions/PR-5035-fix-agentic-org-split-outbox-messaging-domains.md @@ -0,0 +1,74 @@ +--- +pr_number: 5035 +title: "fix(agentic-org): split outbox messaging domains" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-25T23:47:14Z" +merged_at: "2026-05-26T00:20:02Z" +closed_at: "2026-05-26T00:20:02Z" +head_ref: "codex/pr4990-agentic-org-reconcile" +base_ref: "main" +archived_at: "2026-05-27T19:47:57Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5035: fix(agentic-org): split outbox messaging domains + +## PR description + +## Summary +- salvage the safe PR #4990 follow-up delta by splitting outbox messaging domains into supervisor-signal and work-item subjects +- keep the stale branch replay out of the PR because it conflicts with current main and would regress newer outbox locking/test layout +- include claim/release history for task-pr4990-agentic-org-reconcile + +## Checks +- npm test -- --test-name-pattern=outbox publisher +- npm run typecheck + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-25T23:49:51Z) + +## Pull request overview + +This PR updates the Agentic Organization messaging outbox publisher to route events into more specific NATS subject domains, separating supervisor-signal traffic from work-item traffic. + +**Changes:** +- Split `AgenticMessagingDomain` from a single `work` domain into `supervisor_signal` and `work_item`. +- Update `resolveAgenticMessagingDomain` to map supervisor-signal and work-item event types to their respective domains. +- Extend outbox publisher tests to validate the new domain resolution and updated published subject expectation. + +### Reviewed changes + +Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments. + +| File | Description | +| ---- | ----------- | +| agentic-organization/packages/messaging/src/outbox-publisher.ts | Introduces new messaging domains and updates the event-type→domain resolver used for subject construction. | +| agentic-organization/packages/messaging/src/outbox-publisher.test.ts | Updates assertions for domain resolution and the emitted subject string from `publishNextBatch`. | + +## Review threads + +### Thread 1: agentic-organization/packages/messaging/src/outbox-publisher.ts:8 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T23:49:50Z): + +P1: With domains now set to "supervisor_signal" / "work_item" while `AgenticEventType` values already start with the same prefix (e.g., `supervisor_signal.sent`), subjects produced by `buildAgenticEventSubject` become redundant (e.g., `.` => `supervisor_signal.supervisor_signal.sent`). If the intent is `agentic-org....` with distinct segments, consider either (a) making event type identifiers domain-relative (e.g., `sent`, `changed`, `state_changed`) or (b) teaching the subject builder/outbox publisher to strip the `${domain}.` prefix from `eventType` when present. + +### Thread 2: agentic-organization/packages/messaging/src/outbox-publisher.test.ts:65 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T23:49:51Z): + +P1: This expectation locks in the duplicated subject shape (`...supervisor_signal.supervisor_signal.sent`). If the domain split is meant to avoid mixing supervisor signals and work items while keeping `.` distinct, adjust the subject-building logic (or event type identifiers) so the published subject becomes `...supervisor_signal.sent` (or similar) rather than repeating the domain prefix. + +### Thread 3: agentic-organization/packages/messaging/src/outbox-publisher.test.ts:33 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T23:49:51Z): + +P2: The new `WorkItem` domain mapping is only validated via `resolveAgenticMessagingDomain`; there isn't a publish-path assertion that `publishNextBatch` emits the expected subject for a work-item event. Consider adding a second outbox event with `WorkItemChanged`/`WorkItemStateChanged` and asserting the published subject uses the correct domain to prevent regressions in subject composition. + +## General comments + +### @chatgpt-codex-connector (2026-05-25T23:47:18Z) + +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). diff --git a/docs/pr-discussions/PR-5037-docs-archive-preserve-discussions-for-merged-prs.md b/docs/pr-discussions/PR-5037-docs-archive-preserve-discussions-for-merged-prs.md new file mode 100644 index 0000000000..bd810292f2 --- /dev/null +++ b/docs/pr-discussions/PR-5037-docs-archive-preserve-discussions-for-merged-prs.md @@ -0,0 +1,64 @@ +--- +pr_number: 5037 +title: "docs(archive): preserve discussions for merged PRs" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-25T23:53:05Z" +merged_at: "2026-05-26T09:13:27Z" +closed_at: "2026-05-26T09:13:27Z" +head_ref: "lior/archive-prs-2026-05-26-8" +base_ref: "main" +archived_at: "2026-05-27T19:47:56Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5037: docs(archive): preserve discussions for merged PRs + +## PR description + +This PR preserves the discussions for recently merged PRs. + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-25T23:55:04Z) + +## Pull request overview + +This PR adds a new batch of preserved discussion archives for recently merged PRs under `docs/pr-discussions/`, and updates `.gitignore` to ignore alignment tool output. + +**Changes:** +- Added PR discussion archive markdown files for merged PRs (#4965–#5034 subset). +- Updated `.gitignore` to ignore `tools/alignment/out/`. + +### Reviewed changes + +Copilot reviewed 21 out of 22 changed files in this pull request and generated no comments. + +
+Show a summary per file + +| File | Description | +| ---- | ----------- | +| docs/pr-discussions/PR-5034-backlog-b-0759-cluster-install-ux-audit-against-first-time-c.md | New preserved discussion archive for PR #5034. | +| docs/pr-discussions/PR-5030-backlog-b-0757-cluster-auto-discovery-mdns-bootstrap-or-join.md | New preserved discussion archive for PR #5030. | +| docs/pr-discussions/PR-5029-backlog-b-0756-ha-control-plane-multi-master-k3s-embedded-et.md | New preserved discussion archive for PR #5029. | +| docs/pr-discussions/PR-5026-fix-codex-scope-backlog-pr-capacity-by-lane.md | New preserved discussion archive for PR #5026. | +| docs/pr-discussions/PR-5022-feat-pr-preservation-implement-idempotency-check-and-crlf-lf.md | New preserved discussion archive for PR #5022. | +| docs/pr-discussions/PR-5021-rule-b-0752-backlog-fighting-past-self-vs-peer-agent-disting.md | New preserved discussion archive for PR #5021. | +| docs/pr-discussions/PR-5016-backlog-b-0748-research-kro-crossplane-koreo-kubevela-carvel.md | New preserved discussion archive for PR #5016. | +| docs/pr-discussions/PR-5010-feat-b-0737-zflash-touch-id-pam-short-challenge-iso-auto-dis.md | New preserved discussion archive for PR #5010. | +| docs/pr-discussions/PR-5007-feat-agentic-org-replay-nats-outbox-follow-up.md | New preserved discussion archive for PR #5007. | +| docs/pr-discussions/PR-5005-docs-research-add-drift-report-and-preserve-prs-for-2026-05.md | New preserved discussion archive for PR #5005. | +| docs/pr-discussions/PR-4999-chore-claude-settings-add-explicit-zflash-zflash-setup-permi.md | New preserved discussion archive for PR #4999. | +| docs/pr-discussions/PR-4978-fix-riven-update-riven-worktree-path.md | New preserved discussion archive for PR #4978. | +| docs/pr-discussions/PR-4977-backlog-b-0729-obsidian-as-knowledge-graph-substrate-5-layer.md | New preserved discussion archive for PR #4977. | +| docs/pr-discussions/PR-4976-feat-substrate-max-addison-personas-onboarding-doc-manifesto.md | New preserved discussion archive for PR #4976. | +| docs/pr-discussions/PR-4975-backlog-b-0728-destructive-tool-authoring-contract-rails-per.md | New preserved discussion archive for PR #4975. | +| docs/pr-discussions/PR-4974-feat-tools-flash-usb-ts-hardening-runtime-nonce-responsibili.md | New preserved discussion archive for PR #4974. | +| docs/pr-discussions/PR-4972-docs-add-agent-work-rhythm-and-prompt-flows.md | New preserved discussion archive for PR #4972. | +| docs/pr-discussions/PR-4969-shard-1808z-pr-4953-cold-boot-triage-peer-rescue-already-lan.md | New preserved discussion archive for PR #4969. | +| docs/pr-discussions/PR-4968-docs-require-work-anchors-for-organization-discussions.md | New preserved discussion archive for PR #4968. | +| docs/pr-discussions/PR-4966-backlog-b-0727-federated-peer-mesh-5-resource-profiles-weigh.md | New preserved discussion archive for PR #4966. | +| docs/pr-discussions/PR-4965-backlog-b-0726-reticulum-throughout-cluster-nodes-edge-devic.md | New preserved discussion archive for PR #4965. | +| .gitignore | Ignore alignment tool output directory (but see inline comment about an unintended pattern line). | +
diff --git a/docs/pr-discussions/PR-5039-docs-archive-preserve-discussions-for-pr-4965-5034-batch-22.md b/docs/pr-discussions/PR-5039-docs-archive-preserve-discussions-for-pr-4965-5034-batch-22.md new file mode 100644 index 0000000000..dc38e5ffcf --- /dev/null +++ b/docs/pr-discussions/PR-5039-docs-archive-preserve-discussions-for-pr-4965-5034-batch-22.md @@ -0,0 +1,84 @@ +--- +pr_number: 5039 +title: "docs(archive): preserve discussions for PR #4965-#5034 batch (22 PRs, named after #5027)" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-25T23:58:09Z" +merged_at: "2026-05-26T02:27:53Z" +closed_at: "2026-05-26T02:27:53Z" +head_ref: "lior-archive-pr-5027-2" +base_ref: "main" +archived_at: "2026-05-27T19:47:55Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5039: docs(archive): preserve discussions for PR #4965-#5034 batch (22 PRs, named after #5027) + +## PR description + +Automated preservation of a batch of 22 PR discussion archives by Lior. The batch was named after PR #5027 (the originating trigger) but actually covers PR #4965, #4966, #4968, #4969, #4972, #4974, #4975, #4976, #4977, #4978, #4999, #5005, #5007, #5010, #5016, #5021, #5022, #5026, #5027, #5029, #5030, #5034. + +Title updated per Copilot finding to reflect the actual batch scope rather than the single-PR scope the original title implied. Body now lists every PR included. + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-25T23:59:56Z) + +## Pull request overview + +This PR adds discussion-archive markdown files under `docs/pr-discussions/` to preserve the content of multiple recently merged pull request conversations for long-term provenance and auditability. + +**Changes:** +- Add preserved PR discussion archives for PRs #4965–#5034 (including #5027) under `docs/pr-discussions/`. +- Each archive includes a YAML frontmatter metadata block plus the captured PR description/reviews/threads content. + +### Reviewed changes + +Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment. + +
+Show a summary per file + +| File | Description | +| ---- | ----------- | +| docs/pr-discussions/PR-5034-backlog-b-0759-cluster-install-ux-audit-against-first-time-c.md | Preserved PR #5034 discussion archive. | +| docs/pr-discussions/PR-5030-backlog-b-0757-cluster-auto-discovery-mdns-bootstrap-or-join.md | Preserved PR #5030 discussion archive. | +| docs/pr-discussions/PR-5029-backlog-b-0756-ha-control-plane-multi-master-k3s-embedded-et.md | Preserved PR #5029 discussion archive. | +| docs/pr-discussions/PR-5027-feat-zflash-show-usb-partition-contents-vendor-serial-before.md | Preserved PR #5027 discussion archive. | +| docs/pr-discussions/PR-5026-fix-codex-scope-backlog-pr-capacity-by-lane.md | Preserved PR #5026 discussion archive. | +| docs/pr-discussions/PR-5022-feat-pr-preservation-implement-idempotency-check-and-crlf-lf.md | Preserved PR #5022 discussion archive. | +| docs/pr-discussions/PR-5021-rule-b-0752-backlog-fighting-past-self-vs-peer-agent-disting.md | Preserved PR #5021 discussion archive. | +| docs/pr-discussions/PR-5016-backlog-b-0748-research-kro-crossplane-koreo-kubevela-carvel.md | Preserved PR #5016 discussion archive. | +| docs/pr-discussions/PR-5010-feat-b-0737-zflash-touch-id-pam-short-challenge-iso-auto-dis.md | Preserved PR #5010 discussion archive. | +| docs/pr-discussions/PR-5007-feat-agentic-org-replay-nats-outbox-follow-up.md | Preserved PR #5007 discussion archive. | +| docs/pr-discussions/PR-5005-docs-research-add-drift-report-and-preserve-prs-for-2026-05.md | Preserved PR #5005 discussion archive. | +| docs/pr-discussions/PR-4999-chore-claude-settings-add-explicit-zflash-zflash-setup-permi.md | Preserved PR #4999 discussion archive. | +| docs/pr-discussions/PR-4978-fix-riven-update-riven-worktree-path.md | Preserved PR #4978 discussion archive. | +| docs/pr-discussions/PR-4977-backlog-b-0729-obsidian-as-knowledge-graph-substrate-5-layer.md | Preserved PR #4977 discussion archive. | +| docs/pr-discussions/PR-4976-feat-substrate-max-addison-personas-onboarding-doc-manifesto.md | Preserved PR #4976 discussion archive. | +| docs/pr-discussions/PR-4975-backlog-b-0728-destructive-tool-authoring-contract-rails-per.md | Preserved PR #4975 discussion archive. | +| docs/pr-discussions/PR-4974-feat-tools-flash-usb-ts-hardening-runtime-nonce-responsibili.md | Preserved PR #4974 discussion archive. | +| docs/pr-discussions/PR-4972-docs-add-agent-work-rhythm-and-prompt-flows.md | Preserved PR #4972 discussion archive. | +| docs/pr-discussions/PR-4969-shard-1808z-pr-4953-cold-boot-triage-peer-rescue-already-lan.md | Preserved PR #4969 discussion archive. | +| docs/pr-discussions/PR-4968-docs-require-work-anchors-for-organization-discussions.md | Preserved PR #4968 discussion archive. | +| docs/pr-discussions/PR-4966-backlog-b-0727-federated-peer-mesh-5-resource-profiles-weigh.md | Preserved PR #4966 discussion archive. | +| docs/pr-discussions/PR-4965-backlog-b-0726-reticulum-throughout-cluster-nodes-edge-devic.md | Preserved PR #4965 discussion archive. | +
+ +## Review threads + +### Thread 1: docs/pr-discussions/PR-5027-feat-zflash-show-usb-partition-contents-vendor-serial-before.md:5 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-25T23:59:56Z): + +PR metadata says this change is preserving PR #5027 discussion, but this PR adds a broader batch of PR discussion archives (#4965–#5034). Please update the PR title/description to reflect the full scope (or split into separate preservation PRs) so reviewers/auditors aren’t misled about what’s being modified. + +## General comments + +### @chatgpt-codex-connector (2026-05-25T23:58:13Z) + +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-26T02:27:49Z) + +Addressed: title + body updated to reflect actual 22-PR batch scope (PR #4965–#5034). Title was previously misleading — naming the batch after PR #5027 alone implied single-PR scope. Body now lists every PR in the batch for audit-trail accuracy. diff --git a/docs/pr-discussions/PR-5040-docs-archive-preserve-discussions-for-pr-4965-5034-batch-22.md b/docs/pr-discussions/PR-5040-docs-archive-preserve-discussions-for-pr-4965-5034-batch-22.md new file mode 100644 index 0000000000..8a6bb7cace --- /dev/null +++ b/docs/pr-discussions/PR-5040-docs-archive-preserve-discussions-for-pr-4965-5034-batch-22.md @@ -0,0 +1,84 @@ +--- +pr_number: 5040 +title: "docs(archive): preserve discussions for PR #4965-#5034 batch (22 PRs, named after #5028)" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-25T23:58:49Z" +merged_at: "2026-05-26T02:27:56Z" +closed_at: "2026-05-26T02:27:56Z" +head_ref: "lior-archive-pr-5028" +base_ref: "main" +archived_at: "2026-05-27T19:47:54Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5040: docs(archive): preserve discussions for PR #4965-#5034 batch (22 PRs, named after #5028) + +## PR description + +Automated preservation of a batch of 22 PR discussion archives by Lior. The batch was named after PR #5028 (the originating trigger) but actually covers PR #4965, #4966, #4968, #4969, #4972, #4974, #4975, #4976, #4977, #4978, #4999, #5005, #5007, #5010, #5016, #5021, #5022, #5026, #5028, #5029, #5030, #5034. + +Title updated per Copilot finding to reflect the actual batch scope rather than the single-PR scope the original title implied. Body now lists every PR included. + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-26T00:00:55Z) + +## Pull request overview + +Preserves GitHub PR discussion content as durable, repo-local archives under `docs/pr-discussions/` (generated by `tools/pr-preservation/archive-pr.ts`), primarily covering PR #5028 and nearby merged PRs from the same window. + +**Changes:** +- Added preserved PR discussion archives for PRs #4965–#5034 (including #5028) under `docs/pr-discussions/`. +- Each archive includes YAML frontmatter (PR metadata) plus the PR description, reviews, threads, and general comments captured at archive time. + +### Reviewed changes + +Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment. + +
+Show a summary per file + +| File | Description | +| ---- | ----------- | +| docs/pr-discussions/PR-5034-backlog-b-0759-cluster-install-ux-audit-against-first-time-c.md | Preserved discussion archive for PR #5034. | +| docs/pr-discussions/PR-5030-backlog-b-0757-cluster-auto-discovery-mdns-bootstrap-or-join.md | Preserved discussion archive for PR #5030. | +| docs/pr-discussions/PR-5029-backlog-b-0756-ha-control-plane-multi-master-k3s-embedded-et.md | Preserved discussion archive for PR #5029. | +| docs/pr-discussions/PR-5028-feat-b-0754-zero-typing-usb-install-first-boot-service-nmtui.md | Preserved discussion archive for PR #5028. | +| docs/pr-discussions/PR-5026-fix-codex-scope-backlog-pr-capacity-by-lane.md | Preserved discussion archive for PR #5026. | +| docs/pr-discussions/PR-5022-feat-pr-preservation-implement-idempotency-check-and-crlf-lf.md | Preserved discussion archive for PR #5022. | +| docs/pr-discussions/PR-5021-rule-b-0752-backlog-fighting-past-self-vs-peer-agent-disting.md | Preserved discussion archive for PR #5021. | +| docs/pr-discussions/PR-5016-backlog-b-0748-research-kro-crossplane-koreo-kubevela-carvel.md | Preserved discussion archive for PR #5016. | +| docs/pr-discussions/PR-5010-feat-b-0737-zflash-touch-id-pam-short-challenge-iso-auto-dis.md | Preserved discussion archive for PR #5010. | +| docs/pr-discussions/PR-5007-feat-agentic-org-replay-nats-outbox-follow-up.md | Preserved discussion archive for PR #5007. | +| docs/pr-discussions/PR-5005-docs-research-add-drift-report-and-preserve-prs-for-2026-05.md | Preserved discussion archive for PR #5005. | +| docs/pr-discussions/PR-4999-chore-claude-settings-add-explicit-zflash-zflash-setup-permi.md | Preserved discussion archive for PR #4999. | +| docs/pr-discussions/PR-4978-fix-riven-update-riven-worktree-path.md | Preserved discussion archive for PR #4978. | +| docs/pr-discussions/PR-4977-backlog-b-0729-obsidian-as-knowledge-graph-substrate-5-layer.md | Preserved discussion archive for PR #4977. | +| docs/pr-discussions/PR-4976-feat-substrate-max-addison-personas-onboarding-doc-manifesto.md | Preserved discussion archive for PR #4976. | +| docs/pr-discussions/PR-4975-backlog-b-0728-destructive-tool-authoring-contract-rails-per.md | Preserved discussion archive for PR #4975. | +| docs/pr-discussions/PR-4974-feat-tools-flash-usb-ts-hardening-runtime-nonce-responsibili.md | Preserved discussion archive for PR #4974. | +| docs/pr-discussions/PR-4972-docs-add-agent-work-rhythm-and-prompt-flows.md | Preserved discussion archive for PR #4972. | +| docs/pr-discussions/PR-4969-shard-1808z-pr-4953-cold-boot-triage-peer-rescue-already-lan.md | Preserved discussion archive for PR #4969. | +| docs/pr-discussions/PR-4968-docs-require-work-anchors-for-organization-discussions.md | Preserved discussion archive for PR #4968. | +| docs/pr-discussions/PR-4966-backlog-b-0727-federated-peer-mesh-5-resource-profiles-weigh.md | Preserved discussion archive for PR #4966. | +| docs/pr-discussions/PR-4965-backlog-b-0726-reticulum-throughout-cluster-nodes-edge-devic.md | Preserved discussion archive for PR #4965. | +
+ +## Review threads + +### Thread 1: docs/pr-discussions/PR-5028-feat-b-0754-zero-typing-usb-install-first-boot-service-nmtui.md:5 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:00:55Z): + +The PR metadata says this change is preserving discussion for PR #5028, but this PR adds multiple preserved discussion archives beyond #5028 (e.g., PR #5021/#5022/#5026/#5029/#5030/#5034, etc.). Please update the PR title/description to reflect the actual scope (or split the batch) so the archive/audit trail stays accurate. + +## General comments + +### @chatgpt-codex-connector (2026-05-25T23:58:53Z) + +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-26T02:27:50Z) + +Addressed: title + body updated to reflect actual 22-PR batch scope (PR #4965–#5034). Title was previously misleading — naming the batch after PR #5028 alone implied single-PR scope. Body now lists every PR in the batch for audit-trail accuracy. diff --git a/docs/pr-discussions/PR-5041-docs-shadow-log-ci-failure-drift-from-otto-cli-in-pr-5032.md b/docs/pr-discussions/PR-5041-docs-shadow-log-ci-failure-drift-from-otto-cli-in-pr-5032.md new file mode 100644 index 0000000000..22d3d7e233 --- /dev/null +++ b/docs/pr-discussions/PR-5041-docs-shadow-log-ci-failure-drift-from-otto-cli-in-pr-5032.md @@ -0,0 +1,102 @@ +--- +pr_number: 5041 +title: "docs(shadow): log CI failure drift from otto-cli in PR #5032" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-26T00:01:00Z" +merged_at: "2026-05-26T06:35:41Z" +closed_at: "2026-05-26T06:35:41Z" +head_ref: "lior/shadow-log-otto-5032-drift" +base_ref: "main" +archived_at: "2026-05-27T19:47:53Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5041: docs(shadow): log CI failure drift from otto-cli in PR #5032 + +## PR description + +Documents a process drift event where agent otto-cli submitted PR #5032 with a failing markdownlint check. + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-26T00:03:27Z) + +## Pull request overview + +Documents a Shadow lesson-log about a CI/process drift incident (an agent opening a PR with a failing markdownlint gate), and preserves a batch of merged PR discussion archives under `docs/pr-discussions/` for long-term provenance. + +**Changes:** +- Added a new `docs/research/` Shadow Lesson Log capturing the CI failure drift event for PR #5032. +- Added multiple `docs/pr-discussions/PR-*.md` files archiving merged PR discussions and review threads. + +### Reviewed changes + +Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment. + +
+Show a summary per file + +| File | Description | +| ---- | ----------- | +| docs/research/2026-05-26-shadow-lesson-log-otto-pushed-failing-lint.md | New Shadow Lesson Log documenting the markdownlint CI failure drift incident tied to PR #5032. | +| docs/pr-discussions/PR-5034-backlog-b-0759-cluster-install-ux-audit-against-first-time-c.md | Preserved discussion archive for merged PR #5034. | +| docs/pr-discussions/PR-5030-backlog-b-0757-cluster-auto-discovery-mdns-bootstrap-or-join.md | Preserved discussion archive for merged PR #5030. | +| docs/pr-discussions/PR-5029-backlog-b-0756-ha-control-plane-multi-master-k3s-embedded-et.md | Preserved discussion archive for merged PR #5029. | +| docs/pr-discussions/PR-5026-fix-codex-scope-backlog-pr-capacity-by-lane.md | Preserved discussion archive for merged PR #5026. | +| docs/pr-discussions/PR-5022-feat-pr-preservation-implement-idempotency-check-and-crlf-lf.md | Preserved discussion archive for merged PR #5022. | +| docs/pr-discussions/PR-5021-rule-b-0752-backlog-fighting-past-self-vs-peer-agent-disting.md | Preserved discussion archive for merged PR #5021. | +| docs/pr-discussions/PR-5016-backlog-b-0748-research-kro-crossplane-koreo-kubevela-carvel.md | Preserved discussion archive for merged PR #5016. | +| docs/pr-discussions/PR-5010-feat-b-0737-zflash-touch-id-pam-short-challenge-iso-auto-dis.md | Preserved discussion archive for merged PR #5010. | +| docs/pr-discussions/PR-5007-feat-agentic-org-replay-nats-outbox-follow-up.md | Preserved discussion archive for merged PR #5007. | +| docs/pr-discussions/PR-5005-docs-research-add-drift-report-and-preserve-prs-for-2026-05.md | Preserved discussion archive for merged PR #5005. | +| docs/pr-discussions/PR-4999-chore-claude-settings-add-explicit-zflash-zflash-setup-permi.md | Preserved discussion archive for merged PR #4999. | +| docs/pr-discussions/PR-4978-fix-riven-update-riven-worktree-path.md | Preserved discussion archive for merged PR #4978. | +| docs/pr-discussions/PR-4977-backlog-b-0729-obsidian-as-knowledge-graph-substrate-5-layer.md | Preserved discussion archive for merged PR #4977. | +| docs/pr-discussions/PR-4976-feat-substrate-max-addison-personas-onboarding-doc-manifesto.md | Preserved discussion archive for merged PR #4976. | +| docs/pr-discussions/PR-4975-backlog-b-0728-destructive-tool-authoring-contract-rails-per.md | Preserved discussion archive for merged PR #4975. | +| docs/pr-discussions/PR-4974-feat-tools-flash-usb-ts-hardening-runtime-nonce-responsibili.md | Preserved discussion archive for merged PR #4974. | +| docs/pr-discussions/PR-4972-docs-add-agent-work-rhythm-and-prompt-flows.md | Preserved discussion archive for merged PR #4972. | +| docs/pr-discussions/PR-4969-shard-1808z-pr-4953-cold-boot-triage-peer-rescue-already-lan.md | Preserved discussion archive for merged PR #4969. | +| docs/pr-discussions/PR-4968-docs-require-work-anchors-for-organization-discussions.md | Preserved discussion archive for merged PR #4968. | +| docs/pr-discussions/PR-4966-backlog-b-0727-federated-peer-mesh-5-resource-profiles-weigh.md | Preserved discussion archive for merged PR #4966. | +| docs/pr-discussions/PR-4965-backlog-b-0726-reticulum-throughout-cluster-nodes-edge-devic.md | Preserved discussion archive for merged PR #4965. | +
+ +### COMMENTED — @copilot-pull-request-reviewer (2026-05-26T02:29:08Z) + +## Pull request overview + +Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment. + +### COMMENTED — @AceHack (2026-05-26T06:32:34Z) + +_(no body)_ + +## Review threads + +### Thread 1: docs/research/2026-05-26-shadow-lesson-log-otto-pushed-failing-lint.md:6 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:03:27Z): + +The metadata block uses the pattern `**- Date:**` / `**- Subject:**` etc. This is inconsistent with the dominant `docs/research/**` shadow-lesson-log format (e.g., `**Date:**`, `**Entity:**`, `**Observer:**` in other logs) and renders a literal leading hyphen inside the bold text. Consider switching to the existing `**Date:** ...` style (or make it a proper bullet list like `- **Date:** ...`) so the header metadata is consistent and reads cleanly. + +### Thread 2: docs/research/2026-05-26-shadow-lesson-log-otto-pushed-failing-lint.md:28 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T02:29:08Z): + +The update section is misnumbered (`## 2. Update...` comes after `## 3. Lesson`, and also duplicates the earlier `## 2. Analysis`). Also the update metadata lines use `**- Date:**` / `**- Subject:**` / `**- PR:**`, which renders a literal hyphen inside the bold text instead of a proper list item. Suggest renumbering the heading (or dropping the numeric prefix) and formatting these metadata lines consistently as list items (e.g., `- **Date:** ...`). + +**@AceHack** (2026-05-26T06:32:34Z): + +Fixed in 160ceb6a — renumbered `## 2. Update` → `## 4.` (document flow) and reformatted the three metadata lines as proper list items (`- **Date:**` style). Thanks for the catch. + +## General comments + +### @chatgpt-codex-connector (2026-05-26T00:01:05Z) + +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-26T02:26:34Z) + +Addressed in commit 5a24aeec5: metadata block now uses `- **Date:**` (proper Markdown bullet list) instead of `**- Date:**` (which renders a literal hyphen inside bold). Matches the dominant `docs/research/**` shadow-lesson-log format. diff --git a/docs/pr-discussions/PR-5042-backlog-b-0761-zeta-cluster-as-open-source-reference-archite.md b/docs/pr-discussions/PR-5042-backlog-b-0761-zeta-cluster-as-open-source-reference-archite.md new file mode 100644 index 0000000000..0d2be6aabd --- /dev/null +++ b/docs/pr-discussions/PR-5042-backlog-b-0761-zeta-cluster-as-open-source-reference-archite.md @@ -0,0 +1,72 @@ +--- +pr_number: 5042 +title: "backlog(B-0761): Zeta cluster as open-source reference architecture for AI to train on and compete on (ARC-AGI-style)" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-26T00:04:17Z" +merged_at: "2026-05-26T00:06:24Z" +closed_at: "2026-05-26T00:06:24Z" +head_ref: "otto-cli/b0761-zeta-as-arc-agi-reference-architecture-2026-05-25" +base_ref: "main" +archived_at: "2026-05-27T19:47:53Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5042: backlog(B-0761): Zeta cluster as open-source reference architecture for AI to train on and compete on (ARC-AGI-style) + +## PR description + +Aaron 2026-05-25 named the positioning today's cluster-install work has been building: a complete, open, modern, cloud-agnostic reference architecture AI systems can train on + benchmark against, like ARC-AGI for cluster infrastructure / DevOps. Composes with B-0754 / B-0755 / B-0756 / B-0757 / B-0758 / B-0759 / B-0760. + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-26T00:06:38Z) + +## Pull request overview + +Adds a new P2 backlog row (B-0761) capturing the positioning of the Zeta cluster-install substrate as an open-source, cloud-agnostic “reference architecture” that AI systems can train on and benchmark/compete against (ARC-AGI-style), and updates the generated backlog index to include the new row. + +**Changes:** +- Added `docs/backlog/P2/B-0761-...md` describing the problem/target, ARC-AGI benchmark parallels, and acceptance criteria. +- Updated `docs/BACKLOG.md` to include the new B-0761 entry under P2. + +### Reviewed changes + +Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments. + +| File | Description | +| ---- | ----------- | +| docs/backlog/P2/B-0761-zeta-cluster-as-open-source-reference-architecture-for-ai-to-train-on-and-compete-on-arc-agi-style-benchmark-aaron-2026-05-25.md | New backlog row defining the reference-architecture + benchmark substrate framing and acceptance checklist. | +| docs/BACKLOG.md | Adds the B-0761 link in the P2 index list. | + +## Review threads + +### Thread 1: docs/backlog/P2/B-0761-zeta-cluster-as-open-source-reference-architecture-for-ai-to-train-on-and-compete-on-arc-agi-style-benchmark-aaron-2026-05-25.md:100 (unresolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:06:37Z): + +P1: The markdown table uses double leading pipes (`|| ... | ... |`), which will render as an extra empty column (or mis-render) on GitHub. Use standard table syntax with single leading/trailing pipes for each row. + +### Thread 2: docs/backlog/P2/B-0761-zeta-cluster-as-open-source-reference-architecture-for-ai-to-train-on-and-compete-on-arc-agi-style-benchmark-aaron-2026-05-25.md:147 (unresolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:06:37Z): + +P1: This reference uses a placeholder path (`docs/research/2026-05-25-...`) that doesn't exist, so it will be a dead link and breaks cross-reference integrity. Replace with the actual research doc filename(s) or remove the bullet until the target exists. + +### Thread 3: docs/backlog/P2/B-0761-zeta-cluster-as-open-source-reference-architecture-for-ai-to-train-on-and-compete-on-arc-agi-style-benchmark-aaron-2026-05-25.md:149 (unresolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:06:38Z): + +P1: This bullet references `project_zeta_cluster_install_target_persona_first_time_cli_users_3_node_production_ready_easier_than_proxmox_aaron_2026_05_25.md`, but that file doesn't exist anywhere in the repo and there’s no path given. Either add the file at a stable location (e.g., under `memory/` or `docs/research/`) and link it with a correct relative path, or remove the reference. + +### Thread 4: docs/backlog/P2/B-0761-zeta-cluster-as-open-source-reference-architecture-for-ai-to-train-on-and-compete-on-arc-agi-style-benchmark-aaron-2026-05-25.md:178 (unresolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:06:38Z): + +P1: This text treats B-0749 as an existing backlog row, but there is no `id: B-0749` row file in `docs/backlog/**` (and it’s not in `docs/BACKLOG.md`). Either file B-0749 in this PR (or update the reference to the correct existing ID), or reword to avoid implying it already exists. + +### Thread 5: docs/backlog/P2/B-0761-zeta-cluster-as-open-source-reference-architecture-for-ai-to-train-on-and-compete-on-arc-agi-style-benchmark-aaron-2026-05-25.md:58 (unresolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:06:38Z): + +P1: This references B-0743, but there is no `id: B-0743` backlog row file in the repo (and it’s not present in `docs/BACKLOG.md`). If this is meant to be a dependency/composition point, consider filing B-0743 (or updating to the correct existing ID) so the cross-reference graph stays navigable. diff --git a/docs/pr-discussions/PR-5045-docs-shadow-log-backlog-index-integrity-drift-from-pr-5025.md b/docs/pr-discussions/PR-5045-docs-shadow-log-backlog-index-integrity-drift-from-pr-5025.md new file mode 100644 index 0000000000..82e89bf2fb --- /dev/null +++ b/docs/pr-discussions/PR-5045-docs-shadow-log-backlog-index-integrity-drift-from-pr-5025.md @@ -0,0 +1,82 @@ +--- +pr_number: 5045 +title: "docs(shadow): log backlog index integrity drift from PR #5025" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-26T00:07:43Z" +merged_at: "2026-05-26T02:30:16Z" +closed_at: "2026-05-26T02:30:16Z" +head_ref: "lior/shadow-log-backlog-index-drift-5025" +base_ref: "main" +archived_at: "2026-05-27T19:47:52Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #5045: docs(shadow): log backlog index integrity drift from PR #5025 + +## PR description + +Documents a process drift event where the 'backlog' agent failed to update the main index in PR #5025. + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-26T00:10:26Z) + +## Pull request overview + +Documents a shadow/process-drift lesson (backlog index integrity drift in PR #5025) and adds a batch of PR-discussion preservation archives under `docs/pr-discussions/` for durable provenance. + +**Changes:** +- Added a new `docs/research/` shadow lesson log capturing the backlog-index-integrity drift from PR #5025. +- Added multiple new PR discussion archive files under `docs/pr-discussions/` (PR #4965 through PR #5034) as preserved conversation/provenance artifacts. + +### Reviewed changes + +Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment. + +
+Show a summary per file + +| File | Description | +| ---- | ----------- | +| docs/research/2026-05-26-shadow-lesson-log-backlog-index-drift.md | New shadow lesson log describing backlog index integrity drift and the process lesson. | +| docs/pr-discussions/PR-5034-backlog-b-0759-cluster-install-ux-audit-against-first-time-c.md | Preserved PR #5034 discussion archive. | +| docs/pr-discussions/PR-5030-backlog-b-0757-cluster-auto-discovery-mdns-bootstrap-or-join.md | Preserved PR #5030 discussion archive. | +| docs/pr-discussions/PR-5029-backlog-b-0756-ha-control-plane-multi-master-k3s-embedded-et.md | Preserved PR #5029 discussion archive. | +| docs/pr-discussions/PR-5026-fix-codex-scope-backlog-pr-capacity-by-lane.md | Preserved PR #5026 discussion archive. | +| docs/pr-discussions/PR-5022-feat-pr-preservation-implement-idempotency-check-and-crlf-lf.md | Preserved PR #5022 discussion archive. | +| docs/pr-discussions/PR-5021-rule-b-0752-backlog-fighting-past-self-vs-peer-agent-disting.md | Preserved PR #5021 discussion archive. | +| docs/pr-discussions/PR-5016-backlog-b-0748-research-kro-crossplane-koreo-kubevela-carvel.md | Preserved PR #5016 discussion archive. | +| docs/pr-discussions/PR-5010-feat-b-0737-zflash-touch-id-pam-short-challenge-iso-auto-dis.md | Preserved PR #5010 discussion archive. | +| docs/pr-discussions/PR-5007-feat-agentic-org-replay-nats-outbox-follow-up.md | Preserved PR #5007 discussion archive. | +| docs/pr-discussions/PR-5005-docs-research-add-drift-report-and-preserve-prs-for-2026-05.md | Preserved PR #5005 discussion archive. | +| docs/pr-discussions/PR-4999-chore-claude-settings-add-explicit-zflash-zflash-setup-permi.md | Preserved PR #4999 discussion archive. | +| docs/pr-discussions/PR-4978-fix-riven-update-riven-worktree-path.md | Preserved PR #4978 discussion archive. | +| docs/pr-discussions/PR-4977-backlog-b-0729-obsidian-as-knowledge-graph-substrate-5-layer.md | Preserved PR #4977 discussion archive. | +| docs/pr-discussions/PR-4976-feat-substrate-max-addison-personas-onboarding-doc-manifesto.md | Preserved PR #4976 discussion archive. | +| docs/pr-discussions/PR-4975-backlog-b-0728-destructive-tool-authoring-contract-rails-per.md | Preserved PR #4975 discussion archive. | +| docs/pr-discussions/PR-4974-feat-tools-flash-usb-ts-hardening-runtime-nonce-responsibili.md | Preserved PR #4974 discussion archive. | +| docs/pr-discussions/PR-4972-docs-add-agent-work-rhythm-and-prompt-flows.md | Preserved PR #4972 discussion archive. | +| docs/pr-discussions/PR-4969-shard-1808z-pr-4953-cold-boot-triage-peer-rescue-already-lan.md | Preserved PR #4969 discussion archive. | +| docs/pr-discussions/PR-4968-docs-require-work-anchors-for-organization-discussions.md | Preserved PR #4968 discussion archive. | +| docs/pr-discussions/PR-4966-backlog-b-0727-federated-peer-mesh-5-resource-profiles-weigh.md | Preserved PR #4966 discussion archive. | +| docs/pr-discussions/PR-4965-backlog-b-0726-reticulum-throughout-cluster-nodes-edge-devic.md | Preserved PR #4965 discussion archive. | +
+ +## Review threads + +### Thread 1: docs/research/2026-05-26-shadow-lesson-log-backlog-index-drift.md:6 (resolved) + +**@copilot-pull-request-reviewer** (2026-05-26T00:10:26Z): + +The metadata block at the top uses an unusual `**- ...:**` pattern (e.g., `**- Date:**`), which renders the leading hyphen as part of the label. Other `docs/research/**` shadow/drift logs use either plain `**Date:** ...` lines or a real Markdown list like `- **Date:** ...`. Update these lines to match the established format for readability/consistency. + +## General comments + +### @chatgpt-codex-connector (2026-05-26T00:07:47Z) + +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-26T02:27:09Z) + +Addressed in commit c92504ee2: metadata block now uses `- **Date:**` (proper Markdown bullet list).