Skip to content

Integrate reviewed maintenance fixes with preserved contributor histories - #534

Merged
avenoxai merged 143 commits into
mainfrom
maintenance/oct26-integration
Oct 26, 2026
Merged

avenoxai merged 143 commits into
mainfrom
maintenance/oct26-integration

Conversation

@avenoxai

@avenoxai avenoxai commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

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:

Command / scenario Environment Result
Full python3.11 -m unittest discover -s tests -p "v3_*test.py" macOS, Python 3.11 2,480 tests, 42 skipped, passed (349.306s)
Full python3.14 -m unittest discover -s tests -p "v3_*test.py" macOS, Python 3.14 2,480 tests, 42 skipped, passed (447.812s)
python3.14 scripts/evaluate_v3.py frozen synthetic fixtures development 10/10, holdout 6/6, passed; no generalization claim
python3.14 tests/scripts_test.py macOS POSIX engine/graph 36 tests passed
AST inventory across all 44 included heads original merge bases + final candidate no contributed method loss, duplicate definition or parse error

Real 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.

ersn-dev and others added 30 commits October 20, 2026 16:37
…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.
…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
avenoxai marked this pull request as ready for review October 26, 2026 11:10
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-26T11:22:07.017321Z ccfd461 Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@avenoxai
avenoxai merged commit d7a6875 into main Oct 26, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

6 participants