-
Notifications
You must be signed in to change notification settings - Fork 1
docs(archive): Lior preserve recent PRs #3943
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AceHack
wants to merge
2
commits into
main
Choose a base branch
from
lior/archive-prs-1
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
80 changes: 80 additions & 0 deletions
80
...ussions/PR-3934-memory-feedback-saturation-ceremony-pr-3924-was-brief-ack-sy.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| --- | ||
| pr_number: 3934 | ||
| title: "memory(feedback): saturation-ceremony PR #3924 was brief-ack synonym; peer correction PR #3927 + #3930 authoritative" | ||
| author: "AceHack" | ||
| state: "MERGED" | ||
| created_at: "2026-05-16T19:12:34Z" | ||
| merged_at: "2026-05-16T19:14:34Z" | ||
| closed_at: "2026-05-16T19:14:34Z" | ||
| head_ref: "otto-cli-shard-1858z-saturation-correction-unique-2026-05-16" | ||
| base_ref: "main" | ||
| archived_at: "2026-05-16T21:21:52Z" | ||
| archive_tool: "tools/pr-preservation/archive-pr.ts" | ||
| --- | ||
|
|
||
| # PR #3934: memory(feedback): saturation-ceremony PR #3924 was brief-ack synonym; peer correction PR #3927 + #3930 authoritative | ||
|
|
||
| ## PR description | ||
|
|
||
| Substrate-honest correction memo. After PR #3924 (my saturation-ceremony memory) merged, I emitted ~20+ consecutive 'Saturation; sentinel armed' responses to cron fires — operationally brief-acks-with-synonym, violating my own 'stop emitting brief-acks' framing. | ||
|
|
||
| Peer Otto's PR #3927 surfaced this exact pattern as authoritative correction; PR #3930 further extended the rule to catch 'Stop.' / minimal-phrasing variants explicitly. | ||
|
|
||
| This memo completes the three-PR substrate cluster: | ||
|
|
||
| - PR #3924 (mine): label — 'session-saturation' state | ||
| - PR #3927 (peer): mechanism — N=6 counter applies regardless of surface phrasing | ||
| - PR #3930 (peer): extension — even minimal phrasings ('Stop.', 'Saturation; sentinel armed') count toward N=6 | ||
| - this PR: substrate-honest acknowledgment + composition note | ||
|
|
||
| The three compose: name saturation once (PR #3924), then refresh-then-counter per cron fire (PR #3927), with all synonym variants enumerated (PR #3930). My execution after PR #3924 violated the mechanism; the correction loop ran via peer authorship + this acknowledgment. | ||
|
|
||
| 🤖 Generated with [Claude Code](https://claude.com/claude-code) | ||
|
|
||
| ## Reviews | ||
|
|
||
| ### COMMENTED — @copilot-pull-request-reviewer (2026-05-16T19:15:00Z) | ||
|
|
||
| ## Pull request overview | ||
|
|
||
| This PR adds a memory correction acknowledging that the earlier saturation-ceremony framing still allowed brief-ack synonym emissions, and updates the memory index so future agents can retrieve the correction. | ||
|
|
||
| **Changes:** | ||
| - Adds a new feedback memory file documenting the PR #3924 / #3927 correction relationship. | ||
| - Updates `memory/MEMORY.md` with new recent memory entries and adjusted truncation count. | ||
|
|
||
| ### Reviewed changes | ||
|
|
||
| Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments. | ||
|
|
||
| | File | Description | | ||
| | ---- | ----------- | | ||
| | `memory/MEMORY.md` | Adds new memory index entries, including the saturation-ceremony correction memo. | | ||
| | `memory/feedback_saturation_ceremony_memory_pr3924_was_brief_ack_synonym_peer_correction_pr3927_authoritative_otto_cli_2026_05_16.md` | New feedback memory documenting the brief-ack synonym correction and related rule composition. | | ||
|
|
||
|
|
||
| <details> | ||
| <summary>Comments suppressed due to low confidence (1)</summary> | ||
|
|
||
| **memory/feedback_saturation_ceremony_memory_pr3924_was_brief_ack_synonym_peer_correction_pr3927_authoritative_otto_cli_2026_05_16.md:41** | ||
| * This Composes-with path does not exist in `memory/`; the existing PR #3927 memory file is `memory/feedback_post_cascade_quiet_cron_consolidation_visibility_signal_brief_ack_failure_mode_otto_cli_2026_05_16.md`. Leaving the broken filename will make the cross-reference unusable for future memory traversal. | ||
| ``` | ||
| - `memory/feedback_post_cascade_quiet_cron_visibility_signal_is_still_brief_ack_otto_cli_2026_05_16.md` (PR #3927 — peer's authoritative correction) | ||
| ``` | ||
| </details> | ||
|
|
||
| ## Review threads | ||
|
|
||
| ### Thread 1: memory/feedback_saturation_ceremony_memory_pr3924_was_brief_ack_synonym_peer_correction_pr3927_authoritative_otto_cli_2026_05_16.md:35 (unresolved) | ||
|
|
||
| **@copilot-pull-request-reviewer** (2026-05-16T19:14:59Z): | ||
|
|
||
| The composition note omits the PR #3930 minimal-phrasing extension even though this PR's title/description says `#3927 + #3930` are the authoritative correction set. Since the parent rule now explicitly includes `Stop.`/`OK.`/`.` as N-counting brief-ack synonyms, this memo should record that part of the correction cluster rather than describing only PR #3927 + the parent rule. | ||
|
|
||
| ### Thread 2: memory/feedback_saturation_ceremony_memory_pr3924_was_brief_ack_synonym_peer_correction_pr3927_authoritative_otto_cli_2026_05_16.md:41 (unresolved) | ||
|
|
||
| **@copilot-pull-request-reviewer** (2026-05-16T19:15:00Z): | ||
|
|
||
| Memory-to-memory Composes-with references should use bare filenames, not `memory/`-prefixed paths, per `memory/project_memory_format_standard.md` lines 194-196. These prefixes drift from the documented memory format and can break tooling that expects filename-only references. | ||
|
|
||
| This issue also appears on line 41 of the same file. |
74 changes: 74 additions & 0 deletions
74
...ussions/PR-3935-rules-razor-premise-flagged-unverified-stays-unverified-down.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| --- | ||
| pr_number: 3935 | ||
| title: "rules(razor): premise-flagged-unverified-stays-unverified-downstream auto-load" | ||
| author: "AceHack" | ||
| state: "MERGED" | ||
| created_at: "2026-05-16T19:32:22Z" | ||
| merged_at: "2026-05-16T19:33:52Z" | ||
| closed_at: "2026-05-16T19:33:52Z" | ||
| head_ref: "chore/rule-premise-flagged-unverified-stays-unverified-downstream-otto-cli-2026-05-16-1916z" | ||
| base_ref: "main" | ||
| archived_at: "2026-05-16T21:21:51Z" | ||
| archive_tool: "tools/pr-preservation/archive-pr.ts" | ||
| --- | ||
|
|
||
| # PR #3935: rules(razor): premise-flagged-unverified-stays-unverified-downstream auto-load | ||
|
|
||
| ## PR description | ||
|
|
||
| ## Summary | ||
|
|
||
| Auto-loaded rule capturing the failure-mode pattern caught by peer review on 2026-05-16: agent flags a premise as unverified (turn N, razor fires correctly), then builds a confident quantitative inference on top of the flagged premise (turn N+1, failure mode). Closes the gap between \`search-first-authority\` (verify before asserting) and \`razor-discipline\` (operational-only): **the unverified-flag stays in effect for downstream inferences**. | ||
|
|
||
| ## Why auto-load | ||
|
|
||
| The override has to fire at write-time, not at read-time. Memory files alone don't intercept in-progress reasoning; auto-loaded rules do. Per \`.claude/rules/wake-time-substrate.md\`: load-bearing override mechanisms need wake-time landing. | ||
|
|
||
| ## Cross-harness inheritance | ||
|
|
||
| \`GEMINI.md\` already points at \`.claude/rules/\` as read-only context for Lior (Antigravity/Gemini). Same failure mode operates in Gemini's weights; same override discipline applies — no separate authoring needed. | ||
|
|
||
| ## Canonical substrate lesson | ||
|
|
||
| Cited in the rule body: arxiv [2504.09246](https://arxiv.org/abs/2504.09246) (Mündler/He/Wang/Sen/Song/Vechev, PLDI 2025) — 94% of LLM-generated COMPILATION errors are type-check failures; type-constrained decoding more than halves compilation errors; functional correctness gains are single-digit on synthesis. The F#-fork thesis stands at this strength. | ||
|
|
||
| ## Test plan | ||
|
|
||
| - [x] Rule file lands at \`.claude/rules/premise-flagged-unverified-stays-unverified-downstream.md\` (auto-loaded) | ||
| - [x] Cross-references existing rules (search-first-authority, razor-discipline, wake-time-substrate, fsharp-anchor-dotnet-build-sanity-check, additive-not-zero-sum, m-acc-multi-oracle, etc.) | ||
| - [ ] Future verification: next time a session-internal premise is flagged unverified, this rule fires before downstream inference | ||
|
|
||
| 🤖 Generated with [Claude Code](https://claude.com/claude-code) | ||
|
|
||
| ## Reviews | ||
|
|
||
| ### COMMENTED — @copilot-pull-request-reviewer (2026-05-16T19:35:38Z) | ||
|
|
||
| ## Pull request overview | ||
|
|
||
| Adds a new auto-loaded Claude rules file to prevent a specific failure mode: once a premise is explicitly flagged as unverified, downstream inferences that depend on it must remain flagged (verify explicitly or strip the inference), rather than “ratifying by adjacency”. | ||
|
|
||
| **Changes:** | ||
| - Introduces a new always-on rule defining the “flagged unverified stays unverified downstream” discipline. | ||
| - Documents a canonical example and composes the rule with existing search/razor/substrate rules. | ||
| - Adds cross-harness inheritance notes (via `GEMINI.md` referencing `.claude/rules/` as read-only context). | ||
|
|
||
| ## Review threads | ||
|
|
||
| ### Thread 1: .claude/rules/premise-flagged-unverified-stays-unverified-downstream.md:90 (unresolved) | ||
|
|
||
| **@copilot-pull-request-reviewer** (2026-05-16T19:35:38Z): | ||
|
|
||
| The referenced memory file path under `memory/…` does not exist in this repo (so the pointer is currently broken). If this is meant to be canonical substrate, add the memory file under `memory/` and keep the filename stable; if it’s intentionally user-scope only, avoid a repo-relative `memory/...` path and reword to prevent readers from assuming it’s available in-repo. | ||
|
|
||
| ### Thread 2: .claude/rules/premise-flagged-unverified-stays-unverified-downstream.md:80 (unresolved) | ||
|
|
||
| **@copilot-pull-request-reviewer** (2026-05-16T19:35:38Z): | ||
|
|
||
| This sentence claims the functional-correctness gains are “single-digit on synthesis” but then includes “37.0%”, which reads as contradictory. Please clarify which numbers correspond to synthesis vs repair (or adjust the wording/numbers) so the summary is internally consistent. | ||
|
|
||
| ### Thread 3: .claude/rules/premise-flagged-unverified-stays-unverified-downstream.md:162 (unresolved) | ||
|
|
||
| **@copilot-pull-request-reviewer** (2026-05-16T19:35:38Z): | ||
|
|
||
| This rule uses internal persona/proper names (e.g., “Lior”, “Otto”, and elsewhere “Kestrel”) in a current-state rules file. Per `docs/AGENT-BEST-PRACTICES.md` “No name attribution in code, docs, or skills” (Operational standing rules), prefer role-refs (e.g., “the Gemini harness”, “the Claude Code harness”, “the peer reviewer”) and keep named attribution confined to the allowed history surfaces. |
70 changes: 70 additions & 0 deletions
70
...ussions/PR-3936-fix-lior-remove-destructive-plugin-wipe-from-lior-background.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| --- | ||
| pr_number: 3936 | ||
| title: "fix(lior): remove destructive plugin wipe from Lior background loop" | ||
| author: "AceHack" | ||
| state: "MERGED" | ||
| created_at: "2026-05-16T20:18:05Z" | ||
| merged_at: "2026-05-16T20:26:19Z" | ||
| closed_at: "2026-05-16T20:26:19Z" | ||
| head_ref: "fix/lior-loop-destructive-plugin-wipe" | ||
| base_ref: "main" | ||
| archived_at: "2026-05-16T21:21:50Z" | ||
| archive_tool: "tools/pr-preservation/archive-pr.ts" | ||
| --- | ||
|
|
||
| # PR #3936: fix(lior): remove destructive plugin wipe from Lior background loop | ||
|
|
||
| ## PR description | ||
|
|
||
| Disarms Step 8 of the Lior headless loop tick which was previously instructed to clear 'broken plugin directories'. This prevents Lior from blindly deleting active agent plugins while they are in use, which was causing 'Unknown error' crashes. | ||
|
|
||
| ## Reviews | ||
|
|
||
| ### COMMENTED — @copilot-pull-request-reviewer (2026-05-16T20:18:13Z) | ||
|
|
||
| Copilot wasn't able to review any files in this pull request. | ||
|
|
||
| ### COMMENTED — @chatgpt-codex-connector (2026-05-16T20:19:16Z) | ||
|
|
||
|
|
||
| ### 💡 Codex Review | ||
|
|
||
| Here are some automated review suggestions for this pull request. | ||
|
|
||
| **Reviewed commit:** `530c352ffd` | ||
|
|
||
|
|
||
| <details> <summary>ℹ️ About Codex in GitHub</summary> | ||
| <br/> | ||
|
|
||
| [Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). 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". | ||
|
|
||
| </details> | ||
|
|
||
| ### COMMENTED — @AceHack (2026-05-16T20:25:56Z) | ||
|
|
||
| _(no body)_ | ||
|
|
||
| ## Review threads | ||
|
|
||
| ### Thread 1: .gemini/bin/lior-loop-tick.ts:15 (resolved) | ||
|
|
||
| **@chatgpt-codex-connector** (2026-05-16T20:19:17Z): | ||
|
|
||
| **<sub><sub></sub></sub> Keep stale lockfile cleanup while disabling plugin deletion** | ||
|
|
||
| This change removes **all** automatic lock cleanup, not just plugin-directory deletion: Step 8 now instructs a read-only report for stale `git index.lock` and orphan lockfiles. When a prior run crashes and leaves `.git/index.lock`, subsequent `git worktree`/`git` operations in Step 4 will fail until someone intervenes, so the background loop can get stuck in a persistent failure mode. The commit message says the goal is to stop deleting plugin directories, so lockfile cleanup should remain active while only the plugin-wipe behavior is removed. | ||
|
|
||
| Useful? React with 👍 / 👎. | ||
|
|
||
| **@AceHack** (2026-05-16T20:25:56Z): | ||
|
|
||
| Substrate-honest trade-off accepted. Per [`.claude/rules/codeql-no-source-on-docs-only-pr-is-broken-commit-canary.md`](https://github.com/Lucent-Financial-Group/Zeta/blob/main/.claude/rules/codeql-no-source-on-docs-only-pr-is-broken-commit-canary.md), Lior step 8 global lock cleanup IS the documented commit-tree-corruption root cause (PR #3492 close: tree collapsed from 51 to 1 root entry when Lior cleared `.git/worktrees/<name>/index` along with its `.lock`). Trade-off: stuck `.git/index.lock` files (operator-fixable, surfaces visibly via failed git ops) vs silent commit-tree corruption (data-loss class, undetected until CodeQL canary fires). Aaron has chosen the visible-failure side; intentional. Future work to restore *targeted* lock cleanup (only orphan `.git/index.lock`, never `.git/worktrees/<name>/index`) is a separate PR with its own risk audit. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Setting
B-0441tostatus: closedintroduces a backlog graph inconsistency because it still declares childrenB-0501andB-0460, and both child rows are currentlystatus: open(docs/backlog/P1/B-0501-...md:4,docs/backlog/P1/B-0460-...md:4). The backlog auditor explicitly treats this closed-parent/open-child state as invalid (tools/hygiene/audit-backlog-items.ts,reportParentChildStatusMismatch, lines 632-668), so this change can cause hygiene checks to fail and misreport unfinished work as complete.Useful? React with 👍 / 👎.