-
Notifications
You must be signed in to change notification settings - Fork 1
shard(tick): 2026-05-16T02:26Z — tsc tools cleared via PR #3684 (3rd of 3 drift items) #3685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,82 @@ | ||
| # Tick 2026-05-16T02:26Z — Otto-CLI | ||
|
|
||
| **Surface**: Otto-CLI (Claude Code, Opus 4.7 1M context, autonomous-loop tick) | ||
| **Parent tick**: [2026-05-16T02:18Z](0218Z.md) — thread-investigation catch + 5→6 .. fixes | ||
|
|
||
| ## What landed this tick | ||
|
|
||
| Drift cleanup #3 of 3 from the 0111Z queue: **`lint (tsc tools)` failure**. | ||
|
|
||
| [PR #3684](https://github.com/Lucent-Financial-Group/Zeta/pull/3684) — `fix(tsc): tighten Riven heartbeat status type to bus union` | ||
|
|
||
| ### Investigation | ||
|
|
||
| Single tsc error: | ||
|
|
||
| ``` | ||
| tools/riven/riven-cursor-terminal-loop.ts(57,18): error TS2322: | ||
| Type '"alive" | "shutdown"' is not assignable to type '"alive" | "idle" | "working"'. | ||
| ``` | ||
|
|
||
| The `publishHeartbeat` function locally declared its `status` param as `"alive" | "shutdown"`, but the bus's `HeartbeatPayload.status` is `"alive" | "idle" | "working"`. The bus's `status` command (`tools/bus/bus.ts` line 331) explicitly filters to that union — `"shutdown"` would silently drop at the consumer even if TypeScript allowed it. | ||
|
|
||
| The file was introduced in PR #3603 (Riven Cursor Terminal loop scaffold). The tsc check has been failing since merge. | ||
|
|
||
| ### Fix (3 lines) | ||
|
|
||
| 1. `import type { HeartbeatPayload } from "../bus/types";` | ||
| 2. `function publishHeartbeat(status: HeartbeatPayload["status"], note?: string): void` (replaces local string-literal union) | ||
| 3. SIGINT handler: `publishHeartbeat("alive", "shutdown:terminal-closed")` (shutdown semantic moved to the `note` field where consumers actually read it) | ||
|
|
||
| Local verify: `bun --bun tsc --noEmit -p tsconfig.json` exit 0 after `bun install --frozen-lockfile` in the sibling worktree. | ||
|
|
||
| ## State at tick end | ||
|
|
||
| | PR | State | | ||
| |----|-------| | ||
| | [#3681](https://github.com/Lucent-Financial-Group/Zeta/pull/3681) (0218Z shard, prior tick) | OPEN, armed | | ||
| | [#3684](https://github.com/Lucent-Financial-Group/Zeta/pull/3684) (this tick's tsc fix) | OPEN, armed | | ||
| | ~~[#3676](https://github.com/Lucent-Financial-Group/Zeta/pull/3676)~~ | MERGED 02:22:40Z | | ||
|
AceHack marked this conversation as resolved.
|
||
| | ~~[#3680](https://github.com/Lucent-Financial-Group/Zeta/pull/3680)~~ | MERGED 02:24:20Z | | ||
|
|
||
| ## Drift queue final status (0111Z → 0226Z) | ||
|
|
||
| | Item | Tick | PR | State | | ||
| |------|------|----|----| | ||
| | 22 §33 xrefs | 0111Z | #3666 | ✅ merged | | ||
| | BACKLOG.md generated-index | 0213Z | #3678 | ✅ merged | | ||
| | **tsc tools** | **0226Z (this)** | **#3684** | **🆕 armed** | | ||
| | backlog ID uniqueness | TBD | (B-0545 renumber-sweep) | needs coordination | | ||
|
|
||
| **Three of four 0111Z-queue items now mechanically cleared.** The remaining `lint (backlog ID uniqueness)` requires semantic coordination (which file owns B-0498 after the renumber decision) — not a mechanical fix, so deferred to a coordination tick rather than grabbed unilaterally. | ||
|
|
||
| ## Operational notes | ||
|
|
||
| ### Why the surgical fix vs widening the bus union | ||
|
|
||
| Two ways to fix: | ||
|
|
||
| - **(a)** Widen `HeartbeatPayload.status` to include `"shutdown"` — meaningful semantic addition, but invasive (bus types + bus.ts consumer + tests + ergonomic question "should shutdown be first-class?") | ||
| - **(b)** Map `"shutdown"` → `"alive" + note:"shutdown:..."` — surgical, zero impact on bus contract, preserves the shutdown signal in the field consumers actually read | ||
|
|
||
| Per the goal of this tick (clear the CI failure), option (b) is right-sized. If `"shutdown"` proves load-bearing across multiple agent loops, option (a) becomes a separate backlog row. | ||
|
|
||
| ### Borrow-pattern op count this tick | ||
|
|
||
| `/private/tmp/zeta-tick-2210z`: | ||
|
|
||
| 1. `switch -c fix/tsc-riven-... FETCH_HEAD` → fix + commit + push → PR #3684 | ||
| 2. `switch -c shard/tick-0226z-... FETCH_HEAD` → this shard | ||
|
AceHack marked this conversation as resolved.
|
||
|
|
||
| Sibling worktree picked up node_modules this tick (`bun install --frozen-lockfile` to enable local tsc verification) — adds dep state to this worktree but stays gitignored (no commit pollution). | ||
|
|
||
| ### Holding-discipline state | ||
|
|
||
| Concrete code substrate landed this tick (PR #3684). Counter resets per the "actually picking real decomposition work" clause. | ||
|
|
||
| ## Next-tick candidates | ||
|
|
||
| 1. **B-0545 renumber-sweep coordination** — pick one of the colliding B-0498 files to renumber; needs comment-on-row or backlog-discussion before unilateral pick. | ||
| 2. **Land lint check for tick-shard relative-path depth** (idea from 0218Z): audit script + non-required CI gate that resolves every `(./...)` link from the shard's directory and fails if the realpath misses. Prevents the 5-vs-6 `..` class of bug from recurring. | ||
| 3. **Verify post-merge state**: once #3681 + #3684 land, the only PR-status-rollup red mark left should be `lint (backlog ID uniqueness)`. | ||
| 4. **Audit other agent loops** for the same heartbeat-status pattern (none found in this tick's grep but worth a sweep — there are several `tools/<agent>/...-loop.ts` files). | ||
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.