Repository navigation
t27f: SIEVE DESIGN LAW -- 9 HIG filters x 17 T27OS UI components - #13433
Merged
Merged
Conversation
…3251) Owner order START_T27OS_UI_KIT_NOW, ring 1. - specs/t27os/win_layout.t27 (new, T27osWinLayout): the window's regions (title, sidebar, toolbar, content, inspector) computed once from the window size; half-open rects so a shared edge has one owner; the inspector reserves its width instead of covering the content; region_at is the one hit test; tool_btn/new_btn are the rects both the draw and the hit test read; page_split puts a page inspector beside the scene or under it, never over it. 10 tests, 2 negative controls. - specs/t27os/win_material.t27 (new, T27osWinMaterial): three theme rows (Dark = today's built-in levels, Light, opaque) over the hot_reload THV order, next_theme, th_fill, the NSAppearance and NSVisualEffectView material per theme, and WCAG contrast of white text over each surface. Dark bare ground measures 4.11:1, below 4.5 (recorded, not hidden). 8 tests. - specs/t27os/glass_window.t27: hand constants and side_w/content_x/ content_right replaced by imports from win_layout (SIDE_W from t27os::dash, its one home); toolbar hit tests use rect_has on the same rects the drawing uses; K_THEME kit slot; Cmd+Shift+L steps the theme and sets the window appearance and material; a live reload keeps the chosen theme; tests that the Dark row equals the built-in levels, with a negative control. The material is NSVisualEffectView vibrancy, not Liquid Glass. Seals for the two new specs and the glass_window re-save follow from a master-built t27c. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#13251) - replay_mode.t27 (new): the effect gates a replay or dev run checks (FX_WEB, FX_SHELL, FX_TASK, FX_FETCH, FX_PANE_LINK, defaults, open URL). - glass_window.t27: the integrated ring-1 window. The heat-bench card is removed from the home (owner, 2026-11-08). A new test, the_theme_shows_only_on_the_docked_glass, records why a Light switch shows nothing in the full window: the opaque-black rule of 2026-10-23 holds, and Light stays glass-only (owner, 2026-11-09). - win_material.t27, live_data.t27, win_layout.t27, identity_table.t27, gnn_work_graph_viz.t27: the theme rows, live levels, toolbar row helpers, id_key_at, and the agent map that the window imports. - DSH panel stage 1 (dash.t27 dsh_url, put_dsh_log_path, glass_type; glass_window.t27 dsh_open on Cmd+Shift+D). The panel is a WKWebView on a non-persistent data store, and its first line is the FX_WEB replay guard. One hunk was placed by hand after the NSHomeDirectory extern was renamed to ns_home. Checked with t27c check only: 0 errors in glass_window.t27 (74 warnings, the same set as before) and dash.t27 (2 warnings). Not tested, built or sealed here. The dash.t27 seal is stale until it is re-saved. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…(Refs #13251) - glass_window.t27, title bar: the brand had a centred box that reached past the GOD MODE pill in the docked window (400 pt). The control now wins over the label: brand_room_l/brand_room_r/brand_fits/brand_x keep the brand between the back box and the pill (HDR_GAP from statusbar), the TRINITY word is dropped when it does not fit, and on_home_button uses the same room, so a click on the pill never goes home. - glass_window.t27, theme: grounds, plates, cards, panel grounds, viz grounds, tile bodies and the dock-change layer tint read the live kit levels (surface_alpha_lv, tint_alpha_lv, tile_body_alpha_lv), so the Cmd+Shift+L theme now shows on the docked glass. The full window stays opaque black (rule of 2026-10-23). - Tests: the_docked_brand_never_covers_the_god_mode_switch (new, with negative controls and a width sweep 400..1200), the docked home point in the_title_bar_controls_clear_the_traffic_lights, and the Light vs Dark levels in the_theme_shows_only_on_the_docked_glass. - dash.t27: the CR in the loopback-ready test is written as \x0d; the t27c lexer (shared by t27b) has no \r escape. Checked: t27b test glass_window.t27 121 passed, 0 failed; t27b test dash.t27 36 passed, 0 failed. A mutation run of the brand clamp made the new test fail. Dev build 8014, one replay launch: docked title shows the logo alone clear of the pill; docked Light, Opaque and Dark differ. Not sealed here: the seals of both specs are stale until re-saved. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…outline (Refs #13251) The home mark takes the website look (gHashTag/trinity TrinityLogo.tsx): every idle petal is opaque white (IDLE_ALPHA 255, IDLE_RGB white) and every outline is black at full alpha, 1 px (new OUTLINE_RGB). This replaces the trios look of 2026-10-20 (idle black at 0.22, white outline). The open petal keeps its realm colour and hover stays a white fill. - petal_menu.t27: L3 colours, outline_for/outline use OUTLINE_RGB; test fills_follow_the_website_mark with a negative control for the old idle fill. - glass_window.t27: the Dock icon reads fill/outline_for instead of literal colours; new test white_petals_part_from_the_docked_glass checks the white fill against the docked ground (win_material backing, every theme, desktop shade 0..1) at the 3:1 non-text floor, with a negative control. - petal_glass.t27, petal_menu_wasm.t27: asserts follow the white idle fill. Tests: petal_menu 12/12, glass_window 122/122, petal_menu_wasm 9/9, ui_targets 12/12 (t27b); petal_glass FAIL 0 of 6, 0 vacuous (t27c test-report). Seals not re-saved (prepare-only). No build or launch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… (Refs #13251) A white hover fill cannot show on a white petal, so the hovered petal (and the central button) holds the website's peak hover response from TrinityLogo.tsx at proximity 1: scale 1.15 about its own centre, a lift of 8 website units, and a white glow at 0.3 cast 4 down with blur 6. It is drawn last so it lies over its neighbours. LOGO-2 will drive the same numbers by proximity. - petal_menu.t27: L3 hover constants (WEB_MARK_W, HOVER_SCALE_PERMILLE, HOVER_LIFT_WEB, GLOW_*), web_milli, is_hot, hover_scale_permille, hover_lift_milli, glow_alpha_permille, draw_order; tests the_hovered_petal_holds_the_website_peak and the_hovered_petal_is_drawn_last. - glass_window.t27: petal_vertex_at / petal_path_at, hole_vertex_at / hole_path_at, glow_dy_pt / glow_blur_pt, draw_petal; draw_logo draws in draw_order; draw_centre_button takes the same response; tests the_hovered_petal_grows_about_its_own_centre, the_centre_button_hovers_like_a_petal, the_glow_casts_down_the_screen. Tests: petal_menu 14/14, glass_window 125/125, petal_menu_wasm 9/9, ui_targets 12/12 (t27b); petal_glass FAIL 0 of 6, 0 vacuous (t27c test-report). Not checked on screen: the shadow sign and HiDPI scale; the hit test still uses the unscaled petal. Seals not re-saved (prepare-only). No build or launch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…13251) Recovered from 88c71db on lane/t27os-dsh-panel as a hashed patch (sha256 d5a9d1e6...f9f2). One new file, module T27osUiSnapshot, no imports, no @extern, no name clash on ring 1. File sha256 cf96b564...8ce7 equals the source blob. t27b 0.1.0 test: 13 passed, 0 failed. No seal yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…3251) Recovered from 6538c99 + b8f8529 on lane/t27os-dsh-panel as a hashed patch (sha256 60124a22...faf0): one frame gives snap.txt and snap.png with build identity and a digest check. One new file, module T27osObservatoryCapture, no imports, no @extern, no name clash on ring 1. File sha256 10e56889...ad94 equals the source blob. t27b 0.1.0 test: 5 passed, 0 failed; 1 invariant held. No seal yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…board overlay (Refs #13251) queen_dash.t27: control surface model (states, evidence, sources, path allowlist, log tail, approval, queue, triptych), view word and view button, fit/hidden/hit geometry, 'not read' texts; 17 tests. glass_window.t27: draw_cs, CONTROL/DASHBOARD toggle in the same overlay, draw dispatch and click branch. No reader wired: every field reads UNKNOWN or not read. t27b test 17/17 and 125/125; types of draw_cs are proven only by make t27os (not run). Refs #13251 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#13251) - Header: a [sun | moon] pill between the profile circle and GOD MODE. Sun sets TH_LIGHT, moon sets TH_DARK, through theme_apply and kit[K_THEME]; Cmd+Shift+L still cycles all three themes. - Dashboard and control surface: one frosted sheet (inset 6, radius 22), cards at radius 14 (concentric), capsule buttons, a round close disc and a light edge along the top of each piece. cs_frame now uses gl_card; the inline tile frame duplicate in draw_qdash is gone. - Liquid Glass (NSGlassEffectView) stays unwired (GLASS_WIRED=false); this is a CG-drawn frosted style, not a system material. - t27b test: 127 passed, 0 failed. Negative control GL_CLOSE_R 8 -> 9 fails exactly the glass test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#13251) The duplicate-body ratchet (tools/dupe_scan.py) refused the branch: three local bodies copied bodies that already exist. - replay_mode.t27: rm_eq removed; the four call sites use std::mem::bytes_eq. - observatory_capture.t27: obs_copy_str_u8 removed (same body as obs_copy_str); its two callers call obs_copy_str. - gnn_work_graph_viz.t27: gna_has removed (same body as t_has in specs/widgets/t27c_stages.t27); the tests use std::mem::bytes_contains. t27b test: replay_mode 6/0, observatory_capture 5/0, gnn_work_graph_viz 57/0. dupe_scan on the committed tree: rc 0, no new duplicate body, no known group grew. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
spec-guards scored three specs BLOCKED under t27c (zig 0.16.0 refuses what t27b accepts): - observatory_capture: obs_populate_record never used its id parameter; it now copies id into r.id. t27c 5/5, t27b 5/5. - glass_window: two inner locals shadowed outer ones (tpk in the header sun/moon pill, ws in the accessibility read); renamed to thpk and nsws. t27c 127/127, 0 vacuous; t27b 127/127. - course_hud_wasm: petal_menu_surface compared idle against hover fill, which the owner-picked white-petal look makes equal; it now checks open against hover and the hover glow. t27c 8/8; t27b 8/8. Seals for PetalMenu, Dash, IdentityTable, Live and QueenDash come from the lab run at 76562b8 (master-built t27c). The glass_window seal follows from the lab after this push. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lab run 42579563096 (Trinity-S-AI-DNA/t27os, master-built t27c 0.5.2+b89c6a356) re-sealed specs/t27os/glass_window.t27: spec_hash and all four gen hashes, tests 127/127, 0 failed, 0 vacuous. The closure now lists replay_mode, win_layout and win_material. drift.txt: no twin to sync (498 twinned specs consistent). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Master brought #13207 (workspace task panes), which grew glass_window.t27 by 803 lines; the spec merged cleanly. The one conflict, the glass_window seal, takes master's copy until the lab re-seals the merged spec. Merged spec: t27c test-report 128/128, 0 vacuous; t27b 128/128. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The master merge took master's glass_window seal; the lab (master-built t27c, run 42581087205) re-sealed the merged spec. Receipt: runs/6ac7764f1c3362776a9132a4ae5e8fdb1f87d422.seals in t27os. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The lab (master-built t27c, run 42582635744 in Trinity-S-AI-DNA/t27os) sealed the five specs this branch adds, at 0d5d56b: observatory_capture 5/5, replay_mode 6/6, ui_snapshot 13/13, win_layout 10/10, win_material 17/17. Receipt: runs/0d5d56b5d0695e963a0ada63401cf818bc06bb3c.seals in t27os. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…loses #13427) KIT_COMPONENT_COUNT 6 → 8; new tests text_graph and container_graph; storybook SB_COUNT 32 → 35, SC_COUNT 7 → 9, all parallel arrays extended. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
#13432) Applies the Golden Sieve method (specs/compiler/theory/sieve.t27) to T27OS UI: - 9 Apple HIG filters (clarity, consistency, hierarchy, feedback, accessibility, simplicity, familiarity, flexibility, craft) - 17 components: 8 kit components (ui_kit.t27, PARTIAL baseline, 3 MISSING each) + 9 new components (all MISSING, 9 filters each) - Kleene 3-valued cells: MISSING/PARTIAL/PRESENT/NA - 5 theorems proved by tests (T_SDL_1 through T_SDL_5) - total_gaps() = 105 at law creation; present_count() = 0 - fix_issue() scaffold ready for component story issues to populate Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
3 tasks
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.
Applies the Golden Sieve method (specs/compiler/theory/sieve.t27) to T27OS UI design.
Summary
specs/t27f/sieve_design_law.t27with 9 Apple HIG filters × 17 T27OS UI componentsfix_issue()scaffold ready to be populated as component stories landt27c checkpasses (Typecheck OK, 0 errors)Gap snapshot at law creation
Test plan
t27c check specs/t27f/sieve_design_law.t27exits 0validateCI check passescheck-linked-issue,parse-ratchet,own-languagepassCloses #13432
🤖 Generated with Claude Code