docs: sync documentation with 2026-04-14 tick-6 merges (#71, #72) - #73
Merged
Conversation
- docs/edit-history/2026-04-14.md: append tick-6 covering PR #71 (plugins UNION) and PR #72 (tick-5 docs-sync) - CLAUDE.md: Go test count 726 -> 731 (+5 TestPlugins_*); add Plugins section note on UNION + !/- opt-out semantics - PLAN.md: add "Recently launched (2026-04-14 tick-6)" entry noting issue #68 is resolved by PR #71 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This was referenced Apr 21, 2026
6 tasks
HongmingWang-Rabbit
pushed a commit
that referenced
this pull request
Jun 12, 2026
…/recovery paths (#73) Add SQL status guards to the two heartbeat evaluateStatus paths that lacked them, preventing a removed workspace from being resurrected to 'online' or 'degraded' by a racing heartbeat: 1. error_rate degrade path: AND status = 'online' 2. degraded→online recovery path: AND status = 'degraded' Both paths previously used WHERE id = only, so a heartbeat that started before CascadeDelete's UPDATE could flip the just-removed row back to a live status. This is the status-persist trio false-online / inconsistent-teardown class identified in the Researcher cleanup audit. The other three evaluateStatus paths (wedged→degraded, offline→online, provisioning→online, awaiting_agent→online) already carried guards. Adds regression tests (TestHeartbeat_ErrorRateDegrade_Guarded and TestHeartbeat_DegradedRecovery_Guarded) that verify the guards are present and return 0 rows when the workspace has been concurrently removed. Closes ticket #2 from Researcher cleanup audit.
HongmingWang-Rabbit
pushed a commit
that referenced
this pull request
Jun 12, 2026
…-file #2156) Re-files the stalled WIP #2156 (originally by molecule-code-reviewer) on current main, de-duplicating against #2449 which already merged the handlers-postgres table-presence guard. Coverage (10 tests, //go:build integration, INTEGRATION_DB_URL): 1. RegistryRowState (4 tests) — register/heartbeat #73 tombstone guard: - RegisterDoesNotResurrectRemoved - RegisterUpsertsLiveWorkspaceToOnline - HeartbeatDoesNotResurrectRemoved - HeartbeatUpdatesLiveWorkspace 2. WSAuth (3 tests) — cross-tenant token binding: - TokenBoundToIssuingWorkspace - TokenOfRemovedWorkspaceRejected - RevokeAllForWorkspaceKillsToken 3. CanCommunicate (1 test) — parent_id hierarchy isolation: - HierarchyAndCrossTenantIsolation 4. OrgToken (2 tests) — revoke/validate row-state: - RevokeStopsValidation - ListExcludesRevoked Also widens detect-changes handlers-postgres profile to include internal/registry/ + internal/orgtoken/ so regressions in those packages trigger the integration gate. Closes #2148 Refs #2156
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
docs/edit-history/2026-04-14.mdcovering PR fix(org): per-workspace plugins UNION with defaults; '!' prefix opts out (#68) #71 (per-workspace plugins UNION with defaults,!/-opt-out prefix; resolves issue Platform: per-workspaceplugins:should UNION withdefaults.plugins, not REPLACE #68) and PR docs: sync documentation with 2026-04-14 tick-5 merges (#69, #70) #72 (tick-5 docs-sync).CLAUDE.md: Go test count 726 -> 731 (+5 newTestPlugins_*tests); add Plugins section note documenting the new UNION +!/-opt-out semantics inmergePlugins.PLAN.md: add "Recently launched (2026-04-14 tick-6)" entry noting GitHub issue Platform: per-workspaceplugins:should UNION withdefaults.plugins, not REPLACE #68 is now resolved by PR fix(org): per-workspace plugins UNION with defaults; '!' prefix opts out (#68) #71.Test plan
go test -v ./... | grep -c "^--- PASS"-> 731 (was 726 at tick-5 baseline; delta +5, matches the 5 newTestPlugins_*functions)..env.exampleunchanged (no env-var additions in fix(org): per-workspace plugins UNION with defaults; '!' prefix opts out (#68) #71 / docs: sync documentation with 2026-04-14 tick-5 merges (#69, #70) #72).README.md/README.zh-CN.mdunchanged (no user-visible surface moved).Generated with Claude Code.