mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-26 22:51:47 +02:00
v1.88.1.0 fix: harden credential boundaries and owned state (#2942)
* fix(settings): preserve symlinked settings targets
Resolve the selected target for locking, mutation, backup, and rollback; refuse target changes and preserve private modes. Addresses #2830.
* fix(redact): bind masking to original detected spans
Inspired by #2929's anchored-span diagnosis; independently implemented using normalization offsets. Addresses #2930 and the relocation portion of #2912 without changing detection sensitivity.
* fix(evals): exclude operator credentials from prefix admission
Adapts the credential-suffix screen proposed in #2636, with real launched-child regression coverage and deliberate provider-auth exceptions.
* fix(artifacts): retain custom allowlist rules on reinitialization
Preserve the exact user-owned suffix and publish only a successfully assembled replacement. Independently implements the repair reported in #2907.
* test(cso): verify exact masked reads and unmaskable payload refusal
* fix(cso): preserve exact filesystem identities through lease recovery
Preserve 64-bit device/inode identity and nanosecond race checks. Add native NTFS lifecycle coverage for #2927; retain ambiguous legacy-state refusal without claiming Windows PID-reuse recovery is resolved.
* fix(redact): bind pre-push scans to destination and preserve seam context
Uses #2935 (bd07318) as source evidence for push-target range and slice-overlap defects. Independently implemented; no cherry-pick or release metadata adoption.
* test(ci): gate native agent ownership and settings links on macOS
* fix(browse): bind agent lifetimes and cleanup to owned generations
Uses #2931 by Chris Hutton / Claude Fable 5.1 as attributed design input; independently implemented without broad sweeps or copied code. Keep uncertain children and locks rather than deleting foreign state.
* test(ci): include concurrent shutdown controls in the native macOS gate
* v1.88.1.0 fix: harden credential boundaries and owned state
* fix(redact): preserve target provenance and scan boundary semantics
* test(artifacts): read managed rules from atomic allowlist assembly
* fix: preserve native exit observations and fixture prerequisites
* fix: preserve UTF-16 offsets through redaction normalization
This commit is contained in:
@@ -249,9 +249,10 @@ global-path registration + re-point). Remaining:
|
||||
update the locale pin test. Filed via /ship review army (maintainability).
|
||||
**Priority:** P3. Effort S.
|
||||
- **Accepted threat-model notes (documented, no action planned):**
|
||||
redact-prepush treats content pushed to ANY private remote as already-left
|
||||
(accident-only threat model); a parcel-shaped twin within 400 chars can
|
||||
suppress phone redaction (WARN-tier pattern, attacker-influence accepted);
|
||||
redact-prepush's no-argv compatibility mode retains all-remotes exclusions;
|
||||
installed hooks bind scans to the actual destination. A parcel-shaped twin
|
||||
within 400 chars can suppress phone redaction (WARN-tier pattern,
|
||||
attacker-influence accepted);
|
||||
codex-probe's 400-signature grep can misread a transient proxy 400 as
|
||||
MODEL_UNUSABLE (bounded by the 15-min negative-cache TTL).
|
||||
|
||||
@@ -316,9 +317,11 @@ silent regression:
|
||||
by test/setup-playwright-best-effort.test.ts (fork-port Wave A). Still
|
||||
unpinned: `_clear_playwright_quarantine` (the P0 #2554 heal's shell half).
|
||||
Effort S.
|
||||
- **redact-prepush `scanAddedLines` slicing** — the >1MiB catch-up-diff chunk
|
||||
path (the reason the function exists) is unexercised; a regression
|
||||
reintroduces blocking-while-unscanned. Effort S.
|
||||
- **redact-prepush `scanAddedLines` slicing** — the >1MiB chunk path was
|
||||
unexercised at v1.67. Installed-hook controls in
|
||||
test/redact-prepush-target.test.ts now cover large clean diffs, seam
|
||||
proximity/normalization, duplicate findings, and long-line refusal
|
||||
(v1.88.1.0).
|
||||
- **supabase telemetry-ingest edge function** — zero tests; producer caps at
|
||||
200 chars vs ingest's 500 (dead server cap); no column↔migration pin.
|
||||
- **gbrain-repo-policy-client** — no direct test file; the spawn-failed vs
|
||||
|
||||
Reference in New Issue
Block a user