Skip to content

feat(t27os): key manager, KEYS tab, per-pane profile, router decisions (Refs #10782) - #10972

Closed
gHashTag wants to merge 40 commits into
feat/t27os-petal-menufrom
claude/t27os-keys-v2
Closed

gHashTag wants to merge 40 commits into
feat/t27os-petal-menufrom
claude/t27os-keys-v2

Conversation

@gHashTag

Copy link
Copy Markdown
Collaborator

Refs #10782

Supersedes #10959: the petal-menu base was rebased, so that branch conflicted add/add on every shared t27os file. This branch is the same work re-applied onto the new base as ordinary modifications.

What

  • keys.t27: key manager decisions (9 providers, env var per agent, masking, status, rotation, spawn env, KEYS-panel rules) plus the M12 Stage 1 per-pane PROFILE (z.ai first, then anthropic-api), pre-flight check and why line. 28 tests pass on the lab.
  • keys_host.t27: macOS Keychain (ai.t27.os) and the probe (GET, or one-token POST for z.ai). Keys are never in a file or the repo.
  • KEYS tab in glass_window.t27, editors.t27 + editors_host.t27 (open in editor).
  • PTY server: strips CLAUDE_CODE_* / CLAUDECODE, OP_SETKEY keeps keys in server memory, injects profile or key per agent.
  • router.t27: M12 Stage 2 decisions (7 tests). Implementation is blocked on t27b streaming HTTPS upstream and AF_INET sockaddr; design header names the gaps.
  • app.t27.ai map in the keys.t27 header; missing proxy endpoint filed as gHashTag/999-multibots-telegraf#4024.
  • Ledgers: width baseline for glass_window/pty_server; t27b expectations list the t27os specs the reference passes. pty_proto oversize test now zeroes its buffer.

Not verified live

Profile spawn with real keys, z.ai POST probe, Keychain and KEYS tab click-through.

🤖 Generated with Claude Code

gHashTag and others added 30 commits October 19, 2026 16:38
… menu fade in .t27 (Refs #10782)

specs/t27f/petal_glass.t27 (module T27fPetalGlass) draws the T27 OS home as trios
does: blackGlass tint 0.30, darkWash 0.42 gradient, three ambient blooms at 0.055,
0.5 px white 0.14 border; petals, fills, outline, hit test and state come from
petal_menu.t27 by use, nothing copied. LogoAnimation is ported exactly (800-unit
fly-in, phase 1 at 4.5/s, spring k 28 damping 0.86); the card menu fades in with
g_wave_transition (10 frames). main prints 270 RGB24 frames of 960x540 for ffmpeg.

Lab: 6/6 tests, 11498 runtime asserts (the anti-aliased distance agrees with the
ray-cast hit test); rendered to a 9 s mp4 in 29 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…0782)

specs/t27os/glass_window.t27 is the T27 OS home as a real AppKit window:
NSVisualEffectView frosted glass under a black 0.30 tint, the 27 petals from
petal_menu.t27 with hover and the 800-unit fly-in, and the widget mode -- a
tap opens the 3x3 card panel, the logo fades out, cards cascade in and light
under the mouse, Esc / back control / tap outside go home. Full screen via the
green button or F, scene aspect kept. Every system call is a t27b @extern
import (#8946); t27b build --macho + ld -framework AppKit gives the binary.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e scene (Refs #10782)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- top bar right of the traffic lights: logo icon (home), sidebar toggle
  (also the S key), back chevron; the back control no longer sits under
  the close/minimise/zoom buttons
- sidebar mode: the logo shrinks into a 200 pt left sidebar and stays live
  (hover and tap switch the open petal), the menu panel fills the rest
- realm header line is clipped to the panel's rounded top edge
- Dock icon: the logo white on a black squircle, drawn at launch and set
  with setApplicationIconImage: -- no foreign .icns file
- tests for the top-bar layout, the sidebar geometry and the icon centring

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hat workspace, menu shortcuts

Rewrites specs/t27os/glass_window.t27 to the trios layout read from
TriosTabView / QueenUI MainView:

- 34 pt title bar: white template logo + TRINITY (home), fullscreen control,
  white 0.14 divider; text through CoreText lines coloured by the context.
- home: the petal_menu-style logo at 0.63 of the area, trios tooltip pill
  (name + Cmd/Option/Ctrl+N) 30 pt above the hovered petal.
- screen: 0.25 s opacity crossfade; 32 pt nav header with green "< TRINITY",
  centred world name and the refresh circle; 272 pt sidebar with New task and
  the queen card; 44 pt content header with the sidebar toggle; 3x3 cards in a
  readable column of at most 900 pt.
- keys as QueenMenuShortcutPolicy: Cmd/Option/Control+1..9 open petals 0..26,
  Escape and Cmd+0 go home, Cmd+Shift+S collapses the sidebar.

Drops the old panel, scrim and logo-to-sidebar morph. Silicon check on the
Mac: home, Escape crossfade, Cmd+5 -> REVIEW, Cmd+Shift+S collapse.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…logo 20% smaller in full screen

- The title-bar logo drops the clear-blend seams (read as a black outline)
  and is drawn in petal_menu's own style: idle fill, 0.5 pt white outline,
  14 pt tall.
- Frames render into a 4x bitmap (3840 x 2160) so full screen stays sharp.
- In full screen (NSWindowStyleMaskFullScreen) the home logo is drawn at
  0.8 of its windowed size; the hit test follows the same factor. New test
  covers the size, centring and mouse mapping.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The glass window now does what trios WindowManager + ChatWorkspaceLayout do:

- a sidebar.right control left of fullscreen docks the window as the 400 pt
  panel on the right edge, full visible height, animated; again = restore;
- below 760 pt the workspace is compact: no sidebar, an OPEN DASHBOARD bar
  over the cards; tapping it forces the dashboard, whose header gains the
  Close Dashboard control right of the toggle;
- the narrow scene renders point for point into its own bitmap, cropped to
  the view; the home logo fits the panel width;
- the 3 x 3 slots keep their wide-window shape instead of stretching down
  the narrow column;
- clicks hit-test at the event's locationInWindow, not the frame-start mouse.

New test: the_window_folds_into_the_trios_compact_panel_below_760.
Built with t27b on the lab, linked and checked on the Mac.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Refs #10782)

Full screen draws at native resolution on black glass (tint 0.86) instead of
scaling the 960x540 stage; nav, sidebar, header and cards use 0.5 pt hairlines,
muted system type and a 4 pt radius. New test
full_screen_draws_point_for_point_on_black_glass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The logo draws as the Trinity S3AI mark: white petals cut by black lines, the
centre left black; hover and open petals keep their realm colour. The nav
header drops its duplicate TRINITY label; the back chevron sits on the sidebar
text column. New test logo_is_the_brand_mark_and_title_says_trinity_once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ps (Refs #10782)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The navigation header is gone: the back chevron, the logo and TRINITY,
the refresh arc, the dock and fullscreen controls share the title bar,
and the workspace starts right under it. The world name is said once,
in the content header. Cards are honeycomb cells; the brand mark has a
large and a small variant (finer cut, centre hole kept). In full screen
the logo sits on the chevron line and the glass tint drops to 0.55.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Full screen has no desktop behind the window for the behind-window blur,
so the material went flat grey. The window now draws its own frost
there: a black wash and three soft white glows (stacked discs). The
screen is black and white only: the queen crown is white.

New specs/t27os/layout.t27 (module T27osLayout) computes row placement:
row_next, centre_top, baseline_for/cap_mid, snap, same_line. The title
bar uses it: the back chevron and the logo share one icon height and
centre line, the gaps chevron-logo-TRINITY are equal, and the text
baseline puts the capitals on the same line. Thinner petal cuts on both
logo sizes.

Closes #10831
Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The frame is filled opaque black (BACK_BLACK 1.0) before anything else, so
neither the wallpaper behind the glass nor the full-screen glows show. The
glow frost from #10831 is removed; the owner asked for #000000.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…paque in full screen

The background fill stays pure black (R = G = B = 0) but is BACK_GLASS 0.60 in
a window, so the behind-window blur shows through as frost with no grey or
coloured wash; full screen has nothing behind to blur and stays opaque.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… restore plan

specs/t27os/agents.t27 (new): the nine agents of the comb (Claude Code, Codex,
Gemini, OpenCode, Queen in the centre, Crush, Cursor, Aider, Copilot), their
launch commands, how each resumes (by id, by history, or unknown -> relaunch),
the session state machine after herdr.dev (working, blocked, idle, done, plus
stopped) and what a restart does with each saved session. Tests cover the
transitions and the restore decisions.

glass_window.t27: every cell draws its agent mark (vector, white only) and its
name, scaled with the cell and left out where it would be unreadable.

Host side not yet written: the terminal owner (spawn + pty), the on-disk
session store and the state reader. Tests are unverified here: t27b test runs
on arm64 only.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…task button

The logo + TRINITY sit in the middle of the title bar as one group, the
logo drawn 1.2x the row height; the back chevron keeps the left edge with
a 40 pt hit box. The New task row is gone from the sidebar: tapping a
honeycomb cell opens a task with that agent, lights the cell and lists it
under AGENTS. Spec asserts updated; the t27b runner is arm64-only, so they
are unverified here.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ew binary (Refs #10782)

specs/t27os/hot_reload.t27 decides when to swap: the window polls its own
executable's modification date twice a second, waits for two quiet checks
(ld and then codesign each write the file), saves the open screen, task,
sidebar and dashboard flags to NSUserDefaults under t27os.hot, and execs
itself. The new process restores that state with no fade-in. Exec rather
than a reloaded dylib because t27b has no call through a function pointer.

Checked by hand: screen open with Gemini selected, relinked and re-signed
with no relaunch, the window came back on the same screen with Gemini
still selected. The spec's tests are not run here: the t27b runner is
arm64-only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…10782)

New specs/t27os/windows.t27 holds the window model: one session per agent,
packed as one base-4 digit per agent in a u64 (0 = none, d = space d-1),
state-to-dot-shape mapping (black and white, FR-006), and sidebar geometry
(group_top / row_top / row_at).

glass_window.t27 draws the three groups in the expanded sidebar, opens a
session in the selected space on a honeycomb cell tap, selects the Queen,
a space or an agent row on click, and saves space + where across hot
reloads.

Seed data: the space names and branches are fixed until the host side reads
git worktrees; every session shows "stopped" because no agent process runs
yet. No scrolling: more than 7 sessions in one space overflow the window.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ript three (Refs #10782)

The header label next to the logo and the NSWindow title now show
"TRINITY S" U+00B3 "AI". Source stays ASCII (L3): t27b string literals do
not decode \x escapes (a "\xC2\xB3" literal reached the object file as
eight ASCII characters), so brand() writes the two UTF-8 bytes C2 B3 into
a buffer that CFStringCreateWithBytes reads. A test pins the bytes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The line width was set once before the comb loop, and draw_agent_mark
changes it, so cell 0 (Claude Code) was stroked at HAIR and every later
cell at the previous agent mark's 0.12*s or 0.18*s width. The width is now
set before each cell's stroke; cell_line and cell_edge hold the rule, and a
test checks that every cell gets the same width and the same edge alpha for
plain, hover and selected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a session (Refs #10782)

- windows.t27: the one-session-per-agent `where` word becomes an ordered
  list of up to 7 sessions packed one byte each (agent, space); add,
  remove (compacting), per-space rows, chat numbering, selection fix-up
  after a close; two new tests.
- glass_window.t27: "+" at the right end of the CHAT header adds a chat
  of the selected agent (Claude Code by default) in the current space;
  a second chat of the same agent reads "Claude Code 2"; a hovered
  AGENTS row trades its dot for an x that closes that chat. Sessions and
  the selected one survive hot reload (t27os.sessions, t27os.cur).
- Checked on the running app: three chats opened with +, the middle one
  closed, the rest renumbered.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tions, GOD MODE (Refs #10782)

specs/t27os/queen.t27 (new): the Queen's model of what the user is doing.
- Every control pressed is packed into a u64 event (view, control,
  argument, unix second) and kept in a ring of the last eight.
- From the sidebar she derives one suggestion: open a chat in an empty
  space, or select the first chat when none is selected.
- GOD MODE runs that suggestion herself, only while her panel is open and
  after the user and she have both been still for 3 s.
- Geometry and hit tests for the panel; seven tests.

specs/t27os/glass_window.t27:
- Cmd+J or the QUEEN row opens her 300 pt panel over any view: LOOKING AT
  (view, space, chat), SUGGESTION with Confirm / Dismiss, RECENT (newest
  first; filled dot = her action, ring = the user's, age in words).
- GOD MODE box: empty = off, filled + bold border = on. Cmd+J, Escape,
  the box, or closing the panel stops it.
- Panel open, GOD MODE and the ring persist across hot reload.

Checked on the running app: the QUEEN row opened the panel, Confirm
selected the chat, GOD MODE opened a Claude Code chat in two empty spaces
by itself and logged both, the box stopped it. Cmd+J and Escape were not
exercised (keys cannot reach a background window from the test harness).
Spec tests were not run: the t27b test runner is arm64-only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rwise (Refs #10782)

- queen.t27 records the one exception to FR-006 next to the black-and-white
  rule: a green edge glow (GLOW_R/G/B, defined only there) while GOD MODE is
  on. glow_on(god), glow_level (fade over about 1/3 s) and glow_alpha
  (12 strips over 34 pt, brightest at the edge), with a test.
- glass_window.t27 draws the glow on top of every view and fades it each
  frame. The backdrop is now opaque black in a window too: the 0.60 glass
  let the blurred wallpaper read as a warm glow along the edges.

Checked on the running app: GOD MODE on shows the green edges, off leaves
them pure black. Spec tests not run (the t27b runner is arm64-only).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- windows.t27: open-space bitmask (SPACES_SEED, new_space/add_space/
  remove_space, drop_sessions_in, after_drop); session byte now 1+k*8+s;
  REPO_LINK_TEXT/REPO_URL/FOOT_H foot constants; tests for both.
- queen.t27: C_NEW_SPACE, C_CLOSE_SPACE, C_REPO_LINK controls.
- glass_window.t27: "+" on the SPACES label, hover x on space rows,
  black foot strip with the repo link (opens github.com/gHashTag/t27);
  spaces persist under t27os.spaces, sessions under t27os.sessions2;
  layout test corrected to five chat rows above the foot.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- queen.t27: FLAME_CORE/MID/BASE stops (bright cyan cone at the edge,
  vivid blue body, deep violet-blue base), 30 bands over 44 pt with a
  cubic falloff, flame_wave/flicker (3 s breathing plus tongues that
  travel along the bands, stronger at the outer tips), core_alpha for
  the blurred cone hairline; test rewritten for the flame.
- glass_window.t27: draw_edge_glow colours each strip by flame_rgb and
  flicker on the frame count, then draws the cone hairline with a
  22 pt blue CGContextSetShadowWithColor halo.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
doctor.t27 holds every decision: walk roots and depth, skipped names,
agent roots, the per-repo checks, the flags (duplicate clone, agent copy,
made several times, worktree, dirty, unpushed), keep reasons, row groups,
the two-step remove/confirm click, auto-bind ranks and panel layout,
with tests. glass_window.t27 does only the host plumbing: the paced
directory walk and rescan, .git vanish check, NSTask jobs for git/du,
the defaults-persisted slots and hidden list, the DOCTOR foot link and
panel, and the move to the Trash after a per-row confirm. A repo with
uncommitted changes or unpushed commits is never offered for removal.

Desktop, Documents, Downloads, Dropbox and OrbStack are skipped: a stat
on the iCloud-backed Desktop blocked the main thread for minutes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ty_client lands)

Clicking a Claude Code (AGENT 0) row under AGENTS opens a terminal pane in the
chat's content area: a cell grid of u32 codepoints from specs/t27os/vt.t27,
drawn monospace, black and white, with a white block cursor that stays solid
while typing and blinks when idle.

- term_pane.t27: grid sizing from the content area, cell geometry, cursor
  blink, key-to-bytes (Return/Tab/Delete/Esc, arrows, Home/End, PgUp/PgDn,
  forward delete, ctrl letters, UTF-8), and the offline echo. 6 tests, 0 vacuous.
- vt.t27: copied verbatim from the pty-server worktree (6066dfb) so this
  branch builds alone; identical add/add merges cleanly.
- glass_window.t27: draw_term, key forwarding (every non-Cmd key goes to the
  pane), per-frame open/resize/read, and stand-ins term_connect/term_spawn/
  term_keys/term_read/term_resize for specs/t27os/pty_client.t27. Until that
  lands they answer "not connected" and the pane echoes keys into the grid.
  cwd is the space's bound folder, home when unbound.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner request: the sidebar footer link text changes from I LOVE OPEN SOURCE
to OPEN SOURCE T27. Same repository link, same style. The glass_window.t27
header line that describes the foot is updated, and the formerly vacuous
foot test in windows.t27 now checks the words at runtime.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e PTY server (Refs #10782)

Pure logic with run-time asserted tests: the four pane states from hooks and
output quietness, the session manifest line and restore plan, the socket frame
format and scrollback ring, and a minimal VT cell grid.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… the UI and restore after a server kill (Refs #10782)

pty_server owns one PTY per pane, serves pty_proto frames on ~/.t27os/pty.sock,
keeps a 64 KiB ring per pane, writes a record per pane under ~/.t27os/sessions
and restores by the RESUME_* rules on start (a resume that dies at once relaunches
fresh). Claude hooks drive pane_state; T27OS_HOOK / T27OS_CTL / T27OS_INSTALL modes
cover the hook, a tiny client and the launchd plist. Needs @extern (t27b host
boundary, 865b4ee). Decisions live in pty_logic.t27 with run-time tests.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
gHashTag and others added 9 commits October 19, 2026 16:38
…(Refs #10782)

The terminal pane no longer runs a stub. Opening a Claude Code chat connects
to ~/.t27os/pty.sock, lists the server's panes, reuses the k-th pane of that
agent for the k-th chat (tp_pick_pane) or spawns one in the space's folder,
attaches, sends keys with client_keys and polls client_read each frame,
feeding the bytes to vt.t27. Without a server the pane says offline, echoes
keys locally and retries every TP_RETRY frames.

Checked on the Mac: a live claude renders in the window, typed text reaches
it, and after quitting and reopening the app the same pane (same claude pid,
same draft) is back. RESIZE is still a stub (t27#10902), so panes are 80x24.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…(Refs #10782)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…#10782)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…l + SIGWINCH)

- pty_proto: TIOCSWINSZ, SIGWINCH, resize_ok, put_winsize, ws_pack/ws_cols/ws_rows (+ test).
- pty_sys: sys_set_winsize binds __ioctl, the fixed-argument syscall stub that the
  variadic ioctl() wraps, so no variadic @extern is needed (t27#10902 stays open).
- pty_logic: G_WINSZ keeps each pane's last size (two panes per word).
- pty_server: OP_RESIZE sets the pty size and signals the pane's group; launch uses
  the stored size, 80x24 by default.
- pty_client: client_resize.
- term_pane / glass_window: grid caps 400x120 (48000 cells); the window sends RESIZE
  whenever the fitted grid changes, before the replay.

Live on the Mac: widening the window took the pane's pty to 56x167 and claude's input
box and status line to the full pane width.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Audit P0 items 2-4 for the T27 OS window (Refs #10782):
- frame_gate.t27: fold the visible state into one key; skip the draw
  when unchanged (forced draw every 15 frames), wait 0.5 s for events
  once quiet for 30 frames and no pane is live. The clock enters the key
  only with the queen panel open, the cursor blink only with a pane open,
  the mouse only inside the scene. Idle CPU 25-55% -> 0.5-3%.
- term_pane.t27: tp_settle/tp_size_due; vt_init + ring replay run once
  after the size has held for 6 frames instead of every drag frame.
- glass_window.t27: setContentMinSize 480x320, accepts mouse-moved.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… reboots

Owner bug 2026-10-19: after a reboot the open windows and history were gone
and every Claude pane came back on the default model.

- window_keep.t27 (new, 4 tests): the window folds screen, spaces, task,
  open pane, sidebar and flags into one key and writes it to the user
  defaults once it has held still for 15 frames; every launch restores it.
  Holding Option at launch is the explicit clean start. The frame stays
  under the AppKit autosave name.
- session_store.t27: record v2 adds the model; v1 still parses.
  build_command/fresh_command pass --model on resume and relaunch; the
  last model in the Claude transcript catches /model switches.
- pty_logic.t27 / pty_server.t27: the model comes from the SPAWN payload
  (T27OS_MODEL), the SessionStart hook and the transcript, is kept per pane
  and saved in the record. The launchd plist (T27OS_INSTALL=1) now carries
  PATH, LANG, TERM and a log path, so the server starts at login and
  restore_all resumes the panes by session id.

Lab test-report: session_store 16/0, pty_logic 13/0, window_keep 4/0.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… master

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…els (M11)

Every drawn frame rebuilt each label from scratch: a font lookup, an
attribute dictionary, an attributed string and a CoreText line, then
released it. Lines now live in a table keyed by style and text (text
compared by content, so a renamed space never shows a stale line); the
table empties at TC_CAP entries. Space names, branches and agent names in
the sidebar are cut with an ellipsis by CTLineCreateTruncatedLine where
they would reach the row's close x.

Pure logic in specs/t27os/text_cache.t27 (lab test-report: 4 pass, 0 FAIL);
glass_window built with t27b on the Railway lab, linked and run on the Mac.

Refs #10782

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… router decisions (Refs #10782)

Re-applies the keys work from PR 10959 onto the rebased petal-menu base as
ordinary modifications.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@gHashTag

Copy link
Copy Markdown
Collaborator Author

Superseded by #10977 (base rebased again).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-auto-merge Opt out of the issue gate's default squash auto-merge (issue-gate.yml)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant