Repository navigation
Commit 9dc3b15
committed
test(core): cover observation-registry privacy across a parent and subtask
The registry isolation test only showed two standalone registries behaving independently, which says nothing about the parent/subtask contract the write guard is used in, where a subtask is constructed with parentTask and rootTask.
Task.spec.ts now builds a parent and a child through the constructor (startTask: false, no API traffic) and asserts that the child points at the parent, carries the parent's taskId as both parentTaskId and rootTaskId, owns a different registry object, holds its own token for the same path, and that forgetting the child's entry leaves the parent's intact.
One factual note recorded in the test: Task accepts a rootTask option and derives rootTaskId from it, but never assigns the rootTask object field - ClineProvider.ts:3459 reads that field and ClineProvider.spec.ts:1931 patches it by hand - so the test asserts the id link the constructor actually establishes rather than pretending the object link exists.
Negative control (registry shared between instances through a process-level singleton): AssertionError: expected ObservationRegistry{ entries: Map{} } not to be ObservationRegistry{ entries: Map{} } at the identity assertion; Task.ts restored byte-identically (sha256-12 e163f866d049) and re-ran green.1 parent a4d9f01 commit 9dc3b15
1 file changed
Lines changed: 40 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1676 | 1676 | | |
1677 | 1677 | | |
1678 | 1678 | | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
| 1690 | + | |
| 1691 | + | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
1679 | 1719 | | |
1680 | 1720 | | |
1681 | 1721 | | |
| |||
0 commit comments