Skip to content

Rebuild the shell as a QRH bench instrument - #113

Open
baanish wants to merge 6 commits into
mainfrom
cursor/qrh-carbon-instrument-d645
Open

Rebuild the shell as a QRH bench instrument#113
baanish wants to merge 6 commits into
mainfrom
cursor/qrh-carbon-instrument-d645

Conversation

@baanish

@baanish baanish commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Rebuilds the agent-render interface as a single bench instrument instead of a marketing page.

The homepage starts with the create-link procedure (Identify → Load → Encode). Generated output is a carbon-transfer record, not a generic result card. The viewer leads with the artifact filename; operating state, fragment budget, codec, controls, and diagnostics sit in the chassis. Failures are a promoted FAIL plate.

Payload protocol, codecs, renderers, security model, and accessibility contracts are unchanged.

Review comments on this revision: FAIL is the page heading in the error state; sample rows use real table cells; empty filenames no longer blank the transfer slip; print headers no longer repeat the same title.

Open in Web Open in Cursor 

Summary by CodeRabbit

  • New Features

    • Added a staged workflow for creating and encoding artifact links.
    • Added operating-status indicators, fragment usage metrics, codec details, and artifact counts.
    • Added shared navigation, security, URL-format, privacy, and zero-retention information.
    • Added light/dark theme rocker controls.
  • Improvements

    • Redesigned the viewer, sample links, artifact selection, and renderer toolbars for a more compact interface.
    • Clarified security, URL structure, versioning, compression, retention, and self-hosted link guidance.
    • Improved empty, error, stale, and diagnostic states.

Replace the marketing homepage with a procedure-first chassis: create-link
operations, a carbon-transfer result slip, compact reference samples, and
operating-state diagnostics. Keep payload, renderer, and accessibility
contracts unchanged.

Co-authored-by: Aanish Bhirud <baanish@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@cursor[bot], you've reached your PR review limit, so we couldn't start this review.

Next review available in: 46 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b7ab1adb-719b-450e-a55c-2365885eb6e8

📥 Commits

Reviewing files that changed from the base of the PR and between fd8ea7b and e2ddcb7.

📒 Files selected for processing (6)
  • DESIGN.md
  • src/app/globals.css
  • src/components/home/link-creator.tsx
  • src/components/viewer/artifact-selector.tsx
  • tests/components/artifact-selector.test.tsx
  • tests/components/link-creator.test.tsx

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 69178973-81e4-49de-a150-878105a4e5e1

📥 Commits

Reviewing files that changed from the base of the PR and between e5a4a07 and fd8ea7b.

📒 Files selected for processing (11)
  • src/app/globals.css
  • src/components/home/link-creator.tsx
  • src/components/home/sample-links.tsx
  • src/components/renderers/markdown-renderer.tsx
  • src/components/shell/chassis-rail.tsx
  • src/components/shell/instrument-footer.tsx
  • src/components/shell/instrument-header.tsx
  • src/components/shell/status-flag.tsx
  • src/components/viewer-shell.tsx
  • src/components/viewer/artifact-stage.tsx
  • tests/components/artifact-stage-raw.test.tsx
💤 Files with no reviewable changes (2)
  • tests/components/artifact-stage-raw.test.tsx
  • src/components/viewer/artifact-stage.tsx
🚧 Files skipped from review as they are similar to previous changes (8)
  • src/components/shell/chassis-rail.tsx
  • src/components/shell/status-flag.tsx
  • src/components/shell/instrument-footer.tsx
  • src/components/shell/instrument-header.tsx
  • src/components/renderers/markdown-renderer.tsx
  • src/components/home/sample-links.tsx
  • src/components/viewer-shell.tsx
  • src/components/home/link-creator.tsx

📝 Walkthrough

Walkthrough

Changes

The pull request redesigns the viewer as an instrument-style interface. It adds shared shell components, staged link creation, compact artifact inspection, updated reference pages, design specifications, and revised UI tests.

Instrument UI redesign

Layer / File(s) Summary
Shared shell foundation
.impeccable/live/config.json, DESIGN.md, PRODUCT.md, src/components/shell/*, src/components/theme-toggle.tsx
Adds the instrument design and product specifications. Adds shared navigation, footer, operating-state, chassis-rail, and theme-rocker components.
Transfer and viewer shell
src/components/home/*, src/components/viewer-shell.tsx, tests/components/viewer-shell.test.tsx, tests/e2e/viewer.spec.ts
Replaces the homepage with staged Identify, Load, and Encode controls. Adds transfer status and result panels. Reworks viewer state, empty states, samples, and homepage assertions.
Artifact inspection surfaces
src/components/viewer/*, src/components/renderers/*, tests/components/artifact-selector.test.tsx, tests/components/fragment-details-disclosure.test.tsx, tests/components/artifact-stage-raw.test.tsx
Removes artifact-kind icons and simplifies artifact identity, diagnostics, hash previews, metadata, and renderer toolbar labels.
Reference page layouts
src/app/security/page.tsx, src/app/url-explainer/page.tsx
Converts both pages to shared instrument header and footer layouts with structured reference sections.

Estimated code review effort: 4 (Complex) | ~60 minutes

Mergeability Score: 🔵 Low · up to fd8ea

The redesign is broadly mergeable, but it still has bounded follow-up risk: some sample data may be less accessible, the FAIL view may expose an incorrect heading hierarchy, and certain generated or printed headings may be duplicated or empty.

Sequence Diagram(s)

sequenceDiagram
  actor Operator
  participant ViewerShell
  participant InstrumentHeader
  participant ChassisRail
  participant LinkCreator
  participant StatusFlag
  participant InstrumentFooter

  Operator->>ViewerShell: Open homepage or fragment
  ViewerShell->>InstrumentHeader: Render navigation and theme control
  ViewerShell->>ChassisRail: Pass operating state and fragment metrics
  Operator->>LinkCreator: Enter artifact data and submit
  LinkCreator->>StatusFlag: Display transfer state
  LinkCreator-->>ViewerShell: Render generated transfer result
  ViewerShell->>InstrumentFooter: Render retention disclosure and links
Loading

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 53.57% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: rebuilding the interface as a QRH-style bench instrument.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/qrh-carbon-instrument-d645

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 12, 2026

Copy link
Copy Markdown

Deploying agent-render with  Cloudflare Pages  Cloudflare Pages

Latest commit: e2ddcb7
Status: ✅  Deploy successful!
Preview URL: https://69f00deb.agent-render.pages.dev
Branch Preview URL: https://cursor-qrh-carbon-instrument.agent-render.pages.dev

View logs

cursoragent and others added 3 commits August 12, 2026 21:25
Fill status flags, shorten the empty transfer slot, make the carbon slip
read as a perforated copy, and stop repeating rail diagnostics in the
hash bay.

Co-authored-by: Aanish Bhirud <baanish@users.noreply.github.com>
Unlit STANDBY, filled READY/FAIL/HOLD, a QRH procedure plate, and a
perforated carbon slip replace leftover card chrome. The viewer leads
with the filename and a recessed artifact well; diagnostics stay in
the chassis instead of a supplementary card.

Co-authored-by: Aanish Bhirud <baanish@users.noreply.github.com>
Filename and procedure titles stay IBM Plex Sans so Fraunces remains
document-only. The homepage unit test waits for the theme rocker so
Next dynamic import does not throw after unmount.

Co-authored-by: Aanish Bhirud <baanish@users.noreply.github.com>
@baanish
baanish marked this pull request as ready for review August 12, 2026 21:43
@greptile-apps

greptile-apps Bot commented Aug 12, 2026

Copy link
Copy Markdown

Greptile Summary

The PR rebuilds the interface as a compact bench instrument while preserving the existing payload and rendering contracts.

  • Reorganizes link creation into Identify, Load, Encode, and Transfer stages.
  • Redesigns viewer controls, diagnostics, status presentation, reference pages, and renderer chrome.
  • Correctly suppresses the redundant markdown print filename label when it would duplicate the heading.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
src/components/renderers/markdown-renderer.tsx The revised print header fixes the previously reported duplicate title by rendering the filename label only when it exists and differs from the derived heading.
src/components/viewer-shell.tsx Reorganizes the viewer around artifact identity, operating status, controls, content, and diagnostics without an accepted follow-up defect.
src/components/home/link-creator.tsx Rebuilds link creation as a staged instrument workflow and normalizes optional title and filename inputs.
src/app/globals.css Introduces the bench-instrument visual system and print styling without an accepted follow-up defect.

Reviews (3): Last reviewed commit: "Restore dark contrast, print ink, and no..." | Re-trigger Greptile

Comment thread src/components/renderers/markdown-renderer.tsx Outdated
Comment thread src/components/viewer-shell.tsx Outdated
Comment thread src/components/viewer-shell.tsx Outdated
@kilo-code-bot

kilo-code-bot Bot commented Aug 12, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Overview

This incremental review covers the changes since the previous review at fd8ea7b1.

Changes reviewed: dark-theme operating color adjustments in globals.css and DESIGN.md, JSON tree disclosure icon rotation, markdown print-ink coverage for headings/strong/table headers/code chips, the transfer-slip fallback title chain in link-creator.tsx, heading-level corrections (h3→h2 / h4→h3), the ArtifactSelector accessible-name improvement, and two new component tests.

All changed code was verified:

  • draft.filename is typed string and initialized to a string, so draft.filename.trim() in the transfer-name chain cannot throw; the fallback chain correctly reaches the envelope title and artifact id.
  • The .json-node[open] > .json-summary .json-summary-icon selector matches the rendered <details className="json-node">/<summary className="json-summary"> structure, and --duration-base/--ease-out are defined.
  • New print-ink selectors reference existing classes (.markdown-code-chip, .markdown-code-caption, .markdown-table th, .markdown-article h1-h6).
  • Heading-level bumps remove the prior h1→h3 skip and match the h2 step titles under the page h1.
  • DESIGN.md color values match the dark-theme CSS variables.
  • New tests cover the added behavior and are consistent with existing test helpers.
Files Reviewed (6 files)
  • DESIGN.md
  • src/app/globals.css
  • src/components/home/link-creator.tsx
  • src/components/viewer/artifact-selector.tsx
  • tests/components/artifact-selector.test.tsx
  • tests/components/link-creator.test.tsx
Previous Review Summaries (2 snapshots, latest commit fd8ea7b)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit fd8ea7b)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (11 files)
  • src/app/globals.css
  • src/components/home/link-creator.tsx
  • src/components/home/sample-links.tsx
  • src/components/renderers/markdown-renderer.tsx
  • src/components/shell/chassis-rail.tsx
  • src/components/shell/instrument-footer.tsx
  • src/components/shell/instrument-header.tsx
  • src/components/shell/status-flag.tsx
  • src/components/viewer-shell.tsx
  • src/components/viewer/artifact-stage.tsx
  • tests/components/artifact-stage-raw.test.tsx

Previous review (commit e5a4a07)

Status: 2 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 2
Issue Details (click to expand)

SUGGESTION

File Line Issue
src/components/viewer-shell.tsx 335 Unreachable/empty parsed.ok branch in fail panel message (parsed.ok ? operating.message : parsed.message always resolves to parsed.message here)
src/components/viewer-shell.tsx 325 statusTone.color passed but no longer consumed by ArtifactStage (only .label/.message used)
Files Reviewed (selected changed files in PR 113)
  • src/components/viewer-shell.tsx - 2 suggestions (dead branch, dead prop)
  • src/components/home/link-creator.tsx - no issues
  • src/components/home/sample-links.tsx - no issues
  • src/components/viewer/artifact-stage.tsx - no issues
  • src/components/viewer/artifact-selector.tsx - no issues
  • src/components/viewer/hash-preview.ts - no issues
  • src/components/viewer/fragment-details-disclosure.tsx - no issues
  • src/components/shell/chassis-rail.tsx, instrument-header.tsx, instrument-footer.tsx, status-flag.tsx - no issues
  • src/components/theme-toggle.tsx - no issues
  • src/components/renderers/* - no issues
  • src/components/artifact-kind-icons.ts - removed cleanly; no dangling references
  • src/app/security/page.tsx, src/app/url-explainer/page.tsx - no issues
  • Tests - no issues

Fix these issues in Kilo Cloud


Reviewed by deepseek-v4-flash · Input: 27.9K · Output: 7.5K · Cached: 484.9K

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (4)
src/components/shell/instrument-header.tsx (1)

42-57: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Use homePath as the href in both cases.

When onGoHome is set, the href is "#". The click handler prevents default, so normal clicks work. Middle-click, open-in-new-tab, and no-JS navigation follow the raw href and land on the current URL with a bare fragment instead of the homepage. Keep homePath as the href and let the handler intercept the click.

♻️ Proposed refactor
-        href={onGoHome ? "#" : homePath}
+        href={homePath}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/shell/instrument-header.tsx` around lines 42 - 57, Update the
anchor in the instrument header to always use homePath for href, removing the
conditional "#" value while retaining the onGoHome click interception for normal
clicks.
src/components/viewer-shell.tsx (1)

335-335: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Remove the unreachable branch.

This block renders only when viewerState === "error", and that value requires parsed.ok === false. The parsed.ok branch is unreachable, and operating.message already equals parsed.message in the fail case.

♻️ Proposed refactor
-                <p>{parsed.ok ? operating.message : parsed.message}</p>
+                <p>{operating.message}</p>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/viewer-shell.tsx` at line 335, In the error-state rendering of
viewer-shell, replace the conditional expression using parsed.ok with the direct
parsed.message value. The viewerState === "error" path already guarantees the
failed parse result, so remove the unreachable operating.message branch while
preserving the displayed error text.
src/components/shell/chassis-rail.tsx (1)

5-13: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Share one OperatingState union.

OperatingState is declared here and again in src/components/shell/status-flag.tsx (Line 1). The two declarations must stay in sync because state is forwarded straight to StatusFlag. Export the type from status-flag.tsx and import it here.

♻️ Proposed refactor
 import { StatusFlag } from "`@/components/shell/status-flag`";
+import type { OperatingState } from "`@/components/shell/status-flag`";
 import { numberFormatter } from "`@/lib/format`";
 import { MAX_FRAGMENT_LENGTH } from "`@/lib/payload/schema`";
 
-type OperatingState = "standby" | "ready" | "fail" | "hold";
-
 type ChassisRailProps = {

Then export the union in src/components/shell/status-flag.tsx:

-type OperatingState = "standby" | "ready" | "fail" | "hold";
+export type OperatingState = "standby" | "ready" | "fail" | "hold";
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/shell/chassis-rail.tsx` around lines 5 - 13, Remove the local
OperatingState declaration from ChassisRailProps and import the shared
OperatingState type exported by status-flag.tsx. Update status-flag.tsx to
export its union if it is not already exported, and keep the state prop typed
with this shared definition.
src/components/shell/instrument-footer.tsx (1)

49-59: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Declare external links in the data instead of sniffing the href.

link.href.startsWith("http") infers the target from the string. withBasePath output depends on the configured base path, so this inference couples navigation behavior to configuration. Add an explicit external flag to each entry in plateLinks.

♻️ Proposed refactor
-const plateLinks = [
-  {
-    href: "https://github.com/baanish/agent-render",
-    label: "GitHub",
-  },
+const plateLinks = [
+  {
+    href: "https://github.com/baanish/agent-render",
+    label: "GitHub",
+    external: true,
+  },

Apply the same flag to the other entries, then render with:

-            {...(link.href.startsWith("http")
-              ? { target: "_blank", rel: "noreferrer" }
-              : {})}
+            {...(link.external ? { target: "_blank", rel: "noreferrer" } : {})}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/shell/instrument-footer.tsx` around lines 49 - 59, Update the
plateLinks entries to include an explicit external boolean for every link, then
change the anchor rendering in the plateLinks.map block to use link.external for
target and rel attributes instead of checking link.href.startsWith("http").
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/components/home/link-creator.tsx`:
- Around line 187-190: Update the transferName fallback chain around
generatedLink.artifact.filename, generatedLink.artifact.title, and
draft.filename to use truthiness-based fallback so empty strings are skipped and
the next non-empty value is selected. Preserve the existing fallback order.

In `@src/components/home/sample-links.tsx`:
- Around line 21-52: Update the table rendering in the sampleLinkCards map to
preserve the three-column structure declared by thead: emit separate td cells
for kind, title, and character count, placing the anchor in the title cell and
associating the count with its header. Adjust the sample-row and sample-table
styling as needed so each row remains visually unified.

In `@src/components/renderers/markdown-renderer.tsx`:
- Around line 279-282: Update the print header near the artifact heading so the
field-label kicker is rendered only when artifact.filename exists and differs
from heading; otherwise omit the <p> element entirely. Keep the <h1> rendering
of heading unchanged.

In `@src/components/viewer-shell.tsx`:
- Around line 331-342: Fix heading order in the viewerState error branch: ensure
the page’s h1 appears before the fail-panel heading, or promote the fail-panel
text to the sole h1. Update the markup around fail-panel and procedure-title
while preserving the visible layout and error-state content.

---

Nitpick comments:
In `@src/components/shell/chassis-rail.tsx`:
- Around line 5-13: Remove the local OperatingState declaration from
ChassisRailProps and import the shared OperatingState type exported by
status-flag.tsx. Update status-flag.tsx to export its union if it is not already
exported, and keep the state prop typed with this shared definition.

In `@src/components/shell/instrument-footer.tsx`:
- Around line 49-59: Update the plateLinks entries to include an explicit
external boolean for every link, then change the anchor rendering in the
plateLinks.map block to use link.external for target and rel attributes instead
of checking link.href.startsWith("http").

In `@src/components/shell/instrument-header.tsx`:
- Around line 42-57: Update the anchor in the instrument header to always use
homePath for href, removing the conditional "#" value while retaining the
onGoHome click interception for normal clicks.

In `@src/components/viewer-shell.tsx`:
- Line 335: In the error-state rendering of viewer-shell, replace the
conditional expression using parsed.ok with the direct parsed.message value. The
viewerState === "error" path already guarantees the failed parse result, so
remove the unreachable operating.message branch while preserving the displayed
error text.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 035e9162-ab60-4109-845d-0c928f975c5f

📥 Commits

Reviewing files that changed from the base of the PR and between 7354741 and e5a4a07.

⛔ Files ignored due to path filters (1)
  • src/app/icon.svg is excluded by !**/*.svg
📒 Files selected for processing (28)
  • .impeccable/live/config.json
  • DESIGN.md
  • PRODUCT.md
  • src/app/globals.css
  • src/app/security/page.tsx
  • src/app/url-explainer/page.tsx
  • src/components/artifact-kind-icons.ts
  • src/components/home/link-creator.tsx
  • src/components/home/sample-links.tsx
  • src/components/renderers/code-renderer.tsx
  • src/components/renderers/csv-renderer.tsx
  • src/components/renderers/diff-renderer.tsx
  • src/components/renderers/json-renderer.tsx
  • src/components/renderers/markdown-renderer.tsx
  • src/components/shell/chassis-rail.tsx
  • src/components/shell/instrument-footer.tsx
  • src/components/shell/instrument-header.tsx
  • src/components/shell/status-flag.tsx
  • src/components/theme-toggle.tsx
  • src/components/viewer-shell.tsx
  • src/components/viewer/artifact-selector.tsx
  • src/components/viewer/artifact-stage.tsx
  • src/components/viewer/fragment-details-disclosure.tsx
  • src/components/viewer/hash-preview.ts
  • tests/components/artifact-selector.test.tsx
  • tests/components/fragment-details-disclosure.test.tsx
  • tests/components/viewer-shell.test.tsx
  • tests/e2e/viewer.spec.ts
💤 Files with no reviewable changes (3)
  • src/components/artifact-kind-icons.ts
  • src/components/renderers/json-renderer.tsx
  • tests/components/artifact-selector.test.tsx

Comment thread src/components/home/link-creator.tsx Outdated
Comment thread src/components/home/sample-links.tsx
Comment thread src/components/renderers/markdown-renderer.tsx
Comment thread src/components/viewer-shell.tsx Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e5a4a07278

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/app/globals.css Outdated
Comment thread src/app/globals.css
Comment thread src/components/home/link-creator.tsx Outdated
Comment thread src/components/home/sample-links.tsx Outdated
Comment thread src/components/home/link-creator.tsx Outdated
Comment thread src/components/viewer/artifact-selector.tsx
Comment thread src/app/globals.css
cursoragent and others added 2 commits August 12, 2026 21:52
FAIL is the page heading in the error state. Sample rows expose real
table cells. Empty filenames no longer blank the carbon slip. Print
headers stop repeating the same title. Home, footer, and status types
match the review notes.

Co-authored-by: Aanish Bhirud <baanish@users.noreply.github.com>
Dark operating fills now keep white legend text above 4.5:1, markdown print restores ink on headings and chips, and the carbon slip falls back to the envelope title when title and filename are empty.

Co-authored-by: Aanish Bhirud <baanish@users.noreply.github.com>
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.

2 participants