Repository navigation
Integrate reviewed maintenance fixes with preserved contributor histories - #534
Merged
Merged
Conversation
…fails closed (#419) A vault-escaping or absolute folder in .beyin-projects.json still fails the explicit-project gate closed (test_invalid_files_fail_closed_for_explicit_projects), but the error now names the entry and the file instead of only "project scope folder must be vault-relative". Both readers changed. Refs #419 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd 5-session DoD recall suite - Auto-resolve staged learning candidates upon receipt checkpoint submission (candidates_resolved in receipt response) - Support --resolve and --all flags in CLI beyin.py learn command for explicit ledger lifecycle management - Ensure Stop hook recognizes candidates distilled within the current edit window to eliminate false blocks - Implement RFC #368 P0-A Definition of Done multi-session lifecycle test suite verifying 100% recall across 5 consecutive sessions in a fresh 6th session - Zero external dependencies, pure stdlib, local-first Ref: RFC #368 (P0-A), Issue #406
Prepared with ChatGPT; synthetic Linux regressions. Local-tested-commit: a50e97ab04de5d81e32aea28862d054d0d1454fc
Extracted from 2238551 in feat/yakala-ajan-2. Standalone synthetic regressions preserve the original behavior change without the optional agent feature. Original-author: Kutadelios <161029462+Kutadelios@users.noreply.github.com> Extracted with ChatGPT; original branch unchanged. Local-tested-commit: bd747ef0d28904805a219336c866047a4b0c22aa
Extracted from 2238551 in feat/yakala-ajan-2. Standalone Win32 model regressions have no dependency on optional agent fixtures. Original-author: Kutadelios <161029462+Kutadelios@users.noreply.github.com> Extracted with ChatGPT; original branch unchanged. Local-tested-commit: 11cd048d7642d439c72b8cd39b2a14b9a6c75374
The global bridge installs SessionStart, Stop, PreCompact and SessionEnd only, so a session outside the vault never records a prompt and never enters the coverage ratio (#78), even when it wrote receipts. On one vault this counted 2 of 65 finished checkpoints, while 6 sessions outside the vault held receipts. The ratio is unchanged. Each window now also reports without_prompt and without_prompt_with_receipt, so a small total is explained instead of reading as missing data. Refs #212 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reusing a prior month's snapshot writes nothing, so the live-file conflict check that guards archive writes never ran. An edit that landed while the prior archives were being scanned left the report at `backup: exists` although the archive held only the pre-edit bytes. - Re-read the live file after the scan; on a mismatch report `conflict` without a backup claim, as the write path already does. - Regression test wraps `_previous_backup` to edit the file mid-scan and checks that a retry writes a new full backup of the edited bytes. - docs/v3/COMPANION-PARITY.md notes the conflict case. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ermesin extract() kartın kaynak_turu alanına güveniyordu. Elle, eşitlemeyle ya da Web Clipper ile gelen bir kartta alan "youtube" yapılınca herhangi bir genel adres yt-dlp'nin genel çıkarıcısına gidiyordu. Genel çıkarıcı yönlendirmeyi izliyor, sayfadaki <track> altyazısını --load-info-json ile indiriyor; yerel bir servisin yanıtı böylece .ham dosyasına girebiliyordu. Artık yt-dlp yolu yalnız kind_of(url) YouTube dediğinde açılır; başka adres yakalamadaki gibi adres türüne göre işlenir. Defuddle ve yt-dlp için ağ çıkışı izolasyonu bu değişikliğin kapsamı dışında, açık kalıyor. Refs #299 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… body When an X article header omits the author handle and the post body mentions it, the time before that mention is the post's own link, so the title still splits there. The time right after the handle keeps priority, so a time inside the display name or handle is still not the split. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The low-level hook already hands Shift/Ctrl/Alt/Win+Esc to the system, but when the popup itself has focus Tk's <Escape> binding matches every modifier state, so Shift+Esc typed into the note field still cancelled the capture. The Windows binding now cancels only on a plain Esc. Tk on Windows reports Shift 0x1, Control 0x4 and Alt 0x20000 in event.state; Caps, Num and Scroll Lock (0x2, 0x8, 0x20) stay plain. The Windows key is not in event.state, so it is read with the GUI thread's synchronous GetKeyState for the key message being handled. macOS and Linux keep their existing binding. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The hook contract still said it looks only at Escape and never uses GetAsyncKeyState. It now reads modifier key traffic, snapshots modifiers already held once with GetAsyncKeyState outside the callback, and passes every modified Esc on without dismissing; the focused popup's Tk binding cancels only on a plain Esc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…runlulugu ekle (#465) 3.12.0 ile gelen note-read / note-edit komutlari beyin skill'inde insan notlari icin zorunlu tutulurken, her turda yuklenen AGENTS.md kapanis protokolu ve CLAUDE.md yonlendiricisi bunu belirtmedigi icin ajanlar ve alt ajanlar dosya araclariyla dogrudan yazim yapabiliyordu. - install_v3.py icindeki yonetilen blok kapanis protokolune var olan insan notlarinin note-read ile okunmasi ve note-edit ile duzenlenmesi kurali eklendi. - template/CLAUDE.md hafiza protokolune note-read ve note-edit eklendi. - v3_instruction_block_test.py ile blok dogrulamasi genisletildi.
… opening warning (#462)
…je cozumune dahil et (#467)
… ve note-edit'e ac (#468)
…ilgi ritmi mtime yanilsamasini duzelt (#469)
…e LaunchAgent PATH kirliligini duzelt (#479)
…orce private visibility on internal extra_urls
# Conflicts: # template/.claude/scripts/beyin_v3_jev.py
# Conflicts: # template/.claude/scripts/beyin_v3_projects.py
# Conflicts: # scripts/install_v3.py # template/CLAUDE.md
# Conflicts: # scripts/install_v3.py
# Conflicts: # template/.claude/scripts/beyin_v3_projections.py
# Conflicts: # tests/v3_note_edit_test.py
# Conflicts: # template/.claude/scripts/beyin_v3_learning.py
avenoxai
marked this pull request as ready for review
October 26, 2026 11:10
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Değişiklik ve gerekçe
Integrate 44 reviewed PR histories into one tested maintenance candidate, preserving contributor commits through individual merge commits. This combines capture/platform repairs, source-grounded retrieval, project resolution, hook/receipt diagnostics, safe note locking, and contribution guidance.
Included histories: #531, #528, #527, #526, #525, #524, #523, #522, #521, #520, #519, #518, #517, #516, #513, #510, #508, #506, #504, #493, #491, #489, #487, #485, #483, #481, #477, #476, #475, #474, #473, #472, #471, #470, #464, #460, #459, #458, #457, #456, #454, #452, #451, #450.
Combined interactions repaired: preserve due ranking after admission alongside short-root matching; carry short-root evidence through second passages and Jev cards; retain unclipped/widened source transport and token-count caching; use official/discovered project folders with canonical aliases and ambiguity abstention; retain both promptless and no-edit receipt counters; combine ledger source/session filtering with byte-preserving writes; share the note/compaction lock while retaining inode/link checks. All original regression assertions remain.
Taban commit:
0be8f9961e3bef7a312735cd7461c66ecdca760a.Doğrulama
Exact candidate
ccfd461d5d224131ea26a0f4f52208c841c2f6b5:python3.11 -m unittest discover -s tests -p "v3_*test.py"python3.14 -m unittest discover -s tests -p "v3_*test.py"python3.14 scripts/evaluate_v3.pypython3.14 tests/scripts_test.pyReal RED/GREEN and focused interaction evidence additionally covers long headings, short-root second passages and Jev cards, synthetic-agent opt-out, official project folders, and real compaction child races. Exact-candidate integration CI completed successfully: 23 successful checks and one conditional publish skip. Native Windows runtime and package jobs on Python 3.11/3.13 each ran 2,480 tests with 52 skips and passed. All 44 included candidate heads have passed their applicable CI. #525 originally had no checks because first-contributor workflow approval was required; that state was not green. Its unchanged normal read-only CI was approved after code/workflow review and then completed with 23 successful checks and one conditional publish skip. All 44 actual fork refs still match the reviewed heads; main and the integration head were rechecked before landing.
İlgili sözleşmeler
Public-network capture rejection and fail-closed project scopes are preserved. Source Markdown remains authoritative; no new required dependency, service, cloud account or model call. Existing tests cover install/update/rollback and privacy boundaries. Source installation and runtime files remain within existing package layout. No release or deployment is requested by this PR.
Bilinen sınırlar ve katkılar
Held histories: #532, #530, #529, #505, #497, #495, #453, #448, #445, #444, #443, #423, #415, #414, #409, #385, #384. Workspace/schema, sync transport/evidence API, optional web/client/capture features, and broad ranking/continuity policy alternatives remain unaccepted; this batch does not select them.
#505 is excluded because its historical commit message would close unresolved #500 despite the corrected PR body. #501 is only documentation preparation; #514 receipt aliases do not settle graph filenames; #419 continues to fail closed. Broad roadmap/governance issues remain open. The optional #506 public comment is outside this change and remains unposted.
All contributor authorship and parent commits are retained. Maintainer follow-ups on #508/#471/#475/#477/#454/#527 are append-only; #495/#409 received independent repairs but remain held.
Issue disposition
Fixes #515.
Fixes #512.
Fixes #511.
Fixes #509.
Fixes #507.
Fixes #503.
Fixes #502.
Fixes #492.
Fixes #490.
Fixes #488.
Fixes #484.
Fixes #482.
Fixes #479.
Fixes #469.
Fixes #468.
Fixes #467.
Fixes #466.
Fixes #465.
Fixes #463.
Fixes #462.
Fixes #461.
Fixes #455.
Refs #514, Refs #501, Refs #500, Refs #496, Refs #494, Refs #486, Refs #480, Refs #478, Refs #430, Refs #427, Refs #419, Refs #406, Refs #397, Refs #371, Refs #368, Refs #299, Refs #288, Refs #212, Refs #205. These remain open for the documented partial or decision scope.