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
d95aa3425e
feat(gateguard): measure hook latency in fresh processes
2026-09-30 11:35:49 -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
3055eb3746
fix(gateguard): link SARIF findings to the evaluated corpus
2026-09-30 00:04:11 -04:00
Jeffrey Montoya
1221a8727f
fix(gateguard): honour directory-qualified include globs
2026-09-30 00:04:11 -04:00
Jeffrey Montoya
216fe89c36
feat(gateguard): write scenario gate results as SARIF
2026-09-29 22:20:41 -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
f7e4735cca
feat(gateguard): add scenario corpus and evaluation script
...
Replays 16 labelled sessions against the working tree and git-ref baselines.
2026-09-29 21:50:20 -04:00
Jeffrey Montoya
4c035dd834
feat(gateguard): record opt-in decision metrics
2026-09-29 21:50:20 -04:00
Jeffrey Montoya
d591999ec0
feat(gateguard): add metrics event schema and report script
2026-09-29 21:50:19 -04:00
Jeffrey Montoya
15d4f169d3
feat(gateguard): gate sensitive targets in subagents
...
A subagent's pass does not unlock the path for the parent.
2026-09-29 21:50:19 -04:00
Jeffrey Montoya
6f0fbb6bc9
feat(gateguard): keep session-keyed state for 8 idle hours
...
The project-directory fallback keeps the 30-minute window.
2026-09-29 21:50:18 -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 Montoya
bd12ff4cfa
fix(gateguard): recognise all PowerShell -Exclude spellings
...
Filter parameters resolve by unambiguous prefix, colon form and comma lists.
Unresolvable parameters and their values are never a stem source.
2026-09-29 21:50:11 -04:00
Jeffrey Montoya
e5b95ce921
fix(gateguard): match glob bracket classes exactly
...
Include and exclusion globs now honour class members, ranges and negation.
A malformed class admits nothing as an include and covers the target as an exclusion.
2026-09-29 21:50:11 -04:00
Jeffrey Montoya and coderabbitai[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 Montoya and SulimanAbdulrazzaq
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 Mustafa and GitHub
c70874fae9
feat(pi): curated pi/core skills+prompts profile, CI load test, and 2.2.2 release sync ( #3264 )
...
Adds a curated, Pi-native, skills+prompts-only profile at pi/core/ for downstream packagers that mirror GitHub Releases.
- manifests/pi-core.json: explicit include lists, per-item exclusion reasons, curation rules, safety allowlists; every root skill and command must be classified.
- scripts/build-pi-core.js regenerates pi/core deterministically (package.json from VERSION, LICENSE, README.md, CURATION.md, skills/, commands/); --check fails CI on drift. council is renamed ecc-council inside pi/core only.
- Safety checks: no callable endpoints outside the allowlist, no npx/curl|sh/pip install, no secrets, no absolute home paths, no symlinks, valid frontmatter, no duplicate names.
- CI: build + drift check and an offline Pi CLI load test of pi/core.
- Release: VERSION, package.json and pi/core/package.json at 2.2.2, CHANGELOG, tag-triggered release verification, and a two-week cadence in CONTRIBUTING.md.
pi/core: 123 of 293 skills and 24 of 94 commands; 35,006 characters of skill description text.
2026-09-29 20:24:05 -05:00
affaan-m
93fca4a604
Merge reviewed Biome-filename correction from PR2835
...
Source-PR: https://github.com/affaan-m/ECC/pull/2835
Source-Head: 7ffea7091a
2026-09-28 07:07:45 -04:00
affaan-m
e10bbaa492
Merge reviewed append-assignment correction from PR2965
...
Source-PR: https://github.com/affaan-m/ECC/pull/2965
Source-Head: eca846248d
2026-09-28 07:07:45 -04:00
affaan-m
7ffea7091a
fix(hooks): distinguish Biome configs from results files
...
Preserve the original contributor histories and apply the exact independently reviewed repair.
Source-Parent: 74023e5689
Review-Manifest-SHA256: 208a6350119857df7c1e5b83a46cdba0b7f7399f58ed60167397920c7a21b454
2026-09-28 07:07:07 -04:00
affaan-m
eca846248d
fix(hooks): track append assignments in Git override checks
...
Preserve the original contributor histories and apply the exact independently reviewed repair.
Source-Parent: dee884656e
Review-Manifest-SHA256: 0c7eeef7c2722a605d049daf2dc3c2473c10dd616005afcba21049fc036d8ce9
2026-09-28 07:05:14 -04:00
affaan-m
807f07a687
Merge reviewed Git environment scope correction for PR2965
...
Source-PR: https://github.com/affaan-m/ECC/pull/2965
Source-Head: dee884656e
2026-09-28 05:39:46 -04:00
affaan-m
dee884656e
fix(hooks): preserve Git configuration across shell command scopes
...
Preserve contributor history while applying the exact reviewed current-main repair.
Source-PR: https://github.com/affaan-m/ECC/pull/2965
Source-Parent: ec0753bc7f
Review-Manifest-SHA256: 0172e3e695e672305f9bc41b0d385d2a299d8ec520c763dd9d7f6da743f76971
2026-09-28 05:38:05 -04:00
affaan-m
da2edcb740
Merge reviewed PR2835 qualified configuration protections
...
Preserve exact-file protections, all shared assertions and private cleanup.
Source-PR: https://github.com/affaan-m/ECC/pull/2835
2026-09-28 05:01:22 -04:00
affaan-m
78dee5c829
Merge reviewed PR2845 configuration filename protections
...
Source-PR: https://github.com/affaan-m/ECC/pull/2845
2026-09-28 04:58:30 -04:00
affaan-m
74023e5689
fix(config-protection): protect qualified shared linter configurations
...
Preserve contributor history while applying the exact reviewed current-main repair.
Source-PR: https://github.com/affaan-m/ECC/pull/2835
Source-Parent: e58bb26647
Integration-Main: d3b8a3e908
Review-Manifest-SHA256: 2b591ee5fc545e0d552a58dd6f473f196ca773a194c33b87359f5c0447187e26
2026-09-28 04:50:09 -04:00
affaan-m
339db5b0be
fix(config-protection): guard current config and ignore filenames
...
Preserve contributor history while applying the exact reviewed current-main repair.
Source-PR: https://github.com/affaan-m/ECC/pull/2845
Source-Parent: e19e74a7fc
Integration-Main: d3b8a3e908
Review-Manifest-SHA256: 02ef909e8553e93554ec8fb615b9299fd3ee6a0d7dc250ee2375ce80ce538060
2026-09-28 04:49:31 -04:00
affaan-m
442179e7d6
Merge exact reviewed PR2829 follow-up
...
Source-PR: https://github.com/affaan-m/ECC/pull/2829
Source-Head: 2b9164c042
Review-Manifest-SHA256: 16b9e4c854b6cfc38efc99d0913fe7f3018a68b9b1c194b50f4a1e06511975cd
2026-09-28 04:07:07 -04:00
affaan-m
f4528c48a7
Merge exact reviewed PR2965 follow-up
...
Source-PR: https://github.com/affaan-m/ECC/pull/2965
Source-Head: ec0753bc7f
Review-Manifest-SHA256: 53ead3eb859a4c6c13d6751b1fe4f9a94f1a5d35a37430f6b8524c50e903490b
2026-09-28 04:07:07 -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
2b9164c042
fix(gateguard): inspect SQL clients behind supported launchers
...
Preserve contributor history while applying the exact reviewed current-main repair.
Source-PR: https://github.com/affaan-m/ECC/pull/2829
Source-Parent: c4b18b452d
Review-Manifest-SHA256: 16b9e4c854b6cfc38efc99d0913fe7f3018a68b9b1c194b50f4a1e06511975cd
2026-09-28 03:56:57 -04:00
affaan-m
ec0753bc7f
fix(hooks): preserve shell boundaries and detect literal hook bypasses
...
Preserve contributor history while applying the exact reviewed current-main repair.
Source-PR: https://github.com/affaan-m/ECC/pull/2965
Source-Parent: de480c65fd
Review-Manifest-SHA256: 53ead3eb859a4c6c13d6751b1fe4f9a94f1a5d35a37430f6b8524c50e903490b
2026-09-28 03:56:48 -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