Repository navigation
Fix agent group write privacy, transactions and cancellation - #172
Merged
Merged
Conversation
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.
Closes #171
Summary
Agent-invisible group targets now freeze like absent names, while the App shows existing-group no-ops or merges with source and target member counts in English and Simplified Chinese.
The approval digest binds full target-member state; commit revalidates it and preserves existing spelling and no-op storage semantics.
App group edits merge within one SQL transaction under the exclusive gate; existing metadata and organization writers retain their transaction-current merges.
Expiry cancellation preserves rename/delete-only approvals, and reserved consumption plus organization serialization prevents cancelled writes from committing.
ADR 0010 and the feature inventory describe the completed behavior.
Diff stat
23 files changed, 484 insertions(+), 86 deletions(-), against base
3d639997801b76873d3f2a8107a1becc026bdada.Implementation SHA:
95ca1aa2c797f4aeafc29dd4e2b82b56cbaeb5d8.Final SHA (including the screenshot export entry):
f00bf14b3286b41331c9cd27c440793168b0a727.Tests
swift build --scratch-path .build-171 -j 4: passed.swift test --scratch-path .build-171 -j 4 --filter 'AgentOrganization|AgentGroupTransaction|AgentCredentialMetadataWrite|AgentTextWriteApprovalLifecycle|AgentTextWriteConcurrency|AgentTextWriteCreation|HumanTextCredential|OrganizationApproval|ApprovalStateMachine': 92 passed, 0 failed, 0 skipped (Vault 65, Broker 22, App 5).f00bf14: both required jobs passed.build-and-testexecuted 1092 Swift tests: 1089 passed, 3 skipped, 0 failed, adding 7 tests over the base main run. The skipped entries are the opt-in installed Codex contract, the isolated file-commit crash subprocess entry, and explicit synthetic fixture generation.basic-ui-flowspassed 15 required desktop tests and 5 screenshot tests, 0 failed and 0 skipped. Attempt 1 could not acquire a hosted build runner; the coordinator retried only that failed job in attempt 2 at the same head, retaining the successful UI job.ScreenshotE2ETests/testOrganizationApprovalScreen()passed. Inspected16-approval-organization.pngand17-approval-organization-existing-targets.png: the existing-group no-op, source/target totals and not-visible counts are readable, and Approve Organization and Deny remain visible. The CI exporter retained all 17 authored images in the UI artifact.Checks
python3 scripts/check_hygiene.py: passed, all violations 0.python3 scripts/check_module_deps.py: passed.git diff --check: passed.python3 -m unittest discover -s Tests/Automation -v: 183 passed, 0 failed, 0 skipped after adding the screenshot export name.testmanagerdprocesses were left running. Data volume free space at final verification: 111 GiB. No local app, desktop flow or screenshot was launched.Deviations and questions
The coordinator corrected #171 to treat empty stored groups as catalog-visible and approved extending the existing CI-only organization screenshot fixture and assertions to cover invisible-target no-op and merge rows, plus the new PNG name in the exporter's allowlist; the issue's Scope was updated before those edits. No other deviations.