Repository navigation
fix: audit batch 7 — B35,B43-B44,B46-B47,B50-B62 with regression tests - #209
Merged
Merged
Conversation
Continues the 2026-09-05 GPT-6 audit (ROADMAP.md):
- B35: auto-tab pruning compares each tab's own profile against the registry; a foreground-only list no longer closes other profiles' tabs, and incomplete polls close nothing.
- B43: subagent monitor observes the active tab's own event client (not the container's shared stream) and reads untrusted raw payload fields through a safe scalar helper (jsonPrimitive no longer throws on object/array values).
- B44: failed transcript loads no longer cache as a successful empty artifact scan — the revision only advances on a fully successful pass.
- B46: analytics Compose code reads untrusted JSON through a safe scalar helper; object/array values render as unavailable instead of crashing composition.
- B47: api-key save captures what it saved and only clears fields the user hasn't edited since.
- B50: config save completion is generation-guarded — a Reload/import landing mid-save can't be clobbered, and load() invalidates in-flight saves.
- B51: config export streams via FileProvider (cache/exports) instead of a Binder EXTRA_TEXT that can exceed 1 MB.
- B52: pairing polling tolerates a bounded streak of transient failures and only surfaces the error after repeated ones; success clears it.
- B53: missing optional cron endpoints (delivery targets, blueprints) no longer fail the whole scheduler screen.
- B54: cron create/update success with a failed refresh stays content with a soft message instead of reading as failed action.
- B55: SAF save copy loop checks cancellation between blocking IO iterations.
- B56: foreign-token partials are age-gated so fresh backup shares survive process recreation (managed-transfer contract unchanged).
- B57: patching a kanban task refreshes its open detail sheet.
- B58: learning graph draw matrix now inverts the hit-test transform exactly (translate(pan) + scale around center).
- B59: learning graph refresh and node detail use independent generations — opening a node no longer strands the graph spinner.
- B60: models refresh resets in-flight setting/confirm state so a refresh during save can't permanently disable the screen.
- B61: MoA PUT acknowledgement ({"ok":true}) is no longer parsed as a complete replacement config; only responses with a presets object are adopted.
- B62: memory OAuth capability probe treats only HTTP 404 as "unsupported"; transient failures keep the affordance and surface the error.
Regression tests: CronScheduleDecodeTest, ConfigExportPathTest, MoaAckPayloadTest.
Full suite: 562 tests, 0 failures.
This was referenced Sep 6, 2026
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.
Summary
Seventh block of the 2026-09-05 audit (ROADMAP.md): 18 findings fixed with regression tests across chat auto-tabs, subagent monitor, artifacts, analytics, api-keys, config, channels, cron, files, kanban, learning, models, and memory screens.
Findings
B35, B43, B44, B46, B47, B50, B51, B52, B53, B54, B55, B56, B57, B58, B59, B60, B61, B62
Test plan
CronScheduleDecodeTest,ConfigExportPathTest,MoaAckPayloadTestadded.ShareFileManagerTestmanaged-transfer contract preserved (managed downloads still swept on restart; partials age-gated).Closes the matching audit issues (audit-2026-09-05 label).