Commit Graph
381 Commits
Author SHA1 Message Date
Jeffrey Montoya 2ec52af6d0 perf(gateguard): profile a change only when used and check its window first 2026-09-30 12:13:18 -04:00
Jeffrey Montoya d39fcd8ac3 refactor(gateguard): read the transcript tail through a small shared module 2026-09-30 12:13:10 -04:00
Jeffrey Montoya eab92ed21d perf(gateguard): skip plain character runs when lexing code 2026-09-30 11:35:49 -04:00
Jeffrey Montoya b7f80ff012 perf(gateguard): load modules and parse searches only when a call needs them 2026-09-30 11:35:49 -04:00
Jeffrey Montoya b15c0538f6 refactor(gateguard): split change profile and search filters into focused modules 2026-09-30 00:23:08 -04:00
Jeffrey Montoya 1221a8727f fix(gateguard): honour directory-qualified include globs 2026-09-30 00:04:11 -04:00
Jeffrey Montoya 10639a0c9e fix(gateguard): gate NotebookEdit and hard-linked targets
NotebookEdit is gated as a first-touch edit of notebook_path.
A file with more than one hard link gets no credit, trivial, sibling or cap allowance.
2026-09-29 21:50:26 -04:00
Jeffrey Montoya 20eb2395e9 fix(gateguard): gate MultiEdit by its file_path and widen surface checks
Also refuses rg -z as read-only and never writes metrics through a symlink.
2026-09-29 21:50:26 -04:00
Jeffrey Montoya 6e677b008c fix(gateguard): judge comment-only edits against the file they change 2026-09-29 21:50:25 -04:00
Jeffrey Montoya 82420f061a fix(gateguard): treat directive comments and continuations as code 2026-09-29 21:50:24 -04:00
Jeffrey Montoya 42e9072136 feat(gateguard): credit test files by their module stem
Drop the hardcoded baseline alias from the evaluation script and refresh the results.
2026-09-29 21:50:23 -04:00
Jeffrey Montoya 21ea5f96a8 feat(gateguard): profile shell scripts and Python module constants 2026-09-29 21:50:22 -04:00
Jeffrey Montoya 0301055327 feat(gateguard): build condensed code hints from the question ids 2026-09-29 21:50:21 -04:00
Jeffrey Montoya d591999ec0 feat(gateguard): add metrics event schema and report script 2026-09-29 21:50:19 -04:00
Jeffrey Montoya 77ddf9a792 feat(gateguard): pass read-only shell commands before the routine gate
The first command that can change something is still gated.
2026-09-29 21:50:17 -04:00
Jeffrey Montoya c3b2a7e627 feat(gateguard): name the closest search that did not count
One sanitized line in the denial with a reason code, from the cached turn scan.
2026-09-29 21:50:15 -04:00
Jeffrey Montoya ad0d9183ff feat(gateguard): pass comment and whitespace-only edits
The file stays unchecked, so the next code change is still gated; counted in trivial_allows.
2026-09-29 21:50:14 -04:00
Jeffrey Montoya 10f67715b1 feat(gateguard): ask code questions that fit the change
Stable question ids; local call sites instead of importers when no public
declaration is touched; data question only when the change handles data.
2026-09-29 21:50:13 -04:00
Jeffrey Montoya a7fd960b20 feat(gateguard): add change profile for first-touch edits
Pure, bounded analysis of Edit/Write text: public surface, data handling, and comment/whitespace-only edits.
2026-09-29 21:50:12 -04:00
Jeffrey Montoya 979d5be822 docs(gateguard): move code rationale to design notes 2026-09-29 21:50:12 -04:00
Jeffrey Montoya ea86d156fe refactor(gateguard): move search evidence and state helpers to lib 2026-09-29 21:50:12 -04:00
Jeffrey Montoyaandcoderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> 332d3d8fef Update scripts/lib/gateguard-target-class.js
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-09-29 21:50:11 -04:00
Jeffrey MontoyaandSulimanAbdulrazzaq e98a9da288 feat(gateguard): improve first-touch signal quality and session efficiency
- Ask class-specific first-touch questions (instruction, test, prose,
  config, code); code questions are unchanged.
- Credit a completed Glob/Grep/LS or shell search from the current human
  turn that covered the target; Read and exclusion globs never count.
- Collapse same-class new-file creations in one directory within a turn.
- Add opt-in GATEGUARD_FACT_FORCE_MAX_DENIALS session cap (from #2755).
- Always gate sensitive targets, judged on lexical and real paths.
- Canonicalize checked-path keys.

Closes #2608

Co-authored-by: SulimanAbdulrazzaq <suliman9000a@gmail.com>
2026-09-29 21:49:46 -04:00
affaan-m 97ac1009d7 Merge exact reviewed PR3008 follow-up
Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Head: 46df9ccc87
Review-Manifest-SHA256: dcec1e51ab4e14305f1daf1f020cf1d1f4f990137a5941b17ab4d9a0db108b2c
2026-09-28 04:07:07 -04:00
affaan-m 46df9ccc87 fix(install): preserve inactive user configs and recheck consent before completion
Preserve contributor history while applying the exact reviewed current-main repair.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Parent: 615b7f107a
Review-Manifest-SHA256: dcec1e51ab4e14305f1daf1f020cf1d1f4f990137a5941b17ab4d9a0db108b2c
2026-09-28 03:52:42 -04:00
affaan-m 78527c0294 Merge commit '621abca3503a0cd3464928a94c1c1e93dcc1d9bd' into affaan/integrate-reviewed-followups-20260928 2026-09-28 02:47:13 -04:00
affaan-m 621abca350 fix(control-pane): bound snapshot loads and automatic polling
Preserve ordered manual/query recovery while giving snapshot headers and bodies one ten-second deadline. Keep action mutation behavior unchanged.

Source-PR: https://github.com/affaan-m/ECC/pull/3235
Source-Parent: aff9c64560
Review-Manifest-SHA256: 59efa4136448129df673d047e633e88351c98cc1fcdc812f475575bc6f6ce201
2026-09-28 02:47:12 -04:00
affaan-m 4e57bf3225 Merge commit 'be9fe61ef75bd907e62e800b464704d3fa2509eb' into affaan/integrate-reviewed-backlog-20260928 2026-09-28 02:14:39 -04:00
affaan-m be9fe61ef7 fix(install): verify legacy postimages with owned descriptors
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Parent: c492920468
Review-Manifest-SHA256: 4f71a8f8d4d3aedcfb03f41d37274c28c6b83b39250d2f466e7f8243325ae09a
2026-09-28 02:14:19 -04:00
affaan-m b16955fe25 Integrate exact reviewed PR3008 follow-up 2026-09-28 01:39:57 -04:00
affaan-m c492920468 fix(install): bind legacy reads to trusted access flags
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Parent: ef8c2d8b9c
Review-Manifest-SHA256: 6189690fc7dd826fda286e46a5d3ec8d50b6049740f74f0dbd4490a36a76854c
2026-09-28 01:36:41 -04:00
affaan-m b989e2dbcc Merge reviewed PR #3244 CI and security follow-up 2026-09-28 00:58:04 -04:00
affaan-m e9a1c754d6 Merge reviewed PR #3243 CI and security follow-up 2026-09-28 00:58:04 -04:00
affaan-m aa3150214f Merge reviewed PR #3008 CI and security follow-up 2026-09-28 00:58:04 -04:00
affaan-m 490585fbcb fix(platform): pass Windows browser URLs as validated data
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3244
Source-Parent: 5ffe239ee5
Review-Manifest-SHA256: c18c5d1d4b29c0b78fc1638be8f5d72dc6141235c6ec26cb0dd20c91911cdbfe
2026-09-28 00:57:22 -04:00
affaan-m 2edb1de269 fix(control-plane): restore accepted view after render failure
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3243
Source-Parent: cfe6d90d9f
Review-Manifest-SHA256: 78e13c4fe9581ef82100bb721f9b80ab8e62a15371e89b5f32c42c593944552b
2026-09-28 00:55:09 -04:00
affaan-m ef8c2d8b9c fix(opencode): guard legacy cleanup and portable consent fixtures
Preserve contributor history and current-main behavior while resolving the exact reviewed follow-up.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Parent: d0dc1fcb08
Review-Manifest-SHA256: 8f15febd33dfa9f9ac6e70cb41f75ffee7aca47dd21782e841c33d4874341d6e
2026-09-28 00:54:21 -04:00
affaan-m 17c1752262 Merge relative-root consent correction from PR #3008
Source-PR: https://github.com/affaan-m/ECC/pull/3008
Source-Head: d0dc1fcb08
2026-09-27 23:41:30 -04:00
affaan-m d0dc1fcb08 fix(install): preserve OpenCode refusal for relative source roots
Keep historical fingerprints independent of source discovery and normalize explicit repository roots at doctor and repair entry points. Preserve unknown user plugins and absolute-only low-level source probing.

Source-PR: https://github.com/affaan-m/ECC/pull/3008
Reviewed-Manifest-SHA256: fe1444b12dfb730524970a51b6bb805271cdfa71d4cc9b247772e6d9b1d1c9d8
2026-09-27 23:40:43 -04:00
affaan-m d2ce0b58dd Merge reviewed contributor PR #3241 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3241
Source-Head: 83f19dee14

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:51 -04:00
affaan-m 75dec47278 Merge reviewed contributor PR #3213 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3213
Source-Head: 1394cf6f0a

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:51 -04:00
affaan-m e6cd4498ef Merge reviewed contributor PR #3243 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3243
Source-Head: cfe6d90d9f

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:51 -04:00
affaan-m 0656f7af0b Merge reviewed contributor PR #3235 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3235
Source-Head: aff9c64560

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:51 -04:00
affaan-m b66584c445 Merge reviewed contributor PR #3244 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3244
Source-Head: 5ffe239ee5

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:36:50 -04:00
affaan-m f2835aacf3 Merge reviewed contributor PR #3121 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3121
Source-Head: 9f64ff2c3d

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:35:42 -04:00
affaan-m 3587ba70b9 Merge reviewed contributor PR #3210 into backlog batch
Source-PR: https://github.com/affaan-m/ECC/pull/3210
Source-Head: f5d0fcc7e1

Local integration checkpoint; aggregate review and hosted acceptance pending.
2026-09-27 23:35:42 -04:00
affaan-m cfe6d90d9f fix(control-plane): preserve accessible state across poll races 2026-09-27 22:55:11 -04:00
affaan-m e9911d6668 fix(opencode): preserve primary failures through complete lock cleanup 2026-09-27 22:41:08 -04:00
affaan-m dbeb723218 fix(plan-canvas): bind bounded artifact reads to verified descriptors 2026-09-27 22:23:33 -04:00
affaan-m 429384f80c fix(opencode): refuse known legacy hooks without consent 2026-09-27 22:12:34 -04:00