Skip to content

docs: sync documentation with 2026-04-14 tick-6 merges (#71, #72) - #73

Merged
HongmingWang-Rabbit merged 1 commit into
mainfrom
docs/sync-2026-04-14-tick-6
Apr 14, 2026
Merged

docs: sync documentation with 2026-04-14 tick-6 merges (#71, #72)#73
HongmingWang-Rabbit merged 1 commit into
mainfrom
docs/sync-2026-04-14-tick-6

Conversation

@HongmingWang-Rabbit

Copy link
Copy Markdown
Contributor

Summary

Test plan

Generated with Claude Code.

- 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>
@HongmingWang-Rabbit
HongmingWang-Rabbit merged commit 911580c into main Apr 14, 2026
7 checks passed
@HongmingWang-Rabbit
HongmingWang-Rabbit deleted the docs/sync-2026-04-14-tick-6 branch April 14, 2026 21:40
molecule-ai Bot pushed a commit that referenced this pull request Apr 21, 2026
docs: sync documentation with 2026-04-14 tick-6 merges (#71, #72)
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
…on heartbeat degrade/recovery paths (#73)' (#2393) from fix/fail-open-status-persist-trio into main
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant